@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP: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-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'; } /* '' */
.ico-circle-empty:before { content: '\f10c'; } /* '' */

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1236px; }
.l-page { font-size: 16px; line-height: 1.6; text-align: center; }
.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, .l-page a img { transition: background-color .4s ease; }
.l-page img { display: block; margin: 0 auto; max-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-contents { font-family: 'Noto Sans JP', sans-serif; margin: 0 auto; max-width: 1236px; width: 100%; }
.l-section__heading .primary, .l-section__heading .secondary { font-weight: bold; }
.l-section__heading .primary { color: #000975; flex: 1; font-size: 2.25em; padding-left: 2.4444em; }
.l-section__heading .secondary { background-color: #000975; color: #fff; font-size: 2em; padding: 0 .25em 0 1.4375em; position: relative; line-height: 1.3; }
.l-section__heading .secondary::after { border-color: #000a75 transparent transparent transparent; border-style: solid; border-width: 4.1875em 2.5625em 0 0; content: ""; display: block; height: 0; position: absolute; right: -2.5625em; top: 0; width: 0; }
.l-section__title { background-color: #000975; color: #fff; font-size: 1.875em; font-weight: bold; line-height: 2.8; }
.l-section__inner { background-color: #fff; border: .1875em solid #000975; border-top: none; padding: 3.125em; text-align: left; }
.l-section .c-notes li::before { color: #000975; content: "\f10c"; display: inline-block; font-family: "icon"; padding-right: .75em; }
.l-section .c-guideline dt { clear: left; color: #000975; float: left; font-weight: bold; padding: 1em 0; width: 18%; }
.l-section .c-guideline dd { font-size: .875em; line-height: 1.8; padding: 1em 1em 1em 20%; }
.l-section .c-guideline dd li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; }
.l-section .c-guideline dd li + li { padding-top: .5em; }
.l-section .c-join { margin-top: 1em; text-align: center; }
.l-coupon__item { background-color: #000975; overflow: hidden; position: relative; margin-top:1.5em; }/*21.11.30 margin追記*/
.l-coupon__item::before { background-color: #008bef; content: ""; display: block; height: 1.875em; position: absolute; top: 1.875em; left: -2.8125em; transform: rotate(-56deg); width: 8em; }
.l-coupon__item .head { color: #fff; line-height: 1.4; padding: 1.875em 0; }
.l-coupon__item .head p { font-size: 1.5em; }
.l-coupon__item .head p em { font-size: 1.25em; }
.l-coupon__item .head .price { font-size: 3.75em; font-weight: bold; }
.l-coupon__item .head .price em { font-size: 1.5em; }
.l-coupon__item .code, .l-coupon__item .txt { border: .1875em solid #000975; border-top: none; }
.l-coupon__item .code li { display: block; line-height: 1.4; padding: 1em; width: calc(calc(100% - .1875em) / 2); }
.l-coupon__item .code li:first-child { background-color: #f3f0ed; color: #000975; }
.l-coupon__item .code li:last-child { background-color: #008bef; color: #fff; }
.l-coupon__item .code li em { display: block; font-size: 2em; }
.l-coupon__item .txt { background-color: #fff; display: block; padding: 1.5em 1.875em; text-align: left; }
.l-coupon__item .txt span { color: #000a75; }
.l-coupon__item .txt small { font-size: .875em; padding-left: 1em; }
.l-btn { margin: 2.5em auto 0; max-width: 1120px; width: 100%; }
.l-btn .btn { background-color: #000975; border-radius: .75em; color: #fff; display: block; line-height: 3.75; position: relative; text-align: center; }
.l-btn .btn::after { color: #008bef; content: "\f105"; display: inline-block; font-family: "icon"; font-size: 3.5em; line-height: 1; position: absolute; right: 3%; top: 50%; transform: translateY(-50%); }
.l-btn .btn span { font-size: 2em; font-weight: bold; margin: 0 auto; }
.l-btn a + a { margin-top: 2em; }

/* 21/8/5 Add */
.sec-notice { background-color: #fff; border: 2px solid #df0101; color: #df0101; margin-bottom: 1em; padding: 1em; }
.l-coupon__closed { position: relative; }
.l-coupon__closed .c-close__txt {align-items: center; background-color: rgba( 0,0,0,.75); color: #fff; content: ""; display: flex; font-size: 1.5em; font-weight: 500; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }

@media screen and (min-width:768px) and ( max-width:1236px) {
  .l-page { font-size: 1.294498vw; margin: 0; padding: 0 3%;  }
  .l-mv__title { max-width: 557px; width: 45%; }
  .l-section__heading .primary { font-size: 2em; }
}
@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 .c-flex { display: flex; justify-content: space-between; }
  .l-section { margin-top: 5em; }
  .l-section__heading { background-color: #fff; border: .1875em solid #000975; height: 8.75em; margin-bottom: 2.5em; overflow: hidden; }
  .l-section__heading .primary, .l-section__heading .secondary { align-items: center; display: flex; }
  .l-mv { background: url(../images/bg-mv.jpg) 50% 0 / cover; height: 26.25em; padding: 6.875em 3.75em; position: relative; }
  .l-mv__title { max-width: 557px; width: 100%; }
  .l-coupon__item { width: calc(50% - .9375em); }
  .l-section .c-guideline { padding: 0 2em; }
  .l-btn .btn:hover { background-color: #0c1cd2; text-decoration: none; }
  .search-tab__list li em { font-size: 1.5em !important; }
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .l-campaign__item { width: 32.3625%; }
  *::-ms-backdrop, .l-bnr__item { width: 30.7443%; }
}

@media screen and (max-width:767px){
  #page_footer-sp { 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; }
  .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-section { margin-top: 2.5em; padding: 0 4%; }
  .l-section__inner { padding: 2em; }
  .l-section__heading { margin-bottom: 2em; }
  .l-section__heading .primary { line-height: 1.4; padding: 0; }
  .l-section__heading .secondary { line-height: 2; margin: 0 auto; padding: 0; width: calc(100% - 2em); }
  .l-section__heading .secondary::before { border-color: transparent transparent #000a75 transparent; border-style: solid; border-width: 0 0 2em 1em; content: ""; display: block; height: 0; left: -1em; position: absolute; top: 0; width: 0; }
  .l-section__heading .secondary::after { border-width: 2em 1em 0 0; right: -1em; }
  .l-section__heading .secondary br { display: none; }
  .l-section__title { line-height: 1.4; padding: .5em 1em; }
  .l-section .c-guideline dt { display: block; float: none; padding: 0; width: 100%; }
  .l-section .c-guideline dd { font-size: 1em; padding: .3em 0 1em; }
  .l-section .c-notes li { padding-left: 1.25em; position: relative; }
  .l-section .c-notes li::before { left: 0; position: absolute; top: .3em; }
  .l-mv { background: url(../images/bg-mv-sp.jpg) 50% 0 / cover; height: 72.5vw; padding: 2em 0; position: relative; }
  .l-mv__title { margin: 0 auto; width: 78%; }
  /*.l-coupon__item + .l-coupon__item { margin-top: 1.5em; }*/
  .l-coupon__item .head p { font-size: 1.25em; }
  .l-coupon__item .code { display: flex; justify-content: space-between; }
  .l-search { padding: 0; }
  .l-btn { padding: 0 4%; }
}
