footer {
  border-top: none;
}

/*
main #kv {
	height: 884.44px;
    background: url(../images/kv26_max.jpg) top center no-repeat #fdf4de;
    background-size: 2000px;
	
	@media screen and (max-width: 1500px) {
		height: 56.433333vw;
		background: url(../images/kv26.jpg) top center no-repeat #fdf4de;
		background-size: 100%;
	}
	
	@media screen and (max-width: 768px) {
		height: 152.226666vw;
		background: url(../images/kv_sp.jpg) top center no-repeat #fdf4de;
		background-size: 100%;
	}	
}
*/
main #kv {
  background: url(../images/kv26_re.png) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  main #kv {
    background: url(../images/kv26_re_sp.jpg) center center no-repeat;
    background-size: cover;
  }
}

main #kv::after {
  background: url(../images/kv_btm26.png) center bottom no-repeat;
  background-size: 100% min(8vw, 120px);
}
@media screen and (max-width: 768px) {
  main #kv::after {
    background: url(../images/kv_btm26_sp.png) center bottom no-repeat;
    background-size: 100% auto;
  }
}

main #kv .kv_inner a {
  width: min(200px, 13.333vw);
  bottom: min(6.2vw, 93px);
  right: min(5vw, 75px);
}

main #kv .kv_inner a .arrow {
  background: url(../images/arrow26.png) center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  main #kv .kv_inner a .arrow {
    bottom: 4vw;
    width: 3vw;
    height: 1.5vw;
  }
}

main .bg_area_1 {
  background: #fcf5dc;
}

#movie h2 {
  width: 57.8576%;
  margin: auto auto min(53px, 3.53333vw);
  transform: translateX(min(38px, 2.5vw));
}
@media screen and (max-width: 768px) {
  #movie h2 {
    width: 100vw;
    margin-left: -6vw;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  #movie {
    margin-top: 0;
  }
}

.movieBox {
  display: flex;
  justify-content: space-between;
  width: min(1000px, 66.6666vw);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .movieBox {
    width: 100%;
    flex-direction: column;
    row-gap: 7vw;
  }
}

#movie .movie_btn {
  width: min(480px, 32vw);
  text-align: center;
  background: none;
}
@media screen and (max-width: 768px) {
  #movie .movie_btn {
    width: 85.3vw;
    margin: auto;
  }
}
#movie .movie_btn > span {
  font-size: 22px;
  font-weight: 700;
  color: #505050;
  display: block;
  margin-bottom: min(24px, 1.6vw);
}
@media screen and (max-width: 768px) {
  #movie .movie_btn > span {
    font-size: 3.4vw;
    margin-bottom: 3vw;
  }
}
#movie .movie_btn > span.arrow {
  margin-bottom: 0;
}
#movie .movie_btn figure {
  background: #000;
}

main .bg_area_1::before {
  display: none;
}

#movie {
  padding-bottom: min(62px, 4.1vw);
}
@media screen and (max-width: 768px) {
  #movie {
    padding-bottom: 12vw;
  }
}

#movie .movie_btn::after {
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
  width: min(94.8px, 6.32vw);
  height: min(94.8px, 6.32vw);
  pointer-events: none;
  background: url(../images/movie_arrow26.png) center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #movie .movie_btn::after {
    width: 18.96vw;
    height: 18.96vw;
  }
}

#introduction .inner {
  background: #fffef5;
  border-radius: min(20px, 1.333vw);
  padding-top: min(80px, 5.3333vw);
}
@media screen and (max-width: 768px) {
  #introduction .inner {
    padding-top: 0;
  }
}

main .bg_area_2 {
  background: #fcf5dc;
}

h2.h2_introduction {
  margin-bottom: min(20px, 1.333vw);
}

.slide_item {
  width: 32.159%;
}

main .bg_area_2::after {
  background: url(../images/bg_bg_area_2max.png) center bottom no-repeat #fdf4de;
  background-size: 2000px;
  height: 334px;
  top: auto;
  bottom: -1px;
}
@media screen and (max-width: 1500px) {
  main .bg_area_2::after {
    background: url(../images/bg_bg_area_2.png) center bottom no-repeat #fdf4de;
    background-size: 100%;
    height: min(334px, 22.26vw);
  }
}
@media screen and (max-width: 768px) {
  main .bg_area_2::after {
    background: url(../images/bg_bg_area_2_sp.png) center bottom no-repeat #fdf4de;
    background-size: 100%;
    height: 45.6vw;
  }
}

main .bg_area_2 {
  padding-bottom: min(334px, 22.26vw);
}

