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

.ico-arrow: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 shake {
    0% { transform: translate(3px, 2px) rotate(0deg); }
    10% { transform: translate(-2px, -3px) rotate(-1deg); }
    20% { transform: translate(-5px, 0px) rotate(1deg); }
    30% { transform: translate(0px, 3px) rotate(0deg); }
    40% { transform: translate(2px, -2px) rotate(1deg); }
    50% { transform: translate(-2px, 3px) rotate(-1deg); }
    60% { transform: translate(-5px, 2px) rotate(0deg); }
    70% { transform: translate(3px, 2px) rotate(-1deg); }
    80% { transform: translate(-2px, -2px) rotate(1deg); }
    90% { transform: translate(2px, 5px) rotate(0deg); }
    100% { transform: translate(2px, -3px) rotate(-1deg); }
}

.jtb-nav-breadcrumb { margin-bottom: 25px; max-width: 1280px; }
.l-page { font-family: 'Noto Sans JP', 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: 1280px; text-align: left; }
.l-page a { color: #ff253a; }
.l-page a, .l-page a img { transition: all .4s ease; }
.l-page img { display: block; margin: 0 auto; max-width: 100%; }
.l-page .c-btn { align-items: center; background-color: #ca1a1a; border-radius: .75em; display: flex; justify-content: center; margin: 0 auto; position: relative; width: 100%; }
.l-page .c-btn span { background: url(../images/bg_btn_arrow.png) no-repeat 100% 58%; color: #fff; font-weight: 700; padding-right: .75em; }
.l-page .c-btn img { display: block; position: absolute; }
.l-page .c-btn__entry { background-color: #de1128; box-shadow: 0 .5em 0 #c40016; }
.l-page .c-bnr__block { max-width: 1080px; }
.l-page .c-bnr__catch-label { align-items: center; background-color: #ca1a1a; border-radius: 100vh; display: inline-flex; justify-content: center; padding: 0 1.25em; }
.l-page .c-bnr__catch-label span { color: #fff; }
.l-page .c-bnr__catch-label span em { font-size: 1.3333em; font-weight: 700; }
.l-page .c-bnr__catch-txt { font-weight: 700; margin-left: .5em; }
.l-page .c-heading { display: inline-block; margin-bottom: 3.75em; padding-bottom: 1.25em; position: relative; }
.l-page .c-heading span { display: block; font-size: 2em; font-weight: 700; line-height: 1.3; margin-top: .25em; }
.l-page .c-omikuji-box { background: #fff url(../images/bg_box.png) no-repeat 50% 0 / 100% auto; border-radius: 0 0 1.25em 1.25em; box-shadow: 0 0 .5em rgba(127,66,26,.35); display: block; margin: 0 auto; max-width: 1180px; position: relative; width: 100%; }
.l-page .c-omikuji-box::before, .l-page .c-omikuji-box::after { background: url(../images/fig_box_deco_side.png) no-repeat 50% 0 / cover; content: ""; display: block; height: 37.625em; position: absolute; top: -2.5em; width: 14.875em; z-index: 1; }
.l-page .c-omikuji-box::before { left: -7.36875em; }
.l-page .c-omikuji-box::after { right: -7.36875em; transform: scaleX(-1); }
.l-page .c-omikuji-box__inner { position: relative; width: 100%; }
.l-page .c-omikuji-box__inner::before { background: url(../images/fig_box_deco_head.png) no-repeat 50% 50% / cover; content: ""; display: block; height: 8em; left: 50%; position: absolute; transform: translateX(-50%); width: 9.375em; }
.js-btn-page-top { bottom: 50px; cursor: pointer; display: none; position: fixed; right: 50px; z-index: 100; }
.l-page .f-min { font-family: 'Zen Old Mincho', serif; }
.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: #f5eab3 url(../images/bg_contents.png) repeat 50% 0 / 2em auto; color: #2e2d2d; width: 100%; }
.l-contents__inner { margin: 0 auto; max-width: 1280px; width: 90%; }

.sec-intro__term { filter: drop-shadow(0 0 .5em rgba(127,66,26,.35)); width: 100%; }
.sec-intro__term dt { background-color: #ca1a1a; color: #fff; }
.sec-intro__term dd { background-color: #fff; }
.sec-intro__term dd em { font-size: 1.3333em; font-weight: 700; }
.sec-entry .c-note { margin-top: 2em; }
.sec-result .c-omikuji-box__inner { background: url(../images/bg_result_box_left.png) 0 0, url(../images/bg_result_box_right.png) 100% 0; background-repeat: no-repeat; }
.sec-result__txt { margin: 0 auto; }
.sec-result__txt + p, .sec-result__column p { margin-top: 1.25em; }
.sec-result__column { background-color: #fff; border: 1px solid #ccbc76; padding: 1em; width: 100%; }
.sec-result__column-title { font-weight: 700; }
v { max-width: 924px; width: 100%; }
.sec-result__greeting { margin-top: 2.5em; }
.sec-guideline__head { align-items: center; background-color: #37321a; border-radius: .75em .75em 0 0; display: flex; justify-content: center; }
.sec-guideline__title span { color: #fff; font-size: 2em; font-weight: 700; position: relative; }
.sec-guideline__title span::before, .sec-guideline__title span::after { background: url(../images/bg_guideline_title.png) no-repeat 50% 50% / cover; content: ""; display: block; position: absolute; top: 50%; }
.sec-guideline__title span::before { left: 0; transform: translate(-120%, -50%) }
.sec-guideline__title span::after { right: 0; transform: translate(120%, -50%) scaleX(-1);; }
.sec-guideline__cont { background-color: #fff; }
.sec-guideline dl { text-align: left; }
.sec-guideline dt { clear: left; color: #ca1a1a; float: left; font-weight: bold; padding-top: 2em; width: 20%; }
.sec-guideline dd { border-bottom: 1px solid #ccc; line-height: 1.5; padding: 2em 1em 2em 22%; }
.sec-guideline dd:last-child { border-bottom: none; }
.sec-guideline dd strong { background:linear-gradient(transparent 60%, #fff000 60%); font-weight: 700; }
.sec-guideline dd p + p, .sec-guideline dd p + ul, .sec-guideline dd ul + p { padding-top: 1em; }
.sec-guideline dd > ul > li { display: list-item; list-style: disc; list-style-position: outside; margin-left: 1em; }
.sec-guideline dd > ul > li + li { padding-top: .285714em; }
.sec-guideline dd li ul li { margin-left: 1em; list-style-type: circle; }
#JTBGF-ly_footer.JTBGF-ly_footer { margin-top: 0 !important; }

@media screen and (min-width:768px) and ( max-width:1280px) {
  .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-bnr__block { margin: 4em auto 0; }
  .l-page .c-bnr__catch { align-items: center; display: flex; justify-content: center; margin-bottom: 1.25em; }
  .l-page .c-bnr__catch-label { height: 3.5em; }
  .l-page .c-bnr__catch-label span { font-size: 1.5em; }
  .l-page .c-bnr__catch-txt { font-size: 2.5em; }
  .l-page .c-btn { box-shadow: 0 .75em 0 #aa1616; }
  .l-page .c-btn img { right: -2.5em; top: -1.5em; width: 6.375em; }
  .l-page .c-btn span { background-size: 2.4rem auto; }
  .l-page .c-btn:hover { box-shadow: 0 0 0 #aa1616; text-decoration: none; transform: translate(0, .75em); }
  .l-page .c-btn:hover img { -webkit-animation: shake 0.4s linear infinite; animation: shake 0.4s linear infinite; opacity: 1; }
  .l-page .c-flex { display: flex; justify-content: space-between; }
  .l-page .c-omikuji-box { padding: 10em 6.25em 5em; }
  .l-page .c-omikuji-box__inner::before { top: -11.25em; }
  .l-page .c-sec { padding: 0 .5em; }
  .l-page .c-sec + .c-sec { padding-top: 6em; }
  .l-contents { padding: 2em 0 4em; }
  .sec-intro__term { display: flex; margin: 2.5em auto 0; max-width: 818px; }
  .sec-intro__term dt, .sec-intro__term dd { align-items: center; display: flex; font-size: 1.5em; height: 3em; justify-content: center; }
  .sec-intro__term dt { border-radius: .375em 0 0 .375em; width: 6.6667em; }
  .sec-intro__term dd { border-radius: 0 .375em .375em 0; flex: 1; }
  .sec-entry .c-btn { height: 8.75em; margin-top: 3.75em; max-width: 840px; }
  .sec-entry .c-btn span { font-size: 3.25em; }
  .sec-result__txt { width: 33.375em; }
  .sec-result { margin-top: 5em; }
  .sec-result .c-omikuji-box__inner { background-size: 14.75em auto; }
  .sec-result__column { margin: 2em auto 0; max-width: 630px; }
  .sec-result__txt + p, .sec-result__column p, .sec-result__column-title { font-size: 1.125em; }
  .sec-result .c-btn { height: 7.1875em; margin-top: 3em; max-width: 690px; }
  .sec-result .c-btn span { font-size: 2.625em; }
  .sec-guideline__head { height: 5.375em; }
  .sec-guideline__title span::before, .sec-guideline__title span::after { height: 2.1rem; width: 10.2rem; }
  .sec-guideline__cont { padding: 4em 5em; }
  .sec-guideline dl { font-size: .875em; }
}

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

@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; padding: 20px 0 0; }
  .l-page h1 { margin-bottom: 20px; padding: 0 1%; }
  .l-page .c-bnr__block { margin: 2em auto 0; }
  .l-page .c-bnr__catch-label { height: 2.5em; }
  .l-page .c-bnr__catch-label span { font-size: 1.25em; }
  .l-page .c-bnr__catch-txt { font-size: 1.75em; }
  .l-page .c-btn { box-shadow: 0 .5em 0 #aa1616; height: 5em; margin-top: 1.5em; padding: 0 2em; }
  .l-page .c-btn img { right: -.5em; top: -1em; width: 4.5em; }
  .l-page .c-btn span { background-size: 1.5rem auto; font-size: 2em; }
  .l-page .c-heading { margin-bottom: 2.5em; }
  .l-page .c-omikuji-box { padding: 5em 1.5em 3em; }
  .l-page .c-omikuji-box::before, .l-page .c-omikuji-box::after { font-size: .4em; }
  .l-page .c-omikuji-box__inner::before { font-size: .5em; top: -13em;}
  .l-page .c-sec + .c-sec { padding-top: 3.5em; }
  .l-contents { overflow: hidden; padding: .5em 0 4em; }
  .sec-intro__term { margin-top: 1em; }
  .sec-intro__term dt { line-height: 2.5; }
  .sec-intro__term dd { padding: .5em; }
  .sec-entry .c-note { text-align: left; }
  .sec-result { margin-top: 2.5em; }
  .sec-result .c-omikuji-box__inner { background-size: 20% auto; }
  .sec-result__column { margin-top: 1em; }
  .sec-result__column p { text-align: left; }
  .sec-result__txt-point { width: 80%; }
  .sec-guideline__head { height: 3em; }
  .sec-guideline__title span { font-size: 1.25em; }
  .sec-guideline__title span::before, .sec-guideline__title span::after { height: 1.05rem; width: 5.1rem; }
  .sec-guideline dl { padding: 1em; }
  .sec-guideline dt, .sec-guideline dd { font-size: 3.466667vw; margin: 0; padding: 0; }
  .sec-guideline dt { float: none; width: 100%; }
  .sec-guideline dd + dt { padding-top: 1em; }
  .sec-guideline dd { padding: 1em 1em 1.6em; }
  .sec-entry .c-message p { font-size: 1.25em; }
}
