/* ----------------------------------- */
/* Fonts                                */
/* ----------------------------------- */
/* ----------------------------------- */
/* Base / Reset                         */
/* ----------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 0.52vw;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #1C1C1C;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

/* ----------------------------------- */
/* Mobile base                          */
/* ----------------------------------- */
/* ----------------------------------- */
/* Layout                               */
/* ----------------------------------- */
.inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 14.4rem;
}

.main {
  display: block;
  background-color: #1A1A1A;
}

/* ----------------------------------- */
/* Utilities                            */
/* ----------------------------------- */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-pc-only {
  display: block;
}

.u-sp-only {
  display: none;
}

/* ----------------------------------- */
/* Header                               */
/* ----------------------------------- */
.header {
  background-color: #000;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  height: 8rem;
  padding: 0 26.8rem;
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.header__logo-image {
  width: 39.17rem;
  height: 7.17rem;
  width: auto;
}

/* ----------------------------------- */
/* Footer                               */
/* ----------------------------------- */
.footer {
  background-color: #1A1A1A;
  padding: 2.7rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 2px solid #6d6d6d;
}

.footer_image {
  height: 8.4rem;
}

.footer__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 14.4rem;
}

.footer__copyright {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 4rem;
  color: rgba(255, 255, 255, 0.6);
}

.fixed_footer {
  background-color: rgba(0, 0, 0, 0.5);
  padding: 1.33vw 0;
  width: 100%;
  position: fixed;
  z-index: 9;
  bottom: 0;
  left: 0;
  right: 0;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

.fixed_footer.js-isActive {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.fixed_footer .nagano_container {
  margin: 0 auto;
  max-width: 800px;
}

.fixed_footer .nagano_container.footer {
  background: transparent;
  padding: 0;
  border-top: 0;
  -webkit-box-align: initial;
      -ms-flex-align: initial;
          align-items: initial;
}

.fixed_footer .pop_btns {
  margin: 0 auto;
  max-width: 1200px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.fixed_footer .pop_btns a {
  padding: 16px 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 0;
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
  word-break: keep-all;
  border-radius: 6px;
  width: 38.8rem;
}

.fixed_footer .pop_btns a:last-child {
  margin-right: 0;
}

.fixed_footer .pop_btns a.red_footer_btn {
  background-color: #e60012;
  border-bottom: 2px solid #910000;
  -webkit-box-shadow: 0 0 10px 2px #b9b7b7;
          box-shadow: 0 0 10px 2px #b9b7b7;
  color: #fff;
  width: 38.8rem;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.fixed_footer .pop_btns a.red_footer_btn:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .fixed_footer {
    padding: 10px 0;
  }
  .fixed_footer .nagano_container.footer {
    width: 94%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .fixed_footer .nagano_container.footer .pop_btns {
    padding: 10px 0;
    width: 100%;
    gap: 10px;
  }
  .fixed_footer .pop_btns a {
    width: 100%;
    margin-right: 0;
    font-size: 12px;
    padding: 16px 10px;
    white-space: normal;
  }
  .fixed_footer .pop_btns a.red_footer_btn {
    width: 100%;
  }
  .fixed_footer .pop_btns a + a {
    margin-top: 0;
  }
}
/* ----------------------------------- */
/* Hero                                 */
/* ----------------------------------- */
.hero {
  position: relative;
  width: 100%;
}

.hero__content {
  width: 100%;
}

.hero__content-image {
  width: 100%;
  height: auto;
  display: block;
}

.hero__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 15.4rem;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
}

.hero__header-image {
  width: 84.67rem;
  height: 9.1;
  max-width: 60rem;
}

/* ----------------------------------- */
/* Intro                                */
/* ----------------------------------- */
.intro {
  width: 100%;
}

.intro__header {
  width: 100%;
  margin-left: -11.87rem;
}

.intro__header-image {
  width: 100%;
  height: auto;
  display: block;
}

.intro__content {
  width: 100%;
}

.intro__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.intro__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 4.96rem;
}

.intro__text-image {
  width: 87.8rem;
  height: auto;
  display: block;
}

.intro__figure {
  width: 100%;
  padding: 6.05rem 0 3.23rem;
}

.intro__figure-image {
  width: 100%;
  height: auto;
  display: block;
}

.intro__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 3.12rem;
}

.intro__sub-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow: hidden;
}

