@charset "utf-8";

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

@media(min-width:1000px){

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

#wrap {
overflow-x:hidden;
}

.cts {
width:1000px;
margin:auto;
position:relative;
}

h2 {
font-family: 'Noto Serif JP', serif;
}



/*START*/
#mv .start {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    display:flex;
    justify-content:space-between;
}

#mv .start .door_left {
    width:50%;
    height:100%;
    background:#190f0a;
    animation:door_left 1.5s forwards;
    -webkit-animation:door_left 1.5s forwards;
}

#mv .start .door_right {
    width:50%;
    height:100%;
    background:#190f0a;
    animation:door_right 1.5s forwards;
    -webkit-animation:door_right 1.5s forwards;
}


/*MV*/
#mv {
    width:100%;
    background:url(../img/mv.jpg) center;
    background-size:cover;
    position:relative;
    overflow:hidden;
    position:relative;
}

#mv .nb_logo {
    width:90px;
    position:absolute;
    top:25px;
    left:25px;
    z-index:999;
    display:none;
}

#mv .campaign_cts {
    height:600px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#mv .campaign_cts .campaign {
    width:600px;
    margin-bottom:50px;
}

#mv .campaign_cts .partner_logo {
    width:300px;
}

#mv .titles {
    width:calc(100% - 100px);
    margin:0 auto 50px;
    background:rgba(0,0,0,0.7);
    padding:35px;
    text-align:center;
    position:relative;
    z-index:1;
}

#mv .titles h2 {
    width:600px;
    margin:0 auto 25px;
}

#mv .titles .periods {
    border-top:#fff 2px solid;
    border-bottom:#fff 2px solid;
    width:480px;
    margin:0 auto 20px;
    padding:10px 0;
}

#mv .titles .periods .item {
    width:150px;
    margin:0 auto 5px;
}

#mv .titles .periods .period {
    width:450px;
    margin:0 auto 5px;
}

#mv .titles .periods .entry_period {
    font-size:70%;
    color:#fff;
}

#mv .titles .copy {
    color:#fff;
    margin-bottom:7px;
}

#mv .titles .attention {
}

#mv .titles .attention p {
    font-size:70%;
    color:#aaa;
}





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

#campaign .deco {
    width:1px;
    height:70px;
    background:#323232;
    margin:0 auto 15px;
}

#campaign .cts {
}

#campaign h2 {
font-size:220%;
font-weight:600;
line-height:100%;
color:#cf0c2b;
transform:scale(0.9,1);
text-align:center;
padding-bottom:30px;
}

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

#campaign .overviews .overview {
background:#eee;
margin-bottom:18px;
display:flex;
align-items:center;
position:relative;
}

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

#campaign .overviews .overview .item {
width:150px;
font-weight:600;
text-align:center;
}

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

#campaign .overviews .overview .details {
width:calc(100% - 150px);
margin:0 0 0 auto;
background:#fff;
padding:20px 25px;
}

#campaign .overviews .overview .details .detail {
}

#campaign .overviews .overview .details .benefits {
}

#campaign .overviews .overview .details .benefits .benefit {
    border-bottom:#eee 1px solid;
    display:flex;
    align-items:center;
    margin-bottom:10px;
    padding-bottom:10px;
}

#campaign .overviews .overview .details .benefits .benefit:last-child {
    margin-bottom:0;
    padding-bottom:0;
    border-bottom:none;
}

#campaign .overviews .overview .details .benefits .benefit .number {
    font-size:150%;
    line-height:100%;
    color:#cf0c2b;
    transform:scale(0.9,1);
    width:40px;
    text-align:center;
}

#campaign .overviews .overview .details .benefits .benefit .detail {
    border-left:#eee 1px solid;
    padding-left:15px;
}

#campaign .overviews .overview .details .benefits .benefit:last-child .detail {

}

#campaign .overviews .overview .details .benefits .benefit .detail .course {
    font-size:100%;
    font-weight:600;
    color:#cf0c2b;
}

#campaign .overviews .overview .details .benefits .benefit .detail .attention {
    font-size:80%;
    color:#666;
}

#campaign .overviews .overview .details .btns {
margin-top:10px;
}

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

#campaign .overviews .overview .details .shop_btn a {
font-size:90%;
display:flex;
justify-content:center;
align-items:center;
padding:4px 20px;
background:#fff;
border:#cf0c2b 1px solid;
border-radius:20vw;
}

#campaign .overviews .overview .details .shop_btn a p {
color:#cf0c2b;
font-weight:400;
margin-right:7px;
}

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

#campaign .overviews .overview .details .explains {

}

#campaign .overviews .overview .details .explains .attention {
    margin-top:3px;
}

