@charset "UTF-8";
/* Global Navigation Menu */
nav.global {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 60px;
  background: rgba(0, 0, 0, .7);
  font-weight: 700;
}
nav.global .nav-container {
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.global ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav.global ul.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 100px;
  width: 100%;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
}
nav.global ul.top-bar li {
  display: none;
}
nav.global ul.top-bar li.logo {
  display: inline-block;
          flex-grow: 1;

  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
}
nav.global ul.top-bar li.logo a {
  display: inline-block;
}
nav.global ul.top-bar li.logo img {
  vertical-align: middle;
}
nav.global .bottom-bar {
  overflow: hidden;
  height: 0;
}
nav.global .bottom-bar.active {
  height: auto;
}
nav.global ul.nav-list {
  display: block;
  width: 100vw;
  height: 100vh;
  background: #333;
          transition:         transform 300ms ease-out;
          transform: translateX(100vw);

  -webkit-transform: translateX(100vw);
      -ms-transform: translateX(100vw);
  -webkit-transition: -webkit-transform 300ms ease-out;
}
nav.global ul.nav-list.active {
          transform: translateX(0);

  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);

}
nav.global ul.nav-list li {
  position: relative;
}
nav.global ul.nav-list li a {
  display: block;
  padding-left: 2em;
  border-bottom: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  line-height: 3;
          transition: opacity 100ms ease-out;

  -webkit-transition: opacity 100ms ease-out;
}
nav.global ul.nav-list li a:after {
  content: ">";
  display: inline-block;
  float: right;
  margin-right: 1em;
}
nav.global ul.nav-list li a:hover {
  opacity: .6;
}
nav.global .nav-mobile {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: rgba(0, 0, 0, .7);
}
nav.global #nav-toggle {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 10px 0 0 0;
  text-align: center;
  cursor: pointer;
}
nav.global #nav-toggle p {
  position: relative;
  top: 5px;
  left: -5px;
  color: #fff;
  font-size: .8125em;
}
nav.global #nav-toggle span,nav.global #nav-toggle span:before,nav.global #nav-toggle span:after {
  content: "";
  position: absolute;
  display: block;
  width: 35px;
  height: 3px;
  border-radius: 1px;
  background: #fff;
  cursor: pointer;
          transition: all 300ms ease-in-out;

  -webkit-transition: all 300ms ease-in-out;
}
nav.global #nav-toggle span:before {
  top: -10px;
}
nav.global #nav-toggle span:after {
  bottom: -10px;
}
nav.global #nav-toggle.active span {
  background-color: transparent;
}
nav.global #nav-toggle.active span:before,nav.global #nav-toggle.active span:after {
  top: 0;
}
nav.global #nav-toggle.active span:before {
          transform: rotate(45deg);

  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
}
nav.global #nav-toggle.active span:after {
          transform: rotate(-45deg);

  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
}
@media only screen and (min-width: 769px) {
  .pc-none{
    display: none!important;
  }
  nav.global {
    height: 90px;
  }
  nav.global .nav-mobile {
    display: none;
  }
  nav.global ul.top-bar {
    padding-right: 0;
    /* line-height: 50px; */
  }
  nav.global ul.top-bar li {
    display: inline-block;
    margin: 0 10px;
    font-size: 12px;
    line-height: 1;
  }
  nav.global ul.top-bar li a {
    color: #fff;
  }
  nav.global ul.top-bar li a:before {
    content: "▶";
    padding-right: 3px;
    color: #aaa;
    font-size: .5em;
  }
  nav.global ul.top-bar li a:hover {
    color: rgba(255, 255, 255, .5);
  }
  nav.global ul.top-bar li.logo {
    transform: translateY(14px);
    flex-grow: 1;

    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
  }
  nav.global ul.top-bar li.logo a {
    display: inline-block;
  }
  nav.global ul.top-bar li.logo img {
    vertical-align: middle;
  }
  nav.global ul.top-bar li.brand {
    max-width: 110px;
  }
  nav.global ul.top-bar li.brand a {
    display: inline-block;
  }
  nav.global ul.top-bar li.brand img {
    margin-top: -3px;
    vertical-align: middle;
  }
  nav.global ul.top-bar li.logo a:before,nav.global ul.top-bar li.brand a:before {
    content: "";
    padding: 0;
  }
  nav.global .bottom-bar {
    display: block;
    height: 28px;
    background: transparent;
  }
  nav.global ul.nav-list {
    position: static;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display:         flex !important;
    float: right;
            align-items: center;
            justify-content: flex-end;
    /* padding: 0 1em; */
    width: 100%;
    height: 28px;
    background: none;
    font-size: .8725em;
            transition: none;
            transform: none;

    -webkit-align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: end;
    -ms-flex-align: center;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -webkit-transform: none;
        -ms-transform: none;
    -webkit-transition: none;
  }
  nav.global ul.nav-list li {
    /* min-width: 12.5%; */
    width: fit-content;
    /* border-right: 1px dotted #333; */
    text-align: center;
    font-size: 12px;
  }
  nav.global ul.nav-list li a {
    padding: 0;
    border: none;
    color: #fff;
    line-height: 1;
  }
  nav.global ul.nav-list li a:after {
    content: "";
    margin: 0;
  }
  nav.global ul.nav-list {
    width: 740px;
    margin: -8px 5px 0 auto;
    gap: 20px;
    padding: 0;
    font-size: 12px;
    line-height: 1;
  }
}
@media only screen and (min-width: 992px) {
  nav.global {
    height: 90px;
  }
  nav.global .nav-container {
    width: 100%;
  }
  nav.global ul.top-bar {
    padding-left: 0;
    /* line-height: 50px; */
  }
}

