@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;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; speak: none; text-align: center; text-decoration: inherit; text-transform: none; width: 1em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ico-plus: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'; }

@keyframes puyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, -50%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -60%); }
  50%  { transform: scale(1.1, 0.9) translate(0%, -55%); }
  60%  { transform: scale(0.95, 1.05) translate(0%, -53%); }
  70%  { transform: scale(1.05, 0.95) translate(0%, -47%); }
  80%  { transform: scale(1.0, 1.0) translate(0%, -50%); }
  100% { transform: scale(1.0, 1.0) translate(0%, -50%); }
}

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1236px; }
.l-page { font-family: 'Zen Kaku Gothic New', 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: 1236px; text-align: left; }
.l-page a { color: #249be0; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; width: 100%; }
.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-page .c-btn { align-items: center; background-color: #249be0; border-radius: .375em; display: flex; justify-content: center; position: relative; width: 100%; }
.l-page .c-btn + .c-btn { margin-top: 1em; }
.l-page .c-btn::before { background: url(../images/fig_donate.png) no-repeat 50% 50% / cover; content: ""; display: block; height: 5em; position: absolute; top: 50%; transform: translateY(-50%); width: 3.875em; }
.l-page .c-btn::after { color: #f1e23c; content: "\f105"; display: inline-block; font-family: "icon"; position: absolute; top: 50%; transform: translateY(-50%); }
.l-page .c-btn__txt { align-items: center; display: flex; justify-content: space-between; }
.l-page .c-btn .c-label { background-color: #fff; border-radius: 5px; color: #249be0; display: inline-flex; font-weight: 700; line-height: 1; padding: .5em .6667em; }
.l-page .c-btn .c-txt { color: #fff; font-weight: 700; }
.l-page .c-btn .c-txt__yellow { color: #f1e23c; }
.l-page .c-btn__already { background-color: #004736; pointer-events: none; }
.l-page .c-btn__already::after, .l-page .c-btn__gray::before, .l-page .c-btn__gray::after { content: none; }
.l-page .c-btn__gray { background-color: #999; pointer-events: none; }
.l-page .c-caution { font-weight: 700; }
.l-page .c-column { background-color: #fff; border: 2px solid #222; border-radius: .75em; text-align: left; }
.l-page .c-column dt { color: #249be0; font-size: 1.25em; font-weight: 700; }
.l-page .c-column dd, .l-page .c-column li { font-size: 1.125em; }
.l-page .c-column dd { padding-top: .25em; }
.l-page .c-column dd + dt { margin-top: 1.5em; }
.l-page .c-column dd span { font-size: 1.5em; font-weight: 700; }
.l-page .c-column dd span em { font-size: 1.25em; }
.l-page .c-column li { padding-left: 1em; position: relative; }
.l-page .c-column li::before { background-color: #249be0; border-radius: 50%; content: ""; display: block; height: .3333em; left: 0; position: absolute; top: .6em; width: .3333em; }
.l-page .c-column li + li { margin-top: 1em; }
.l-page .c-inner { margin: 0 auto; max-width: 1080px; width: 86%; }
.l-page .c-link { background-color: #fff; border: 1px solid #249be0; border-radius: .375em; display: inline-block; margin-top: 1.5em; padding: .75em 1.75em; }
.l-page .c-link span { color: #249be0; font-size: 1.125em; font-weight: 700; line-height: 1; }
.l-page .c-notice { background-color: #fff; border: 1px solid #249be0; margin-top: 2.25em; padding: 2em; }
.l-page .c-notice p, .l-page .c-sec p { font-size: 1.125em; }
.l-page .c-notice p span { color: #249be0; }
.l-page .c-sec p + .c-sec__title { margin-top: 2em; }
.l-page .c-sec__title span { color: #249be0; font-size: 2em; font-weight: 700; }
.l-mv { text-align: left; }
.l-mv .c-inner { align-items: center; display: flex; }
.l-mv__title { align-items: flex-start; display: flex; flex-direction: column; }
.l-mv__title span { font-weight: 700; line-height: 1; }
.l-mv__title--main, .l-mv__title--sub { display: inline-block; }
.l-mv__title--main span { color: #249be0; }
.l-mv__title--sub { padding: .25em 1.5em; position: relative; }
.l-mv__title--sub i::before, .l-mv__title--sub i::after { content: "\e800"; display: block; font-family: "icon"; font-style: normal; position: absolute; }
.l-mv__title--sub i:first-of-type:before { color: #249be0; left: 0; top: 0; }
.l-mv__title--sub i:first-of-type::after { bottom: 0; color: #dbce3d; left: 0; }
.l-mv__title--sub i:last-child:before { color: #dbce3d; right: 0; top: 0; }
.l-mv__title--sub i:last-child::after { bottom: 0; color: #249be0; right: 0; }
.l-mv__title--sub span { color: #222; }
.l-mv__title--box { background-color: #fff; border: 2px solid #222; border-radius: .3125em; display: inline-block; margin-top: 3.5em; padding: .75em 2.25em .75em 6.5em; position: relative; }
.l-mv__title--box::before { background: url(../images/fig_donate.png) no-repeat 50% 50% / cover; content: ""; display: block; height: 4.8125em; left: 1.5em; position: absolute; top: -1.875em; width: 3.75em; }
.l-mv__title--box span { color: #222; font-size: 2em; }
.l-mv__mini .l-mv__title--main span { font-size: 2.5em; }
.l-mv__mini .l-mv__title--box { margin-top: 2.5em; }
.l-mv__mini .l-mv__title--box span span { color: #249be0; font-size: 1em; }
.l-mv__mini .l-mv__title--box span span em { font-size: 1.25em; }
.l-intro { background-color: #249be0; color: #fff; }

.l-intro .c-heading { margin-bottom: 3.125em; }
.l-intro .c-heading span { font-size: 2em; font-weight: 700; }
.l-intro p { font-size: 1.125em; line-height: 1.8; }
.l-intro p + p { margin-top: 2em; }
.l-intro p em { color: #f1e23c; font-weight: 700; }
.l-contents { background-color: #f5f7f7; }
.sec-entry p { margin-top: 1em; }
#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; }

@media screen and (min-width:768px) and ( max-width:1236px) {
  .l-page { font-size: 1.294498vw; margin: 0;  }
}
@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 a:hover img { opacity: .7; }
  .l-page .c-btn { height: 8em; }
  .l-page .c-btn::before { left: 3.75em; }
  .l-page .c-btn::after { font-size: 3.5em; right: .7143em; }
  .l-page .c-btn .c-label { font-size: 1.5em; }
  .l-page .c-btn__txt { width: 37em; }
  .l-page .c-btn .c-txt { font-size: 2.5em; }
  .l-page .c-btn .c-txt__yellow em { font-size: 1.6em; }
  .l-page .c-btn:hover { background-color: #f1e23c; }
  .l-page .c-btn:hover::before { animation: puyon .8s linear 0s 1; }
  .l-page .c-btn:hover .c-txt, .l-page .c-btn:hover .c-txt__yellow, .l-page .c-btn:hover::after { color: #249be0; }
  .l-page .c-caution { font-size: 1.75em; }
  .l-page .c-caution + .c-btn { margin-top: 2.5em; }
  .l-page .c-column { padding: 3.75em 5em; }
  .l-page .c-column dd span { padding-right: 1.5em; }
  .l-page .c-flex { display: flex; justify-content: space-between; }
  .l-page .c-link:hover { background-color: #249be0; }
  .l-page .c-link:hover span { color:  #fff; }
  .l-page .c-sec + .c-sec { margin-top: 3.75em; }
  .l-page .c-sec__title { margin-bottom: 2.5em; }
  .l-mv { background: #F8F8FF url() no-repeat 100% 50% / 51.0625em auto; }
  .l-mv .c-inner { height: 36.25em; }
  .l-mv__mini .c-inner { height: 23.75em; }
  .l-mv__title--main { margin-top: 1.5em; }
  .l-mv__title--main span { font-size: 5em; }
  .l-mv__title--sub span { font-size: 3.5em; }
  .l-intro { padding: 4.125em 0; }
  .l-intro .c-inner { min-height: 506px; }
  .l-contents { padding: 6.25em 0; }
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .l-slot .c-reel { width: 31.313131%; }
}

@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; padding: 20px 0 0; }
  .l-page h1 { margin-bottom: 20px; padding: 0 1%; }
  .l-page .c-btn { height: 5em; }
  .l-page .c-btn::before { font-size: .75em; left: 1em; }
  .l-page .c-btn::after { font-size: 2em; right: .5em; }
  .l-page .c-btn__txt { padding-left: 1em; width: 72%; }
  .l-page .c-btn .c-txt { font-size: 1.25em; }
  .l-page .c-caution { font-size: 1.25em; }
  .l-page .c-caution + .c-btn { margin-top: 1.5em; }
  .l-page .c-column { padding: 2em; }
  .l-page .c-column dd span { display: block; }
  .l-page .c-notice { text-align: left; }
  .l-page .c-sec + .c-sec { margin-top: 2.5em; }
  .l-page .c-sec p { text-align: left; }
  .l-page .c-sec__title { margin-bottom: 1.5em; }
  .l-mv { background: url() no-repeat 100% 100% / 60% auto; padding: 1em 0 5em; }
  .l-mv__title--main { margin-top: .25em; }
  .l-mv__title--main span { font-size: 3.5em; }
  .l-mv__title--sub span { font-size: 2.5em; }
  .l-mv__title--box { font-size: .75em; margin-top: 2.5em; }
  .l-mv, .l-contents { margin: 0 auto; max-width: 1000px; }
.l-mv__title { display: block; }
.l-mv__cap p { color: #fff; font-weight: 700; }
  .l-intro { padding: 2.5em 0; }
  .l-intro .c-inner { background-size: 100% auto; }
  .l-intro .c-inner p { text-align: left; }
  .l-intro .c-inner p br { display: none; }
  .l-contents { padding: 2.5em 0 4em; }
}