main .bg_area_3 {
  background: #fffef5;
}

main .bg_area_3::before, main .bg_area_3::after {
  background: none;
}

main #product .item_set > div .item_txt span {
  color: #5cb747;
}

main #product .item_set > div a::before {
  width: min(212.7px, 14.18vw);
  height: min(67.893px, 44.7262vw);
}

main #product .item_set > div a .arrow, main #product .item_set > div a::after, main #product .item_set > div a::before {
  background: none;
}

main #product .item_set > div a {
  margin-top: min(4vw, 40px);
  padding-top: min(2.2vw, 22px);
  padding-bottom: 0;
  padding-right: 1.2em;
  padding-left: 0.02em;
  width: 212.7px;
  height: 67.89px;
  background: url(../images/bg_item_set.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  main #product .item_set > div a {
    background: url(../images/bg_item_set_sp.png) no-repeat;
    background-size: contain;
    width: 36.4vw;
    height: 12.9vw;
    margin: 5.8vw auto auto;
    padding: 0;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  main #product .item_set > div a p {
    letter-spacing: -0.01em;
    padding-left: 0.2em;
  }
}

main #product .line_up_btn a p {
  background: url(../images/line_up_btn.png) center bottom -1px no-repeat;
  background-size: 100%;
  text-indent: -9999px;
}
@media screen and (max-width: 768px) {
  main #product .line_up_btn a p {
    background: url(../images/line_up_btn_sp.png) center bottom -1px no-repeat;
    background-size: 100%;
  }
}

main .bg_area_3 .btm_table {
  bottom: -170px;
  background: url(../images/product_bg_btm26max.png) center bottom -1px no-repeat;
  background-size: 2000px;
}
@media screen and (max-width: 1500px) {
  main .bg_area_3 .btm_table {
    bottom: MIN(-170px, -11.4vw);
    background: url(../images/product_bg_btm26.png) center bottom -1px no-repeat;
    background-size: 100%;
  }
}
@media screen and (max-width: 768px) {
  main .bg_area_3 .btm_table {
    background: url(../images/product_bg_btm26_sp.png) center bottom -1px no-repeat;
    background-size: 100%;
    bottom: 0;
  }
}

main .bg_area_4 {
  margin-top: -92px;
  padding-bottom: min(33vw, 330px);
  background: url(../images/bg_area_4.png) no-repeat bottom center #fcf5dc;
  background-size: 100%;
}
@media screen and (max-width: 1500px) {
  main .bg_area_4 {
    background: url(../images/bg_area_4_max.png) no-repeat bottom center #fcf5dc;
    background-size: 2000px;
  }
}
@media screen and (max-width: 768px) {
  main .bg_area_4 {
    padding-bottom: 46vw;
    background: url(../images/bg_area_4_sp.png) no-repeat bottom center #fcf5dc;
    background-size: 100%;
    margin-top: 0;
  }
}

main .bg_area_4::after {
  background: none;
}

main .bg_area_3 {
  padding-bottom: 0;
}

figure.bnr26 {
  margin: auto auto 40px;
}
@media screen and (max-width: 768px) {
  figure.bnr26 {
    margin: auto auto 5.8vw;
  }
}

.prizeBox {
  width: min(1200px, 80vw);
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .prizeBox {
    width: 100%;
  }
}
.prizeBox figure.prize01 {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .prizeBox figure.prize01 {
    width: 100%;
  }
}
.prizeBox figure.prize02 {
  width: 32.66%;
}
@media screen and (max-width: 768px) {
  .prizeBox figure.prize02 {
    width: 100%;
  }
}
.prizeBox figure.prize03 {
  width: 33.66%;
}
@media screen and (max-width: 768px) {
  .prizeBox figure.prize03 {
    width: 100%;
  }
}
.prizeBox figure.prize04 {
  width: 33.5%;
}
@media screen and (max-width: 768px) {
  .prizeBox figure.prize04 {
    width: 100%;
  }
}

main .bg_area_6 {
  background: #fffeee;
  margin-bottom: 0;
  padding-bottom: 0;
}
main .bg_area_6 #apply {
  padding-top: 0;
}

main #apply .block_set .block_1 {
  width: 49.3%;
}
@media screen and (max-width: 768px) {
  main #apply .block_set .block_1 {
    width: 100%;
  }
}

main #apply .block_set .block_2 {
  width: 50.7%;
}
@media screen and (max-width: 768px) {
  main #apply .block_set .block_2 {
    width: 100%;
  }
}

