@charset "UTF-8";

/*tmp overwrite*/
/*-------------------------------------------------------*/
#header{ position: relative; z-index: 5000; }
#footer{ z-index: 5000; position: relative; }
#footer .contain{ display: none; }
.wrap-link-footer{ background: #eef0f1; }
.article{ min-height: 0; }
.btn-top-sp{ display: none !important; }



/*initialize*/
/*-------------------------------------------------------*/
#cp-content{ overflow: hidden; background-color: #ffffff; }
#cp-content *{ font-family: 'YakuHanJP','Noto Sans Japanese',sans-serif; }
#cp-content a{ display: block; }
#cp-content img{ width: 100%; height: auto; line-height: 0; vertical-align: middle; }
#cp-content .defs{ position: absolute; z-index: -9999; width: 0; height: 0; overflow: hidden; }
#cp-content .sp{ display: none; }


@media only screen and (max-width: 767px) {
	#cp-content .pc{ display: none; }
	#cp-content .sp{ display: block; }
	#cp-content img.sp{ display: inline; }
}



/*contetnt*/
/*-------------------------------------------------------*/
#loader-bg{ background: #009a63; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 3999; overflow: hidden; }
#loader{ position: fixed; max-width: 184px; width: 49.0666%; margin-top: 63px; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 4000; }
#loader .txt{ margin: 10.8696% auto 0; width: 61.8962%; }
#kv{ position: relative; }
#kv .bg01{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #009b63; }
#kv .bg01 .fill{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: center 0 no-repeat; background-size: 100% auto; }
#kv .content-body{ position: relative; z-index: 100; padding: 3.8584% 0 15.3676%; }
#kv .content-body .ttl-body .ttl{ width: 53.9833%; margin: 0 0 0 23.0301%!important; }
#kv .content-body .ttl-body .date{ width: 26.4944%; margin: 1.4705% 0 0 36.7605%; }
#kv .content-body .ttl-body .bubble{ width: 34.042%; margin: 0.9926% 0 0 32.9433%; }
#kv .content-body .ttl-body .copy{ width: 45.2941%; margin: 3.1911% 0 0 27.4264%; }
#kv .content-body .present-body{ width: 78.3824%; margin: 0.9559% auto 0; position: relative; }
#kv .content-body .present-body .bubble{ position: absolute; left: 0; top: 0; width: 28.0488%; margin: -3.9399% 0 0 -4.3151%; }
#kv .content-body .present-body .caption{ font-size: 0.8823vw; line-height: 1.5; color: #ffffff; margin-top: 1.97%; }

#lineup-section{ position: relative; margin: -6.4706% auto 0; }
#lineup-section .bg01{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #a1cb39; }
#lineup-section .bg01 .fill{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: center 0 no-repeat; background-size: 100% auto; }
#lineup-section .content-body{ position: relative; z-index: 100; padding: 12.4676% 0 11.5441%; }
#lineup-section .content-body .ttl{ width: 40.3676%; margin: 0 0 0 30%!important; }
#lineup-section .content-body .car-list{ width: 78.2352%; margin: 4.1911% auto 0; display: flex; display: -ms-flex; justify-content: space-between; flex-wrap: wrap; }
#lineup-section .content-body .car-list .item{ position: relative; background-color: #fffbc7; width: 31.3909%; border-radius: 0.7352vw; }
#lineup-section .content-body .car-list .item:nth-child(n+4){ margin-top: 4.4172%; }
#lineup-section .content-body .car-list .item .head{ position: absolute; left: 0; top: 0; width: 62.8742%; margin: -4.7904% 0 0 -4.7904%!important; z-index: 10; }
#lineup-section .content-body .car-list .item .car{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 0.7352vw; overflow: hidden; }
#lineup-section .content-body .car-list .item .txt{ font-size: 0.8823vw; line-height: 1.33; color: #000000; width: 87.1257%; position: relative; left: 0; top: 0; margin: 0 0 0 6.43715%; padding-bottom: 33.8323%; }
#lineup-section .content-body .car-list .item01 .txt,
#lineup-section .content-body .car-list .item02 .txt,
#lineup-section .content-body .car-list .item03 .txt{ padding-top: 127.5449%; }
#lineup-section .content-body .car-list .item04 .txt,
#lineup-section .content-body .car-list .item05 .txt,
#lineup-section .content-body .car-list .item06 .txt,
#lineup-section .content-body .car-list .item07 .txt,
#lineup-section .content-body .car-list .item08 .txt,
#lineup-section .content-body .car-list .item09 .txt{ padding-top: 118.5628%; }
#lineup-section .content-body .car-list .item .btn{ position: absolute; left: 0; bottom: 0; width: 89.4911%; margin: 0 0 8.9820% 5.25445%; }
#lineup-section .content-body .car-list .item .btn a{ display: block; line-height: 0; }
#lineup-section .content-body .car-list .item .btn a .over{ position: absolute; left: 0; top: 0; width: 100%; opacity: 0; }
#lineup-section .content-body .caption{ width: 78.2352%; margin: 1.5441% auto 0; font-size: 0.8823vw; line-height: 1.5; color: #ffffff; }

#campaign-section{ position: relative; margin: -10.8088% auto 0; }
#campaign-section .bg01{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #009b63; }
#campaign-section .bg01 .fill{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: center 0 no-repeat; background-size: 100% auto; }
#campaign-section .content-body{ position: relative; z-index: 100; padding: 17.0588% 0 12.8676%; }
#campaign-section .content-body .ttl{ width: 53.6029%; margin: 0 0 0 23.3823%!important; }
#campaign-section .content-body .bnr-body{ width: 78.3088%; margin: 0 auto; position: relative; }
#campaign-section .content-body .bnr-body .overlay{ position: absolute; right: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0); z-index: 10; }
#campaign-section .content-body .bnr-body .btn{ width: 24.4131%; position: absolute; top: 100%; right: 0; }
#campaign-section .content-body .bnr-body .btn .over{ position: absolute; left: 0; top: 0; width: 100%; opacity: 0; }
#campaign-section .content-body .bnr-body01{ margin-top: 1.6176%; }
#campaign-section .content-body .bnr-body01 .overlay{ padding-bottom: 1.7%; }
#campaign-section .content-body .bnr-body01 .btn{ margin-top: -4.9314%; }
#campaign-section .content-body .bnr-body02{ margin-top: 2.9411%; }
#campaign-section .content-body .bnr-body02 .overlay{ padding-bottom: 0.6%; }
#campaign-section .content-body .bnr-body02 .bnr{ margin-left: -1.1268%; }
#campaign-section .content-body .bnr-body02 .btn{ margin-top: -6.0314%; }

#end-section{ position: relative; margin: -6.0294% auto 0; padding: 15.2205% 0 18.3088%; }
#end-section .bg01{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #fde7c1; }
#end-section .bg01 .fill{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: center 0 no-repeat; background-size: 100% auto; }

#support-section{ position: relative; z-index: 100; }
#support-section .ttl{ width: 33.0882%; margin: 0 auto!important; }
#support-section .list-item{ width: 78.2353%; display: flex; display: -ms-flex; justify-content: space-between; flex-wrap: wrap; margin: 3.6029% auto 0; }
#support-section .list-item .item{ position: relative; }
#support-section .list-item .item01,
#support-section .list-item .item02,
#support-section .list-item .item03{ width: 31.9549%; }
#support-section .list-item .item04,
#support-section .list-item .item05{ width: 48.9662%; margin-top: 2.1617%; }
#support-section .list-item .btn{ width: 19.1176vw; position: absolute; left: 50%; bottom: 0; margin-bottom: 3.6765vw; transform: translateX(-50%); }
#support-section .list-item .btn .over{ position: absolute; left: 0; top: 0; width: 100%; opacity: 0; }
#shop-section{ position: relative; z-index: 100; margin-top: 8.8235%; }
#shop-section .ttl{ width: 38.2353%; margin: 0 auto!important; }
#shop-section .txt{ font-size: 1.3235vw; line-height: 2; color: #000000; font-weight: 700; margin-top: 2.7941%; text-align: center; }
#shop-section .area-navi{ display: flex; justify-content: space-between; flex-wrap: wrap; margin: 3.0147% auto 0; width: 78.2352%; position: relative; position: relative; z-index: 10; }
#shop-section .area-navi .navi{ width: 31.3909%; }
#shop-section .area-navi .navi:nth-child(n+4){ margin-top: 2.8195%; }
#shop-section .area-navi .navi a{ display: block; width: 100%; background-color: #34a467; box-sizing: border-box; color: #ffffff; text-decoration: none; font-size: 1.6176vw; line-height: 1.5; padding: 0.9927vw 0; border-radius: 2.21vw; position: relative; text-align: center; font-weight: 700; }
#shop-section .area-navi .navi a::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 2px solid #34a467; border-radius: 2.21vw; box-sizing: border-box; }
#shop-section .area-navi .navi a::after{ content: ''; width: 0.45vw; height: 0.45vw; border: solid #ffffff; border-width: 0 0.22vw 0.22vw 0; position: absolute; right: 9%; top: 50%; transform: translate(50%, -50%) rotate(45deg); margin-top: -0.15vw; }
#shop-section .area-result{ padding: 0; margin: 0 auto; width: 78.2352%; box-sizing: border-box; overflow: hidden; position: relative; z-index: 10; }
#shop-section .area-result .result-ttl{ font-size: 2.9411vw; line-height: 1.5; color: #34a467; padding: 5.3136% 0 3.0293%; text-align: center; font-weight: 700; }
#shop-section .area-result .result-list .item{ background-color: #ffffff; display: flex; align-items: center; justify-content: space-between; border-radius: 3.6764vw; padding: 2.1786% 3.75%; border: 2px solid #34a467; box-sizing: border-box; }
#shop-section .area-result .result-list .item+.item{ margin-top: 1.8796%; }
#shop-section .area-result .result-list .item .name{ font-size: 1.6176vw; line-height: 1.5; flex: 1; text-align: left; padding-right: 1.47vw; color: #34a467; font-weight: 700; }
#shop-section .area-result .result-list .item .navi-list{ display: -ms-flex; display: flex; justify-content: space-between; }
#shop-section .area-result .result-list .item .navi-list .navi{ width: 18.3824vw; }
#shop-section .area-result .result-list .item .navi-list .navi+.navi{ margin-left: 0.8823vw; width: 12.5vw; }
#shop-section .area-result .result-list .item a{ display: block; font-size: 1.1764vw; line-height: 1.5; color: #ffffff; background-color: #f6ad00; box-sizing: border-box; padding: 0.96vw 0; border-radius: 1.84vw; text-decoration: none; text-align: center; position: relative; font-weight: 700; }
#shop-section .area-result .result-list .item a::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 2px solid #f6ad00; border-radius: 1.84vw; box-sizing: border-box; }
#shop-section .area-result .result-list .item a::after{ content: ''; width: 0.45vw; height: 0.45vw; border: solid #ffffff; border-width: 0.22vw 0.22vw 0 0; position: absolute; right: 1.69vw; top: 50%; transform: translateY(-50%) rotate(45deg); }

#lp-footer{ position: relative; margin: 0 auto; }
#lp-footer .bg01{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #ffffff; }
#lp-footer .bg01 .fill{ position: absolute; left: 0; top: 0; width: 100%; padding-top: 9.9265%; background: center 0 no-repeat; background-size: 100% 100%; transform: translateY(-100%); }
#lp-footer .content-body{ position: relative; z-index: 100; padding: 4.4852% 0 3.3088%; }
#lp-footer .content-body .caption{ font-size: 0.8823vw; line-height: 1.6666; color: #000000; width: 86.7647%; margin: 0 auto; }
#lp-footer .content-body .caption+.caption{ margin-top: 1.4706%; }
#lp-footer .content-body .caption .icon{ width: 1.0359vw; line-height: 0; display: inline-block; vertical-align: middle; }



@media only screen and (max-width: 767px) { /*767px以下*/
	#loader{ margin-top: 50px; }
	#kv .content-body{ position: relative; z-index: 100; padding: 11.7333% 0 24%; }
	#kv .content-body .ttl-body .ttl{ width: 88.9333%; margin: 0 0 0 5.3333%!important; }
	#kv .content-body .ttl-body .date{ width: 43.7333%; margin: 2.4% 0 0 27.8666%; }
	#kv .content-body .ttl-body .bubble{ width: 70.6666%; margin: 2.9333% 0 0 15.0666%; }
	#kv .content-body .ttl-body .copy{ width: 56.5333%; margin: 6.9333% 0 0 40.2666%; }
	#kv .content-body .present-body{ width: 92.2666%; margin: 2.5333% auto 0; }
	#kv .content-body .present-body .bubble{ width: 45.3757%; margin: -30.3468% 0 0 -7.9479%; }
	#kv .content-body .present-body .caption{ font-size: 3.2vw; line-height: 1.41; margin-top: 3.4682%; }

	#lineup-section{ margin: -16% auto 0; }
	#lineup-section .content-body{ padding: 29.8666% 0 24%; }
	#lineup-section .content-body .ttl{ width: 73.2%; margin: 0 0 0 13.4666%!important; }
	#lineup-section .content-body .car-list{ width: 92%; margin: 10.2666% auto 0; display: block; }
	#lineup-section .content-body .car-list .item{ width: 100%; border-radius: 2.6666vw; }
	#lineup-section .content-body .car-list .item:nth-child(n+2){ margin-top: 10.2898%; }
	#lineup-section .content-body .car-list .item .head{ width: 55.3623%; margin: -2.8985% 0 0 -2.8985%!important; }
	#lineup-section .content-body .car-list .item .car{ border-radius: 2.6666vw; }
	#lineup-section .content-body .car-list .item .txt{ font-size: 3.2vw; line-height: 1.4166; padding-bottom: 33.8323%; }
	#lineup-section .content-body .caption{ width: 92%; margin: 2.6666% auto 0; font-size: 3.2vw; line-height: 1.4166; }

	#campaign-section{ margin: -17.5999% auto 0; }
	#campaign-section .content-body{ padding: 31.4666% 0 30.6666%; }
	#campaign-section .content-body .ttl{ width: 92.2666%; margin: 0 0 0 4%!important; }
	#campaign-section .content-body .bnr-body{ width: 92.2666%; }
	#campaign-section .content-body .bnr-body .overlay{ padding-bottom: 8.4%; }
	#campaign-section .content-body .bnr-body .btn{ width: 63.5838%; right: auto; left: 0; margin: 0 0 0 18.2081%; transform: translateY(-50%); }
	#campaign-section .content-body .bnr-body01{ margin-top: 2.5333%; }
	#campaign-section .content-body .bnr-body02{ margin-top: 11.6000%; }
	#campaign-section .content-body .bnr-body02 .bnr{ margin: 0 -2.1676% 0 -5.3468%; } 

	#end-section{ margin: -17.5999% auto 0; padding: 35.4666% 0 24%; }

	#support-section .ttl{ width: 72%; }
	#support-section .list-item{ width: 92%; display: block; margin: 6.8000% auto 0; }
	#support-section .list-item .item{ width: 100%; }
	#support-section .list-item .item:nth-child(n+2){ margin-top: 4.3478%; }
	#support-section .list-item .btn{ width: 63.7681%; margin-bottom: 8.4057%; }
	#shop-section{ margin-top: 13.3333%; }
	#shop-section .ttl{ width: 92%; }
	#shop-section .txt{ font-size: 4vw; line-height: 1.5333; margin-top: 5.4666%; }
	#shop-section .area-navi{ display: block; margin: 5.4666% auto 0; width: 81.6%; }
	#shop-section .area-navi .navi{ width: 100%; }
	#shop-section .area-navi .navi:nth-child(n+2){ margin-top: 3.2679%; }
	#shop-section .area-navi .navi a{ font-size: 4.8vw; padding: 3.0666vw 0; border-radius: 6.6666vw; }
	#shop-section .area-navi .navi a::before{ border-radius: 6.6666vw; }
	#shop-section .area-navi .navi a::after{ width: 1.5vw; height: 1.5vw; border-width: 0 0.4vw 0.4vw 0; right: 7%; margin-top: -0.375vw; }
	#shop-section .area-result{ width: 81.6%; }
	#shop-section .area-result .result-ttl{ font-size: 6.6666vw; line-height: 1.36; padding: 13.0718% 0 5.0653%; }
	#shop-section .area-result .result-list .item{ display: block; border-radius: 4vw; padding: 6.5359%;  }
	#shop-section .area-result .result-list .item+.item{ margin-top: 4.9019%; }
	#shop-section .area-result .result-list .item .name{ font-size: 4.2666vw; padding: 0; }
	#shop-section .area-result .result-list .item .navi-list{ display: block; margin-top: 7.5188%; }
	#shop-section .area-result .result-list .item .navi-list .navi{ width: 100%; }
	#shop-section .area-result .result-list .item .navi-list .navi+.navi{ margin: 3.7593% 0 0; width: 100%; }
	#shop-section .area-result .result-list .item a{ font-size: 4vw; padding: 2.3333vw 0; border-radius: 5.3333vw; }
	#shop-section .area-result .result-list .item a::before{ border-radius: 5.3333vw; }
	#shop-section .area-result .result-list .item a::after{ width: 1.5vw; height: 1.5vw; border-width: 0.4vw 0.4vw 0 0; right: 4vw; }

	#lp-footer .bg01 .fill{ padding-top: 16%; }
	#lp-footer .content-body{ padding: 13.6000% 0 15.4666%; }
	#lp-footer .content-body .caption{ font-size: 3.2vw; line-height: 1.4166; width: 91.9666%; }
	#lp-footer .content-body .caption+.caption{ margin-top: 4.5333%; }
	#lp-footer .content-body .caption .icon{ width: 3.7569vw; }
}






/*animation*/
/*-------------------------------------------------------*/
#loader .illust svg{ overflow: visible; }
#loader .illust svg g{ animation: loader_animation 0.2s steps(2) infinite; }
#cp-content .js-inview{ opacity: 0; }
#cp-content .js-inview.show{ opacity: 1; transition: opacity 0.5s; }
#kv .content-body .ttl-body .ttl{ opacity: 0; transform: scale(1.1); }
#kv.show .content-body .ttl-body .ttl{ opacity: 1; transform: scale(1); transition: opacity 0.5s, transform 0.5s; }
#kv .content-body .ttl-body .date{ opacity: 0; }
#kv.show .content-body .ttl-body .date{ opacity: 1; transition: opacity 0.5s; transition-delay: 0.4s; }
#kv .content-body .ttl-body .bubble{ opacity: 0; }
#kv.show .content-body .ttl-body .bubble{ opacity: 1; transition: opacity 0.5s; transition-delay: 0.6s; }
#cp-content .ttl.js-inview{ opacity: 0; transform: scale(1.1); }
#cp-content .ttl.js-inview.show{ opacity: 1; transform: scale(1); transition: opacity 0.5s, transform 0.5s; }
#lineup-section .content-body .car-list .item{ opacity: 0; transform: translateY(20px); }
#lineup-section .content-body .car-list .item.show{ opacity: 1; transform: translateY(0); transition: opacity 0.5s, transform 0.5s; }
#lineup-section .content-body .car-list .item02.show,
#lineup-section .content-body .car-list .item05.show,
#lineup-section .content-body .car-list .item08.show{ transition-delay: 0.1s; }
#lineup-section .content-body .car-list .item03.show,
#lineup-section .content-body .car-list .item06.show,
#lineup-section .content-body .car-list .item09.show{ transition-delay: 0.2s; }
@media only screen and (max-width: 767px) { /*767px以下*/
	#lineup-section .content-body .car-list .item.show{ transition-delay: 0s; }
}
#campaign-section .content-body .bnr-body{ opacity: 0; transform: translateY(20px); }
#campaign-section .content-body .bnr-body.show{ opacity: 1; transform: translateY(0); transition: opacity 0.5s, transform 0.5s; }








/*keyframes*/
/*-------------------------------------------------------*/
@keyframes loader_animation{
	0%{ transform: translateY(0px); }
	100%{ transform: translateY(-2px); }
}





/*hover*/
/*-------------------------------------------------------*/
#lineup-section .content-body .car-list .item .btn a .over{ transition: opacity 0.3s ease; }
/*#lineup-section .content-body .car-list .item .btn a:active .over{ opacity: 1; }*/
#campaign-section .content-body .bnr-body .btn .over{ transition: opacity 0.3s ease; }
/*#campaign-section .content-body .bnr-body .overlay:active~.btn .over{ opacity: 1; }*/
#support-section .list-item .btn a .over{ transition: opacity 0.3s ease; }
/*#support-section .list-item .btn a:active .over{ opacity: 1; }*/
#shop-section .area-navi .navi a{ transition: color 0.3s ease, background-color 0.3s ease; }
#shop-section .area-navi .navi a:active{ background-color: #ffffff;  color: #34a467; }
#shop-section .area-navi .navi a:active::after{ border-color: #34a467; }
#shop-section .area-result .result-list .item a{ transition: color 0.3s ease, background-color 0.3s ease; }
#shop-section .area-result .result-list .item a:active{ background-color: #ffffff;  color: #f6ad00; }
#shop-section .area-result .result-list .item a:active::after{ border-color: #f6ad00; }

@media (hover: hover){
	#lineup-section .content-body .car-list .item .btn a:hover .over{ opacity: 1; }
	#campaign-section .content-body .bnr-body .overlay:hover~.btn .over{ opacity: 1; }
	#support-section .list-item .btn a:hover .over{ opacity: 1; }
	#shop-section .area-navi .navi a:hover{ background-color: #ffffff;  color: #34a467; }
	#shop-section .area-navi .navi a:hover::after{ border-color: #34a467; }
	#shop-section .area-result .result-list .item a:hover{ background-color: #ffffff;  color: #f6ad00; }
	#shop-section .area-result .result-list .item a:hover::after{ border-color: #f6ad00; }
}