.intro__sub-image {
  width: 100%;
  height: auto;
  display: block;
}

/* ----------------------------------- */
/* Utility modifier                     */
/* ----------------------------------- */
.intro__utility-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.intro__utility-text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
  padding: 0 4rem;
}

.intro__utility-title-image {
  height: auto;
  display: block;
  width: 40rem;
}

.intro__utility-text-image {
  height: auto;
  display: block;
  width: 40rem;
}

.intro__utility-figure {
  width: 70.2rem;
}

.intro__utility-figure-image {
  width: 100%;
  height: auto;
  display: block;
}

.intro__utility-first {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 4.96rem 0 3.23rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.2rem 16.5rem;
}
.intro__utility-first .intro__utility-title-image {
  width: 37rem;
}
.intro__utility-first .intro__utility-text {
  width: 100%;
  padding: 0;
}
.intro__utility-first .intro__utility-text .intro__utility-text-image {
  width: 137.4rem;
}

.intro__utility-second {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 0 0 6.4rem;
  gap: 1.2rem 15rem;
}
.intro__utility-second .intro__utility-text-image {
  width: 68rem;
  margin-top: 1.2rem;
}
.intro__utility-second .intro__utility-title-image {
  width: 41.63rem;
}

/* ----------------------------------- */
/* Lineup Item                          */
/* ----------------------------------- */
.lineup-item {
  position: relative;
  width: 100%;
  padding: 5rem 0 4rem;
  border-bottom: 2px solid #fff;
}
.lineup-item.lineup-item--3 {
  border-bottom: none;
}

.lineup-item__name {
  height: 4.26rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.lineup-item__figure-image {
  width: 100%;
  height: auto;
  display: block;
  margin-left: -6rem;
  max-width: 126.8rem;
}

.lineup-item__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 3.75rem;
}

.lineup-item__title {
  height: 6.85rem;
}

.lineup-item__title-image {
  height: auto;
  display: block;
  max-height: 100%;
}

.lineup-item__price {
  height: 12.1rem;
}

.lineup-item__price-image {
  height: auto;
  display: block;
  max-height: 100%;
}

.lineup-item__table {
  padding-top: 4rem;
  width: 100%;
}

.lineup-item__note {
  padding-top: 6.55rem;
  width: 100%;
}

.lineup-item__description {
  padding-top: 3.5rem;
  padding-bottom: 5.9rem;
  width: 100%;
}

/* ----------------------------------- */
/* Breadcrumb                           */
/* ----------------------------------- */
.breadcrumb {
  padding: 1.2rem 0;
  background-color: #FAF8EB;
}

.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.4rem;
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 14.4rem;
}

.breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3rem;
  color: #7B7B7B;
}
.breadcrumb__item::after {
  content: ">";
  margin-left: 0.4rem;
  color: #7B7B7B;
}
.breadcrumb__item:last-child::after {
  content: none;
}

.breadcrumb__link {
  color: #14498A;
  text-decoration: underline;
}
.breadcrumb__link:hover {
  text-decoration: none;
}

/* ----------------------------------- */
/* Button                               */
/* ----------------------------------- */
.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.4rem 3.2rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  border-radius: 0.4rem;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease, background-color 0.2s ease;
  transition: opacity 0.2s ease, background-color 0.2s ease;
  text-decoration: none;
  border: none;
}
.btn:hover {
  opacity: 0.85;
}

.btn--primary {
  background-color: #14498A;
  color: #FFFFFF;
}

.btn--secondary {
  background-color: transparent;
  color: #14498A;
  border: 2px solid #14498A;
}

.btn--red {
  background-color: #E20012;
  color: #FFFFFF;
}

/* ----------------------------------- */
/* Top page                             */
/* ----------------------------------- */
.top-section {
  padding: 8rem 0;
}

.top-section__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 14.4rem;
}

.top-section__heading {
  font-size: 2.5rem;
  font-weight: 700;
  color: #14498A;
  margin-bottom: 3.2rem;
}

.intro {
  width: 141rem;
  margin: 0 auto;
  padding: 11.85rem 0 0;
}
@media screen and (max-width: 991px) {
  .intro {
    width: 100%;
    padding: 11.85rem 18rem 0;
  }
}

.intro__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.intro__header-image {
  width: 50.4rem;
  height: 9.1rem;
}