main .bg_area_6::after {
  background: none;
}

section.faq {
  width: 100%;
  background: url("../images/bg_faq_max.png") no-repeat bottom center #fffeed;
  background-size: 2000px;
  padding-bottom: min(250px, 16.66vw);
}
@media screen and (max-width: 1500px) {
  section.faq {
    background: url(../images/bg_faq.png) no-repeat bottom center #fffeed;
    background-size: 100%;
    padding-bottom: 23vw;
  }
}
section.faq .inner {
  width: min(1000px, 66.6666vw);
  margin: auto;
}
@media screen and (max-width: 768px) {
  section.faq .inner {
    width: 92vw;
  }
}
section.faq .inner h2 {
  width: 100%;
}

.faqBox {
  width: 100%;
  margin: auto;
  margin-bottom: min(28.5px, 1.96vw);
  border-radius: min(15px, 1vw);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .faqBox {
    width: 90.6vw;
    margin-bottom: 2.6vw;
    border-radius: 2.6vw;
  }
}
.faqBox:last-of-type {
  margin-bottom: 0;
}
.faqBox h3 {
  width: 100%;
  height: min(95px, 6.3333vw);
  padding: 0 min(61px, 4vw);
  display: flex;
  align-items: center;
  font-size: min(24px, 1.6vw);
  font-weight: 700;
  background: url("../images/tri_below_br.png") no-repeat center right min(61px, 4vw) #ffcf9c;
  background-size: min(11px, 0.7333vw);
  cursor: pointer;
  color: #505050;
}
@media screen and (max-width: 768px) {
  .faqBox h3 {
    height: auto;
    font-size: 4.533vw;
    line-height: 1.47;
    padding: 4vw 5.6vw;
    background: url("../images/tri_below_br.png") no-repeat center right 4.8vw #ffcf9c;
    background-size: 2.6vw;
  }
}
.faqBox h3.open {
  background: url("../images/tri_above_br.png") no-repeat center right min(61px, 4vw) #ffcf9c;
  background-size: min(11px, 0.7333vw);
}
@media screen and (max-width: 768px) {
  .faqBox h3.open {
    background: url("../images/tri_above_br.png") no-repeat center right 4.8vw #ffcf9c;
    background-size: 2.6vw;
  }
}
.faqBox .dlBox {
  width: 100%;
  padding: 0 min(58px, 3.8vw);
  background: #fff;
  margin-bottom: min(40px, 2.6vw);
  border-radius: 0 0 min(20px, 1.33vw) min(20px, 1.33vw);
  display: none;
  color: #505050;
  border: 1px solid #ffcf9c;
}
.faqBox .dlBox dl {
  width: 100%;
  padding: min(30px, 2vw) 0 min(30px, 2vw);
  border-bottom: 1px solid #dedede;
  background-position: left bottom;
  background-repeat: repeat-x;
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl {
    padding: 5vw 0 5vw;
  }
}
.faqBox .dlBox dl:last-of-type {
  border-bottom: none;
  padding: minmin(30px, 2vw) 0 min(30px, 2vw);
  margin-bottom: min(14px, 0.93vw);
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl:last-of-type {
    padding: 5vw 0 5vw;
  }
}
.faqBox .dlBox dl dt {
  font-size: min(22px, 1.4666vw);
  font-weight: 700;
  position: relative;
  padding: 0 min(40px, 2.6vw);
  margin-bottom: 0;
  display: flex;
  align-items: center;
  background: url("../images/tri_below_br.png") no-repeat center right;
  background-size: min(11px, 0.7333vw);
  cursor: pointer;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl dt {
    font-size: 3.4vw;
    padding: 0 6.1vw;
    background: url("../images/tri_below_br.png") no-repeat center right;
    background-size: 2vw;
  }
}
.faqBox .dlBox dl dt::before {
  content: 'Q';
  font-size: min(28px, 1.86vw);
  position: absolute;
  top: 0.6em;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl dt::before {
    font-size: 4.8vw;
  }
}
.faqBox .dlBox dl dt.open {
  background: url("../images/tri_above_br.png") no-repeat center right;
  background-size: min(11px, 0.7333vw);
  margin-bottom: min(25px, 1.6vw);
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl dt.open {
    background: url("../images/tri_above_br.png") no-repeat center right;
    background-size: 2vw;
  }
}
.faqBox .dlBox dl dd {
  font-size: min(18px, 1.2vw);
  font-weight: 700;
  line-height: 1.66;
  padding: 0 min(40px, 2.6vw);
  position: relative;
  display: none;
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl dd {
    font-size: 3.06vw;
    padding: 0 6.1vw;
  }
}
.faqBox .dlBox dl dd a {
  color: #ef4921;
  text-decoration: underline;
}
.faqBox .dlBox dl dd::before {
  content: 'A';
  font-size: min(24px, 1.6vw);
  position: absolute;
  top: 0;
  left: 2px;
}
@media screen and (max-width: 768px) {
  .faqBox .dlBox dl dd::before {
    font-size: 4vw;
  }
}
.faqBox .dlBox dl dd p {
  margin-bottom: 1.5em;
}
.faqBox .dlBox dl dd p a {
  color: #7b553d;
}
.faqBox .dlBox dl dd span {
  color: red;
}

