/*
* YUKOYUKO NET LP
* style.css
*
*/


@font-face {
  font-family: "YuGothic M";
  src: local(Yu Gothic Medium);
}

main>section.contents {
  font-size: 19px;
  font-size: 1.9rem;

  /* ゴシック */
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "YuGothic M", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;

  background: #1f1a00 url(https://static.yukoyuko.net/aso/story_20190423-3/background.jpg) 0 0 repeat;

  color: #fff;
}

main>section.contents em {
  font-style: normal;
}

main>section.contents ul li,
main>section.contents dl dd,
main>section.contents p {
  line-height: 1.8;
}

section.contents h1,
section.contents h2,
section.contents h3,
section.contents h4,
section.contents h5,
section.contents h6 {
  font-weight: 500;
  line-height: 1.3;
}

main>section.contents .vertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

main>section.contents .gothic {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "YuGothic M", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
}

main>section.contents .serif {
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

main>section.contents .yuserif {
  font-family: "游明朝", YuMincho, 'Noto Serif Japanese', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

main>section.contents .en {
  font-family: 'Lora', serif;
}

main>section.contents>section,
main>section.contents>.chapter,
main>section.contents>.wide .container {
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  box-sizing: border-box;
}

main>section.contents>section.wide,
main>section.contents>.chapter.wide {
  width: 100%;
}


main>section.contents section:after,
main>section.contents .chapter:after {
  clear: both;
  display: block;
  content: "";
}

/* --------------------------------
   □ p.text
-------------------------------- */
main>section.contents p.text {
  line-height: 1.8;
}

/* --------------------------------
   □ ボタンスタイル
-------------------------------- */
main>section.contents .buttonStyle {
  text-align: center;
}

main>section.contents .buttonStyle a,
main>section.contents .buttonStyle>span {
  box-sizing: border-box;
  position: relative;
  display: table;
  text-decoration: none;
  line-height: 1.1;
  width: 680px;
  height: 100px;
  margin: 0 auto;
  color: #2c4125;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/button-background.png);
  transition: all 300ms 0s ease;
}

main>section.contents .buttonStyle a span,
main>section.contents .buttonStyle>span span {
  display: table-cell;
  position: relative;
  vertical-align: middle;
  text-align: center;
  font-size: 2.1rem;
  font-size: 21px;
  color: #fbc589;
  letter-spacing: 0.3em;
  line-height: 1.1;
  transition: all 300ms 0s ease;
}

main>section.contents .buttonStyle a span:after,
main>section.contents .buttonStyle>span span:after {
  display: inline-block;
  content: url(https://static.yukoyuko.net/aso/story_20190423-3/button-arrow.png);
  margin-left: 10px;
  transition: all 300ms 0s ease;
}

main>section.contents .buttonStyle a:hover span:after,
main>section.contents .buttonStyle>span:hover span:after {
  margin-left: 20px;
}


/* =================================
   ■ メインビジュアル
================================== */

.accentBox {
  z-index: 1;
  position: relative;
  width: 100%;
  text-align: center;
}

.accentBox h1 {
  z-index: 3;
  position: absolute;
  top: 50%;
  right: 10%;
  margin-top: -276px;
  margin-left: -129px;

  animation: show 2s both;
  animation-delay: 2.5s;
  transition: all 300ms 0s ease;
}

.accentBox ul.slider {
  transition: all 300ms 0s ease;
  height: 695px;
  overflow: hidden;
}

.accentBox .bx-wrapper ul.slider {
  height: auto;
  background: none;
  overflow: visible;
}

.accentBox ul.slider li img {
  visibility: hidden !important;
}

.accentBox .bx-wrapper ul.slider li img {
  visibility: visible !important;
}

.accentBox .bx-wrapper {
  position: relative;
  margin: 0 auto 0px;
  padding: 0;
}

.accentBox .bx-wrapper ul li {
  position: relative;
  display: block;
  background: #fafafa 50% 50% no-repeat;
  animation: accent-zoom 10s both;
}


.accentBox .bx-wrapper ul li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.accentBox .bx-wrapper .bx-controls-direction a {
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
}

.accentBox .bx-wrapper .bx-pager {
  left: 0;
  right: 0;
  bottom: 25px;
  text-align: center;
}

.accentBox .bx-wrapper .bx-pager .bx-pager-item {
  text-align: center;
}

.accentBox .bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;

  width: 49px;
  height: 4px;

  margin: 0 5px;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.accentBox .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #1d1d1d;
}

.accentBox .bx-wrapper .bx-next {
  right: 10px;
}

.accentBox .bx-wrapper .bx-prev {
  left: 10px;
}

@keyframes accent-zoom {
  0% {
    transform: scale(1.1)
  }

  95% {
    opacity: 1;
  }

  100% {
    opacity: 0.2;
    transform: scale(1.0)
  }
}



/* --------------------------------
   □ intro
-------------------------------- */
main .intro {
  position: relative;
  padding: 110px 0 29px 0;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/intro-background.png) 0 -207px repeat-x;
}

main .intro p.catch {
  margin-bottom: 31px;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0.2em;

}

main .intro h2 {
  position: relative;
  padding-bottom: 69px;
  margin-bottom: 43px;
  font-size: 53px;
  font-size: 5.3rem;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  color: #fff;
  letter-spacing: 0.3em;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/intro-title-line.png) 50% 100% no-repeat;

}

