@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@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: '\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'; }


.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1236px; }
.l-page { font-family: 'Noto Sans JP', sans-serif; font-size: 16px; line-height: 1.7; text-align: center; width: 100%; }
.l-page * { -ms-box-sizing: border-box; box-sizing: border-box; }
.l-page h1 { font-size: 18px; font-weight: 700; line-height: 1; margin: 0 auto 25px; max-width: 1236px; text-align: left; }
.l-page a { color: #e01616; }
.l-page a, .l-page a img { transition: background-color .4s ease; }
.l-page a:hover { text-decoration: none; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page strong { font-weight: 700 !important; }
.l-page .c-btn__block { margin: 3em auto 0; max-width: 820px; width: 100%; }
.l-page .c-btn { align-items: center; background-color: #e01616; border-radius: .5em; display: flex; height: 6em; justify-content: center; position: relative; text-align: center; transition: all .3s ease; width: 100%; }
.l-page .c-btn + .c-btn { margin-top: 1.25em; }
.l-page .c-btn span { color: #fff; font-size: 1.625em; font-weight: 700; }
.l-page .c-btn::after { color: #ead364; content: "\f105"; display: inline-block; font-family: "icon"; font-size: 1.75em; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); }
.l-page .c-sec { display: block; }
.l-page .c-sec__inner, .l-mv__inner { margin: 0 auto; max-width: 1236px; padding: 5.625em 0; width: 100%; }
.l-page .c-sec .c-red { color: #e01616; }
.l-page .c-sec .c-brown { color: #bf9f02; }
.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: #fff url(../images/bg-contents.png) repeat 0 0 / 6.375em auto; position: relative; }
.l-mv { background: url(../images/bg-mv.png) no-repeat 50% 0 / contain, url(../images/bg-mv-bottom.png) no-repeat 50% 93% / 91.875em auto; width: 100%; }
.l-mv__inner { padding: 1.5em 0; }
.l-mv__message { border: .125em solid #d0ae55; display: inline-block; margin-top: 1em; position: relative; transform: translate(.375em, .375em); }
.l-mv__message::after { border: .125em solid #e01616; bottom: -.625em; content: ""; display: block; left: .375em; position: absolute; right: -.625em; top: .375em; }
.l-mv__message .c-txt { padding: 1.625em 1.5em 1.25em 1.875em; position: relative; }
.l-mv__message .c-txt::before, .l-mv__message .c-txt::after { background: no-repeat 0 0 / contain; content: ""; display: block; position: absolute; z-index: 3; }
.l-mv__message .c-txt::before { background-image: url(../images/icon-mv-txt-left.png); height: 6.25em; left: -1.75em; top: -1.5625em; width: 9.5em; }
.l-mv__message .c-txt::after { background-image: url(../images/icon-mv-txt-right.png); bottom: -1em; height: 4.75em; right: -2em; width: 3.4375em; }
.l-mv__message .c-txt p { color: #7b5a02; font-weight: 700; }
.l-mv__message .c-txt p strong { color: #e83c39; font-size: 1.5em; }
.c-sec__title span { display: inline-block; font-size: 2.25em; font-weight: 700; }

.sec-coupon .c-sec__inner { padding: 0 1.25em 5.625em; }
.sec-coupon .c-coupon__term { background-color: #fff; border-bottom: solid .125em #d0ae55; border-top: solid .125em #d0ae55; display: inline-block; max-width: 720px; padding: 1em; position: relative; width: 100%; }
.sec-coupon .c-coupon__term::before, .sec-coupon .c-coupon__term::after { background-color: #d0ae55; content: ""; height: calc(100% + 1.25em); position: absolute; top: -.625em; width: .125em; }
.sec-coupon .c-coupon__term::before { left: .625em; }
.sec-coupon .c-coupon__term::after { right: .625em; }
.sec-coupon .c-coupon__term p { font-weight: 700; line-height: 1; }
.sec-coupon .c-coupon__term p + p { margin-top: .75em; }
.sec-coupon .c-coupon__term p em { font-size: 1.5em; }
.sec-coupon .c-coupon__list { margin-top: 4em; }
.sec-coupon .c-coupon__item { background: #fff url(../images/bg-coupon-bottom.png) no-repeat 100% 100% / 14.5625em auto; border-radius: .5em; box-shadow: 0 0 .625em 0 rgba(0,0,0,.2); position: relative; }
.sec-coupon .c-coupon__item::before { background: url(../images/fig-coupon-ribbon.png) no-repeat 50% 0 / 24.1875em auto; content: ""; display: block; height: 3.1875em; left: 0; position: absolute; top: -1.75em; width: 100%; }
.sec-coupon .c-coupon__pic img { border-radius: .5em .5em 0 0; width: 100%; }
.sec-coupon .c-coupon__data { padding: 1.25em; }
.sec-coupon .c-coupon__head { background: url(../images/bg-coupon-head-left.png) no-repeat 0 0, url(../images/bg-coupon-head-right.png) no-repeat 100% 0; background-size: 3.75em auto; padding: 1.25em 0 1em; }
.sec-coupon .c-coupon__head .c-catch strong { font-size: 1.75em; }
.sec-coupon .c-coupon__head .c-price { color: #e01616; font-size: 3.125em; font-weight: 700; line-height: 1; }
.sec-coupon .c-coupon__head .c-price em { font-family: 'Roboto', sans-serif; font-size: 2.24em; }
.sec-coupon .c-coupon__code { display: flex; justify-content: space-between; margin: 0 -1.25em; }
.sec-coupon .c-coupon__code .c-code { align-content: center; display: flex; flex-wrap: wrap; height: 5.25em; justify-content: center; width: 50%; }
.sec-coupon .c-coupon__code .c-code em { display: block; font-family: 'Roboto', sans-serif; font-size: 2.5em; line-height: 1; width: 100%; }
.sec-coupon .c-coupon__code .c-code.c-red { background-color: #ffe0e0; }
.sec-coupon .c-coupon__code .c-code.c-brown { background-color: #f7f3df; }
.sec-coupon .c-coupon__bottom .c-btn__block { margin-top: 0; }
.sec-coupon .c-coupon__bottom .c-btn__block .c-btn { height: 4.1235em; }
.sec-coupon .c-coupon__item.c-closed::after { align-items: center; background-color: rgba( 0,0,0,.75); border-radius: .3333em; bottom: 0; color: #fff; content: "配布終了いたしました"; display: flex; font-size: 1.5em; font-weight: 700; justify-content: center; left: 0; position: absolute; right: 0; top: 0; }

.sec-total { background: #fcf3c7 url(../images/bg-coupon-total.png) repeat 0 0 / 18.75em 21.625em; }
.sec-total .c-sec__inner { position: relative; }
.sec-total .c-sec__inner::before { background: url(../images/fig-coupon-total-arrow.png) no-repeat 50% 0 / cover; content: ""; display: block; height: 5em; left: 50%; position: absolute; top: -3.125em; transform: translateX(-50%); width: 15.625em; }
.sec-total .c-sec__title { background: url(../images/fig-coupon-ribbon-long.png) no-repeat 50% 0 / 100% auto; font-size: .8889em; padding-top: 3.125em; }
.sec-total .c-sec__title .c-red { font-size: 1.5em; }
.sec-total .c-sec__title .c-red em { font-family: 'Roboto', sans-serif; font-size: 1.5em; }
.sec-total .c-plan__list { margin-top: 1em; }
.sec-total .c-plan__item { background-color: #fff; border: 1px solid #b79f29; border-radius: .5em; box-shadow: 0 0 .625em 0 rgba(0,0,0,.2); position: relative; }
.sec-total .c-plan__item + .c-plan__item::before { color: #333; content: "\e801"; display: inline-block; font-family: "icon"; font-size: 1.875em; line-height: 1; position: absolute; }
.sec-total .c-plan__item .c-pic img { border-radius: .375em .375em 0 0; }
.sec-total .c-plan__item .c-txt { padding: .75em 0; }
.sec-total .c-plan__item .c-name { color: #b79f29; line-height: 1.4; }
.sec-total .c-plan__item .c-price { font-size: 1.25em; line-height: 1; padding-top: .25em; }
.sec-total .c-plan__item .c-price em { font-family: 'Roboto', sans-serif; font-size: 1.8em; }
.sec-total .c-btn__block p { margin-top: 1.5em; }
.sec-total .c-notice { background-color: #fff; border: 1px solid #b79f29; margin: 1.875em auto 0; max-width: 900px; padding: 2.5em 3.125em; width: 100%; }
.sec-total .c-notice .c-title { border-bottom: 1px solid #b79f29; color: #e01616; font-size: 1.25em; font-weight: 700; padding-bottom: .5em; }
.sec-total .c-notice ul { margin-top: 1.5em; }
.sec-total .c-notice li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; text-align: left; }

.sec-search .c-sec__title { margin-bottom: 2.5em; }
.sec-search .c-sec__title span { color: #e01616; }
.sec-search .c-bnr__item a img { backface-visibility: hidden; }
.sec-search .search-tab__box { background-color: #fff; text-align: left; }
.sec-search .search-tab__list li a { background-color: #e01616; border-top-color: #e01616; }
.sec-search .search-tab__list li a.active { background-color: #fff; color: #e01616; }
.sec-search .search-tab__list li a:not(.active):hover { background-color: #e01616; border-top-color: #e01616; }
.sec-search .search-tab-bt { text-align: left; }
.sec-guideline { background-color: #fff; }
.sec-guideline .c-sec__title { display: inline-block; margin-bottom: 5em; position: relative; }
.sec-guideline .c-sec__title::before, .sec-guideline .c-sec__title::after { background: url(../images/bg-title-guideline.png) no-repeat 50% 0 / 100% auto; content: ""; bottom: 0; display: block; height: 3.75em; position: absolute; width: 3.125em; }
.sec-guideline .c-sec__title::before { left: -5.125em; transform: scale(-1, 1); }
.sec-guideline .c-sec__title::after { right: -5.125em; }
.sec-guideline .c-sec__title span { background:linear-gradient(transparent 80%, #f9f2cd 80%); line-height: 1.5; padding-bottom: .1667em; }
.sec-guideline .c-guideline { border-bottom: 1px solid #ccc; font-size: .875em; text-align: left; }
.sec-guideline .c-guideline dt { color: #e51717; font-weight: 700; }
.sec-guideline .c-guideline dd { border-top: 1px solid #ccc; }
.sec-guideline .c-guideline dd li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; }
.sec-guideline .c-guideline dd li + li { margin-top: .5em; }

@media screen and (min-width:768px) and ( max-width:1236px) {
  .l-page { font-size: 1.294498vw; margin: 0;  }
}
@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; flex-wrap: wrap; justify-content: space-between; }
  .l-page .c-btn:hover { background-color: #bf9f02; }
  .l-page .c-sec li a:hover { text-decoration: underline; }
  .l-page .sp-item { display: none; }
  .sec-coupon { margin-top: 4em; }
  .sec-coupon .c-coupon__item { width: calc(50% - 1.25em); }
  .sec-coupon .c-coupon__item:nth-child(n + 3) { margin-top: 3.125em; }
  .sec-coupon .c-coupon__bottom { padding-top: 1.5em; }
  .sec-coupon .c-coupon__bottom .c-btn__block .c-btn { width: calc(50% - .1875em); }
  .sec-coupon .c-coupon__bottom .c-btn__block .c-btn + .c-btn { margin-top: 0; }
  .sec-coupon .c-coupon__bottom .c-btn__block .c-btn::after { right: .25em; }
  .sec-coupon .c-coupon__bottom .c-btn__block .c-btn span { font-size: inherit; }
  .sec-total .c-plan__item { display: flex; flex-direction: column; width: calc(calc(100% - 12.5em) / 6); }
  .sec-total .c-plan__item + .c-plan__item::before { left: -1em; top: 50%; transform: translateY(-50%); }
  .sec-total .c-plan__item .c-pic { min-height: 0%; }
  .sec-total .c-plan__item .c-txt, .sec-total .c-plan__item .c-name { display: flex; flex: 1 auto; flex-direction: column; min-height: 0%; }
  .sec-total .c-plan__item .c-txt { justify-content: flex-end; }
  .sec-total .c-plan__item .c-name { justify-content: center; }
  .sec-search .c-bnr__item { width: calc(calc(100% - 3em) / 4); }
  .sec-search .search-tab__list li em { font-size: 1.5em !important; }
  .sec-guideline .c-guideline dt, .sec-guideline .c-guideline dd { padding: 2em 0; }
  .sec-guideline .c-guideline dt { clear: left; float: left; width: 20%; }
  .sec-guideline .c-guideline dd { padding-left: 22%; padding-right: 1em; }
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .sec-search .c-bnr__item { width: 30.7443%; }
  *::-ms-backdrop, .sec-total .c-plan__item  { width: 13.9159%; }
}

@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-contents::before { background-size: 8.75em; }
  .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; margin-top: 1.5em; padding: 0 2em; }
  .l-page .c-btn span { font-size: 1.25em; }
  .l-page .c-sec__inner { padding: 2em 4%; }
  .l-contents { background-size: 6em; }
  .l-mv__message { width: 90%; }
  .l-mv__message .c-txt { padding-bottom: 1em; padding-top: 1em; }
  .l-mv__message .c-txt::before, .l-mv__message .c-txt::after { font-size: .8125em; }
  .l-mv__message .c-txt::before { left: -6%; }
  .l-mv__message .c-txt::after { right: -4%; }
  .l-mv__message .c-txt p { font-size: .9167em; }
  .sec-coupon .c-coupon__term p + p { margin-top: 1.5em; }
  .sec-coupon .c-coupon__term p span { display: block; }
  .sec-coupon .c-coupon__list { margin-top: 3em; }
  .sec-coupon .c-coupon__item::before { left: 50%; transform: translateX(-50%); width: 64%; }
  .sec-coupon .c-coupon__item + .c-coupon__item { margin-top: 3em; }
  .sec-coupon .c-coupon__bottom .c-btn__block .c-btn + .c-btn { margin-top: .75em; }
  .sec-total .c-sec__inner::before { font-size: .5em; }
  .sec-total .c-sec__title { background-size: 200% auto; }
  .sec-total .c-sec__title span { line-height: 1.35; }
  .sec-total .c-sec__title .c-red { font-size: 1.375em; }
  .sec-total .c-plan__item { display: flex; }
  .sec-total .c-plan__item + .c-plan__item { margin-top: 2em; }
  .sec-total .c-plan__item + .c-plan__item::before { left: 50%; top: -1em; transform: translateX(-50%); }
  .sec-total .c-plan__item .c-pic, .sec-total .c-plan__item .c-txt { width: 50%; }
  .sec-total .c-plan__item .c-pic img { border-radius: .375em 0 0 .375em; }
  .sec-total .c-plan__item .c-txt { display: flex; flex-direction: column; justify-content: center; }
  .sec-total .c-plan__item .c-name span { font-size: 1.25em; }
  .sec-total .c-notice { padding: 2em; }
  .sec-search .c-sec__title { margin-bottom: 1em; }
  .sec-search .c-sec__title span { line-height: 1.4; }
  .sec-search .c-bnr__item + .c-bnr__item { margin-top: 1.5em; }
  .sec-search .search-tab { padding-top: 0; }
  .sec-guideline .c-sec__title { margin-bottom: 1.5em; }
  .sec-guideline .c-guideline dt, .sec-guideline .c-guideline dd { font-size: 3.466667vw; }
  .sec-guideline .c-guideline dt { display: block; width: 100%; }
  .sec-guideline .c-guideline dd { padding: 1em 1em 1.6em; }
  .sec-guideline .c-guideline dd li + li { margin-top: .5em; }
  .search-tab { box-shadow: none; }
}
