@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; }

/* 
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: 0.133vw; }

[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: 0.133vw 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: 2.133vw;
  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: 0vw;
  top: -1.333vw;
  width: 0vw;
  height: 0vw; }

.container {
  display: none; }

/*------------------------------------------
 any
------------------------------------------*/
#preload-wrapper {
  display: none; }

.hidding {
  display: none !important; }

html {
  font-size: 100%; }

body {
  -webkit-text-size-adjust: 100%;
  width: 100vw; }

#isSize {
  top: 0vw; }

.pcElm {
  display: none !important; }

a[href]:not(.img-hover):hover {
  opacity: 1; }

.fix_open {
  position: fixed;
  top: 5.466vw;
  left: 2.666vw;
  z-index: 1;
  width: 12.8vw; }

.fix_open.hidding {
  display: none; }

.sp_fix_nav {
  display: none;
  position: fixed;
  top: 0;
  z-index: 101;
  width: 100vw;
  height: 100%;
  background: #ffffff; }

.sp_fix_nav.open {
  display: block; }

.sp_fix_nav .inner {
  padding: 11.466vw 0; }

.sp_fix_nav .inner .fix_close {
  width: 4.266vw;
  display: block;
  position: absolute;
  top: 5.6vw;
  left: 5.6vw; }

.sp_fix_nav .inner ul li {
  padding: 0vw 28vw;
  position: relative; }

.sp_fix_nav .inner ul li a {
  font-size: 3.733vw;
  line-height: 3.714;
  position: relative;
  display: block; }

.sp_fix_nav .inner ul li a[href="#course01"] {
  color: #651105;
  font-weight: bold; }

.sp_fix_nav .inner ul li a[href="#course02"] {
  color: #707070;
  font-weight: bold; }

.sp_fix_nav .inner ul li a[href="#course03"] {
  color: #aa6825;
  font-weight: bold; }

.sp_fix_nav .inner ul li a:after {
  content: "";
  display: block;
  background-size: contain;
  width: 2.666vw;
  height: 2.133vw;
  background-image: url("../img/sp/arrow.png");
  overflow: hidden;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  margin-top: -1.066vw;
  right: 0; }

.sp_fix_nav .inner ul li a[href="#course01"]:after {
  background-image: url("../img/sp/arrow_course01.png"); }

.sp_fix_nav .inner ul li a[href="#course02"]:after {
  background-image: url("../img/sp/arrow_course02.png"); }

.sp_fix_nav .inner ul li a[href="#course03"]:after {
  background-image: url("../img/sp/arrow_course03.png"); }

.sp_fix_nav .inner ul li:after {
  content: "";
  position: absolute;
  background: url(../img/sp/fix_menu_line.jpg) repeat-x;
  width: 100%;
  height: 0.266vw;
  display: block;
  left: 0;
  bottom: 0.133vw; }

.sp_fix_nav .inner ul li:last-child:after {
  content: none; }

#tabeho {
  background: url(../img/pattern.png) repeat;
  background-size: 11%; }

#tabeho img {
  width: 100%;
  display: block; }

#tabeho figure {
  margin: 0; }

#tabeho .fix-nav {
  display: none; }

#tabeho .wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 0vw; }

#tabeho .sec01 {
  position: relative;
  padding-top: 0vw; }

#tabeho .sec01 img {
  margin: 0 auto;
  display: block; }

#tabeho .sec01 .web {
  position: absolute;
  top: 66.933vw;
  right: 3.2vw;
  width: 24.666vw;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0); }

#tabeho .sec01 .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 {
  position: relative;
  padding-top: 8.799vw; }

#tabeho .sec02 .inner {
  margin: 0 auto; }

#tabeho .sec02 .inner h3 {
  width: 33.866vw;
  margin: 0 auto; }

#tabeho .sec02 .inner .description {
  text-align: center;
  font-size: 3.733vw;
  line-height: 1.714;
  margin-top: 3.466vw;
  letter-spacing: -0.05rem; }