#campaign .overviews .overview .details .explains .attention p {
    font-size:80%;
    color:#666;
}

#campaign .overviews .overview .details .methods {
background:#fdf3f4;
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:#cf0c2b 1px solid;
width:120px;
margin:10px auto 0;
text-align:center;
cursor:pointer;
display:flex;
justify-content:center;
align-items:center;
padding:5px;
color:#cf0c2b;
background:#fff;
font-weight:400;
}

#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 .special_program {
    border:#cf0c2b 5px solid;
    background:#fff;
    padding:40px 50px;
}

#campaign .special_program .cate_titles {
    text-align:center;
    margin-bottom:20px;
}

#campaign .special_program .cate_titles .en {
    width:200px;
    margin:auto;
}

#campaign .special_program .cate_titles .cate_title {
    font-size:200%;
    font-weight:bold;
    color:#cf0c2b;
}

#campaign .special_program .informations {
}

#campaign .special_program .informations .information {
    border-bottom:#eee 1px solid;
    margin-bottom:15px;
    padding-bottom:15px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
}

#campaign .special_program .informations .information:last-child {
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:0;
}

#campaign .special_program .informations .information .item {
    width:120px;
    background:#cf0c2b;
    text-align:center;
    border-radius:20vw;
    color:#fff;
    font-size:90%;
    padding:3px;
}

#campaign .special_program .informations .information .detail {
    width:calc(100% - 150px);
}

#campaign .special_program .informations .information .detail .data {
    font-weight:600;
}

#campaign .special_program .informations .information .detail .tx {
    font-size:90%;
}

#campaign .special_program .informations .information .detail .profiles {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
}

#campaign .special_program .informations .information .detail .profiles .photo {
    width:150px;
}

#campaign .special_program .informations .information .detail .profiles .profile {
    width:calc(100% - 180px);
}

#campaign .special_program .informations .information .detail .profiles .profile .position {
    font-size:90%;
    font-weight:600;
}

#campaign .special_program .informations .information .detail .profiles .profile .name {
    font-size:120%;
    font-weight:600;
    margin-bottom:10px;
    display:flex;
    align-items:center;
}

#campaign .special_program .informations .information .detail .profiles .profile .name .kana {
    font-size:70%;
    font-weight:600;
    margin-left:5px;
}

#campaign .special_program .informations .information .detail .profiles .profile .tx {
    font-size:90%;
}




/*CTA*/
#cta {
width:800px;
margin:0 auto 50px;
-webkit-animation:btn 1s ease infinite alternate;
animation:btn 1s ease infinite alternate;
}





/*TERMS*/
#terms {
width:1000px;
margin:0 auto 50px;
background:#1e1e1e;
padding:40px 50px;
}

#terms p {
    color:#c8c8c8;
}

#terms h2 {
font-size:150%;
font-weight:600;
color:#666;
transform:scale(0.9,1);
text-align:center;
padding-bottom:30px;
}

#terms h2 span {
border-bottom:#666 2px solid;
padding-bottom:3px;
}

#terms .cts {
display:none;
width:100%;
margin-bottom:50px;
}

#terms .terms_btn {
width:200px;
color:#666;
text-align:center;
padding:10px;
font-size:90%;
cursor:pointer;
margin:auto;
border:#666 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:#666 1px solid;
border-right:#666 1px solid;
transform:rotate(135deg);
margin-bottom:5px;
display:block;
}

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

#terms .terms {
}

#terms .terms .term {
border-bottom:#323232 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:#c8c8c8;
font-weight:600;
text-decoration:underline;
}

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

#terms .terms .term ul {
}

#terms .terms .term ul li {
    display:flex;
}

#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%;
}





/*CONTACT*/
#contact {
    background:#585757;
    padding:70px 0 0;
}

#contact .cts {
}

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

#contact .cate_titles h2 {
font-size:135%;
font-weight:600;
line-height:100%;
color:#fff;
transform:scale(0.9,1);
padding:8px 15px 10px;
border-top:#fff 1px solid;
border-bottom:#fff 1px solid;
padding:15px 15px 17px;
}

#contact .office {
font-size:90%;
text-align:center;
padding-bottom:15px;
color:#fff;
}

#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:#fff 1px solid;
padding:12px 25px;
}

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

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

#contact .open {
padding-top:20px;
text-align:center;
}

#contact .open p {
font-size:80%;
color:#fff;
}



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





/*footer*/
footer {
background:#585757;
padding-top:50px;
}

footer .cts {
}

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

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

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

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

footer .copyright {
font-size:70%;
font-weight:300;
color:#fff;
text-align:center;
padding-bottom:20px;
}





}