main #shop {
  position: relative;
  background: none;
  margin-bottom: 0;
}

main section.shop {
  width: 100%;
  background: url(../images/bg_shop_max.jpg) no-repeat bottom center #fcf5dc !important;
  background-size: 2000px !important;
  padding-bottom: 200px !important;
}
@media screen and (max-width: 1500px) {
  main section.shop {
    background: url(../images/bg_shop.jpg) no-repeat bottom center #fdf4de !important;
    background-size: 100% !important;
    padding-bottom: min(150px, 10vw) !important;
  }
}
@media screen and (max-width: 768px) {
  main section.shop {
    background: url(../images/bg_shop_sp.jpg) no-repeat bottom center #fdf4de !important;
    background-size: 100% !important;
    padding-bottom: 60vw !important;
  }
}
main section.shop .inner {
  width: min(1200px, 80vw);
  position: relative;
  height: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  main section.shop .inner {
    width: 92vw;
  }
}

main #shop .banner_set {
  justify-content: center;
}

main #shop .banner_set a {
  width: min(283px, 18.866vw);
}
@media screen and (max-width: 768px) {
  main #shop .banner_set a {
    width: 64vw;
  }
}

.kiyaku {
  width: 100%;
  margin: 4em auto auto;
  border: 1px solid #ffcf9c;
  border-radius: min(20px, 1.333vw);
  background: #fff;
  overflow: hidden;
  padding: min(57px, 3.8vw) min(67px, 4.46vw) min(57px, 3.8vw) min(97px, 6.46vw);
}
@media screen and (max-width: 768px) {
  .kiyaku {
    margin: 10.6vw auto auto;
    border: 0.26666vw solid #ffcf9c;
    border-radius: 2.6vw;
    padding: 0 3.5vw 0 6.4vw;
  }
}
.kiyaku h3 {
  width: min(134px, 89.333vw);
  margin: auto auto 3em;
  transform: translateX(-15px);
}
@media screen and (max-width: 768px) {
  .kiyaku h3 {
    width: 100%;
    transform: translateX(0);
    margin: auto auto auto;
  }
}
.kiyaku .scrollArea {
  width: 100%;
  height: min(480px, 32vw);
  overflow-y: scroll;
  padding: 0 1em 0 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .kiyaku .scrollArea {
    padding: 0 2vw 0 0;
    height: 121vw;
  }
}
.kiyaku .scrollArea p {
  font-size: min(16px, 1.06vw);
  line-height: 2;
  margin-bottom: min(38px, 2.533vw);
  color: #505050;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .kiyaku .scrollArea p {
    font-size: 2.933333vw;
    line-height: 1.72;
    margin-bottom: 5.2vw;
  }
}
.kiyaku .scrollArea p a {
  color: #ef4921;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  main #kv.active .kv_inner h1:nth-of-type(3) {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  main #kv.active .kv_inner a {
    width: 28.24vw;
    bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .txt_caption.type3 {
    padding: 3vw 6vw 33vw;
  }
}
@media screen and (max-width: 768px) {
  main .bg_area_3 {
    padding-bottom: 26vw;
  }
}

main .campaign_btn a p.btn26_02 {
  background: url("../images/btn26_02_start.png") no-repeat;
  background-size: cover;
  text-indent: -9999px;
}
@media screen and (max-width: 768px) {
  main .campaign_btn a p.btn26_02 {
    background: url("../images/btn26_02_start_sp.png") no-repeat;
    background-size: cover;
    text-indent: -9999px;
  }
}

.movie-dialog-close {
  right: 0;
  top: -4rem;
}
@media screen and (max-width: 768px) {
  .movie-dialog-close {
    top: -7vw;
    right: -1vw;
  }
}

@media screen and (max-width: 768px) {
  h2.h2_campaign {
    margin-bottom: 5vw;
  }
}
