@charset "UTF-8";

html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 60px;
}

.-hide-sp {
  display: none;
}

.-hide-pc {
  display: block;
}

@media print,
screen and (min-width: 768px) {
  [id] {
    scroll-margin-top: 90px;
  }

  .-hide-sp {
    display: block;
  }

  .-hide-pc {
    display: none;
  }
}

/*
  ヘッダースタイル指定
*/

/* 枠 */
.header-wrap {
  height: 60px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(20px);
}

@media print,
screen and (min-width: 768px) {
  .header-wrap {
    height: 90px;
  }
}

/*
---------------------------------------------------------------------
name: header-top-wrap
メニュー展開前
---------------------------------------------------------------------
*/
.header-top-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 20px;
}

.header-top-wrap.-is-open {
  display: none;
}

.header-top-right-box {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}

/* ロゴ */
.header-top-logo-box {
  width: 62px;
}

.header-top-logo-link {
  display: block;
}

.header-top-logo-link picture,
.header-top-logo-link img {
  width: 100%;
  height: 100%;
}

/* リンクボタン */
.header-top-contact-box,
.header-top-online-box {
  background-color: var(--color-main-blue);
  height: 60px;
  width: 65px;
  background-position: center;
  background-repeat: no-repeat;
}

.header-top-contact-box {
  border-right: 1px solid var(--color-white);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="76.457" height="49.399" viewBox="0 0 76.457 49.399"><defs><clipPath id="clip-path"><rect id="長方形_36" data-name="長方形 36" width="76.457" height="49.399" transform="translate(0 0)" fill="none"/></clipPath></defs><g id="グループ_191" data-name="グループ 191" transform="translate(0 0)"><g id="グループ_190" data-name="グループ 190" clip-path="url(%23clip-path)"><path id="パス_799" data-name="パス 799" d="M75.206,1.25v46.9H1.25V1.25m0,0L38.228,27.908,75.206,1.25ZM25.82,27.856,1.25,48.136m49.384-20.28L75.2,48.136" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"/></g></g></svg>');
  background-size: 36.5px;
}

.header-top-online-box {
  border-right: 1px solid var(--color-white);
  background-image: url('../img/header/header-online-link-btn.svg');
  background-size: 39.5px;
}

.header-top-contact-link,
.header-top-online-link {
  display: block;
  height: 100%;
  width: 100%;
}

.header-top-contact-link > span,
.header-top-online-link > span {
  visibility: hidden;
}

/* ハンバーガーメニュー */
.header-top-hamburger-menu {
  padding: 0;
  margin: 0;
  border: none;
  background-color: var(--color-white);
  background-image: url('data:image/svg+xml;utf8,<svg id="グループ_191" data-name="グループ 191" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="62.5" height="52.5" viewBox="0 0 62.5 52.5"><defs><clipPath id="clip-path"><rect id="長方形_36" data-name="長方形 36" width="62.5" height="52.5" fill="none"/></clipPath></defs><g id="グループ_190" data-name="グループ 190" clip-path="url(%23clip-path)"><line id="線_30" data-name="線 30" x2="60" transform="translate(1.25 1.25)" fill="none" stroke="%23006dd2" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"/><line id="線_31" data-name="線 31" x2="60" transform="translate(1.25 26.25)" fill="none" stroke="%23006dd2" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"/><line id="線_32" data-name="線 32" x2="60" transform="translate(1.25 51.25)" fill="none" stroke="%23006dd2" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"/></g></svg>');
  background-size: 30px;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
}

.header-top-hamburger-menu > span {
  visibility: hidden;
}


/*
---------------------------------------------------------------------
name: footer-wrap
メニュー展開後
---------------------------------------------------------------------
*/
.header-bg {
  background-color: var(--color-white);
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: none;
}

body.-is-open .header-bg {
  display: block;
}

