@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@700&family=Rubik:ital,wght@0,600;1,600&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-right:before { content: '\e801'; }
.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'; }

@keyframes slide-in {
 0% { opacity: 0; transform: translate3d(20px,0,0); }
 100% { opacity: 1; transform: translate3d(0,0,0); }
}

.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: bold; line-height: 1; margin: 0 auto 25px; max-width: 1280px; text-align: left; }
.l-page a { color: #333; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; width: 100%; }
.l-page .c-bnr__list { margin-top: 2.25em; }
.l-page .c-bnr__item { display: block; position: relative; }
.l-page .c-bnr__item::after { background: url(../img/icn_banner.png) no-repeat 100% 100%; bottom: 0; content: ""; display: block; left: 0; position: absolute; right: 0; top: 0; width: 100%; }
.l-page .c-inner { margin: 0 auto; max-width: 1186px; width: 88%; }
.l-page .c-sec__title em { display: block; font-family: "Rubik", sans-serif; font-weight: 600; line-height: 1; }
.l-page .c-sec__title span { 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 { position: relative; }
.l-mv__logo { position: absolute; right: 1em; }
.l-mv span { background-color: #ea5758; left: 50%; position: absolute; transform: translateX(-50%); width: 2px; z-index: 1; }
.l-mv span::before, .l-mv span::after { background-color: #ea5758; border-radius: 50%; content: ""; display: block; height: .5em; left: 50%; position: absolute; transform: translateX(-50%); width: .5em; }
.l-mv span::after { bottom: 0; }
.l-contents { background-color: #e0f9fe; width: 100%; }
.sec-intro { background: url(../img/bg_intro_bottom_left.png) no-repeat 0 100%, url(../img/bg_intro_bottom_right.png) no-repeat 100% 100%; }
.sec-intro em { font-family: "Roboto", sans-serif; font-weight: 700; }
.sec-intro__box { background-color: #fff; border-radius: .75em; box-shadow: 0 0 .5em 0 rgba(10,53,74,.25); margin: 0 auto; max-width: 1090px; position: relative; width: 100%; }
.sec-intro__box::before, .sec-intro__box::after { aspect-ratio: 337 / 514; background: no-repeat 50% 50% / cover; content: ""; display: block; position: absolute; }
.sec-intro__box::before { background-image: url(../img/fig_intro_left.png); left: 0; transform: translateX(-50%); }
.sec-intro__box::after { background-image: url(../img/fig_intro_right.png); right: 0;; transform: translateX(50%); }
.sec-intro__box-lead strong { color: #f35852; }
.sec-intro .c-fair__box { background-color: #ea5758; color: #fff; }
.sec-intro .c-fair__heading { font-weight: 700; }
.sec-intro .c-fair__heading small { font-size: .75em; }
.sec-intro .c-fair__heading em { font-size: 1.5em; }
.sec-intro .c-fair__list { display: flex; justify-content: space-between; }
.sec-intro .c-fair__item { position: relative; width: calc(100% / 3); }
.sec-intro .c-fair__item + .c-fair__item { border-left: 1px solid rgba(255,255,255,.5); }
.sec-intro .c-fair__item span { font-weight: 700; }
.sec-intro .c-fair__item span em { font-size: 1.25em; }
.sec-intro .c-fair__item p { font-weight: 700; }
.sec-intro .c-fair__item p em { font-size: 2em; }
.sec-intro .c-fair__item.c-close::before { background-color: rgba(0,0,0,.3); border-radius: .75em; content: ""; display: block; height: 100%; left: 50%; position: absolute; top: 0; transform: translateX(-50%); width: calc(100% - 1em); }
.sec-intro .c-fair__item.c-close::after { background-color: #fff; border: solid #ff0000; border-radius: .5em; color: #ff0000; content: "終了しました"; display: inline-block; font-weight: 700; position: relative; transform: translateY(-1em); white-space: nowrap; z-index: 3; }
.sec-intro .c-fair__date { background-color: #f3f5e8; border-radius: .75em; box-shadow: 0 0 .25em 0 rgba(22,61,66,.25); position: relative; }
.sec-intro .c-fair__date em { color: #ea5758; font-size: 1.25em; left: 50%; position: absolute; top: 0; transform: translate(-50%, -50%); }
.sec-intro .c-fair__date strong { font-weight: 700; }
.sec-intro .c-fair__date span { color: #ea5758; font-weight: 700; }
.sec-voice .c-link__list { display: flex; flex-wrap: wrap; margin-top: 2.25em; }
.sec-campaign { background-color: #f3f5e8; }
.sec-campaign .c-sec__title em, .sec-voice .c-sec__title em { color: #f04d39; }
.sec-movie { background-image: linear-gradient(65deg, rgba(138,224,229,1) 50%, rgba(234,87,88,1) 50%); }
.sec-movie .c-sec__title em { color: #fff; }
.sec-movie__box { align-items: center; aspect-ratio: 16 / 9; background-color: #eee; display: flex; justify-content: center; margin: 2em auto 0; max-width: 720px; width: 100%; }
.sec-movie__box iframe { height: 100%; width: 100%; }

@media screen and (min-width:768px){
  .sp-item { display: none; }
  .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 .c-bnr__item::after { background-size: 6.625em auto; }
  .l-page .c-bnr__item:hover img { opacity: .7; }
  .l-page .c-bnr__item + .c-bnr__item { margin-top: 2.25em; }
  .l-page .c-sec { padding: 3.75em 0 8.75em; }
  .l-page .c-sec__title em { font-size: 4em; }
  .l-page .c-sec__title span { font-size: 1.5em; }
  .l-page .c-sec__title img { margin-bottom: 1em; width: 4.5em; }
  .l-mv span { bottom: -5.75em; height: 8.75em; }
  img.l-mv__logo { top: -2em; width: 16.25em; }
  .sec-intro { background-size: 26.375em auto; padding-top: 5em; }
  .sec-intro__box { padding: 3.25em 9.375em; }
  .sec-intro__box::before, .sec-intro__box::after { top: -1.25em; width: 21em; }
  .sec-intro__box-lead { font-size: 1.125em; }
  .sec-intro .c-fair__box { margin-top: 1.875em; padding: 1.25em 2em 2em; }
  .sec-intro .c-fair__heading span { font-size: 2.5em; }
  .sec-intro .c-fair__item.c-close::after { border-width: 3px; padding: 0 1em; }
  .sec-intro .c-fair__item p { font-size: 2em; }
  .sec-intro .c-fair__date { margin-top: 2.5em; padding: 2em; }
  .sec-intro .c-fair__date p { font-size: 1.5em; }
  .sec-voice .c-link__list { gap: 2em; justify-content: center; }
  .sec-voice .c-link__list a { max-width: 360px; width: 100%; }
  .sec-voice .c-link__list a:hover img { opacity: .7; }
  .sec-movie { background-image: linear-gradient(65deg, rgba(138,224,229,1) 50%, rgba(234,87,88,1) 50%); }
  .sp-item { display: none; }
}

@media screen and (min-width:768px) and ( max-width:1280px) {
  .l-page { font-size: 1.294498vw; 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 .c-bnr__item::after { background-size: 3em auto; }
  .l-page .c-bnr__item + .c-bnr__item { margin-top: 1.5em; }
  .l-page .c-sec { padding: 1.5em 0 3em; }
  .l-page .c-sec__title em { font-size: 3em; }
  .l-page .c-sec__title img { margin-bottom: .5em; width: 3.5em; }
  .l-mv span { bottom: -4.75em; height: 6.75em; }
  img.l-mv__logo { top: -1em; width: 20%; }
  .l-contents { padding-bottom: 4.5em; }
  .sec-intro { padding-top: 3em !important; }
  .sec-intro__box { padding-bottom: 1em; }
  .sec-intro__box::before, .sec-intro__box::after { top: 9em; width: 21%; }
  .sec-intro__box::after { right: 5%; }
  .sec-intro__box-lead { padding: 2em; text-align: left; }
  .sec-intro .c-fair__heading span { font-size: 1.5em; }
  .sec-intro .c-fair__list { padding: 1.5em .5em; }
  .sec-intro .c-fair__item.c-close::after { border-width: 2px; font-size: .75em; padding: 0 .5em; }
  .sec-intro .c-fair__date { margin: 2em 1em 0; padding: 1.5em 1em; }
  .sec-intro .c-fair__date strong { display: block; }
  .sec-voice .c-link__list { gap: 1em; }
  .sec-voice .c-link__list a { width: calc(50% - .5em); }
  .pc-item { display: none; }
}