@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(min-width:1000px){

/*-----STYLE-----*/
.sp {
    display:none;
}

.cts {
    width:1000px;
}



/*-----MV-----*/
#mv {
    width:100%;
    height:600px;
    background:#eaebeb;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

#mv .photo {
    width:70%;
    height:100%;
    background:url(../img/mv.jpg) center / cover;
    margin:0 0 0 auto;
    position:absolute;
    right:-30px;
}

#mv .photo .start {
    width:100%;
    height:100%;
    background:url(../img/mv_start.jpg) center / cover;
    position:absolute;
    top:0;
    left:0;
    animation:start 2s forwards;
}

#mv .cts {
    width:100%;
    max-width:1200px;
    height:100%;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

#mv .copies {
    width:350px;
    position:absolute;
    left:calc(50% - 500px);
    z-index:1;
}

#mv .copies .logo {
    width:110px;
    margin:0 auto 25px;
}

#mv .copies .product {
    width:300px;
    margin:0 auto 15px;
}

#mv .copies .campaign {
    width:350px;
    margin:0 auto 20px;
}

#mv .copies .period {
    width:350px;
}




/*-----SITUATION-----*/
#situation {
    background:#364fa0;
    padding:50px 0;
    margin-bottom:70px;
}

#situation .maincopy {
    width:520px;
    margin:0 auto 20px;
}

#situation .conditions {
    width:640px;
    margin:0 auto 20px;
    display:flex;
    justify-content:space-between;
}

#situation .conditions .condition {
    width:300px;
}

#situation .scenes {
    display:flex;
    justify-content:center;
}

#situation .scenes .scene {
    width:450px;
    background:rgba(0,0,0,0.3);
    padding:25px 25px;
    margin:0 12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#situation .scenes .scene .icon {
    width:100px;
}

#situation .scenes .scene .copy {
    width:calc(100% - 120px);
}

#situation .scenes .scene .copy .item {
    font-size:180%;
    font-weight:800;
    line-height:120%;
    color:#fff;
    margin-bottom:10px;
}

#situation .scenes .scene .copy .tx {
    color:#fff;
}




/*FLOW*/
#flow {
padding-bottom:100px;
}

#flow h3 {
font-size:120%;
font-weight:bold;
background:#c7cc2d;
padding:15px;
text-align:center;
margin-bottom:25px;
}

#flow .flows {
display:flex;
justify-content:space-between;
align-items:center;
position:relative;
}

#flow .flows .flow_line {
width:100%;
height:20px;
background:#c7cc2d;
position:absolute;
bottom:50px;
display:none;
}

#flow .flows .flow {
width:220px;
background:#eaebec;
padding:20px 25px;
position:relative;
display:flex;
justify-content:center;
flex-direction:column;
align-items:center;
}

#flow .flows .flow h4 {
font-size:110%;
font-weight:bold;
text-align:center;
height:60px;
display:flex;
justify-content:center;
align-items:center;
}

#flow .flows .flow .details {
}

#flow .flows .flow .details .icon {
width:80px;
margin:10px auto;
}

#flow .flows .flow .details .detail {
font-size:90%;
text-align:center;
height:70px;
display:flex;
justify-content:center;
align-items:center;
}

#flow .flows .flow .periods {
width:80px;
height:80px;
border-radius:10vw;
background:#364fa0;
position:absolute;
display:flex;
justify-content:center;
align-items:center;
left:-60px;
z-index:1;
}

#flow .flows .flow .periods .period {
text-align:center;
}

#flow .flows .flow .periods .period .week {
font-size:95%;
font-weight:bold;
color:#fff;
line-height:100%;
padding-bottom:6px;
}

#flow .flows .flow .periods .period .day {
color:#fff;
font-size:70%;
line-height:100%;
}



/*-----CAMPAIGN-----*/
/*CAMPAIGN*/
#campaign {
    margin-bottom:100px;
}