.header-nav-wrap {
  padding: 36px 20px 40px;
  background-image: url('../img/header/header-open-bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top 0;
  position: relative;
  display: none;
  background-color: var(--color-white);
}

.header-nav-wrap.-is-open {
  display: block;
  animation: menuOpen 0.7s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100vw;
  max-height: 100vh;
  max-height: 100dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

@keyframes menuOpen {
  0% {
    opacity: 0
  }

  50% {
    opacity: 5
  }

  100% {
    opacity: 1
  }
}

body.-is-open {
  overflow: hidden;
}

/* ハンバーガーメニュー */
.header-nav-hamburger-menu {
  position: absolute;
  top: 15px;
  right: 20px;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  border: none;
  background-color: var(--color-white);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="31.212" height="31.212" viewBox="0 0 31.212 31.212"><defs><clipPath id="clip-path"><rect id="長方形_36" data-name="長方形 36" width="31.212" height="31.212" transform="translate(0 0)" fill="none"/></clipPath></defs><g id="グループ_191" data-name="グループ 191" transform="translate(0 0)"><g id="グループ_190" data-name="グループ 190" clip-path="url(%23clip-path)"><line id="線_30" data-name="線 30" x2="28.177" y2="28.177" transform="translate(1.517 1.517)" fill="none" stroke="%23006dd2" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.035"/><line id="線_31" data-name="線 31" x1="28.177" y2="28.177" transform="translate(1.518 1.517)" fill="none" stroke="%23006dd2" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.035"/></g></g></svg>');
  background-size: 14px;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
}

.header-nav-hamburger-menu > span {
  visibility: hidden;
}

.header-nav-list {
  padding: 0;
  list-style-type: none;
}

.header-nav-list-item.-hide-sp {
  display: none;
}

.header-nav-list-item + .header-nav-list-item {
  border-top: 1px solid var(--color-white);
}

.header-nav-list-item > a {
  display: block;
  padding: 29px 24px;
  color: var(--color-white);
  font-size: 23px;
  font-weight: 400;
  text-decoration: none;
}

/* お問い合わせボタン */
.header-nav-contact-btn-link {
  display: block;
  background-color: var(--color-main-blue);
  width: 100%;
  height: 80.5px;
  text-decoration: none;
  display: grid;
  place-content: center;
  align-items: center;
  column-gap: 26px;
  border-radius: 1000px;
  color: var(--color-white);
  font-weight: 500;
  font-size: 23px;
  letter-spacing: 0.5px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="65.336" height="65.336" viewBox="0 0 65.336 65.336"><defs><clipPath id="clip-path"><rect id="長方形_36" data-name="長方形 36" width="65.336" height="65.336" transform="translate(0 0)" fill="none"/></clipPath></defs><g id="グループ_191" data-name="グループ 191" transform="translate(0 0)"><g id="グループ_190" data-name="グループ 190" clip-path="url(%23clip-path)"><path id="パス_799" data-name="パス 799" d="M54.175,11.161a30.415,30.415,0,1,1-43.014,0A30.415,30.415,0,0,1,54.175,11.161Z" fill="none" stroke="%23fff" stroke-width="2"/><line id="線_30" data-name="線 30" x2="29.289" transform="translate(16.431 31.961)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-width="2"/><path id="パス_800" data-name="パス 800" d="M34.029,21.822,45.72,31.96,34.029,42.1" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></g></svg>');
  background-size: 32px;
  background-repeat: no-repeat;
  background-position: center right 16px;
}

.header-nav-contact-btn-link > span {
  display: flex;
  align-items: center;
  column-gap: 13px;
}

.header-nav-contact-btn-link > span::before {
  display: inline-block;
  content: "";
  width: 31px;
  height: 20px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="76.457" height="49.399" viewBox="0 0 76.457 49.399"><defs><clipPath id="clip-path"><rect id="長方形_36" data-name="長方形 36" width="76.457" height="49.399" transform="translate(0 0)" fill="none"/></clipPath></defs><g id="グループ_191" data-name="グループ 191" transform="translate(0 0)"><g id="グループ_190" data-name="グループ 190" clip-path="url(%23clip-path)"><path id="パス_799" data-name="パス 799" d="M75.206,1.25v46.9H1.25V1.25m0,0L38.228,27.908,75.206,1.25ZM25.82,27.856,1.25,48.136m49.384-20.28L75.2,48.136" fill="none" stroke="%23fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"/></g></g></svg>');
  background-size: 31px;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: -3px;
}

/* SPの大喜多オンライン */
.header-nav-online-btn {
  margin-top: 17px;
}

.header-nav-online-btn > a {
  display: block;
}

.header-nav-online-btn > a > img {
  width: 100%;
}

/* PCの大喜多オンライン */
.header-nav-online-link {
  display: none;
}

@media print,
screen and (min-width: 768px) {
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    margin-inline: auto;
    max-width: 1140px;
    padding-left: 20px;
  }

  /*
  ---------------------------------------------------------------------
  name: header-top-wrap
  メニュー展開前
  ---------------------------------------------------------------------
  */
  .header-top-wrap {
    padding-left: 0;
  }

  .header-top-right-box {
    display: none;
  }

  /* ロゴ */
  .header-top-logo-box {
    flex-shrink: 0;
    width: 103px;
  }

  .header-top-logo-link {
    display: block;
    transition: opacity var(--hover-duration) var(--hover-timing);
  }

  .header-top-logo-link:hover {
    opacity: var(--hover-opacity);
  }

  /*
  ---------------------------------------------------------------------
  name: footer-wrap
  メニュー展開後
  ---------------------------------------------------------------------
  */
  .header-bg {
    display: none;
  }

  .header-nav-wrap {
    padding: 0;
    background-image: unset;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    column-gap: 50px;
    align-items: center;
    background-color: unset;
  }

  /* ハンバーガーメニュー */
  .header-nav-hamburger-menu {
    display: none;
  }

  .header-nav-list {
    padding: 0;
    list-style-type: none;
    display: flex;
    column-gap: 47px;
    align-items: center;
  }

  .header-nav-list-item.-hide-sp {
    display: inline-block;
  }

  .header-nav-list-item.-hide-pc {
    display: none;
  }

  .header-nav-list-item + .header-nav-list-item {
    border-top: none;
  }

  .header-nav-list-item > a {
    display: block;
    padding: 0;
    color: var(--color-bg-black);
    font-size: 14px;
    transition: color var(--hover-duration) var(--hover-timing);
  }

  .header-nav-list-item > a:hover {
    color: var(--color-main-blue);
  }

  .header-nav-contact-btn {
    display: none;
  }

  .header-nav-online-btn {
    display: none;
  }

  .header-nav-online-link {
    display: block;
  }

  .header-nav-online-link > a {
    display: block;
    background-color: var(--color-main-blue);
    color: var(--color-white);
    text-decoration: none;
    width: 133px;
    height: 90px;
    display: grid;
    place-content: center;
    transition: opacity var(--hover-duration) var(--hover-timing);
  }

  .header-nav-online-link > a:hover {
    opacity: var(--hover-opacity);
  }

  .header-nav-online-link-img {
    width: 38px;
    margin-inline: auto;
  }

  .header-nav-online-link > a > span {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 500;
    font-family: var(--font-noto-sans);
  }
}