@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;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-search:before { content: '\e800'; }
.ico-pin: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'; }

.l-page { margin: 0 auto; max-width: initial; width: 100%; }
.l-page strong { font-weight: bold; }
.l-page .lazyload { opacity: 0; transition: opacity .8s ease-out; }
.l-page .lazyloaded { opacity: 1; }
.l-page .c-heading span { color: #000; font-weight: 900; }

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1236px; }
.l-wrap { background: #fad8c8 url(../images/bg_wrap.png) repeat 50% 0 / 1.5em auto; font-family: 'Noto Sans JP', sans-serif; margin: 0 auto; max-width: 1236px; padding: 1.5em 0 3em; position: relative; width: 100%; }
.l-wrap::after { background: url(../images/bg_kusatsu.png) no-repeat 50% 0 / 100% auto; content: ""; display: block; height: 58.125em; left: 0; position: absolute; width: 100%; }
.l-mv, .l-content { max-width: 1060px; position: relative; z-index: 1; }
.l-mv { background: none; height: auto; margin: 0 auto; width: 100%; }
.l-content { width: 89%; }
.sec-intro .c-txt { font-size: 1.5em; font-weight: 900; padding-top: 2em; }
.sec-intro .c-tag__wrap { display: flex; justify-content: center; padding: .25em 0; }
.sec-intro .c-tag { align-items: center; background-color: #e95870; display: flex; justify-content: center; padding: .5em 1em; }
.sec-intro .c-tag span { color: #fff; line-height: 1; }
.sec-intro .c-tag + .c-tag { margin-left: .75em; }
.sec-hotel .c-heading span { font-weight: 900; }
.sec-hotel__item { background-color: #fff; border-radius: .5em; display: flex; flex-direction: column; overflow: hidden; text-align: left; }
.sec-hotel__item .c-btn__tour { align-items: center; background-color: #df3716; border-radius: 100vh; display: flex; height: 3em; justify-content: center; margin-top: 1.5em; width: 100%; }
.sec-hotel__item .c-btn__tour span { color: #fff; }
.sec-hotel__pic { position: relative; }
.sec-hotel__pic-cap { background-color: #f45738; bottom: 0; color: #fff; display: inline-block; font-size: .75em; padding: .125em .75em; position: absolute; right: 0; }
.sec-hotel__txt { background-color: #fff; border-radius: 0 0 .5em .5em; display: flex; flex-direction: column; height: 100%; padding: 1em; }
.sec-hotel__name span { font-size: 1.25em; font-weight: 900; }
.sec-hotel__summary { margin-top: .5em; text-align: justify; }
.sec-hotel__access { margin: .75em auto auto; border-top: 1px dashed #f45738; padding-top: .75em; width: 100%; }
.sec-hotel__access li { color: #8d1902; font-size: .875em; font-weight: 500; line-height: 1.5; padding-left: 1.5em; position: relative; }
.sec-hotel__access li::before { color: #8d1902; content: "\e801"; display: inline-block; font-family: "icon"; font-size: 1.25em; left: 0; position: absolute; top: 0; }
.sec-hotel__access li + li { margin-top: .25em; }
.sec-hotel .c-catch { font-weight: 900; margin-top: 2.5em; }
.sec-guideline { background-color: #fff; border-radius: .5em; padding: 3em; margin-top: 3em; }
.sec-guideline .c-heading span { font-size: 1.5em; }
.sec-guideline dl { font-size: .875em; margin-top: 2em; text-align: left; }
.sec-guideline dt { clear: left; color: #df3716; float: left; font-weight: bold; padding-top: 2em; width: 20%; }
.sec-guideline dd { border-top: 1px solid #ccc; line-height: 1.5; padding: 2em 1em 2em 22%; }
.sec-guideline dd:last-child { padding-bottom: 0; }
.sec-guideline .c-credit { border-top: 1px dashed #ccc; font-weight: 900; margin-top: 2em; padding-top: 2em; }
.c-btn__block .c-btn { align-items: center; background-color: #e95870; border-radius: .5em; box-shadow: 0 .5em 0 #c8324b; display: flex; height: 6em; justify-content: center; position: relative; width: 100%; }
.c-btn__block .c-btn span { color: #fff; font-size: 1.25em; font-weight: 900; }
.c-btn__block .c-btn span::after { content: "\f006"; display: inline-block; font-family: "icon"; position: absolute; right: 1.25em; top: 50%; transform: translateY(-50%); }
.c-btn__block li p { font-size: .8125em; margin-top: 1em; text-align: left; }

@media screen and (min-width:768px) {
  .breadcrumb-upper { margin: 0 auto 25px; max-width: 1280px; padding: 0; 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 .c-flex { display: flex; flex-wrap: wrap; justify-content: space-between; }
.l-wrap::after { top: 18em; }
.c-btn__block { margin-top: 2em; }
.c-btn__block li { width: calc(50% - .6em); }
.c-btn__block .c-btn:hover { background-color: #c8324b; box-shadow: none; transform: translateY(.5em); }
.sec-hotel { margin-top: 5em; }
.sec-hotel .c-heading span { font-size: 1.5em; }
.sec-hotel__list { margin-top: 2.5em; }
.sec-hotel__list::after { content: ""; display: block; width: calc(calc(100% - 2.4em) / 3); }
.sec-hotel__item { width: calc(calc(100% - 2.4em) / 3); }
.sec-hotel__item:nth-child(n + 4) { margin-top: 2.5em; }
.sec-hotel__item .c-btn__tour:hover { background-color: #f45738; }
.sec-hotel .c-catch { font-size: 1.5em; }
.sec-guideline .c-credit .email { margin-left: 1.5em; }
.sp-item { display: none; }
}
@media all and (-ms-high-contrast:none) {
  *::-ms-backdrop, .sec-spot .c-spot__pic li { width: 32.6%; }
}
@media screen and (min-width:768px) and ( max-width:1236px) {
.l-page { font-size: 1.25vw; }
}
@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; margin-top: 5em; 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; }
.l-wrap::after { top: 42vw; }
.l-page { font-size: 3.2vw; padding: 20px 0 0 !important; }
.l-page h1 { padding: 0 3%; }
.c-btn__block { margin-top: 2em; }
.c-btn__block li + li { margin-top: 1.25em; }
.sec-intro .c-txt { font-size: 1.25em; }
.sec-intro .c-tag { padding: .5em; }
.sec-hotel { margin-top: 3em; }
.sec-hotel .c-heading span { font-size: 1.25em; }
.sec-hotel__list { margin-top: 1.5em; }
.sec-hotel__item + .sec-hotel__item { margin-top: 3em; }
.sec-hotel__summary, .sec-hotel .c-catch { font-size: 1.125em; }
.sec-guideline { padding: 3em 1.5em; }
.sec-guideline dt, .sec-guideline dd { font-size: 3.466667vw; margin: 0; padding: 0; }
.sec-guideline dt { float: none; width: 100%; }
.sec-guideline dd { padding: 1em 1em 1.6em; }
.sec-guideline .c-credit .email { display: block; }
.pc-item { display: none; }
}