#tabeho .sec02 .inner .description b {
  font-size: 4.266vw;
  line-height: 1.5;
  position: relative;
  display: inline-block; }

#tabeho .sec02 .inner .description b:before {
  content: "";
  width: 92%;
  height: 0.4vw;
  /* display: block; */
  position: absolute;
  left: 4%;
  bottom: 0;
  background: #e00713; }

#tabeho .sec02 .inner .btn {
  width: 68.266vw;
  margin: 6.266vw auto 0;
  display: block; }

#tabeho .sec02 .inner .video-wrapper {
  width: 77.733vw;
  height: 43.733vw;
  box-sizing: border-box;
  margin: 13.333vw auto 0; }

#tabeho .sec02 .inner .video-wrapper iframe {
  width: 100%;
  height: 100%; }

#tabeho .sec03 {
  display: block;
  background-size: contain;
  width: 100vw;
  height: 269.333vw;
  background-image: url("../img/sp/sec03_bg.png");
  overflow: hidden;
  background-repeat: no-repeat;
  position: relative;
  margin-top: 13.333vw; }

#tabeho .sec03 .inner {
  padding: 0vw 0 0vw; }

#tabeho .sec03 .inner h3 {
  width: 33.333vw;
  margin: 9.6vw auto 0;
  position: relative; }

#tabeho .sec03 .inner h3 .web {
  width: 11.733vw;
  display: block;
  position: absolute;
  margin-top: -2.4vw;
  margin-left: -15.733vw; }

#tabeho .sec03 .inner .description {
  text-align: center;
  font-size: 3.733vw;
  line-height: calc(40/28);
  letter-spacing: -0.05rem;
  width: 80vw;
  margin: 4.666vw auto 0; }

#tabeho .sec03 .inner .description .line span {
  position: relative; }

#tabeho .sec03 .inner .description .line span:before {
  content: "";
  width: 100%;
  height: 0.266vw;
  /* display: block; */
  position: absolute;
  left: 0%;
  bottom: -0.4vw;
  background: #e00713; }

#tabeho .sec03 .inner .howto_list {
  margin-top: 5.466vw; }

#tabeho .sec03 .inner .howto_list li {
  position: relative;
  background: #fff;
  border: 0.266vw solid #e3e0d3;
  border-radius: 3.2vw;
  width: 85.333vw;
  margin: 0 auto;
  padding: 6.266vw 0 8.133vw;
  text-align: center; }

#tabeho .sec03 .inner .howto_list li .text {
  width: 58.266vw;
  margin: 0 auto 0; }

#tabeho .sec03 .inner .howto_list li .text02 {
  font-size: 3.2vw;
  line-height: calc(24/24);
  display: inline-block;
  margin-top: 3.066vw; }

#tabeho .sec03 .inner .howto_list li .qr {
  width: 45.333vw;
  margin: 4.533vw 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: 3.333vw auto 0; }

#tabeho .sec03 .inner .howto_list li .btn_list .btn {
  width: 48vw;
  display: block; }

#tabeho .sec03 .inner .howto_list li:last-child {
  margin-top: 2.133vw; }

#tabeho .sec03 .inner .howto_list li:last-child .text {
  width: 31.466vw; }

#tabeho .sec03 .inner .howto_list li:last-child .app {
  width: 45.333vw;
  margin: 4.666vw auto 0; }

#tabeho .sec03 .inner .howto_list li:last-child .btn_list {
  margin-top: 3.2vw; }

#tabeho .sec03 .inner .howto_list li:last-child .btn_list .btn {
  width: 35.733vw; }

#tabeho .sec03 .inner .howto_list li:last-child .btn_list .btn:nth-child(n+2) {
  margin-left: 2.133vw; }

#tabeho .sec03 .inner .attention {
  margin-top: 8.133vw;
  font-size: 4.266vw;
  line-height: 0.75;
  text-align: center; }

#tabeho .sec03 .inner .attention_list {
  font-size: 3.2vw;
  line-height: 1.333;
  width: 80vw;
  margin: 4.399vw auto 0;
  text-align: left; }

