@charset "utf-8";

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

@media(max-width:999px){

/*STYLE*/
.pc {
display:none;
}

.cts {
    width:92%;
}



/*-----MV-----*/
#mv {
    width:100%;
    background:#eaebeb;
    position:relative;
}

#mv .photo {
    width:90vw;
    height:90vw;
    background:url(../img/mv.jpg) top center / cover;
    margin:auto;

}

#mv .cts {
    width:100%;
    height:100%;
    position:relative;
    padding-top:270px;
}

#mv .copies {
    width:90%;
    margin:auto;
    position:absolute;
    top:50px;
    left:0;
    right:0;
    z-index:1;
}

#mv .copies .logo {
    width:100px;
    margin:0 auto 30px;
}

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

#mv .copies .campaign {
    width:320px;
    margin:0 auto 10px;
}

#mv .copies .period {
    width:300px;
    margin:auto;
}




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

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

#situation .conditions {
    width:100%;
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
}

#situation .conditions .condition {
    width:48%;
}

#situation .conditions .condition:last-child {
    margin-bottom:0;
}

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

#situation .scenes .scene {
    width:48.5%;
    background:rgba(0,0,0,0.3);
    padding:20px 15px;
}

#situation .scenes .scene .icon {
    width:85px;
    margin:0 auto 15px;
}

#situation .scenes .scene .copy {
    width:100%;
}

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

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




/*FLOW*/
#flow {
background:#fff;
padding-bottom:50px;
}

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

#flow .flows {
position:relative;
}

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

#flow .flows .flow {
width:100%;
background:#eaebec;
padding:35px 25px 25px;
position:relative;
display:flex;
justify-content:space-between;
flex-direction:column;
align-items:center;
margin-bottom:25px;
}

#flow .flows .flow:nth-child(2) {
padding-top:25px;
}

#flow .flows .flow:last-child {
margin-bottom:0;
padding-bottom:15px;
}

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

#flow .flows .flow .details {
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
}

#flow .flows .flow .details .icon {
width:60px;
}

#flow .flows .flow .details .detail {
width:calc(100% - 60px);
font-size:90%;
color:#000;
padding-left:20px;
}

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

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

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

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




/*CAMPAIGN*/
#campaign {
padding:30px 0;
}

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

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

#campaign .overviews .overview {
width:100%;
margin:0 0 20px;
background:#eaebeb;
position:relative;
}

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

#campaign .overviews .overview .items {
width:100%;
background:#231815;
padding:10px;
}

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

#campaign .overviews .overview .details {
    width:100%;
    padding:18px 20px;
}

#campaign .overviews .overview:first-child .details {
}

#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:100%;
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:40px 0;
background:#eaebeb;
margin-bottom:50px;
}

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

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

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

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

#terms .terms_btn {
width:200px;
color:#231815;
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%;
color:#231815;
letter-spacing:0;
display:flex;
}

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

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

#terms .terms .term p .step {
width:150px;
display:block;
}

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

#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:100%;
font-weight:bold;
display:block;
}

#terms .terms .term .step span:last-child {
width:100%;
display:block;
}

#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:30px;
height:1px;
background:#231815;
display:none;
}

#contact .cate_titles h2 {
font-size:110%;
font-weight:bold;
line-height:150%;
padding:0 15px;
text-align:center;
}

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

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

#contact .times .time {
    margin-bottom:10px;
}

#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:220px;
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;
}














}