@charset "utf-8";
.information_alert{
  position: fixed;
  top: -50px;
  left: 0;
  background-color: #fff100;
  width: 100%;
  padding: 10px 0;
  color: #008c20;
  text-align: center;
  z-index: 9999;
  }
.information_alert_txt{
  margin: 0 50px;
  }
.information_alert .close_btn{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: inline-block;
  background-color: #008c20;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: auto 15px;
  font-size: 16px;
  color: #fff100;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  cursor: pointer;
  }
.information_alert_txt .btn{
  position: relative;
  display: inline-block;
  width: 120px;
  height: 18px;
  padding: 0;
  margin: 0 15px;
  font-size: 12px;
  color: #fff;
  line-height: 18px;
  text-align: center;
  border-radius: 18px;
  -webkit-border-radius: 18px;
  -moz-border-radius: 18px;
  }
.information_alert_txt .btn::after{
  width: 7px;
  padding-bottom: 9px;
  margin: auto 7px;
  }
@media screen and (max-width:750px){
  .information_alert{
    padding: 2% 0;
    }
  .information_alert_txt{
    margin: 0 5.333%;
    line-height: 1.4;
    }
  .information_alert .close_btn{
    width: 4.333vw;
    height: 4.333vw;
    padding: 0;
    margin: auto 2%;
    font-size: 3.467vw;
    line-height: 4.333vw;
    }
  .information_alert_txt .btn{
    width: auto;
    height: 4.333vw;
    padding: 0 4.667vw;
    margin: 0 4.667vw;
    font-size: 2.667vw;
    line-height: 4.333vw;
    border-radius: 4.333vw;
    -webkit-border-radius: 4.333vw;
    -moz-border-radius: 4.333vw;
    }
}

/*  トップ
==================================*/
.mainvisual{
  position: relative;
  padding-bottom: 706px;
  overflow: hidden;
  }
.mainvisual_bg {
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:1568px;
  background: url("../img/top/main_bg.png") center;
  background-size:784px 725px;
  -webkit-animation:coverLoop linear 120s infinite;
  animation:coverLoop linear 120s infinite;
  z-index: 1;
  }
.mainvisual_catch{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 525px;
  height: 525px;
  margin: auto;
  z-index: 2;
  }
.mainvisual_catch_lnk{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 250px;
  margin: 0 auto 60px;
  }
.mainvisual_catch_lnk .btn{
  font-size: 16px;
  text-align: center;
  }
.mainvisual_catch_lnk .btn::after{
  width: 11px;
  padding-bottom: 15px;
  margin: auto 25px;
  }

@media screen and (max-width:750px){
  .mainvisual{
    padding-bottom: 196.667%;
    }
  .mainvisual_bg {
    height: 1450px;
    background-size:784px 725px;
    }
  .mainvisual_catch{
    width: 79.6%;
    height: 0;
    padding-bottom: 162.267%;
    margin: auto;
    z-index: 2;
    }
  .mainvisual_catch_lnk{
    width: 70.519%;
    margin-bottom: 21.273%;
    }
  .mainvisual_catch_lnk .btn{
    font-size: 3.333vw;
    padding: 4.667vw;
    }
  .mainvisual_catch_lnk .btn::after{
    width: 2.667vw;
    padding-bottom: 3.2vw;
    margin: auto 5.667vw;
    }
}

@-webkit-keyframes coverLoop {
 0% {
  -webkit-transform:translateY(0);
  transform:translateY(0)
 }
 100% {
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%)
 }
}
@keyframes coverLoop {
 0% {
  -webkit-transform:translateY(0);
  transform:translateY(0)
 }
 100% {
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%)
 }
}

.instagram{
	position: relative;
  background-color: #efefef;
	width: 100%;
	height: auto;
  padding: 100px 0 140px;
  }
.instagram_wrap{
  width: 960px;
  margin: 0 auto;
  }
.instagram h2{
  margin-bottom: 60px;
  font-size: 32px;
  color: #505050;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.instagram h2 .en{
  display: inline-block;
  margin-bottom: 30px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: #008c20;
  letter-spacing: 0.08em;
  text-align: center;
  }
.instagram_list{
  font-size: 0;
  letter-spacing: 0;
  }
.instagram_list_photo{
  display: inline-block;
  width: 190px;
  height: 190px;
  margin: 1px;
  vertical-align: top;
  }