#tabeho .sec03 .inner .attention_list li {
  text-indent: -3.2vw;
  padding-left: 3.2vw;
  margin-top: 1.2vw; }

#tabeho .sec03 .inner .attention_list li:first-child {
  margin-top: 0; }

#tabeho .sec04 {
  position: relative; }

#tabeho .sec04 .inner {
  position: relative;
  border: 0.266vw solid #cabe85;
  background: #fff;
  border-radius: 3.2vw;
  box-sizing: border-box;
  padding: 6.933vw 0 10.266vw;
  width: 91.466vw;
  margin: 8.533vw auto 0; }

#tabeho .sec04 .inner h3 {
  width: 71.2vw;
  margin-left: 12vw; }

#tabeho .sec04 .inner .howto {
  width: 62.4vw;
  margin: 3.866vw auto 0; }

#tabeho .sec05 {
  position: relative;
  margin-top: 15.466vw; }

#tabeho .sec05 .inner {
  position: relative; }

#tabeho .sec05 .inner h3 {
  width: 85.733vw;
  margin: 0 auto 0; }

#tabeho .sec05 .inner .description {
  text-align: center;
  font-size: 3.733vw;
  line-height: calc(40/28);
  letter-spacing: -0.05rem;
  margin: 4.666vw auto 0; }

#tabeho .sec05 .inner .course {
  margin: 5.2vw auto 0;
  position: relative; }

#tabeho .sec05 .inner .course h4 {
  width: 50.533vw;
  margin-top: 5.866vw;
  margin-left: auto;
  margin-right: auto; }

#tabeho .sec05 .inner .course h4 .type {
  width: 21.733vw;
  position: absolute;
  top: 5.333vw;
  right: 1.733vw; }

#tabeho .sec05 .inner .course .description {
  font-size: 3.2vw;
  line-height: 1.5;
  font-weight: bold;
  text-shadow: 0vw 0vw 1.066vw #7a2c0f;
  color: #ffffff;
  margin-top: 2.533vw; }

#tabeho .sec05 .inner .course .drink {
  width: 21.6vw;
  position: absolute;
  right: 1.333vw;
  top: 26.4vw; }

#tabeho .sec05 .inner .course .text02 {
  width: 51.2vw;
  margin-top: 16.533vw;
  margin-left: 12vw; }

#tabeho .sec05 .inner .course .btn {
  width: 68.266vw;
  display: block;
  margin: 4.8vw auto 0; }

#tabeho .sec05 .inner .course .price_list {
  position: relative;
  margin-top: 4.933vw; }

#tabeho .sec05 .inner .course .price_list li {
  text-align: center; }

#tabeho .sec05 .inner .course .price_list li .price_type {
  font-size: 4.8vw;
  line-height: 2.056;
  font-weight: bold; }

#tabeho .sec05 .inner .course .price_list li .price_type small {
  font-size: 3.2vw;
  line-height: 3.083; }

#tabeho .sec05 .inner .course .price_list li .price {
  font-size: 6.666vw;
  line-height: 1.48;
  font-weight: bold; }

#tabeho .sec05 .inner .course .price_list li .unit {
  font-size: 4.8vw;
  line-height: 2.056;
  font-weight: bold; }

#tabeho .sec05 .inner .course .price_list li .tax {
  font-size: 3.466vw;
  line-height: 2.846;
  font-weight: bold; }

#tabeho .sec05 .inner .course .price_list li .attention {
  font-size: 3.2vw;
  line-height: 0.5;
  margin-bottom: 1.866vw; }

#tabeho .sec05 .inner .course .attention_list {
  font-size: 2.666vw;
  line-height: 1.4;
  width: 71.733vw;
  margin: 5.066vw auto 0;
  letter-spacing: -0.05rem; }

#tabeho .sec05 .inner .course .attention_list li {
  text-align: left;
  margin-top: 0.666vw; }

#tabeho .sec05 .inner .course .attention_list li:first-child {
  margin-top: 0; }