main .intro h2 small.kana {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 13px;
  color: #cccccc;
  letter-spacing: 0;
  text-align: center;

}


main .intro>.container>p.text {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2.4;
  text-align: center;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.2em;
}

/* --------------------------------
   □ pickup
-------------------------------- */
main .pickup {
  padding-top: 91px;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/decoration-background.png) 50% 0 repeat-y;
}

main .pickup .item {
  position: relative;
  margin-bottom: 112px;
  color: #fff;
}

main .pickup .item .explain {
  position: relative;
  z-index: 1;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/explain-background1.png) 0 0 repeat-y;
  width: 776px;
  min-height: 423px;
  margin-top: -176px;
  padding: 0 50px 50px 50px;
}

main .pickup .item h3 {
  position: relative;
  top: -0.6em;
  color: #d7aa52;
  font-size: 55px;
  font-size: 5.5rem;
  margin-bottom: -0.6em;
  padding-bottom: 43px;
  letter-spacing: 0.1em;
  text-align: left;
  text-shadow:
    rgba(0, 0, 0, 0.9) 1px 1px 10px, rgba(0, 0, 0, 6) 1px 1px 10px, rgba(0, 0, 0, 6) 1px 1px 10px;

}

main .pickup .item h3 small {
  font-size: 17px;
  font-size: 1.7rem;
}

main .pickup .item h3:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 41px;
  height: 1px;
  background: #fff;
  content: "";
}

main .pickup .item .explain dl {
  margin-top: 33px;
}

main .pickup .item .explain dl dt {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1.8;
  margin-bottom: 34px;
  letter-spacing: 0.2em;
}


main .pickup .item .explain dl dd {
  font-size: 17px;
  font-size: 1.7rem;
}

main .pickup .item .image {
  position: relative;
  z-index: 1;
  margin-left: -90px;
}

main .pickup .item.even .image {
  margin-left: 0;
  margin-right: -90px;
}

main .pickup .item.even .explain {
  margin-left: 254px;
}

/*
main .pickup .item.pattern1 .explain{
	background-image:url(../images/explain-background1.png);
}
main .pickup .item.pattern2 .explain{
	background-image:url(../images/explain-background2.png);
}
main .pickup .item.pattern3 .explain{
	background-image:url(../images/explain-background3.png);
}
*/

/* --------------------------------
   □ summary
-------------------------------- */
main #summary {
  position: relative;
  margin-top: 111px;
  margin-bottom: 112px;
  color: #fff;
}

main #comment {
  background: rgba(24, 24, 24, 0.8);
  padding: 50px 75px 50px 75px;
  border: 2px solid #b38250;
  margin-bottom: 140px;
}

main #comment h3 {
  position: relative;
  margin-bottom: 41px;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
  color: #fff;

}

main #comment h3 span.en {
  display: block;
  position: relative;
  margin-bottom: 9px;
  font-size: 25px;
  font-size: 2.5rem;

  text-align: center;
  color: #d3a651;
  letter-spacing: 0.2em;
}

main #comment p.text {
  color: #fff;
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.2em;
  line-height: 2;
  font-weight: 300;
}