.instagram_list_photo a{
  display: block;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  }

@media screen and (max-width:750px){
  .instagram{
    padding: 7.333% 0 0;
    overflow: hidden;
    }
  .instagram_wrap{
    width: 100.8%;
    margin: 0 -0.4%;
    }
  .instagram h2{
    margin-bottom: 7.333%;
    font-size: 5.067vw;
    }
  .instagram h2 .en{
    margin-bottom: 2.667%;
    font-size: 3.733vw;
    }
  .instagram_list_photo{
    width: 32.804%;
    height: auto;
    margin: 0.198%;
    }
  .instagram_list_photo a{
    display: block;
    padding-bottom: 100%;
    }
  .instagram_list_photo:last-child{
    display: none;
    }
}

.goodpoint{
	position: relative;
  padding: 60px 0 110px;
  }
.goodpoint_wrap{
  width: 960px;
  margin: 0 auto;
  }
.goodpoint h2{
  margin-bottom: 60px;
  font-size: 22px;
  color: #505050;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.goodpoint h2 i{
  display: inline-block;
  -webkit-transform: skewX(-10deg);
  -moz-transform: skewX(-10deg);
  -o-transform: skewX(-10deg);
  transform: skewX(-10deg);
  }
.goodpoint h2 strong{
  display: inline-block;
  margin-top: 15px;
  font-size: 42px;
  color: #505050;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.goodpoint h2 .en{
  display: inline-block;
  margin-top: 20px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  color: #008c20;
  letter-spacing: 0.08em;
  text-align: center;
  }
.goodpoint_list{
  margin-bottom: 60px;
  font-size: 0;
  text-align: center;
  }
.goodpoint_list_img{
  position: relative;
  display: inline-block;
  width: 294px;
  margin: 0 13px;
  }
.goodpoint_list_txt{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  margin-top: 315px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;  
  font-size: 14px;
  color: #fff;
  line-height: 1.621;
  text-align: center;
  }
.goodpoint_list_txt .cap{
  display: block;
  font-size: 10px;
  }
.goodpoint_text{
  margin-bottom: 25px;
  font-size: 19px;
  line-height: 1;
  text-align: center;
  }
.goodpoint_lnk{
  width: 360px;
  margin: 0 auto;
  text-align: center;
  }

@media screen and (max-width:750px){
  .goodpoint{
    padding: 14.667% 0 18.667%;
    }
  .goodpoint_wrap{
    width: 100%;
    margin: 0 auto;
    }
  .goodpoint h2{
    margin-bottom: 8%;
    font-size: 4.667vw;
    }
  .goodpoint h2 strong{
    margin-top: 3.333%;
    font-size: 9.333vw;
    }
  .goodpoint h2 .en{
    margin-top: 4%;
    font-size: 3.733vw;
    }
  .goodpoint_list{
    width: 77.333%;
    margin: 0 auto 16%!important;
    }
  .goodpoint_list_img{
    width: 100%;
    margin: 0 0.667vw;
    }
  .goodpoint_list_txt{
    margin-top: 107.266%;
    font-size: 3.67vw;
    }
  .goodpoint_list_txt .cap{
    font-size: 2.621vw;
    }
  .goodpoint_text{
    margin-bottom: 3.333%;
    font-size: 4.267vw;
    }
  .goodpoint_lnk{
    width: 58.667%;
    }

  .goodpoint_list .slick-prev,
  .goodpoint_list .slick-next {
    width: 5.333vw;
    height: 5.333vw;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20style%3D%22fill%3A%23fff%3B%22%2F%3E%3Cpath%20class%3D%22cls-3%22%20d%3D%22M18.31%2C11.11l8%2C8.39-8%2C8.38%22%20style%3D%22stroke%3A%23008c20%3Bstroke-width%3A3px%3Bfill%3Atransparent%3B%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain;
    }
  .goodpoint_list .slick-prev {
    left: -2vw;
    padding-bottom: 5.333vw;
    transform: scale(-1, 1);
    }
  .goodpoint_list .slick-next {
    right: -2vw;
    padding-bottom: 5.333vw;
    }

  .goodpoint_list .slick-dots {
    margin-bottom: -8.621%;
    }
  .goodpoint_list .slick-dots li {
    width: 2.8%;
    height: 2.8vw;
    margin: 0 2.586%;
    }
  .goodpoint_list .slick-dots li button:before {
    font-size: 2.8vw;
    color: #bbb;
    }
  .goodpoint_list .slick-dots li.slick-active button:before {
    color: #008c20;
    }
}