#campaign .campaign_title {
width:400px;
margin:0 auto 20px;
}

#campaign .overviews {
padding-bottom:40px;
}

#campaign .overviews .overview {
margin-bottom:20px;
background:#eaebeb;
display:flex;
}

#campaign .overviews .overview:last-child {
margin-bottom:0;
}

#campaign .overviews .overview .items {
width:120px;
background:#231815;
padding:18px 0;
}

#campaign .overviews .overview .items .item {
    text-align:center;
    color:#fff;
}


#campaign .overviews .overview:last-child .item {

}

#campaign .overviews .overview .details {
    width:calc(100% - 120px);
    padding:18px 25px;
}

#campaign .overviews .overview:first-child .details {
display:flex;
align-items:center;
}

#campaign .overviews .overview .details .detail {
display:flex;
}

#campaign .overviews .overview .details .detail.partition {
padding-bottom:10px;
margin-bottom:10px;
border-bottom:#ddd 1px solid;
}

#campaign .overviews .overview .details .shop_btn {
margin-top:7px;
display:inline-block;
}

#campaign .overviews .overview:nth-child(3) .details .shop_btn {
    margin-bottom:8px;
}

#campaign .overviews .overview .details .shop_btn a {
background:#c7cc2d;
display:flex;
justify-content:center;
align-items:center;
padding:3px 15px;
}

#campaign .overviews .overview .details .shop_btn a p {
    font-size:95%;
    font-weight:600;
    margin-right:7px;
}

#campaign .overviews .overview .details .shop_btn a .arrow {
width:8px;
height:8px;
border-top:#231815 1px solid;
border-right:#231815 1px solid;
transform:rotate(45deg);
}

#campaign .overviews .overview .details .attention {
font-size:90%;
display:flex;
}

#campaign .overviews .overview .details .target {
font-size:80%;
}

#campaign .overviews .overview .details .methods {
background:#fff;
padding:20px 25px;
margin:15px 0 5px;
}

#campaign .overviews .overview .details .methods p {
font-size:80%;
letter-spacing:0.5px;
display:flex;
}

#campaign .overviews .overview .details .methods .method_title {
font-size:90%;
font-weight:bold;
}

#campaign .overviews .overview .details .methods .method_btn {
border:#231815 1px solid;
width:120px;
margin:10px auto 0;
text-align:center;
cursor:pointer;
display:flex;
justify-content:center;
align-items:center;
padding:5px;
}

#campaign .overviews .overview .details .methods .method_btn:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#campaign .overviews .overview .details .methods .photo_method {
display:none;
}

#campaign .overviews .overview .details .methods .method_btn:before {
content:"詳細を見る";
}

#campaign .overviews .overview .details .methods .method_btn.open:before {
content:"閉じる";
}

#campaign .cta {
width:700px;
margin:auto;
-webkit-animation:cta 1s ease infinite alternate;
animation:cta 1s ease infinite alternate;
}

#campaign .cta a {
width:650px;
margin:auto;
}

#campaign .cta a {
}

#campaign .overviews .overview .details .caution {
    font-size:80%;
    display:flex;
}



/*TERMS*/
#terms {
padding:50px 0;
margin-bottom:70px;
background:#eaebeb;
}

#terms .cts {
display:none;
background:#fff;
padding:40px 50px;
margin-bottom:20px;
}

#terms .cate_titles {
display:flex;
justify-content:center;
align-items:center;
padding-bottom:20px;
}

#terms .cate_titles .line {
width:50px;
height:1px;
background:#231815;
}

#terms .cate_titles h2 {
font-size:120%;
font-weight:bold;
padding:0 15px;
}

#terms .terms_btn {
width:200px;
text-align:center;
padding:10px;
font-size:90%;
cursor:pointer;
margin:auto;
border:#231815 1px solid;
display:flex;
justify-content:center;
align-items:center;
}