main #summary .message {
  text-align: center;
  color: #fff;
  font-size: 21px;
  font-size: 2.1rem;
  letter-spacing: 0.2em;
  line-height: 2.4;
  font-weight: 500;
  margin-bottom: 107px;
}


/* --------------------------------
   □ pager
-------------------------------- */
main .pager {
  display: table;
  width: 100%;
  margin-top: 100px;
}

main .pager li {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  background: rgba(72, 41, 62, 0.8);
  transition: all 300ms 0s ease;
}

main .pager li a {
  position: relative;
  display: block;
  text-align: center;
  padding: 35px 10px;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.2;
  color: #fff;
  text-decoration: none;

}

main .pager li a span {
  display: inline-block;
  padding-left: 45px;
  background: url(https://static.yukoyuko.net/aso/story_20190423-3/icon-top.png) 0 50% no-repeat;

}

main .pager li:hover {
  background: rgba(52, 28, 44, 0.5);
}


/* 1280px以上
-------------------------------------------- */
@media only screen and (min-width: 1280px) {

  main .accent h2 img {}

}

/* 1480px以上
-------------------------------------------- */
@media only screen and (min-width: 1480px) {

  main .accent h2 img {}

}


/* --------------------------------
   □ スマートフォン用の記述
-------------------------------- */
.pc {}

.sp,
span.textized,
br.spOnly {
  display: none;
}

/* SP用
-------------------------------------------- */
@media only screen and (max-width : 767px) {

  /* =================================
   ■ 共通指定
================================== */

  body {
    min-width: auto;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  body .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  span.textized {
    display: inline;
  }

  br.spOnly {
    display: inline-block;
  }

  br.pcOnly {
    display: none;
  }


  .txtimg {
    display: none;
  }

  main>section.contents .vertical {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  /* --------------------------------
   □ 大枠
-------------------------------- */
  main>section.contents {
    overflow: hidden;
    padding: 0;
  }

  main>section.contents>section,
  main>section.contents>.chapter,
  main>section.contents>.wide .container {
    font-size: 100%;
    width: auto;
  }

  main>section.contents>section.wide,
  main>section.contents>.chapter.wide {
    width: auto;
  }


  /* --------------------------------
   □ ボタンスタイル
-------------------------------- */
  main>section.contents .buttonStyle a,
  main>section.contents .buttonStyle>span {
    position: relative;
    width: 100%;
    height: 8vh;
    padding: 12px 10px;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }


  main>section.contents .buttonStyle a span,
  main>section.contents .buttonStyle>span span {
    display: block;
    font-size: 1.8rem;
    font-size: 18px;
    letter-spacing: 0;
  }

  main>section.contents .buttonStyle a span:after,
  main>section.contents .buttonStyle>span span:after {
    zoom: 0.7;
    vertical-align: middle;
  }

  /* --------------------------------
   □ visual
-------------------------------- */
  .accentBox {
    width: 100%;
    margin: 0 0 0px 0;
  }

  .accentBox h1 {
    margin-top: -54%;
    margin-left: -45%;
    height: 90%;
  }

  .accentBox h1 img {
    height: 100%;
  }


  .accentBox ul.slider {
    height: 300px;
  }

  .accentBox .bx-wrapper ul li {
    animation: accent-zoom 12s both;

  }

  .accentBox .bx-wrapper .bx-pager {
    bottom: 10px;
  }

  .accentBox .bx-wrapper .bx-pager.bx-default-pager a {
    margin: 0 5px;
  }

  .accentBox .bx-wrapper .bx-next {
    background-size: auto 100%;
  }

  .accentBox .bx-wrapper .bx-prev {
    background-size: auto 100%;
  }

  @keyframes accent-zoom {
    0% {
      opacity: 0.4;
      transform: scale(1.1)
    }

    12% {
      opacity: 1;
    }

    95% {
      opacity: 1;
    }

    100% {
      opacity: 0.2;
      transform: scale(1.0)
    }
  }

  /* --------------------------------
   □ intro
-------------------------------- */
  main .intro {
    padding: 11% 4% 3% 4%;
    background-size: 200% auto;
  }

  main .intro p.catch {
    margin-bottom: 8%;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.5;
    letter-spacing: 0.05em;

  }

  main .intro h2 {
    padding-bottom: 29px;
    margin-bottom: 3%;
    font-size: 32px;
    font-size: 3.2rem;
    letter-spacing: 0.2em;
    background-size: 60% auto;

  }

  main .intro h2 small.kana {
    margin-top: 1%;

  }


  main .intro>.container>p.text {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: left;
  }

  /* --------------------------------
   □ pickup
-------------------------------- */
  main .pickup {
    padding-top: 9%;
    background-size: 150% auto;
  }


  main .pickup .item {
    margin-bottom: 11%;
  }

  main .pickup .item .explain {
    position: relative;
    z-index: 1;
    background-size: 100% auto;
    width: auto;
    min-height: inherit;
    margin: 0 5%;
    margin-top: -2em;
    padding: 0 5% 5% 5%;
  }

  main .pickup .item h3 {
    font-size: 35px;
    font-size: 3.5rem;
    padding-bottom: 4%;
  }

  main .pickup .item .explain dl {
    margin-top: 8%;
  }

  main .pickup .item .explain dl dt {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.3;
    margin-bottom: 5%;
    letter-spacing: 0.2em;
  }


  main .pickup .item .explain dl dd {
    font-size: 17px;
    font-size: 1.7rem;
  }

  main .pickup .item .image {
    margin-left: 0px;
  }

  main .pickup .item.even .image {
    margin-right: 0px;
  }

  main .pickup .item.even .explain {
    margin-left: 5%;
  }

  /* --------------------------------
   □ imageslide
-------------------------------- */
  main ul.imageslide li {
    height: 300px;
  }

  main ul.imageslide li img {
    height: 100%;
  }

  /* --------------------------------
   □ summary
-------------------------------- */
  main #summary {
    margin-top: 11%;
    margin-bottom: 11%;
    padding: 0 5%;
  }

  main #comment {
    padding: 5% 7.5%;
    margin-bottom: 14%;
  }

  main #comment h3 {
    margin-bottom: 4%;

  }

  main #comment h3 span.en {
    margin-bottom: 1.2%;
    font-size: 22px;
    font-size: 2.2rem;
  }

  main #comment p.text {}

  main #summary .message {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 10%;
  }

  /* --------------------------------
   □ pager
-------------------------------- */
  main .pager {}

  main .pager li {}

  main .pager li a {
    text-align: center;
    padding: 20px 10px;
    font-size: 20px;
    font-size: 2.0rem;

  }

  main .pager li a span {
    display: inline-block;
    padding-left: 35px;
    background-size: auto 90%;

  }


}