.register{
	position: relative;
  background-color: #efefef;
	width: 100%;
	height: auto;
  padding: 100px 0 140px;
  }
.register_wrap{
  width: 960px;
  margin: 0 auto;
  font-size: 0;
  text-align: center;
  }
.register h2{
  margin-bottom: 60px;
  font-size: 32px;
  color: #505050;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.register h2 .en{
  display: inline-block;
  margin-bottom: 30px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: #008c20;
  letter-spacing: 0.08em;
  text-align: center;
  }
.register_lnk{
  display: inline-block;
  width: 320px;
  margin: 0 15px;
  }

@media screen and (max-width:750px){
  .register{
    padding: 13.333% 0 14.667%;
    }
  .register_wrap{
    width: 100%;
    }
  .register h2{
    margin-bottom: 7.333%;
    font-size: 5.067vw;
    }
  .register h2 .en{
    margin-bottom: 2.667%;
    font-size: 3.733vw;
    }
  .register_lnk{
    width: 58.667%;
    margin: 0 auto 2.667%;
    }
}

.faq{
	position: relative;
	width: 100%;
	height: auto;
  padding: 100px 0 140px;
  }
.faq_wrap{
  width: 960px;
  margin: 0 auto;
  }
.faq h2{
  margin-bottom: 60px;
  font-size: 32px;
  color: #505050;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.faq h2 .en{
  display: inline-block;
  margin-bottom: 30px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: #008c20;
  letter-spacing: 0.08em;
  text-align: center;
  }
.faq_list{
  border-bottom: solid 2px #ddd;
  width: 800px;
  margin: 0 auto 70px;
  }
.faq_list_fq{
  position: relative;
  border-top: solid 2px #ddd;
  padding: 30px 0;
  font-size: 20px;
  cursor: pointer;
  }
.faq_list_fq:first-child{
  border-top: none;
  }
.faq_list_fq::before,
.faq_list_fq::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  background-color: #aaa;
  width: 30px;
  height: 0;
  padding-bottom: 3px;
  margin: auto;
  }
.faq_list_fq::after{
  transform: rotate(90deg);
  transition: 0.3s;
  transition-property: transform;
  }
.faq_list_fq.open::after{
  transform: rotate(0);
  }
.faq_list_fa{
  position: relative;
  display: none;
  padding-bottom: 30px;
  font-size: 17px;
  line-height: 1.6;
  }
.faq_list_fa .cap {
  color: #828282;
  }
.faq_list_fa figure {
  margin-top: 15px;
  }
.faq_list_fa img {
  width: auto;
  }
.faq_list_fa [class*="column-image"] {
  margin-top: 15px;
  }
.faq_lnk{
  width: 300px;
  margin: 0 auto;
  text-align: center;
  }
.faq_lnk .btn::after {
  margin: auto 20px;
  }

@media screen and (max-width:750px){
  .faq{
    padding: 13.333% 0 14.667%;
    }
  .faq_wrap{
    width: 100%;
    }
  .faq h2{
    margin-bottom: 7.333%;
    font-size: 5.067vw;
    }
  .faq h2 .en{
    margin-bottom: 2.667%;
    font-size: 3.733vw;
    }
  
  .faq_list{
    border-bottom: solid 1px #ddd;
    width: 86.667%;
    margin-bottom: 10.667%;
    }
  .faq_list_fq{
    border-top: solid 1px #ddd;
    padding: 5.385% 0;
    font-size: 3.733vw;
    }
  .faq_list_fq::before,
  .faq_list_fq::after{
    width: 4vw;
    padding-bottom: .4vw;
    }
  .faq_list_fa{
    padding-bottom: 5.385%;
    font-size: 3.2vw;
    }
  .faq_lnk{
    width: 58.667%;
    }
}

.information{
	position: relative;
	width: 100%;
	height: auto;
  padding: 100px 0 140px;
  }
.information_wrap{
  width: 960px;
  margin: 0 auto;
  }
.information h2{
  margin-bottom: 60px;
  font-size: 32px;
  color: #505050;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.information h2 .en{
  display: inline-block;
  margin-bottom: 30px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: #008c20;
  letter-spacing: 0.08em;
  text-align: center;
  }

