@charset "UTF-8";

/* ==========================================================================
   Header
========================================================================== */
#siteHeader {
  height: 80px;
}
#siteHeader .inner-header {
  padding: 0 25px;
  overflow: hidden;
}

#logo {
  flex: 0 0 120px;
  width: 120px;
}
@media (min-width: 992px) {
  #siteHeader {
    height: 100px;
  }
  #siteHeader .inner-header {
    padding: 0 3vw 0 4vw;
  }
}
@media (min-width: 1200px) {
  #siteHeader {
    font-size: 1em;
  }
}


/* ==========================================================================
   Navigation
========================================================================== */
.gNav .sns-nav li a {
  font-family: Lato, sans-serif;
  font-weight: 400;
  text-transform: none;
  gap: .375em;
}

/* ==========================================================================
   PC Navigation
========================================================================== */
@media (min-width: 992px) {
  .gNav {
    padding-top: 13px;
  }
  .gNav .navBar_inner > .nav-row > .main-nav > li > a {
    padding-top: 0;
  }
  .gNav .main-nav > li > a {
    letter-spacing: .1em;
  }
  .gNav nav ul.sns-nav li a svg {
    order: 2;
  }
}

/* ==========================================================================
   SP Navigation
========================================================================== */
@media (max-width: 991px) {
  .gNav nav .buttons {
    width: 100%;
    max-width: 32em;
    display: flex;
    justify-content: center;
    gap: .5em;
    margin: 0 auto 2rem;
  }
  .gNav nav .buttons > * {
    flex-basis: calc(50% - .25em);
    padding: 0!important;
    margin: 0;
  }
  .gNav .btn {
    width: 100%;
    padding: 1em 1.5em!important;
    min-width: initial;
  }
  .gNav nav ul.main-nav li {
    flex: 0 0 100%;
  }
  .gNav nav ul.main-nav li:nth-of-type(odd) {
    padding-right: 0;
  }
  .gNav nav ul.main-nav li:nth-of-type(even) {
    padding-left: 0;
  }
  .gNav nav ul.main-nav li a {
    padding: 1em 0 !important;
  }
  .gNav nav ul.main-nav li > a::before {
    width: 1.25rem;
    height: 1.25rem;
  }
  .gNav nav ul.main-nav li > a::after {
    width: .3rem;
    height: .3rem;
  }

  .gNav nav ul.sns-nav {
    justify-content: space-between;
  }
  .gNav nav ul.sns-nav li {
    flex: 0 0 auto;
  }
  .gNav nav ul.sns-nav li a {
    gap: .5em;
    color: inherit!important;
  }
  .gNav nav ul.sns-nav li a svg {
    width: 1.2em;
    height: 1.2em;
    margin: 0;
  }
  .gNav nav ul.sns-nav li a svg._blank {
    width: .8em;
    height: .8em;
    order: 2;
  }

  .gNav .nav-book-row {
    margin-top: 2rem;
  }
  .gNav .nav-book-row .ttlBox .ttl {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .navBar_inner > .row {
    max-width: 32rem;
    margin-right: auto;
    margin-left: auto;
  }
  .gNav nav ul {
    max-width: 32em;
  }
}



/* ==========================================================================
   Book List
========================================================================== */
.nav-book-row .txt {
  margin-top: 1rem;
}
.nav-book-row .tel-txt {
  color: var(--color1);
  margin: .5rem auto 1.5rem;
}
.nav-book-row .tel-txt .num {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: 2.308em;
}
.nav-book-row .tel-txt svg {
  width: 1.25em;
}
.nav-book-row .reception {
  letter-spacing: .1em;
}
@media (max-width: 767px) {
  .nav-book-row .tel-txt {
    border: 1px solid currentColor;
    padding: .8em 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: .75rem auto 1rem;
    text-decoration: none;
  }
  .nav-book-row .tel-txt .num {
    font-size: 1.231em;
  }
  .nav-book-row .tel-txt svg {
    width: 1.5em;
  }
}
@media (min-width: 768px) {
  .nav-book-row .buttons {
    margin-top: .75rem;
  }
}


/* ==========================================================================
   Footer Information
========================================================================== */
#footer-info {
  background: var(--white);
  color: inherit;
}
#footer-info .nav-book-row .ttl {
  color: var(--color2);
}