@media screen and (max-width: 768px) {
  .sp-none{
    display: none!important;
  }
    nav.global ul.top-bar .logo a {
        width: 79px;
    }
}

nav.breadcrumb {
  margin: 1rem 0;
}
nav.breadcrumb a {
  color: #fff;
  letter-spacing: .125em;
  font-weight: 700;
  font-size: .6875em;
  font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo,
  Verdana, sans-serif;
}

nav.floatingFooter {
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 0;
  width: 100%;
  background: #edbb5c;
  font-size: .8125em;
}
nav.floatingFooter ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
          align-items: center;
          flex-wrap: wrap;
          justify-content: center;
  width: 100%;
  list-style: none;

  -webkit-align-items: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
  -webkit-justify-content: center;
}
nav.floatingFooter ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  width: 100%;
  border: 1px solid #fff;
  border-left: none;
  text-align: center;
}
nav.floatingFooter ul li:first-child {
  border-left: 1px solid #fff;
}
nav.floatingFooter ul li a {
  display: block;
          flex-grow: 1;
  background: -webkit-linear-gradient(#f19f34 0%, #f19f34 45%, #ac7125 100%);
  background:         linear-gradient(#f19f34 0%, #f19f34 45%, #ac7125 100%);
  color: #fff;
  letter-spacing: .125em;
  font-weight: 700;
  line-height: 2.5;

  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
}
nav.floatingFooter ul li a:hover {
  background: -webkit-linear-gradient(#ac7125 0%, #ac7125 45%, #f19f34 100%);
  background:         linear-gradient(#ac7125 0%, #ac7125 45%, #f19f34 100%);
}
nav.global {
  position: fixed !important;
  top: -7px !important;
  left: 0 !important;
  z-index: 999 !important;
  width: 100% !important;
  height: 53px !important;
  background: transparent !important;
  font-weight: 700;
  -webkit-transition: none;
  transition: none;
}

@media screen and (min-width: 769px) {
  nav.global {
    height: 60px !important;
    padding: 4px 24px 0 !important;
  }
  nav.global .bottom-bar {
    background: transparent !important;
    -webkit-transition: none;
    transition: none;
  }
}

@media screen and (min-width: 769px) {
  body.is-scrolled nav.global,
  header:hover nav.global {
    background: #fff !important;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
}

@media screen and (max-width: 768px) {
  body.is-scrolled nav.global {
    background: rgba(255, 255, 255, 0.3) !important;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
}
nav.global #nav-toggle p {
  position: relative;
  top: 10px;
  left: -5px;
  color: #333;
  font-size: 0.8125em;
}

nav.global .nav-mobile {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 52px;
  -webkit-transition: none;
  transition: none;
}
@media screen and (max-width: 768px) {
  nav.global .nav-mobile {
    background: rgba(255, 255, 255, 0.4) !important;
  }
}

/* SP: ロゴが巨大化するのを抑止（トップと同じサイズ感に固定） */
@media screen and (max-width: 768px) {
  nav.global ul.top-bar .logo a {
    width: 79px !important;
    display: block !important;
  }
  nav.global ul.top-bar li.logo img {
    width: 100% !important;
    max-width: 79px !important;
    height: auto !important;
  }
  nav.global ul.top-bar li.brand img {
    width: 90px !important;
    height: auto !important;
  }
}

/* SPのハンバーガーメニュー位置/行間が、他CSSに上書きされる対策 */
@media screen and (max-width: 768px) {
  nav.global #nav-toggle {
    top: 12px !important;
    left: 12px !important;
    padding: 10px 0 0 0 !important;
  }

  nav.global ul.nav-list li a {
    padding-left: 2em !important;
    border-bottom: 1px solid #fff !important;
    line-height: 3 !important;
    text-align: left !important;
    font-size: 16px !important;
  }

  nav.global ul.nav-list li a:after {
    margin-right: 1em !important;
  }
}

body.is-scrolled nav.global .nav-mobile,
header:hover nav.global .nav-mobile {
  background: #fff !important;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
@media screen and (max-width: 768px) {
  body.is-scrolled nav.global .nav-mobile,
  header:hover nav.global .nav-mobile {
    background: rgba(255, 255, 255, 0.4) !important;
  }
}

@media screen and (min-width: 769px) {
  body.is-scrolled nav.global ul.top-bar li a,
  header:hover nav.global ul.top-bar li a {
    color: #000 !important;
    font-weight: 400 !important;
  }
  body.is-scrolled nav.global ul.top-bar li a:hover,
  header:hover nav.global ul.top-bar li a:hover {
    color: rgba(0, 0, 0, 0.55) !important;
  }
  body.is-scrolled nav.global ul.top-bar li a:before,
  header:hover nav.global ul.top-bar li a:before {
    color: #666 !important;
  }
  body.is-scrolled nav.global ul.nav-list li a,
  header:hover nav.global ul.nav-list li a {
    color: #000 !important;
    font-weight: 400 !important;
  }
  body.is-scrolled nav.global ul.nav-list li a:hover,
  header:hover nav.global ul.nav-list li a:hover {
    color: rgba(0, 0, 0, 0.55) !important;
  }
  nav.global ul.top-bar li.logo img {
    width: 100px;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  nav.global ul.top-bar li.brand img {
    width: 100px;
    max-width: none !important;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
nav.floatingFooter {
  z-index: 999 !important;
}

nav.global #nav-toggle span,
nav.global #nav-toggle span:before,
nav.global #nav-toggle span:after {
  content: "";
  position: absolute;
  display: block;
  width: 35px;
  height: 3px;
  border-radius: 1px;
  background: #333;
  cursor: pointer;
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
}

@media screen and (max-width: 768px) {
  nav.global .nav-container {
    padding: 0!important;
    margin: 0 auto!important;
    height: 52px!important;
  }

    nav.global ul.top-bar {
        line-height: 52px !important;
        padding-left: 24px;
        height: 100%!important;
    }
}

.MvBackground-followbtnSp {
  z-index: 3;
}
/* 初期状態：非表示 */
.MvBackground-followbtn {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

/* 表示状態 */
.MvBackground-followbtn.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media screen and (min-width: 769px) {
  .MvBackground-followbtn {
	position: fixed;
	top: 178px;
	right: 0;
	z-index: 1000;
  }
}
@media screen and (max-width: 768px) {
  .MvBackground-followbtn {
	position: relative;
  }
}
.MvBackground-followbtn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
	  -ms-flex-align: end;
		  align-items: end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
	  -ms-flex-direction: column;
		  flex-direction: column;
  gap: 4px;
}
@media screen and (max-width: 768px) {
  .MvBackground-followbtn-list {
	position: sticky;
  }
}
.MvBackground-followbtn-list-item {
  cursor: pointer;
}
.MvBackground-followbtn-list-item-icon {
  width: 64px;
  height: 64px;
}
.MvBackground-followbtn-list-item-icon img {
  width: 64px;
  height: 64px;
}
.MvBackground-followbtn-list-item-icon img:hover {
  width: 214px;
  height: 64px;
}

body.top:not(.is-past-mv) .MvBackground-followbtn,
body.top:not(.is-past-mv) .MvBackground-followbtnSp {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

body.top.is-past-mv .MvBackground-followbtn,
body.top.is-past-mv .MvBackground-followbtnSp {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.MvBackground-followbtnSp {
  position: fixed;
  bottom: 0;
  z-index: 100;
}
@media screen and (min-width: 769px) {
  .MvBackground-followbtnSp {
	display: none !important;
  }
}
.MvBackground-followbtnSp.js_fixed {
  position: fixed;
  top: 0;
}
.MvBackground-followbtnSp-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
}
.MvBackground-followbtnSp-list-item-img {
  width: 100%;
}

/* --- ヘッダーはみ出し・ロゴ位置補正（既存の手動調整は維持） --- */
header {
  max-width: 100%;
  overflow-x: clip;
}

nav.global {
  max-width: 100%;
  overflow-x: clip;
  box-sizing: border-box;
}

nav.global .nav-container,
nav.global .bottom-bar .nav-container {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* 100vw が画面幅を超えて右寄りに見える原因になるため 100% に統一 */
nav.global ul.nav-list {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  nav.global {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  nav.global ul.top-bar {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
  }

  nav.global ul.top-bar li.logo {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-right: auto !important;
    transform: translateY(14px);
  }

  nav.global ul.nav-list {
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin: -8px 0 0 auto !important;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap !important;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end !important;
  }

  nav.global .bottom-bar {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  nav.global ul.nav-list {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

  nav.global ul.nav-list.active {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    margin-top: 45px;
  }
}/*# sourceMappingURL=style.css.map */