@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:wght@700&display=swap');

@font-face {
  font-family: icon;
  src: url(../font/icon.eot);
  src: url(../font/icon.eot#iefix) format("embedded-opentype"),
       url(../font/icon.woff) format("woff"),
       url(../font/icon.ttf) format("truetype"),
       url(../font/icon.svg#icon) format("svg");
  font-weight: normal;
  font-style: normal;
}

 [class^="ico-"]:before, [class*=" ico-"]:before { display: inline-block; font-family: "icon"; font-size: 120%; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1em; margin-left: .2em; margin-right: .2em; text-align: center; text-decoration: inherit; text-transform: none; width: 1em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ico-down-dir:before { content: '\e800'; }
.ico-pagetop:before { content: '\e802'; }
.ico-angle-left:before { content: '\f104'; }
.ico-angle-right:before { content: '\f105'; }
.ico-angle-up:before { content: '\f106'; }
.ico-angle-down:before { content: '\f107'; }

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1280px; }
.l-page { font-family: 'Noto Sans JP', sans-serif; font-size: 16px; line-height: 1.6; text-align: center; width: 100%; }
.l-page * { -ms-box-sizing: border-box; box-sizing: border-box; }
.l-page h1 { font-size: 18px; font-weight: 700; line-height: 1; margin: 0 auto 25px; max-width: 1280px; text-align: left; }
.l-page a { color: #c85e97; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; width: 100%; }
.l-page h3 { font-weight: 700; }
.l-page p, .l-page li { font-size: 1.125em; }
.l-page em { font-family: "Roboto", sans-serif; }
.l-page .bg-color__beige { background-color: #eeeee8; }
.l-page .c-btn { display: grid; place-items: center; position: relative; width: 100%; }
.l-page .c-btn span { font-weight: 700; position: relative; z-index: 2; }
.l-page .c-btn span::after { content: "\f105"; display: inline-block; font-family: "icon"; position: absolute; right: -1em; top: 50%; translate: 0 -50%; transition: all .4s ease; }
.l-page .c-btn__red { background-color: #de071d; }
.l-page .c-btn__red span { color: #fff; }
.l-page .c-btn__red span::after { color: #ffd445; }
.l-page .c-btn__yellow { background-color: #ffd445; }
.l-page .c-btn__yellow span { color: #de071d; }
.l-page .c-btn__prev { background-color: #fff; border: .25em solid #333 }
.l-page .c-btn__prev span { color: #333; }
.l-page .c-btn__prev span::after { content: none; }
.l-page .c-btn__prev span::before { content: "\f104"; display: inline-block; font-family: "icon"; left: -1em; position: absolute; top: 50%; translate: 0 -50%; transition: all .4s ease; }
.l-page .c-catch { font-size: 2em; }
.l-page .c-inner { display: flex; flex-direction: column; margin: 0 auto; max-width: 1280px; position: relative; width: 89%; z-index: 1; }
.l-page .c-sec__title { font-weight: 700; }

.js-btn-page-top { bottom: 50px; cursor: pointer; display: none; position: fixed; right: 50px; z-index: 100; }
.js-btn-page-top a { display: block; height: 17px; position: relative; width: 35px; }
.js-btn-page-top a::before { color: #000; content: "\e802"; display: inline-block; font-family: "icon"; font-size: 17px; height: 17px; width: 35px; }
.js-btn-page-top a:hover { opacity: .8; }

.l-mv { align-items: center; background: url(../images/bg_mv.jpg) no-repeat 50% 50% / cover; display: flex; flex-direction: column; justify-content: center; position: relative; width: 100%; }
.l-mv * { position: relative; z-index: 1; }
.l-mv .c-btn + .c-btn { margin-top: .75em; }
.l-mv .c-logo span { color: #fff; display: block; line-height: 1; margin-top: .25em; text-align: center; }
.l-mv__title { color: #fff; font-weight: 900; text-shadow: rgba(0,0,0,.4) 0 0 1em; }
.l-mv__link { margin: 0 auto; }
.l-contents { background-color: #fff; width: 100%; }

.sec-concept { background: url(../images/bg_concept.jpg) no-repeat 50% 100% / cover; }
.sec-concept .c-bottom__txt { background-color: #fff; margin: 0 auto; max-width: 986px; padding: .5em 1.5em; width: 100%; }
.sec-concept__txt p { color: #fff; font-weight: 500; line-height: 2; }
.sec-concept__txt p + p { padding-top: 1.5em; }
.sec-enjoy { background: url(../images/bg_enjoy.png) repeat-y 50% 0 / 100% auto; }
.sec-enjoy .c-sec__title { color: #fff; }
.sec-enjoy__list { display: flex; flex-direction: column; }
.sec-enjoy__item { display: flex; position: relative; }
.sec-enjoy__item .c-txt { background-color: #fff; border-radius: .375em; position: relative; text-align: left; }
.sec-enjoy__item .c-txt::after { aspect-ratio: 10 / 11; background: url(../images/ico_flag.png) no-repeat 50% 0 / 100% auto; content: ""; display: block; position: absolute; right: -1.25em; top: -2.5em; width: 7.5em; }
.sec-enjoy__item .c-txt p { padding-top: 1.5em; }
.sec-enjoy__item .c-txt p .c-btn { height: 2.5em; margin-left: auto; width: 12.5em; }
.sec-stadium .c-tab__list { display: grid; grid-template-columns: repeat(3,1fr); width: 100%; }
.sec-stadium .c-tab { background-color: #fff; border: .25em solid #de071d; display: grid; place-content: center; position: relative; }
.sec-stadium .c-tab span { color: #de071d; font-weight: 700; }
.sec-stadium .c-tab.is-selected { background-color: #de071d; }
.sec-stadium .c-tab.is-selected::after { border-color: #de071d transparent transparent; border-style: solid; border-width: 1em 1em 0 1em; bottom: 0; content: ""; left: 50%; position: absolute; translate: -50% 100%; }
.sec-stadium .c-tab.is-selected span { color: #fff; }
.sec-stadium .c-tab.is-disabled::after { background-color: rgba(0,0,0,.6); color: #fff; content: "Coming Soon"; display: grid; inset: 0; place-content: center; position: absolute; width: 100%; }
.sec-stadium .c-anchor__list { display: grid; }
.sec-stadium .c-team__list { border-top: 1px solid #3a3a3a; display: flex; flex-direction: column; gap: 2em; margin-top: 3.125em; padding-top: 2em; }
.sec-stadium .c-team__item { border-bottom: 1px solid #3a3a3a; display: flex; flex-direction: column; padding-bottom: 2em; text-align: left; }
.sec-stadium .c-team__head, .sec-stadium .c-team__info { align-items: center; display: flex; }
.sec-stadium .c-team__head h2 { font-size: 2.5em; font-weight: 700; }
.sec-stadium .c-team__head img { margin: 0; width: 5em; }
.sec-stadium .c-team__info dt { background-color: #333; border-radius: .375em; color: #fff; display: inline-grid; height: 2.75em; line-height: 1; padding: 0 .75em; place-content: center; }
.sec-stadium .c-team__link { display: flex; }
.l-page__main .l-mv::after { background: url(../images/bg_mv_left.png) 2.5% 50%, url(../images/bg_mv_right.png) 97.5% 50%; background-repeat: no-repeat; content: ""; position: absolute; inset: 0; width: 100%; }
.l-page__main .l-mv .c-logo span { font-size: .8125em; }
.l-page__sub .l-mv { padding: 3em 0; position: relative; }
.l-page__sub .l-mv .c-logo { position: absolute; right: 1em; top: 1em; }
.l-page__sub .l-mv .c-logo span { font-size: .75em; margin-top: .5em; }


@media screen and (min-width:768px){
  .breadcrumb-upper { margin: 0 auto 25px; max-width: 1230px; padding: 0 .5em; text-align: left; }
  .breadcrumb-upper__fix, .breadcrumb-upper__scroll, .breadcrumb-upper__item { display: inline-block; font-size: 10px; }
  .breadcrumb-upper__item { line-height: 2.1; margin-left: 1.5em; padding-left: .2em; position: relative; }
  .breadcrumb-upper__item::before { color: #999; content: ">"; left: -1.1em; line-height: 2.1; position: absolute; top: 0; }
  .l-page a:hover { text-decoration: none; }
  .l-page a:hover img { opacity: .7; }
  .l-page .c-bottom__link .c-btn { height: 5.25em; margin: 0 auto; max-width: 816px; width: 100%; }
  .l-page .c-bottom__link .c-btn span { font-size: 1.5em; }
  .l-page .c-bottom__link .c-btn__prev { max-width: 320px; }
  .l-page .c-btn:hover { background-color: #ff6600; }
  .l-page .c-btn:hover span::after { transform: translateX(.5em); }
  .l-page .c-btn__yellow:hover span { color: #fff; }
  .l-page .c-btn__prev:hover { background-color: #333; }
  .l-page .c-btn__prev:hover span { color: #fff; }
  .l-page .c-btn__prev:hover span::before { transform: translateX(-.5em); }
  .l-page .c-inner { gap: 5em; }
  .l-page .c-sec__title { font-size: 3em; }
  .l-mv__title .c-title__sub { font-size: 2.5vw; }
  .l-mv__title .c-title__main { font-size: 4.5vw; }
  .l-mv__link .c-btn { height: 3.75em; width: 27.75em; }
  .l-mv__link .c-btn span { font-size: 1.25em; }
  .sec-concept { padding: 4em 0 14.625em; }
  .sec-concept p { font-size: 1.25em; }
  .sec-concept__txt { background: url(../images/bg_concept_left.png) 0 0, url(../images/bg_concept_right.png) 100% 0; background-repeat: no-repeat; background-size: auto 100%; margin: 0 auto; max-width: 1072px; padding: 3em 0; width: 100%; }
  .sec-enjoy { padding: 7.5em 0; }
  .sec-enjoy__list { gap: 2.5em; }
  .sec-enjoy__item { align-items: center; }
  .sec-enjoy__item:nth-child(even) { flex-direction: row-reverse; }
  .sec-enjoy__item .c-pic { width: 61.5625%; }
  .sec-enjoy__item .c-txt { padding: 2.5em 3em; position: absolute; top: 50%; translate: 0 -50%; width: 37.5em; z-index: 2; }
  .sec-enjoy__item:nth-child(odd) .c-txt { right: 0; }
  .sec-enjoy__item:nth-child(even) .c-txt { left: 0; }
  .sec-stadium { padding: 5em 0; }
  .sec-stadium .c-tab__list { gap: 1em; }
  .sec-stadium .c-tab { height: 5em; }
  .sec-stadium .c-tab span { font-size: 2em; }
  .sec-stadium .c-anchor__list { gap: 1em .875em; grid-template-columns: repeat(10,1fr); }
  .sec-stadium .c-team__item { gap: 2em; }
  .sec-stadium .c-team__info dd { padding-left: 0.75em; }
  .sec-stadium .c-team__info dd + dt { margin-left: 1.5em; }
  .sec-stadium .c-team__link { gap: 1em; justify-content: flex-end; }
  .sec-stadium .c-team__link .c-btn { height: 4.375em; width: 24em; }
  .sec-stadium .c-team__link .c-btn span { font-size: 1.25em; }
  .l-page__main .l-mv { aspect-ratio: 30 / 13; gap: 3em; }
  .l-page__main .l-mv::after { background-size: auto 88%; }
  .l-page__main .l-mv .c-logo { width: 12.5em; }
  .l-page__sub .l-mv { padding: 3em 0; }
  .l-page__sub .l-mv .c-logo { width: 8em; }
  .sp-item { display: none; }
}

@media screen and (min-width:768px) and ( max-width:1280px) {
  .l-page { font-size: 1.25vw; margin: 0; }
}

@media screen and (max-width:767px){
  #JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; }
  .breadcrumb-upper { background-color: #fff; border-top: 1px solid #d7d7d7; display: flex; flex-wrap: nowrap; font-size: 10px; line-height: 3rem; overflow: hidden; position: relative; }
  .breadcrumb-upper__fix { box-shadow: 6px 0 10px 0 rgba(0, 0, 0, .3); position: relative; transition: box-shadow .3s; width: 7em; z-index: 3; }
  .breadcrumb-upper__fix a { padding-left: .5rem; }
  .breadcrumb-upper__scroll { flex: 1; overflow: hidden; }
  .breadcrumb-upper__list { display: flex; flex-wrap: nowrap; height: 3rem; overflow-x: scroll; overflow-y: hidden; white-space: nowrap; }
  .breadcrumb-upper__item a { padding: 0 .5rem 0 1.8rem; }
  .breadcrumb-upper__item:last-child { padding: 0 1.2rem 0 1.8rem; }
  .breadcrumb-upper__fix a, .breadcrumb-upper__item a { display: block; background-color: #fff; text-align: center; position: relative; }
  .breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before, .breadcrumb-upper__fix a:after, .breadcrumb-upper__item a:after { content: ""; border-style: solid; border-width: 2rem 0 2rem 1rem; position: absolute; top: -.5rem; }
  .breadcrumb-upper__fix a::before, .breadcrumb-upper__item a::before { border-color: transparent transparent transparent #fff; right: -.9rem; z-index: 2; }
  .breadcrumb-upper__fix a::after, .breadcrumb-upper__item a::after { border-color: transparent transparent transparent #d7d7d7; right: -1rem; z-index: 1; }
  .js-btn-page-top { bottom: 20px; right: 20px; }
  .js-btn-page-top a { background-color: #999; border-radius: 6px; display: block; height: 30px; width: 30px; }
  .js-btn-page-top a::before { color: #fff; content: "\f106"; display: inline-block; font-family: "icon"; line-height: 29px; width: auto; }
  .l-page { font-size: 3.2vw; overflow: hidden; padding: 20px 0 0; }
  .l-page h1 { margin-bottom: 20px; padding: 0 1%; }
  .l-page p { text-align: left; }
  .l-page p br { display: none; }
  .l-page .c-bottom__link .c-btn { height: 4em; }
  .l-page .c-bottom__link .c-btn span { font-size: 1.25em; }
  .l-page .c-inner { gap: 2.5em; }
  .l-page .c-sec__title { font-size: 1.75em; }
  .l-mv__link { width: 65%; }
  .l-mv__link .c-btn { height: 3em; }
  .l-mv__title .c-title__main { font-size: 6.5vw; }
  .sec-concept { padding: 2em 0 4em; }
  .sec-concept__txt { background: url(../images/bg_concept_top.png) 50% 0, url(../images/bg_concept_bottom.png) 50% 100%; background-repeat: no-repeat; background-size: 100% auto; padding: 8em 0; width: 100%; }
  .sec-enjoy { padding: 3em 0; }
  .sec-enjoy__list { gap: 2.5em; }
  .sec-enjoy__item { flex-direction: column; gap: 1em; }
  .sec-enjoy__item .c-txt { padding: 1.5em 1.5em 2.5em; }
  .sec-stadium { padding: 3em 0; }
  .sec-stadium .c-tab__list { gap: .25em; }
  .sec-stadium .c-tab { height: 3em; }
  .sec-stadium .c-tab span { font-size: 1.5em; }
  .sec-stadium .c-anchor__list { gap: .25em; grid-template-columns: repeat(5,1fr); }
  .sec-stadium .c-team__item { gap: 1em; }
  .sec-stadium .c-team__info { flex-wrap: wrap; gap: .25em; }
  .sec-stadium .c-team__info dt { width: 28%; }
  .sec-stadium .c-team__info dd { width: calc(72% - .25em); }
  .sec-stadium .c-team__link { flex-direction: column; gap: .5em; }
  .sec-stadium .c-team__link .c-btn { height: 3em; }
  .l-page__main .l-mv { gap: 1em; padding: 2.5em 0; }
  .l-page__main .l-mv::after { background-position: 2.5% 10%, 97.5% 10%; background-size: 30% auto; }
  .l-page__main .l-mv .c-logo { width: 6em; }
  .l-page__sub .l-mv .c-logo { width: 4em; }
  .pc-item { display: none; }
}