@media (min-width: 576px) {
  #footer-info .nav-book-row .buttons {
    display: flex;
    margin-right: -10px;
    margin-left: -10px;
  }
  #footer-info .nav-book-row .buttons > p {
    flex: 0 0 50%;
    max-width: initial;
    padding-right: 10px;
    padding-left: 10px;
  }
  #footer-info .nav-book-row .buttons .btn {
    width: 100%;
  }
}
@media (min-width: 992px) {
  #footer-info .nav-book-row .buttons > p {
    flex: 0 0 25%;
  }
}

/* ==========================================================================
   Footer
========================================================================== */
#siteFooter {
  padding-right: 25px;
  padding-left: 25px;
}
#siteFooter .logo__inner {
  width: 250px;
}
#siteFooter .fNav ul li {
  padding: .25em 0;
}
#siteFooter .fNav ul li a {
  padding: .75em 0;
}
#siteFooter .fNav ul.sns-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
  margin: 2.5em 0 3.5em;
}
#siteFooter .fNav ul.sns-nav li a {
  display: flex;
  align-items: center;
  gap: .5em;
}
#siteFooter .fNav ul.sns-nav li a svg {
  margin: 0;
  width: 1.2em;
  height: 1.2em;
}
#siteFooter .fNav ul.sns-nav li a svg._blank {
  width: .8em;
  height: .8em;
  order: 2;
}
#siteFooter .footer-bottom {
  margin-bottom: 2.5rem;
}
@media (max-width: 991px) {
  #siteFooter .fNav {
    max-width: 23rem;
    margin: 0 auto;
  }
  #siteFooter .fNav ul.main-nav {
    display: block;
    text-align: center;
  }
}
@media (min-width: 992px) {
  #siteFooter {
    padding-right: 4vw;
    padding-left: 4vw;
  }
  #siteFooter .fNav ul.main-nav,
  #siteFooter .fNav ul.sns-nav {
    display: flex;
    justify-content: flex-end;
    gap: 1em 2em;
  }
  #siteFooter .fNav ul.sns-nav {
    margin: 4em 0 5em;
  }
  #siteFooter .fNav ul.sns-nav li a svg {
    order: 2;
  }

  #siteFooter .footer-bottom__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #siteFooter .footer-bottom__inner .copyright,
  #siteFooter .footer-bottom__inner .copyright p {
    margin-top: 0;
    text-align: right;
  }
}


/* ==========================================================================
   Fixed Bottom Nav
========================================================================== */
#fixedBottomNav {
  background: var(--l-gray);
  color: inherit;
}
#fixedBottomNav .buttons {
  background: var(--color2);
  color: var(--white);
  height: 5em;
  margin: 0;
}
#fixedBottomNav .buttons a {
  font-weight: 400;
  letter-spacing: .05em;
}
@media (min-width: 768px) {
  #fixedBottomNav {
    display: flex;
  }
  #fixedBottomNav .buttons {
    width: 55%;
  }
  #fixedBottomNav .tel-txt {
    width: 45%;
    align-self: center;
  }
  #fixedBottomNav .tel-txt span {
    display: block;
    line-height: 1.125;
    padding: 0 5%;
  }
  #fixedBottomNav .tel-txt span.num {
    font-size: 1.077em;
    font-weight: 500;
    margin-bottom: .25em;
  }
  #fixedBottomNav .tel-txt span.reception {
    font-family: var(--gothic);
    font-size: 0.846rem;
  }
}
@media (min-width: 991px) {
  #fixedBottomNav {
    width: 43em;
  }

}

