@charset "UTF-8";
/* 
Eric Meyer's CSS Reset
http://meyerweb.com/eric/tools/css/reset/
v1.0 | 20080212
CSSresetr.com
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

/* remember to define focus styles! */
:focus {
  outline: 0; }

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

/* tables still need 'cellspacing=0' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 100%;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0rem;
  color: #1b1b1b;
  background-color: #fff; }

a {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 1; }

a[href]:not(.img-hover):hover {
  opacity: 0.6; }

#isSize {
  position: absolute;
  left: 0px;
  top: -10px;
  width: 0px;
  height: 0px; }

.container {
  display: none; }

/*------------------------------------------
 any
------------------------------------------*/
#preload-wrapper {
  display: none; }

.hidding {
  display: none !important; }

.spElm {
  display: none !important; }

#isSize {
  top: -10px; }

body {
  min-width: 1024px; }

.fade-in--anim-init {
  visibility: hidden; }

.fade-in--anim-start {
  background-position-y: 20px;
  opacity: 0; }

#tabeho {
  color: #333;
  padding-top: 0;
  margin-top: 80px;
  background: url(../img/pattern.png) repeat; }
  #tabeho a, #tabeho img {
    display: block; }
  #tabeho figure {
    margin: 0; }
  #tabeho .red {
    color: #d40000; }
  #tabeho a:hover {
    color: #e00713;
    text-decoration: underline;
    opacity: 1; }
  #tabeho a.btn:hover {
    opacity: 0.6; }
  #tabeho .fix-nav {
    display: block;
    background-size: contain;
    width: 205px;
    height: 266px;
    background-image: url("../img/nav_bg.png");
    overflow: hidden;
    background-repeat: no-repeat;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 50%;
    margin-top: -93px; }
    #tabeho .fix-nav .inner {
      padding: 12px 0; }
      #tabeho .fix-nav .inner ul li {
        margin-top: 1px; }
        #tabeho .fix-nav .inner ul li a {
          padding: 0 16px;
          font-size: 15px;
          line-height: 2.6; }
          #tabeho .fix-nav .inner ul li a[href="#course01"] {
            color: #651105;
            font-weight: bold; }
          #tabeho .fix-nav .inner ul li a[href="#course02"] {
            color: #707070;
            font-weight: bold; }
          #tabeho .fix-nav .inner ul li a[href="#course03"] {
            color: #aa6825;
            font-weight: bold; }
  #tabeho .wrapper {
    position: relative;
    width: 1024px;
    margin: 0 auto; }
  #tabeho .campaign-btn {
    width: 560px;
    margin: 0 auto 0; }
    #tabeho .campaign-btn .disabled {
      opacity: 0.5; }
  #tabeho .sec01 .inner {
    position: relative;
    width: 1024px;
    margin: 0 auto; }
    #tabeho .sec01 .inner img {
      margin: 0 auto;
      display: block; }
    #tabeho .sec01 .inner .web {
      position: absolute;
      top: 423px;
      right: 34px;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0); }
      #tabeho .sec01 .inner .web.anim-start {
        -webkit-animation: animationFrames ease-out 0.6s;
                animation: animationFrames ease-out 0.6s;
        -webkit-animation-iteration-count: 1;
                animation-iteration-count: 1;
        -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
                transform-origin: 50% 50%;
        -webkit-animation-fill-mode: forwards;
                animation-fill-mode: forwards; }
  #tabeho .sec02 {
    padding-top: 61px; }
    #tabeho .sec02 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0; }
      #tabeho .sec02 .inner h3 {
        margin: 0 auto;
        width: 182px; }
      #tabeho .sec02 .inner .description {
        text-align: center;
        font-size: 18px;
        line-height: 2;
        margin-top: 26px;
        letter-spacing: -0.05rem; }
        #tabeho .sec02 .inner .description b {
          font-size: 22px;
          line-height: 1.636;
          position: relative;
          display: inline-block; }
          #tabeho .sec02 .inner .description b:before {
            content: "";
            width: 92%;
            height: 3px;
            /* display: block; */
            position: absolute;
            left: 4%;
            bottom: 0;
            background: #e00713; }
      #tabeho .sec02 .inner .btn {
        width: 304px;
        margin: 15px auto 0; }
      #tabeho .sec02 .inner .area_list {
        display: block;
        background-size: contain;
        width: 800px;
        height: 120px;
        background-image: url("../img/sec02_bg.png");
        overflow: hidden;
        background-repeat: no-repeat;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        margin: 14px auto 0;
        box-sizing: border-box;
        padding: 20px 55px 20px 110px; }
        #tabeho .sec02 .inner .area_list li {
          font-size: 24px;
          line-height: 1.667;
          font-weight: bold;
          width: 20%;
          color: #000; }
      #tabeho .sec02 .inner .text {
        font-size: 16px;
        line-height: 2;
        text-align: center;
        margin-top: 24px; }
      #tabeho .sec02 .inner .video-wrapper {
        width: 583px;
        height: 328px;
        box-sizing: border-box;
        margin: 60px auto 0; }
        #tabeho .sec02 .inner .video-wrapper iframe {
          width: 100%;
          height: 100%; }
  #tabeho .sec03 {
    display: block;
    background-size: contain;
    width: 1024px;
    height: 832px;
    background-image: url("../img/sec03_bg.png");
    overflow: hidden;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 60px; }
    #tabeho .sec03 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0;
      padding-top: 66px; }
      #tabeho .sec03 .inner h3 {
        position: relative;
        width: 179px;
        margin: 0 auto; }
        #tabeho .sec03 .inner h3 .web {
          position: absolute;
          top: -14px;
          left: -91px; }
      #tabeho .sec03 .inner .description {
        text-align: center;
        font-size: 18px;
        line-height: 1.778;
        margin-top: 29px;
        letter-spacing: -0.05rem; }
        #tabeho .sec03 .inner .description .line {
          position: relative; }
          #tabeho .sec03 .inner .description .line:before {
            content: "";
            width: 100%;
            height: 2px;
            /* display: block; */
            position: absolute;
            left: 0%;
            bottom: -3px;
            background: #e00713; }
      #tabeho .sec03 .inner .howto_list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 32px; }
        #tabeho .sec03 .inner .howto_list li {
          position: relative;
          background: #fff;
          border: 1px solid #e3e0d3;
          width: 400px;
          border-radius: 16px;
          text-align: center;
          padding: 36px 0 39px; }
          #tabeho .sec03 .inner .howto_list li:last-child {
            margin-left: 32px; }
          #tabeho .sec03 .inner .howto_list li .text {
            text-align: center; }
            #tabeho .sec03 .inner .howto_list li .text img {
              display: inline-block; }
          #tabeho .sec03 .inner .howto_list li .text02 {
            font-size: 16px;
            line-height: 1.5;
            display: inline-block;
            margin-top: 21px; }
          #tabeho .sec03 .inner .howto_list li .qr, #tabeho .sec03 .inner .howto_list li .app {
            margin: 31px auto 0; }
          #tabeho .sec03 .inner .howto_list li .btn_list {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            margin-top: 22px; }
            #tabeho .sec03 .inner .howto_list li .btn_list .btn:nth-child(n+2) {
              margin-left: 16px; }
      #tabeho .sec03 .inner .attention {
        margin-top: 44px;
        font-size: 18px;
        line-height: 1.333;
        text-align: center; }
      #tabeho .sec03 .inner .attention_list {
        font-size: 14px;
        line-height: 1.714;
        width: 500px;
        margin: 14px auto 0; }
        #tabeho .sec03 .inner .attention_list li {
          text-align: left; }
  #tabeho .sec04 {
    position: relative;
    margin-top: 48px; }
    #tabeho .sec04 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0;
      border: 1px solid #cabe85;
      background: #fff;
      border-radius: 16px;
      box-sizing: border-box;
      padding: 51px 31px 47px; }
      #tabeho .sec04 .inner h3 {
        width: 380px;
        margin: 0 auto 0; }
      #tabeho .sec04 .inner .howto {
        margin-top: 28px; }
  #tabeho .sec05 {
    position: relative;
    margin-top: 93px; }
    #tabeho .sec05 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0; }
      #tabeho .sec05 .inner h3 {
        width: 510px;
        margin: 0 auto 0; }
      #tabeho .sec05 .inner .description {
        text-align: center;
        font-size: 18px;
        line-height: 1.778;
        margin-top: 20px;
        letter-spacing: -0.05rem; }
      #tabeho .sec05 .inner .course {
        margin: 40px auto 0;
        position: relative; }
        #tabeho .sec05 .inner .course h4 {
          position: relative;
          text-align: center;
          margin-top: 23px; }
          #tabeho .sec05 .inner .course h4 img {
            display: inline-block; }
        #tabeho .sec05 .inner .course .type {
          position: absolute;
          right: 120px;
          top: -3px; }
        #tabeho .sec05 .inner .course .description {
          font-size: 16px;
          line-height: 1.75;
          font-weight: bold;
          text-shadow: 0px 0px 8px #7a2c0f;
          color: #ffffff;
          margin-top: 12px; }
        #tabeho .sec05 .inner .course .drink {
          position: absolute;
          right: 34px;
          top: 119px; }
        #tabeho .sec05 .inner .course .text02 {
          text-align: center;
          margin-top: 65px; }
          #tabeho .sec05 .inner .course .text02 img {
            display: inline-block; }
        #tabeho .sec05 .inner .course .btn {
          width: 304px;
          margin: 27px auto 0; }
        #tabeho .sec05 .inner .course .price_list {
          position: relative;
          margin-top: 33px; }
          #tabeho .sec05 .inner .course .price_list li {
            text-align: center; }
            #tabeho .sec05 .inner .course .price_list li .price_type {
              font-size: 30px;
              line-height: 1.867;
              font-weight: bold; }
              #tabeho .sec05 .inner .course .price_list li .price_type small {
                font-size: 18px;
                line-height: 3.111; }
            #tabeho .sec05 .inner .course .price_list li .price {
              font-size: 42px;
              line-height: 1.333;
              font-weight: bold; }
            #tabeho .sec05 .inner .course .price_list li .unit {
              font-size: 30px;
              line-height: 1.867;
              font-weight: bold; }
            #tabeho .sec05 .inner .course .price_list li .tax {
              font-size: 18px;
              line-height: 3.111;
              font-weight: bold; }
            #tabeho .sec05 .inner .course .price_list li .attention {
              font-size: 16px;
              line-height: 0.938;
              margin-bottom: 14px; }
        #tabeho .sec05 .inner .course .attention_list {
          font-size: 14px;
          line-height: 1.714;
          width: 600px;
          margin: 30px auto 0;
          letter-spacing: -0.05rem; }
          #tabeho .sec05 .inner .course .attention_list li {
            text-align: left; }
        #tabeho .sec05 .inner .course.n01 {
          display: block;
          background-size: contain;
          width: 920px;
          height: 896px;
          background-image: url("../img/sec05_course01_bg.png");
          overflow: hidden;
          background-repeat: no-repeat; }
        #tabeho .sec05 .inner .course.n02 {
          display: block;
          background-size: contain;
          width: 920px;
          height: 896px;
          background-image: url("../img/sec05_course02_bg.png");
          overflow: hidden;
          background-repeat: no-repeat;
          margin-top: 24px; }
          #tabeho .sec05 .inner .course.n02 h4 {
            margin-top: 26px; }
            #tabeho .sec05 .inner .course.n02 h4 .type {
              top: -6px; }
          #tabeho .sec05 .inner .course.n02 .description {
            text-shadow: 0px 0px 8px #7c7c7c; }
          #tabeho .sec05 .inner .course.n02 .text02 {
            margin-top: 66px; }
        #tabeho .sec05 .inner .course.n03 {
          display: block;
          background-size: contain;
          width: 920px;
          height: 896px;
          background-image: url("../img/sec05_course03_bg.png");
          overflow: hidden;
          background-repeat: no-repeat;
          margin-top: 24px; }
          #tabeho .sec05 .inner .course.n03 h4 {
            margin-top: 21px; }
            #tabeho .sec05 .inner .course.n03 h4 .type {
              top: -1px; }
          #tabeho .sec05 .inner .course.n03 .description {
            text-shadow: 0px 0px 8px #8b6534; }
  #tabeho .sec06 {
    position: relative;
    margin: 0 auto; }
    #tabeho .sec06 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0; }
      #tabeho .sec06 .inner .attention {
        margin-top: 44px;
        font-size: 18px;
        line-height: 1.333;
        text-align: center; }
      #tabeho .sec06 .inner .attention_list {
        font-size: 14px;
        line-height: 1.714;
        width: 680px;
        margin: 14px auto 0;
        letter-spacing: -0.05rem; }
        #tabeho .sec06 .inner .attention_list li {
          text-align: left;
          text-indent: -0.7rem;
          padding-left: 0.7rem; }
  #tabeho .backtop a:hover {
    color: #7a602c;
    text-decoration: inherit; }