.information_box{
  width: 800px;
  margin: 0 auto 45px;
  }
.information_info{
  background-color: #efefef;
  padding-bottom: 25px;
  margin-bottom: 30px;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  overflow: hidden;
  }
.information_info > a{
  display: block;
  }
.information_info h3{
  background-color: #303030;
  padding: 8px 0;
  margin-bottom: 25px;
  font-size: 19px;
  color: #fff;
  text-align: center;
  }
.information_info h3 a{
  color: #fff;
  }
.information_info_txt{
  margin: 0 30px 20px;
  font-size: 17px;
  color: #505050;
  text-align: center;
  }
.information_info_txt_caption{
  display: inline-block;
  margin-top: 5px;
  font-size: 14px;
  }
.information_info_time{
  width: 660px;
  margin: 0 auto 20px;
  font-size: 28px;
  color: #008c20;
  }
.information_info_time > div{
  display: flex;
  }
.information_info_time p{
  margin-bottom: 5px;
  font-size: 28px;
  color: #008c20;
  letter-spacing: -0.02em;
  }
.information_info_time .time{
  width: 320px;
  }
.information_info_time .store{
  display: inline-block;
  background-color: #008c20;
  padding: 4px 15px 3px;
  margin-right: 10px;
  font-size: 14px;
  color: #fff;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  vertical-align: middle;
  }
.information_info_time .meridiem{
  display: inline-block;
  font-size: 19px;
  vertical-align: middle;
  }
.information_info_time .timeAM,
.information_info_time .timePM{
  display: inline-block;
  width: 80px;
  text-align: right;
  vertical-align: middle;
  letter-spacing: -0.04em;
  }
.information_info_time .timePM{
  width: 65px;
  }
.information_info_time .note{
  display: inline-block;
  width: 340px;
  margin-top: 10px;
  font-size: 15px;
  vertical-align: middle;
  }
.information_info_time .note.red{
  color: #ea5514;
  }
.information_info_caption{
  font-size: 14px;
  text-align: center;
  }
.information_lnk{
  width: 520px;
  margin: 0 auto 20px;
  text-align: center;
  }

.information_list{
  width: 800px;
  margin: 0 auto;
  }
.information_list_entry{
  position: relative;
  display: flex;
  border-bottom: solid 1px #ddd;
  padding: 15px 0;
  }
.information_list_entry::before{
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #bbb;
  border-right: solid 2px #bbb;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -4px;
  }
.information_list_entry .date{
  width: 120px;
  font-size: 17px;
  }