#tabeho .sec05 .inner .course.n01 {
  display: block;
  background-size: contain;
  width: 91.466vw;
  height: 177.6vw;
  background-image: url("../img/sp/sec05_course01_bg.png");
  overflow: hidden;
  background-repeat: no-repeat; }

#tabeho .sec05 .inner .course.n02 {
  display: block;
  background-size: contain;
  width: 91.466vw;
  height: 177.6vw;
  background-image: url("../img/sp/sec05_course02_bg.png");
  overflow: hidden;
  background-repeat: no-repeat;
  margin-top: 4.266vw; }

#tabeho .sec05 .inner .course.n02 h4 {
  width: 51.866vw;
  margin-top: 6.4vw; }

#tabeho .sec05 .inner .course.n02 .description {
  text-shadow: 0vw 0vw 1.066vw #7c7c7c;
  margin-top: 5.333vw; }

#tabeho .sec05 .inner .course.n02 .text02 {
  width: 52.266vw;
  margin-left: 11.333vw;
  margin-top: 18.4vw; }

#tabeho .sec05 .inner .course.n03 {
  display: block;
  background-size: contain;
  width: 91.466vw;
  height: 177.6vw;
  background-image: url("../img/sp/sec05_course03_bg.png");
  overflow: hidden;
  background-repeat: no-repeat;
  margin-top: 4.266vw; }

#tabeho .sec05 .inner .course.n03 h4 {
  margin-top: 5.466vw; }

#tabeho .sec05 .inner .course.n03 .description {
  text-shadow: 0vw 0vw 1.066vw #8b6534; }

#tabeho .sec05 .inner .course.n03 .text02 {
  width: 51.333vw;
  margin-left: 11.866vw;
  margin-top: 16.4vw; }

#tabeho .sec06 {
  position: relative;
  margin: 0 auto; }

#tabeho .sec06 .inner {
  margin: 0 auto;
  position: relative; }

#tabeho .sec06 .inner .attention {
  margin-top: 10.266vw;
  font-size: 4.266vw;
  line-height: 0.75;
  text-align: center; }

#tabeho .sec06 .inner .attention_list {
  font-size: 3.2vw;
  line-height: 1.333;
  width: 91.2vw;
  margin: 4.399vw auto 0;
  letter-spacing: -0.05rem; }

#tabeho .sec06 .inner .attention_list li {
  text-align: left;
  text-indent: -3.2vw;
  padding-left: 3.2vw;
  margin-top: 1.066vw; }

#tabeho .sec06 .inner .attention_list li:first-child {
  margin-top: 0; }

#splush {
  width: 96vw;
  height: 56.25vw;
  margin: 21.875vw 2vw 0; }

#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 {
  background: url(../img/pattern.png) repeat;
  background-size: 11%; }

#checklist img {
  width: 100%;
  display: block; }

#checklist figure {
  margin: 0; }

#checklist .wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 9.333vw; }

#checklist .sec01 {
  position: relative;
  padding-top: 8vw; }

#checklist .sec01 h3 {
  width: 66.666vw;
  margin: 0 auto; }

#checklist .sec01 .description {
  text-align: center;
  font-size: 3.733vw;
  line-height: 1.5;
  margin-top: 4.533vw;
  letter-spacing: -0.05rem; }

#checklist .sec01 .area_list_wrapper {
  width: 94.666vw;
  box-sizing: border-box;
  background: #fff;
  border: 0.266vw solid #e0e0e0;
  margin: 4.266vw auto 0;
  padding: 4.266vw 3.599vw 16vw; }

#checklist .sec01 .area_list_wrapper .area_data {
  margin-top: 3.333vw; }

#checklist .sec01 .area_list_wrapper .area_data:first-child {
  margin-top: 0vw; }

#checklist .sec01 .area_list_wrapper .area_data p {
  font-size: 4.8vw;
  line-height: 1.111;
  font-weight: bold;
  white-space: nowrap;
  margin-bottom: 2.8vw; }

#checklist .sec01 .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: 0.4vw; }

#checklist .sec01 .area_list_wrapper .area_data ul li {
  font-size: 4.266vw;
  line-height: 1.714;
  margin-right: 2.8vw;
  margin-bottom: 2.8vw; }