#splush {
  width: 100%;
  height: 100%; }
  #splush iframe {
    width: 100%;
    height: 100%; }

#cboxOverlay {
  background-color: #fff; }

@-webkit-keyframes animationFrames {
  0% {
    -webkit-transform: scaleX(0) scaleY(0);
            transform: scaleX(0) scaleY(0); }
  70% {
    -webkit-transform: scaleX(1.2) scaleY(1.2);
            transform: scaleX(1.2) scaleY(1.2); }
  100% {
    -webkit-transform: scaleX(1) scaleY(1);
            transform: scaleX(1) scaleY(1); } }

@keyframes animationFrames {
  0% {
    -webkit-transform: scaleX(0) scaleY(0);
            transform: scaleX(0) scaleY(0); }
  70% {
    -webkit-transform: scaleX(1.2) scaleY(1.2);
            transform: scaleX(1.2) scaleY(1.2); }
  100% {
    -webkit-transform: scaleX(1) scaleY(1);
            transform: scaleX(1) scaleY(1); } }
#checklist {
  color: #333;
  padding-top: 0;
  margin-top: 80px;
  background: url(../img/pattern.png) repeat; }
  #checklist a, #checklist img {
    display: block; }
  #checklist figure {
    margin: 0; }
  #checklist .red {
    color: #d40000; }
  #checklist a:hover {
    color: #e00713;
    text-decoration: underline;
    opacity: 1; }
  #checklist a.btn:hover {
    opacity: 0.6; }
  #checklist .sec01 {
    padding-top: 50px; }
    #checklist .sec01 .inner {
      position: relative;
      width: 1024px;
      margin: 0 auto 0; }
      #checklist .sec01 .inner h3 {
        margin: 0 auto;
        width: 358px; }
      #checklist .sec01 .inner .description {
        text-align: center;
        font-size: 18px;
        line-height: 2;
        margin-top: 21px;
        letter-spacing: -0.05rem; }
      #checklist .sec01 .inner .area_list_wrapper {
        width: 984px;
        box-sizing: border-box;
        background: #fff;
        border: 2px solid #e0e0e0;
        margin: 24px auto 0;
        padding: 21px 0px 21px 47px; }
        #checklist .sec01 .inner .area_list_wrapper .area_data {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          margin-bottom: 14px; }
          #checklist .sec01 .inner .area_list_wrapper .area_data p {
            font-size: 24px;
            line-height: 1.667;
            font-weight: bold;
            white-space: nowrap; }
          #checklist .sec01 .inner .area_list_wrapper .area_data ul {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
            margin-left: 29px;
            margin-top: 4px; }
            #checklist .sec01 .inner .area_list_wrapper .area_data ul li {
              font-size: 18px;
              margin-right: 15px; }
              #checklist .sec01 .inner .area_list_wrapper .area_data ul li a {
                position: relative;
                display: table;
                padding: 0 12px;
                height: 36px;
                border: 1px solid #d5d5d5;
                border-radius: 6px;
                box-sizing: border-box; }
                #checklist .sec01 .inner .area_list_wrapper .area_data ul li a:hover, #checklist .sec01 .inner .area_list_wrapper .area_data ul li a.current {
                  text-decoration: none;
                  color: #fff;
                  background: #db0713;
                  border-color: #db0713; }
                #checklist .sec01 .inner .area_list_wrapper .area_data ul li a span {
                  position: relative;
                  display: table-cell;
                  width: 100%;
                  height: 100%;
                  vertical-align: middle;
                  text-align: center; }
        #checklist .sec01 .inner .area_list_wrapper .reset_btn {
          position: absolute;
          right: 56px;
          bottom: 37px;
          display: table;
          padding: 0 12px;
          height: 36px;
          border: 1px solid #d5d5d5;
          border-radius: 6px;
          box-sizing: border-box;
          font-size: 18px; }
          #checklist .sec01 .inner .area_list_wrapper .reset_btn:hover {
            text-decoration: none;
            color: #fff;
            background: #db0713;
            border-color: #db0713; }
          #checklist .sec01 .inner .area_list_wrapper .reset_btn span {
            display: table-cell;
            width: 100%;
            height: 100%;
            vertical-align: middle;
            text-align: center; }
  #checklist .sec02 .inner {
    position: relative;
    width: 1024px;
    margin: 0 auto 0; }
    #checklist .sec02 .inner .prefectures_box {
      width: 891px;
      box-sizing: border-box;
      background: #fff;
      border: 1px solid #e0e0e0;
      margin: 40px auto 0;
      padding: 19px 47px; }
      #checklist .sec02 .inner .prefectures_box p {
        font-size: 24px;
        line-height: 1.667;
        font-weight: bold;
        white-space: nowrap; }
      #checklist .sec02 .inner .prefectures_box table {
        width: 100%;
        margin-top: 8px; }
        #checklist .sec02 .inner .prefectures_box table tr {
          border-top: 1px solid #ededed; }
          #checklist .sec02 .inner .prefectures_box table tr .store {
            font-size: 18px;
            line-height: 2.333;
            width: 280px;
            vertical-align: middle; }
            #checklist .sec02 .inner .prefectures_box table tr .store a {
              display: inline-block; }
          #checklist .sec02 .inner .prefectures_box table tr .regular {
            width: 58px;
            vertical-align: middle; }
          #checklist .sec02 .inner .prefectures_box table tr .special {
            width: 58px;
            vertical-align: middle; }
          #checklist .sec02 .inner .prefectures_box table tr .premium {
            width: 58px;
            vertical-align: middle; }
          #checklist .sec02 .inner .prefectures_box table tr .text {
            font-size: 18px;
            line-height: 1.222;
            padding-left: 20px;
            vertical-align: middle;
            padding-top: 8px;
            padding-bottom: 8px; }
            #checklist .sec02 .inner .prefectures_box table tr .text span {
              display: block; }
              #checklist .sec02 .inner .prefectures_box table tr .text span small {
                font-size: 14px; }
          #checklist .sec02 .inner .prefectures_box table tr .reserve {
            vertical-align: middle;
            padding-left: 20px; }
            #checklist .sec02 .inner .prefectures_box table tr .reserve a {
              background: #000;
              border-radius: 6px;
              width: 107px;
              height: 30px;
              color: #fff;
              display: table;
              text-align: center; }
              #checklist .sec02 .inner .prefectures_box table tr .reserve a:hover {
                text-decoration: none;
                opacity: 0.6; }
              #checklist .sec02 .inner .prefectures_box table tr .reserve a span {
                display: table-cell;
                height: 100%;
                width: 100%;
                text-align: center;
                vertical-align: middle; }
