/* shared css overwrite
------------------------------------------------*/
.lower #content {
	background: #fff;
}

.lower #content .wrapper {
	background: #1f9d4c;
}

.lower #content .wrapper .l-container .container,
.lower #content .wrapper .l-container {
	background: none !important;
}

.lower #content .wrapper .l-container .container {
	/*padding: 20px 58px;*/
	padding: 0;
}

.container h1 {
	margin: 0;
	padding: 0;
	background: none;
}



/* contents keyvisual
------------------------------------------------*/
#keyvisual {
	position: relative;
}
#keyvisual h1 {
	position: absolute;
	left: 52px;
	top: 163px;
	z-index: 2;
}
#keyvisual p {
	margin: 0;
}
#keyvisual .kv_badge {
	position: absolute;
	right: 23px;
	top: 34px;
	z-index: 2;
}
#keyvisual .kv_phone {
	position: absolute;
	right: 65px;
	bottom: 0;
	z-index: 3;
}
#keyvisual .kv_slide {
	position: absolute;
	left: 749px;
	top: 193px;
	z-index: 2;
	background: #fff;
}
#keyvisual .kv_slide ul {
	width: 194px;
}
#keyvisual .kv_qr {
	position: absolute;
	left: 116px;
	bottom: 0;
	z-index: 2;
}
#keyvisual .kv_bg {
	position: relative;
	z-index: 1;
}



/* contents campaign
------------------------------------------------*/
#campaign {
	margin: 28px 52px 60px;
	text-align: center;
	background: #fff;
	border-radius: 28px;
}
#campaign h2 {
	margin: 0;
	padding: 0;
}
#campaign h2 img {
	border-radius: 28px 28px 0 0;
}
#campaign > div {
	padding: 0 50px 46px;
}
#campaign p {
	margin: 0;
}

#campaign ul.prize {
	margin: 40px 0 25px;
	text-align: center;
	letter-spacing: -.4em;
}
#campaign ul.prize li {
	display: inline-block;
	letter-spacing: normal;
}
#campaign ul.prize li:first-child {
	margin-right: 40px;
}
#campaign ul.prize li p:first-child {
	margin: 0 0 15px;
}

#campaign ul.caution {
	text-align: left;
}
#campaign ul.caution li {
	padding-left: 1.0em;
	text-indent: -1.0em;
	font-size: 12px;
	color: #343434;
}

#campaign .howto {
	position: relative;
	margin: 46px 0 0;
}
#campaign .howto ul.step {
	margin: 40px 0 25px;
	text-align: center;
	letter-spacing: -.4em;
}
#campaign .howto ul.step li {
	display: inline-block;
	position: relative;
	width: 229px;
	vertical-align: top;
	letter-spacing: normal;
}
#campaign .howto ul.step li:nth-child(2) {
	width: 296px;
	margin: 0 23px;
}
#campaign .howto ul.step li:nth-child(2)::before,
#campaign .howto ul.step li:nth-child(2)::after {
	position: absolute;
	width: 22px;
	height: 26px;
	top: 7px;
	content: '';
	background: url(/img/farm/app/campaign_howto_step_tri.png) no-repeat center center;
}
#campaign .howto ul.step li:nth-child(2)::before {
	left: 7px;
}
#campaign .howto ul.step li:nth-child(2)::after {
	right: 7px;
}

#campaign .howto ul.step li dl dd {
	font-size: 16px;
	font-weight: bold;
	color: #1f9d4c;
}
#campaign .howto ul.step li dl dt + dd  {
	margin: 15px 0 25px;
}



/* contents movie
------------------------------------------------*/
#movie {
	text-align: center;
}
#movie h2 {
	margin: 0 0 25px;
}




/* contents main
------------------------------------------------*/
#main {
	padding: 80px 52px 43px;
	text-align: center;
}

#main .check {
	position: relative;
	margin: 25px 0;
}

#main .check dl dt,
#main .check dl dd {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}
#main .check dl dt {
	width: 331px;
	padding-left: 6px;
}
#main .check dl dd.slide {
	position: relative;
	width: 258px;
}
#main .check dl dd.slide .chk_phone {
	position: relative;
	z-index: 2;
}
#main .check dl dd.slide .chk_slide {
	position: absolute;
	left: 26px;
	top: 95px;
	width: 206px;
	z-index: 1;
	background: #fff;
}
#main .check dl dd.slide .chk_chara {
	position: absolute;
	bottom: 14px;
	z-index: 2;
}
#main .check.check1 dl dd.slide .chk_chara {
	right: -62px;
}
#main .check.check2 dl dd.slide .chk_chara {
	left: -74px;
}

#main .check dl dd.txt {
	width: 331px;
	padding: 0 1em 0 30px;;
	color: #fff;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.07em;
	background: url(/img/farm/app/main_check_bg.png) no-repeat center center;
}
#main .check dl dd.txt ul {
	margin-top: 30px;
}

#main .check + p {
	margin: 60px 0 0;
}

#main .download {
	margin: 70px 0 0;
}
#main .download hr {
	width: 100%;
	height: 7px;
	margin: 0;
	background: url(/img/farm/app/main_download_dot.png) no-repeat center center;
	border: none;
}
#main .download p {
	margin: 40px 0;
}
#main .download ul {
	width: 730px;
	margin: 50px auto 0;
}
#main .download ul li {
	color: #fff;
	font-size: 12px;
	text-align: left;
}





/* 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);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.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;
}