#checklist .sec01 .area_list_wrapper .area_data ul li a {
  position: relative;
  display: table;
  padding: 0 2.666vw;
  height: 6.4vw;
  border: 0.266vw solid #d5d5d5;
  border-radius: 0.8vw;
  box-sizing: border-box; }

#checklist .sec01 .area_list_wrapper .area_data ul li a.current {
  text-decoration: none;
  color: #fff;
  background: #db0713;
  border-color: #db0713; }

#checklist .sec01 .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 .area_list_wrapper .reset_btn {
  position: absolute;
  right: 5.6vw;
  bottom: 4.266vw;
  display: table;
  padding: 0 2.666vw;
  height: 6.4vw;
  border: 0.266vw solid #d5d5d5;
  border-radius: 0.8vw;
  box-sizing: border-box;
  font-size: 4.266vw;
  line-height: 1.714; }

#checklist .sec01 .area_list_wrapper .reset_btn span {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-align: center; }

#checklist .sec02 .inner {
  position: relative; }

#checklist .sec02 .inner .prefectures_box {
  width: 97.333vw;
  box-sizing: border-box;
  background: #fff;
  border: 0.266vw solid #e0e0e0;
  margin: 7.866vw auto 0;
  padding: 3.066vw 3.599vw; }

#checklist .sec02 .inner .prefectures_box p {
  font-size: 4vw;
  line-height: 1.333;
  font-weight: bold;
  white-space: nowrap; }

#checklist .sec02 .inner .prefectures_box table {
  width: 100%;
  margin-top: 1.066vw; }

#checklist .sec02 .inner .prefectures_box table tr.store_name {
  border-top: 0.266vw solid #ededed; }

#checklist .sec02 .inner .prefectures_box table tr .store {
  font-size: 4.266vw;
  line-height: 1.5;
  width: 34.133vw;
  vertical-align: middle;
  padding-top: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .regular {
  width: 7.733vw;
  vertical-align: middle;
  padding-top: 1.066vw;
  padding-bottom: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .special {
  width: 7.733vw;
  vertical-align: middle;
  padding-top: 1.066vw;
  padding-bottom: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .premium {
  width: 7.733vw;
  vertical-align: middle;
  padding-top: 1.066vw;
  padding-bottom: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .text {
  font-size: 3.733vw;
  padding-left: 2.666vw;
  vertical-align: middle;
  padding-top: 1.066vw;
  padding-bottom: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .text span {
  display: block; }

#checklist .sec02 .inner .prefectures_box table tr .text span small {
  font-size: 2.666vw; }

#checklist .sec02 .inner .prefectures_box table tr .reserve {
  vertical-align: middle;
  padding-right: 1.333vw;
  padding-bottom: 2.666vw;
  width: 22vw;
  font-size: 3.733vw;
  line-height: 1.714; }

#checklist .sec02 .inner .prefectures_box table tr .reserve a {
  background: #000;
  border-radius: 0.8vw;
  width: 100%;
  height: 6.4vw;
  color: #fff;
  display: table;
  text-align: center; }

#checklist .sec02 .inner .prefectures_box table tr .reserve a span {
  display: table-cell;
  height: 100%;
  width: 100%;
  text-align: center;
  vertical-align: middle; }

#checklist .sec02 .inner .prefectures_box table tr.reg_only .special, #checklist .sec02 .inner .prefectures_box table tr.reg_only .premium {
  display: none; }

#checklist .sec02 .inner .prefectures_box table tr.tabeho_none .regular, #checklist .sec02 .inner .prefectures_box table tr.tabeho_none .special, #checklist .sec02 .inner .prefectures_box table tr.tabeho_none .premium {
  display: none; }

#checklist .pagetop {
  position: fixed !important;
  right: 4vw;
  bottom: 4vw !important; }

#checklist .pagetop.fit {
  position: absolute !important;
  bottom: 10.933vw !important; }

.fix_open {
  margin-top: 64px; }