/* --------------------------------
   □ その他の温泉ストーリー
-------------------------------- */

main>section.contents>.pageBlock-special {
  margin-top: 0;
  padding-top: 80px;
  background: #fff;

}

main>section.contents>.pageBlock-special h3 {
  text-align: center;
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
}

.c-concierge {
  background: #fff;
}

@media screen and (max-width:767px) {


  main>section.contents>.pageBlock-special {
    overflow: hidden;
    padding-top: 5px;
  }

  main>section.contents>.pageBlock-special h3 {
    margin-bottom: 3%;
    font-size: 21px;
    font-size: 2.1rem;
  }


}


/* --------------------------------
   □ loader
-------------------------------- */

#loader {
  opacity: 1;
  position: fixed;
  z-index: 100000;
  width: 100%;
  height: 100%;
  background: #EBE9E1;
  top: 0;
  left: 0;
}


.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px
}

.spinnerText {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  width: 14em;
  height: 40px;
  color: #A5A5A2;
  text-align: center;
  font-size: 10px;
}

.spinner>div {
  background-color: #A62126;
  height: 100%;
  width: 6px;
  border-radius: 2px;
  display: inline-block;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s
}

.spinner .rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s
}

.spinner .rect4 {
  -webkit-animation-delay: -.9s;
  animation-delay: -.9s
}

.spinner .rect5 {
  -webkit-animation-delay: -.8s;
  animation-delay: -.8s
}


@-webkit-keyframes sk-stretchdelay {

  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4)
  }

  20% {
    -webkit-transform: scaleY(1.0)
  }
}

@keyframes sk-stretchdelay {

  0%,
  40%,
  100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }

  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

@keyframes show {
  0% {
    opacity: 0;
    transform: translate(0, 15px);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes animation-left {
  0% {
    opacity: 0;
    transform: translateX(150%);
  }

  100% {
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes headshow {
  0% {
    opacity: 0;
    transform: translate(0, -15px);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
