@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@700&family=Noto+Sans+JP:wght@100..900&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-open:before { content: '\e800'; }
.ico-down-big:before { content: '\e801'; }
.ico-pagetop:before { content: '\e802'; }
.ico-right-big:before { content: '\e803'; }
.ico-angle-up:before { content: '\f106'; }

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

.breadcrumb-upper { max-width: 1280px; position: relative; z-index: 1; }
.l-page { font-size: 16px; line-height: 1.6; margin: 0 auto; width: 100vw; }
.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, .l-page a img { transition: all .3s ease; }
.l-page a { color: #fafa00; }
.l-page em { font-family: "M PLUS Rounded 1c", sans-serif; font-weight: 700; }
.l-page img { display: block; max-width: 100%; }
.l-page strong { font-weight: bold; }
.l-page .c-sec__title { display: inline-block; filter: drop-shadow(0 0 1em #b91de0); margin-bottom: 3.75em; position: relative; }
.l-page .c-sec__title::before, .l-page .c-sec__title::after { aspect-ratio: 9 / 2; background: url(../img/bg_sec_title.png) no-repeat 50% 50% / cover; content: ""; display: block; pointer-events: none; position: absolute; top: 50%; translate: 0 -50%; z-index: 1; }
.l-page .c-sec__title em { 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-contents { background: linear-gradient(90deg, #821385 0%, #192093 100%); color: #fff; font-family: 'Noto Sans JP', sans-serif; }
.l-contents * { margin: 0 auto; }
.l-contents .c-inner { max-width: 1160px; text-align: center; width: 89%; }
.l-notice { margin-bottom: .5em; }
.l-notice span { color: #c71528; font-weight: 700; }
.l-campaign { margin-top: 1.5em; }
.l-campaign__detail img + img { margin-top: 1.5em; }
.l-campaign__date { max-width: 614px; }
.l-btn { max-width: 800px; padding-top: 1.5em; }
.l-btn .c-btn { align-items: center; border-radius: 100vh; display: flex; justify-content: center; position: relative; width: 100%; }
.l-btn .c-btn em { color: #2b0659; }
.l-btn .c-btn__entry { background-color: #fafa00; box-shadow: 0 .5em 0 #a0a021; }
.l-btn .c-btn__gray { background-color: #999; }
.l-entry__step { text-align: left; }
.l-step__title { align-items: center; background-color: #2b0659; border-radius: .5em; display: inline-flex; justify-content: center; margin: 0; padding: .5em 1em; }
.l-step__title em { color: #78a4ff; }
.l-step__list { margin-top: 1em; }
.l-step__list + .l-step__title { margin-top: 2em; }
.l-step__list + .l-step__title em { color: #c873f1; }
.l-step__item { border-radius: .625em; display: block; padding: 1.25em 1em; position: relative; }
.l-step__item + .l-step__item::before { color: #fafa00; display: inline-block; font-family: "icon"; font-size: 1.25em; line-height: 1; position: absolute; }
.l-step__item:last-child { align-items: center; display: flex; }
.l-step__item:last-child p em { display: block; text-align: center; }
.l-step__item em { color: #fafa00; font-size: 1.25em; }
.l-step__item p, .l-step__item p small { font-weight: 700; margin-top: 1em; text-align: left; }
.l-step__item p small { display: block; font-size: 1.3rem; font-weight: normal; line-height: 1.4; }
.l-step__item-label { border-bottom: 1px solid #fff; padding-bottom: .5em; text-align: center; }
.l-step__list:nth-of-type(2) .l-step__item { background-color: #4070d9; }
.l-step__list:nth-of-type(4) .l-step__item { background-color: #a34dcd; }
.l-guideline .lead { margin-bottom: 1.5em; }
.l-guideline .lead, .l-guideline dl, .l-guideline .c-terms { text-align: left; }
.l-guideline dl dt, .l-guideline .c-terms h4 { font-weight: 700; margin-top: 1.5em; }
.l-guideline dl dt { clear: left; float: left; padding-top: 1.5em; width: 20%; }
.l-guideline dl dd { border-top: 1px solid #ccc; line-height: 1.5; margin-top: 1.5em; padding: 1.5em 1em 0 22%; }
.l-guideline p + p, .l-guideline * + .c-heading, .l-guideline ul + p, .l-guideline ul + ul { padding-top: 1em; }
.l-guideline h4 { border-bottom: 1px dashed rgba(255, 255, 255,.3); font-weight: 700; }
.l-guideline ul li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; }
.l-guideline ul li + li { padding-top: .285714em; }
.l-guideline dl + .l-guideline__title, .l-guideline .c-terms { margin-top: 3em; }
.l-guideline__title { border-bottom: 1px solid #fff; font-size: 1.25em; font-weight: 700; margin-bottom: 1em; }
.l-guideline .c-terms p, .l-guideline .c-terms ul { padding-top: 1em; }
.l-guideline .c-heading { font-weight: 700; margin-bottom: .5em; }
.l-guideline .c-notice__list li { list-style: none; margin-left: 1.25em; text-indent: -1.25em; }
.l-guideline .c-notice__list li::before { content: "※"; }
#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; position: relative; z-index: 2; }

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

@media screen and (min-width:768px) {
  .breadcrumb-upper { margin: 0 auto 25px; max-width: 1280px; padding: 0 .5em; text-align: left; width: 100%; }
  .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: underline; }
  .l-page .c-sec { margin-top: 6.25em; }
  .l-page .c-sec__title em { font-size: 2.75em; }
  .l-page .c-sec__title::before, .l-page .c-sec__title::after { width: 6.75em; }
  .l-page .c-sec__title::before { left: -8em; }
  .l-page .c-sec__title::after { right: -8em; }
  .l-contents { padding: 3.75em 0 8em; }
  .l-notice span { font-size: 1.75em; }
  .l-btn .c-btn { height: 7.75em; }
  .l-btn .c-btn em { font-size: 2.5em; }
  .l-btn .c-btn__entry:hover { box-shadow: 0 0 0 #a0a021; text-decoration: none; transform: translate(0, .5em); }
  .l-entry { position: relative; }
  .l-entry__step { flex: 1; margin-right: 1.5em; }
  .l-entry__wrap, .l-step__list { display: flex; justify-content: space-between; }
  .l-step__title em { font-size: 2em; }
  .l-step__list { column-gap: 2em; }
  .l-step__item { flex: 1; }
  .l-step__item + .l-step__item::before { content: "\e800"; left: -1em; top: 50%; translate: 0 -50%; }
  .l-entry__post { width: 27.5em; }
  .l-guideline li, .l-guideline p { font-size: .9375em; }
  .l-guideline dl dt:first-of-type, .l-guideline dl dd:first-of-type { border: none; margin-top: 0; padding-top: 0; }
  .sp-item { display: none; }
}

@media screen and (max-width:767px){
  .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-top: 20px; }
  .l-page h1 { margin-bottom: 20px; padding: 0 3%; }
  .l-page .c-sec { margin-top: 3em; }
  .l-page .c-sec__title { margin-bottom: 1em; }
  .l-page .c-sec__title::before, .l-page .c-sec__title::after { width: 6.75em; }
  .l-page .c-sec__title::before { left: -8em; }
  .l-page .c-sec__title::after { right: -8em; }
  .l-page .c-sec__title em { font-size: 1.75em; }
  .l-contents { padding: 2em 0; }
  .l-notice { padding-top: 2em; }
  .l-notice span { font-size: 1.25em; }
  .l-btn .c-btn { height: 6em; }
  .l-btn .c-btn em { font-size: 1.5em; }
  .l-step__title em { font-size: 1.5em; }
  .l-step__item + .l-step__item { margin-top: 2em; }
  .l-step__item + .l-step__item::before { content: "\e801"; left: 50%; top: -1.25em; translate: -50% 0; }
  .l-entry__post { margin-top: 4em; }
  .l-guideline dl + .l-guideline__title { margin-top: 1em; }
  .l-guideline dl dt, .l-guideline dl dd { margin: 0; padding: 0; }
  .l-guideline dl dt { float: none; width: 100%; }
  .l-guideline dl dd { padding: 1em 0 1.6em; }
}