#terms .terms_btn:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#terms .terms_btn .word {
padding:0 15px;
}

#terms .terms_btn .word:before {
content:"応募規約を見る";
}

#terms .terms_btn.open .word:before {
content:"閉じる";
}

#terms .terms_btn .arrow {
width:10px;
height:10px;
border-top:#231815 1px solid;
border-right:#231815 1px solid;
transform:rotate(135deg);
margin-bottom:5px;
display:block;
}

#terms .terms_btn.open .arrow {
width:10px;
height:10px;
border-top:#231815 1px solid;
border-right:#231815 1px solid;
transform:rotate(-45deg);
margin-top:10px;
display:block;
}

#terms .terms {
}

#terms .terms .term {
border-bottom:#dcdcdc 1px solid;
padding-bottom:15px;
margin-bottom:15px;
}

#terms .terms .term:last-child {
border:none;
padding-bottom:0;
margin-bottom:0;
}

#terms .terms .term .item {
font-size:90%;
font-weight:bold;
}

#terms .terms .term .space {
padding-right:10px;
}

#terms .terms .term p {
font-size:80%;
letter-spacing:0;
display:flex;
}

#terms .terms .term a {
color:#364fa0;
font-weight:bold;
}

#terms .terms .term .attention {
font-size:70%;
}

#terms .terms .term .step {
border-bottom:rgba(255,255,255,0.3) 1px dashed;
padding-bottom:10px;
margin-bottom:10px;
display:flex;
align-items:center;
}

#terms .terms .term .step:nth-child(2) {
border-top:rgba(255,255,255,0.3) 1px dashed;
padding-top:10px;
margin-top:10px;
}

#terms .terms .term .step span:first-child {
width:10%;
font-weight:bold;
}

#terms .terms .term .step span:last-child {
width:90%;
}

#terms .terms .term .link_text {
    display:flex;
    align-items:center;
}

#terms .terms .term .link_text .arrow {
    width:6px;
    height:6px;
    border-top:#364fa0 1px solid;
    border-right:#364fa0 1px solid;
    transform:rotate(45deg);
    margin-right:5px;
    display:block;
}

#terms .terms .term .link_text a {
    font-size:80%;
}






/*CONTACT*/
#contact {
padding-bottom:70px;
}

#contact .cate_titles {
display:flex;
justify-content:center;
align-items:center;
padding-bottom:15px;
}

#contact .cate_titles .line {
width:50px;
height:1px;
background:#231815;
}

#contact .cate_titles h2 {
font-size:110%;
font-weight:bold;
padding:0 15px;
}

#contact .office {
    font-weight:600;
    text-align:center;
    padding-bottom:10px;
}

#contact .times {
    text-align:center;
    margin-bottom:15px;
}

#contact .times .time {
    display:flex;
    justify-content:center;
}

#contact .times .time p {
    font-size:80%;
}

#contact .mails {
text-align:center;
}

#contact .mails .mail {
display:inline-block;
}

#contact .mails .mail a {
display:flex;
justify-content:center;
align-items:center;
text-decoration:none;
border:#231815 1px solid;
padding:7px 15px;
}

#contact .mails .mail a img {
width:20px;
}

#contact .mails .mail a p {
font-size:80%;
font-weight:bold;
padding-left:10px;
}



/*BACK TO TOP*/
.BackToTop {
position:fixed;
width:35px;
height:35px;
right:15px;
bottom:15px;
z-index:100;
display:none;
}




/*footer*/
footer {
padding-bottom:20px;
}

footer .campaign_logo {
width:250px;
margin:0 auto 35px;
}

footer .foot_logo {
width:90px;
margin:0 auto 50px;
}

footer .privacy {
text-align:center;
padding-bottom:30px;
}

footer .privacy a {
font-size:90%;
font-weight:bold;
}

footer .copyright {
font-size:70%;
font-weight:300;
text-align:center;
}






}