.information_list_entry .category{
  width: 100px;
  margin-top: -3px;
  color: #fff;
  font-size: 14px;
  text-align: center;
  line-height: 1;
}
.information_list_entry .category span {
  display: block;
  min-width: 90px;
  padding: 5px 0 6px;
  margin-right: 30px;
  font-family: 'Oswald', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
}
.information_list_entry.info_town1 .category span { background-color: #ff917f; }
.information_list_entry.info_town2 .category span { background-color: #76a1ea; }
.information_list_entry.info_town5 .category span { background-color: #afcc35; }
.information_list_entry.info_town11 .category span { background-color: #ffc927; }
.information_list_entry.info_total .category span,
.information_list_entry.info_osaka-store .category span,
.information_list_entry.info_other .category span { background-color: #008c20; }
.information_list_entry.info_kyushu-store .category span { background-color: #ee7800; }
/*
.information_list_entry .category{
  width: 100px;
  }
.information_list_entry .category span{
  background-color: #bbb;
  padding: 1px 20px 0;
  margin-right: 30px;
  font-size: 14px;
  color: #fff;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  }*/
.information_list_entry .entry_title{
  width: 580px;
  }
.information_list_entry .entry_title a{
  display: block;
  padding-right: 15px;
  font-size: 17px;
  color: #505050;
  }
.information_list_lnk{
  width: 380px;
  margin: 60px auto 0;
  text-align: center;
  }


@media screen and (max-width:750px){
  .information{
    padding: 13.333% 0 14.667%;
    }
  .information_wrap{
    width: 100%;
    }
  .information h2{
    margin-bottom: 7.333%;
    font-size: 5.067vw;
    }
  .information h2 .en{
    margin-bottom: 2.667%;
    font-size: 3.733vw;
    }

  .information_box{
    width: 86.667%;
    margin-bottom: 4.667%;
    }
  .information_info{
    padding-bottom: 6.154%;
    border-radius: 2.667vw;
    -webkit-border-radius: 2.667vw;
    -moz-border-radius: 2.667vw;
    }
  .information_info:first-child{
    margin-bottom: 4%;
    }
  .information_info h3{
    padding: 2.538% 0;
    margin-bottom: 3.846%;
    font-size: 3.733vw;
    }
  .information_info_txt{
    margin: 0 3.077% 3.077%;
    font-size: 3.2vw;
    color: #505050;
    line-height: 1.5;
    }
  .information_info_txt_caption{
    margin-top: .769%;
    font-size: 2.667vw;
    }
  .information_info_time{
    width: 100%;
    margin-bottom: 0;
    font-size: 6.4vw;
    text-align: center;
    }
  .information_info_time > div{
    display: block;
    margin-bottom: 2.667%;
    }
  .information_info_time p{
    margin-bottom: 0;
    font-size: 6.4vw;
    }
  .information_info_time .time{
    width: 100%;
    }
  .information_info_time .store{
    display: block;
    width: 10.385%;
    padding: 0.667vw 2.667vw;
    margin: 0 auto 1.538%;
    font-size: 2.613vw;
    border-radius: 2.667vw;
    -webkit-border-radius: 2.667vw;
    -moz-border-radius: 2.667vw;
    }
  .information_info_time .meridiem{
    margin-right: 0;
    font-size: 4.48vw;
    }
  .information_info_time .timeAM,
  .information_info_time .timePM{
    width: 20.555%;
    }
  .information_info_time .timePM{
    width: 18.455%;
    }
  .information_info_time .note{
    width: 85%;
    margin-top: 0;
    font-size: 3.2vw;
    line-height: 1.6;
    }
  .information_info_caption{
    font-size: 2.667vw;
    }
  .information_lnk{
    width: 86.154%;
    margin-bottom: 0;
    }

  .information_list{
    width: 86.667%;
    }
  .information_list_entry{
    flex-wrap: wrap;
    padding: 3.385% 0;
    }
  .information_list_entry::before{
    right: 3.077%
    }
  .information_list_entry .date{
    width: 27.692%;
    font-size: 3.467vw;
    }
  .information_list_entry .category{
    width: 72.308%;
    margin-top: 0;
    font-size: 2.667vw;
    text-align: left;
    }
  .information_list_entry .category span{
    display: inline-block;
    min-width: 15vw;
    padding: 0.833vw 0;
    margin-right: 0;
    font-size: 2.667vw;
    text-align: center;
    border-radius: 2.667vw;
    -webkit-border-radius: 2.667vw;
    -moz-border-radius: 2.667vw;
    }
  .information_list_entry .entry_title{
    width: 100%;
    margin-top: 1.538%;
    }
  .information_list_entry .entry_title a{
    padding-right: 6.154%;
    font-size: 3.467vw;
    }
  .information_list_lnk{
    width: 67.692%;
    margin-top: 9.231%;
    }
}

.netstore{
	position: relative;
  background-color: #008c20;
	width: 100%;
	height: auto;
  padding: 100px 0 140px;
  }
.netstore_wrap{
  width: 960px;
  margin: 0 auto;
  }
.netstore h2{
  margin-bottom: 60px;
  font-size: 32px;
  color: #fff;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  }
.netstore h2 .en{
  display: inline-block;
  margin-bottom: 30px;
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  color: #fff;
  letter-spacing: 0.08em;
  text-align: center;
  }
.netstore_lnk{
  width: 320px;
  margin: 0 auto;
  text-align: center;
  }
.netstore_lnk .btn{
  background-color: #fff;
	color: #008c20;
  }

@media screen and (max-width:750px){
  .netstore{
    padding: 13.333% 0 14.667%;
    }
  .netstore_wrap{
    width: 100%;
    }
  .netstore h2{
    margin-bottom: 7.333%;
    font-size: 5.067vw;
    }
  .netstore h2 .en{
    margin-bottom: 2.667%;
    font-size: 3.733vw;
    }
  .netstore_lnk{
    width: 58.667%;
    }
  .netstore_lnk .btn.blank::after{
    margin-right: 4.267vw;
    }
}













