@charset "utf-8";

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

@media(max-width:999px){

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

.cts {
    width:90%;
}

.titles {
    padding-bottom:20px;
    text-align:center;
}

.titles h2 {
    font-size:200%;
    font-weight:800;
    line-height:135%;
}

.titles .icon {
    width:60px;
    margin:0 auto 10px;
}

.titles .copy {
    font-size:100%;
    font-weight:600;
    padding-top:5px;
}



/*FIXED CTA*/
.fixed_cta {
    position:fixed;
    top:0;
    right:0;
    z-index:9999;
}

.fixed_cta a {
    width:65px;
    height:65px;
    background:#f07800;
    display:flex;
    justify-content:center;
    flex-direction:column;
    align-items:center;
}

.fixed_cta a img {
    width:25px;
    margin:0 auto 7px;
}

.fixed_cta a p {
    font-size:70%;
    font-weight:600;
    line-height:100%;
    color:#fff;
    text-align:center;
}





/*MV*/
#mv {
    width:100%;
    background:#fff;
    position:relative;
    overflow:hidden;
}

#mv h1 {
    width:40px;
    position:absolute;
    top:12px;
    left:12px;
    z-index:1000;
}

#mv .photo_cts {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

#mv .photo_cts .photos {
    width:100%;
    height:100%;
    overflow:hidden;
}

#mv .photo_cts .photos .photo {
    width:100%;
    height:50vw;
    overflow:hidden;
    position:relative;
}

#mv .photo_cts .photos .photo .mv {
    width:100%;
}

#mv .photo_cts .photos .photo .point {
    position:absolute;
    left:0;
    bottom:0;
    z-index:1000;
}

#mv .photo_cts .photos .photo .point p {
    font-size:85%;
    font-weight:500;
    line-height:100%;
    color:#fff;
    background:rgba(127,206,67,0.9);
    padding:6px 8px;
}

#mv .photo_cts .copies {
    position:absolute;
    z-index:1000;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#mv .photo_cts .copies .copy {
    width:60px;
}

#mv .photo_cts .points {
    width:90%;
    position:absolute;
    bottom:-100px;
    left:0;
    right:0;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:1000;
}

#mv .photo_cts .points .point {
    width:32%;
    background:#7fce43;
    border:#fff 4px solid;
}

#mv .photo_cts .points .point .point_photo {
}

#mv .photo_cts .points .point .tx {
    height:35px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

#mv .photo_cts .points .point .tx p {
    color:#fff;
    font-size:70%;
    font-weight:bold;
    line-height:100%;
}

#mv .photo_cts .medal {
    position:absolute;
    left:15px;
    bottom:30px;
    width:90px;
    z-index:1000;
}

#mv .maincopies {
    width:90%;
    margin:90px auto 0;
    padding:25px 0 0;
}

#mv .maincopies .member {
    width:100%;
    margin:auto;
}

#mv .maincopies .mv_titles {
    text-align:center;
    position:relative;
}

#mv .maincopies .mv_titles .maintitle {
    font-size:160%;
    font-weight:800;
    line-height:120%;
    padding-bottom:7px;
}

#mv .maincopies .mv_titles .subtitle {
    font-size:90%;
    font-weight:600;
    text-shadow:0 0 5px rgba(255,255,255,0.8);
    padding-bottom:15px;
}

#mv .maincopies .job {
    padding-bottom:5px;
}

#mv .maincopies .job p {
    width:100%;
    font-size:90%;
    font-weight:600;
    line-height:100%;
    background:#7fce43;
    border:#7fce43 1px solid;
    color:#fff;
    margin-bottom:7px;
    padding:8px 5px;
    text-align:center;
}

#mv .maincopies .job p:nth-child(2),
#mv .maincopies .job p:nth-child(3) {
    color:#7fce43;
    border:#7fce43 1px solid;
    background:#fff;
}



/*JOB*/
.background {
    width:100%;
    height:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    background:#000 url(../img/job_bg.jpg) center;
    background-size:cover;
}

#job {
    padding:70px 0;
    background-size:cover;
}

#job .cts {
}

#job .titles .icon {
    width:45px;
    margin-bottom:5px;
}

#job .titles h2 {
    color:#fff;
}

#job .jobs {
    display:flex;
    flex-wrap:wrap;
}

#job .jobs .job {
    width:100%;
    margin-bottom:35px;
}

#job .jobs .job:last-child {
    margin-bottom:0;
}

#job .jobs .job .photo {
    margin-bottom:15px;
}

#job .jobs .job .jobtitle {
    font-size:135%;
    font-weight:bold;
    color:#7fce43;
    padding-bottom:5px;
    text-align:center;
}

#job .jobs .job .tx {
    font-size:100%;
    color:#fff;
}



/*INTRO*/
#intro {
    padding:50px 0;
    background:#fff;
}

#intro .titles .icon {
    width:45px;
}

#intro .titles h2 {
    font-size:150%;
}

#intro .details {
}

#intro .details .detail {
    width:100%;
    margin-bottom:35px;
}

#intro .details .detail:last-child {
    margin-bottom:0;
}

#intro .details .detail .photo {
    margin-bottom:20px;
}

#intro .details .detail h3 {
    font-size:150%;
    font-weight:800;
    line-height:135%;
    text-align:center;
    padding-bottom:10px;
}

#intro .details .detail .ex {
}





/*ABOUT*/
#about {
    position:relative;
}

#about .bg {
    width:100%;
    height:70vw;
    position:relative;
}

#about .bg .photo {
    width:100%;
    height:70vw;
}

#about .bg .photo1 {
    background:url(../img/about_1.jpg) center;
    background-size:cover;
}

#about .bg .photo2 {
    background:url(../img/about_2.jpg) center;
    background-size:cover;
}

#about .bg .photo3 {
    background:url(../img/about_3.jpg) center;
    background-size:cover;
}

#about .details {
    background:#000;
    padding:30px 25px;
}

#about .details h3 {
    font-size:160%;
    font-weight:800;
    line-height:135%;
    color:#fff;
    text-shadow:0 0 5px rgba(0,0,0,0.7);
    text-align:center;
    padding-bottom:15px;
}

#about .details h3 .light {
    font-weight:100;
}

#about .details .detail {
}

#about .details .detail .tx {
    font-size:95%;
    color:#fff;
}




/*FEATURE*/
#feature {
    padding:50px 0;
    background:#fff;
}

#feature .cts {
    width:100%;
}

#feature .titles .icon {
    width:45px;
    margin-bottom:5px;
}

#feature .features {
}

#feature .features .feature {
    margin-bottom:50px;
}

#feature .features .feature:last-child {
    margin-bottom:0;
}

#feature .features .feature .photo {
    width:95%;
    height:70vw;
    margin-bottom:20px;
}

#feature .features .feature .photo1 {
    background:url(../img/feature_1.jpg) center;
    background-size:cover;
}

#feature .features .feature .photo2 {
    background:url(../img/feature_2.jpg) center;
    background-size:cover;
}

#feature .features .feature .photo3 {
    background:url(../img/feature_3.jpg) center;
    background-size:cover;
}

#feature .features .feature .detail {
    width:90%;
    margin:auto;
}

#feature .features .feature .detail .number {
    font-size:350%;
    font-weight:600;
    line-height:100%;
    color:#e1e1e1;
    padding-bottom:5px;
    text-align:center;
}

#feature .features .feature .details .detail .number:first-letter {
    color:#7fce43;
}

#feature .features .feature .detail h3 {
    font-size:140%;
    font-weight:800;
    line-height:135%;
    padding-bottom:10px;
    text-align:center;
}

#feature .features .feature .detail .ex {
}





/*INTERVIEW*/
#interview {
    padding:50px 0 25px;
    background:#f5f5f0 url(../img/interview_bg.jpg) no-repeat bottom center;
    background-size:100%;
}

#interview .titles .icon {
    width:50px;
    margin-bottom:5px;
}

#interview .tabs {
    display:flex;
    justify-content:center;
}

#interview .tabs .tab {
    font-size:90%;
    font-weight:500;
    line-height:100%;
    background:#000;
    color:#fff;
    padding:10px 15px 12px;
    margin:0 5px;
    cursor:pointer;
}

#interview .tabs .tab.on {
    background:#7fce43;
    color:#fff;
}

#interview .interviews {
}

#interview .interviews .interview {
    background:#fff;
    border:#7fce43 5px solid;
    padding:25px 25px;
}

#interview .interviews .interview1 {
}

#interview .interviews .interview2 {
    display:none;
}

#interview .interviews .interview3 {
    display:none;
}

#interview .interviews .interview h3 {
    font-size:125%;
    font-weight:800;
    line-height:135%;
    padding-bottom:20px;
    color:#7fce43;
    text-align:center;
}

#interview .interviews .interview .details {
}

#interview .interviews .interview .details .photos {
    text-align:center;
    margin-bottom:25px;
}

#interview .interviews .interview .details .photos .photo {
    width:100%;
    margin:0 auto 15px;
}

#interview .interviews .interview .details .photos .name {
    font-size:120%;
    font-weight:600;
}

#interview .interviews .interview .details .photos .position {
    font-size:80%;
    color:#aaa;
}

#interview .interviews .interview .details .detail {
    width:100%;
}

#interview .interviews .interview .details .detail .messages {
    
}

#interview .interviews .interview .details .detail .messages .message {
    margin-bottom:35px;
}

#interview .interviews .interview .details .detail .messages .message:last-child {
    margin-bottom:0;
}

#interview .interviews .interview .details .detail .messages .message p {
    margin-bottom:20px;
}

#interview .interviews .interview .details .detail .messages .message p:last-child {
    margin-bottom:0;
}




/*RECRUIT*/
#recruit {
    padding:50px 0;
    background:#f5f5f0;
}

#recruit .titles {
    width:90%;
    margin:auto;
    padding-bottom:0;
}

#recruit .titles .icon {
    width:40px;
    margin-bottom:7px;
}

#recruit .titles h2 {
    font-size:180%;
}

#recruit .titles .copy {
    font-size:120%;
    line-height:150%;
    padding-bottom:5px;
}

#recruit .titles .attention {
    display:flex;
    color:#666;
    font-size:70%;
    text-align:left;
}

#recruit #scene {
}

#recruit #scene .scene_slider .swiper-wrapper {
    transition-timing-function:linear;
}

#recruit .medals {
    width:90%;
    height:80px;
    margin:10px auto 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    z-index:1000;
}


#recruit .medals .medal {
    width:90px;
    position:absolute;
    right:0;
    bottom:-20px;
}

#recruit .medals .tx {
    width:calc(100% - 90px);
    font-size:80%;
}




/*PROCESS*/
#process {
    padding:50px 0 25px;
    background:#fff;
}

#process .titles {
    padding-bottom:40px;
}

#process .titles .icon {
    width:45px;
    margin-bottom:5px;
}

#process .steps {
    display:flex;
    justify-content:space-between;
    flex-direction:column;
    position:relative;
}

#process .steps .flowline {
    width:20px;
    height:100%;
    background:#7fce43;
    position:absolute;
    top:0;
    left:0;
    right:0;
    margin:auto;
}

#process .steps .step {
    width:100%;
    position:relative;
    background:#fff;
    border:#7fce43 3px solid;
    margin-bottom:35px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:10px 0 0;
}

#process .steps .step:last-child {
    margin-bottom:0;
}

#process .steps .step .number {
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    position:absolute;
    top:-20px;
    left:0;
    right:0;
    margin:auto;
    z-index:1;
}

#process .steps .step .number p {
    border:#7fce43 3px solid;
    color:#7fce43;
    background:#fff;
    padding:0 10px;
    font-weight:bold;
    line-height:100%;
    height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#process .steps .step .illust {
    width:80px;
    height:80px;
    margin-right:20px;
}

#process .steps .step .illust img {
}

#process .steps .step .detail {
    width:150px;
}

#process .steps .step .detail .status {
    font-weight:600;
}

#process .steps .step .detail .tx {
    font-size:80%;
}




/*FAQ*/
#faq {
    padding:50px 0;
    background:#f5f5f0;
}

#faq .titles .icon {
    width:50px;
    margin-bottom:0;
}

#faq .faqs {
}

#faq .faqs .faq {
    margin-bottom:15px;
}

#faq .faqs .faq:last-child {
    margin-bottom:0;
}

#faq .faqs .faq .question {
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    border:#7fce43 1px solid;
    background:#7fce43;
    position:relative;
}

#faq .faqs .faq .question .item {
    width:40px;
    min-height:40px;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:100%;
    font-weight:500;
    text-align:center;
}

#faq .faqs .faq .question h3 {
    width:calc(100% - 40px);
    min-height:40px;
    font-size:100%;
    font-weight:700;
    line-height:135%;
    color:#7fce43;
    background:#fff;
    padding:10px 30px 10px 10px;
    display:flex;
    align-items:center;
}

#faq .faqs .faq .question .arrow {
    width:10px;
    height:10px;
    border-top:#7fce43 1px solid;
    border-right:#7fce43 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:15px;
}

#faq .faqs .faq .question .arrow.open {
    width:10px;
    height:10px;
    border-top:#7fce43 1px solid;
    border-right:#7fce43 1px solid;
    transform:rotate(135deg);
    position:absolute;
    right:15px;
    margin-bottom:5px;
}

#faq .faqs .faq .answer_cts {
    display:none;
    margin:10px 0 30px;
}

#faq .faqs .faq:last-child .answer_cts {
    margin-bottom:0;
}

#faq .faqs .faq .answer {
    display:flex;
    justify-content:space-between;
}

#faq .faqs .faq .answer .item {
    width:40px;
    height:40px;
    background:#000;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:100%;
    font-weight:500;
    text-align:center;
}

#faq .faqs .faq .answer .tx {
    width:calc(100% - 55px);
}




/*CTA*/
.cta {
    width:100%;
    background:#7fce43;
    position:relative;
}

.cta .bg {
    width:100%;
    height:100%;
    background:url(../img/cta_bg.svg) center;
    background-size:cover;
    position:absolute;
    top:0;
    left:0;
}

.cta .cts {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    position:relative;
    padding:35px 0;
}

.cta .cta_btn {
    width:100%;
    display:inline-block;
    animation:cta linear 1s infinite alternate;
    -webkit-animation:cta linear 1s infinite alternate;
}

.cta .cta_btn a {
    width:100%;
    height:80px;
    margin:auto;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    background:#f07800;
    border-radius:30vw;
    padding:0 40px;
}

.cta .cta_btn a .balloon {
    width:130px;
    position:absolute;
    left:0;
    right:0;
    margin:auto;
    top:-12px;
}

.cta .cta_btn a p {
    font-size:150%;
    font-weight:800;
    line-height:100%;
    color:#fff;
}

.cta .cta_btn a .arrow {
    width:15px;
    position:absolute;
    right:30px;
}




/*ENTRY*/
#entry {
    padding:50px 0 30px;
    position:relative;
    background:#7fce43 url(../img/entry_bg.jpg) center;
    background-size:cover;
}

#entry .cts {
}

#entry .titles {
    padding-bottom:15px;
}

#entry .titles .icon {
    width:45px;
    margin:0 auto 5px;
}

#entry .entry_form {
    position:relative;
    background:#fff;
    box-shadow:0 0 20px rgba(0,0,0,0.1);
}

#entry .entry_form .entry_cts {
    padding:25px 25px 25px;
    text-align:center;
}

#entry .entry_form .entry_cts .q {
    font-size:350%;
    font-weight:500;
    line-height:100%;
    color:#7fce43;
    padding-bottom:0;
}

#entry .entry_form .entry_cts .question {
    font-size:150%;
    font-weight:800;
    line-height:135%;
}

#entry .entry_form .entry_cts .attention {
    font-size:80%;
    font-weight:400;
}

#entry .entry_form .entry_cts form {
    margin-top:15px;
}



/*ENTRY STEP COLUMN5*/
#entry .entry_form .steps.column5 .step {
    width:20%;
    padding-left:10px;
}

#entry .entry_form .steps.column5 .step:first-child {
    width:17.5%;
    padding-left:10px;
}

#entry .entry_form .steps.column5 .step:last-child {
    width:22.5%;
}



/*ENTRY STEP COLUMN6*/
#entry .entry_form .steps.column6 .step {
    width:16.5%;
    padding-left:10px;
}

#entry .entry_form .steps.column6 .step:first-child {
    width:16.5%;
    padding-left:10px;
}

#entry .entry_form .steps.column6 .step:last-child {
    width:17.5%;
}



/*ENTRY STEP COMMON*/
#entry .entry_form .steps {
    display:flex;
}

#entry .entry_form .steps .step {
    height:50px;
    background:linear-gradient(to right,#555,#000);
    display:flex;
    justify-content:center;
    flex-direction:column;
    align-items:center;
    position:relative;
}

#entry .entry_form .steps .step.now {
    background:#f07800;
}

#entry .entry_form .steps .step.past {
    background:linear-gradient(to right,#787878,#646464);
}

#entry .entry_form .steps .step:after {
    content:"";
    border-top:transparent 25px solid;
    border-right:transparent 10px solid;
    border-bottom:transparent 25px solid;
    border-left:#000 10px solid;
    position:absolute;
    top:0;
    right:-20px;
    z-index:1;
}

#entry .entry_form .steps .step.now:after {
    content:"";
    border-top:transparent 25px solid;
    border-right:transparent 10px solid;
    border-bottom:transparent 25px solid;
    border-left:#f07800 10px solid;
    position:absolute;
    top:0;
    right:-20px;
    z-index:1;
}

#entry .entry_form .steps .step.past:after {
    content:"";
    border-top:transparent 25px solid;
    border-right:transparent 10px solid;
    border-bottom:transparent 25px solid;
    border-left:#646464 10px solid;
    position:absolute;
    top:0;
    right:-20px;
    z-index:1;
}

#entry .entry_form .steps .step:last-child:after {
display:none;
}

#entry .entry_form .steps .step p {
    line-height:100%;
    text-align:center;
    color:#fff;
}

#entry .entry_form .steps .step p:first-child {
    font-size:100%;
    padding-bottom:3px;
}

#entry .entry_form .steps .step p:last-child {
    font-size:50%;
}



/*ENTRY STATUS*/
#entry.entry_status .answer {
    display:flex;
    justify-content:center;
}

#entry.entry_status label {
    border:#000 3px solid;
    color:#000;
    padding:15px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
    margin:0 7px;
    width:120px;
}



/*ENTRY JOB*/
#entry.entry_job .answer {
}

#entry.entry_job .answer p {
    margin-bottom:12px;
}

#entry.entry_job .answer p:last-child {
    margin-bottom:0;
}

#entry.entry_job label {
    border:#000 3px solid;
    color:#000;
    padding:15px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:100%;
    font-weight:600;
    width:100%;
}



/*ENTRY EMPLOYMENT*/
#entry.entry_employment .answer {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}

#entry.entry_employment .answer p {
    width:48%;
    margin:0 4% 15px 0;
}

#entry.entry_employment .answer p:nth-child(odd) {
    margin-right:0;
}

#entry.entry_employment .answer p:nth-child(n+4) {
    margin-bottom:0;
}

#entry.entry_employment label {
    border:#000 3px solid;
    color:#000;
    padding:15px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
}



/*ENTRY AREA*/
#entry.entry_area .answer {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}

#entry.entry_area .answer p {
    width:48%;
    margin:0 4% 15px 0;
}

#entry.entry_area .answer p:nth-child(odd) {
    margin-right:0;
}

#entry.entry_area .answer p:nth-child(n+4) {
    margin-bottom:0;
}

#entry.entry_area label {
    border:#000 3px solid;
    color:#000;
    padding:15px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
}



/*ENTRY AGE*/
#entry.entry_age {
}

#entry.entry_age .detail_cts {
    display:flex;
    justify-content:center;
    align-items:center;
}

#entry.entry_age .detail_cts p:last-child {
    padding-left:10px;
    font-size:120%;
    font-weight:500;
}

#entry.entry_age .style_age {
    width:150px;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
    margin:0 7px;
    display:block;
    cursor:pointer;
}



/*ENTRY NAME*/
#entry.entry_name {
}

#entry.entry_name .forms .form {
    width:100%;
    margin-top:15px;
}

#entry.entry_name .forms .form:first-child {
    margin-top:0;
}

#entry.entry_name .forms .form .item {
    font-size:120%;
    font-weight:500;
    padding-bottom:7px;
    text-align:left;
}

#entry.entry_name .forms .form .detail {
    width:100%;
}

#entry.entry_name .forms .form .detail .detail_cts {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#entry.entry_name .forms .form .detail .detail_cts p {
    width:48.5%;
}

#entry.entry_name .style_name {
    width:100%;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
}

#entry.entry_name .style_kana {
    width:100%;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
}



/*ENTRY CONTACT*/
#entry.entry_contact {
}

#entry.entry_contact .forms .form {
    width:100%;
    margin-bottom:15px;
}

#entry.entry_contact .forms .form .item {
    font-size:120%;
    font-weight:500;
    padding-bottom:7px;
    text-align:left;
}

#entry.entry_contact .forms .form .detail {
    width:100%;
}

#entry.entry_contact .style_tel {
    width:100%;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
}

#entry.entry_contact .style_mail {
    width:100%;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
}



/*ENTRY TEL*/
#entry.entry_tel {
}

#entry.entry_tel .forms .form {
    width:100%;
}

#entry.entry_tel .forms .form .item {
    font-size:120%;
    font-weight:500;
    padding-bottom:7px;
    text-align:left;
}

#entry.entry_tel .forms .form .detail {
    width:100%;
}

#entry.entry_tel .style_tel {
    width:100%;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
}



/*ENTRY MAIL*/
#entry.entry_mail {
}

#entry.entry_mail .forms .form {
    width:100%;
}

#entry.entry_mail .forms .form .item {
    font-size:120%;
    font-weight:500;
    padding-bottom:7px;
    text-align:left;
}

#entry.entry_mail .forms .form .detail {
    width:100%;
}

#entry.entry_mail .style_mail {
    width:100%;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
}


/*ENTRY CONSENT*/
#entry.entry_consent {
}

#entry.entry_consent .detail {
}

#entry.entry_consent .detail .caution {
}


/*ENTRY SEX*/
#entry.entry_sex .answer {
    display:flex;
    justify-content:center;
}

#entry.entry_sex label {
    border:#000 3px solid;
    color:#000;
    padding:20px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
    margin:0 7px;
    width:80px;
}


/*ENTRY PREFECTURE*/
#entry.entry_prefecture {
}

#entry.entry_prefecture .detail_cts {
    display:flex;
    justify-content:center;
    align-items:center;
}

#entry.entry_prefecture .style_prefecture {
    width:100%;
    font-size:120%;
    font-weight:600;
    color:#000;
    border:#000 3px solid;
    padding:15px 20px;
    border-radius:10px;
    margin:0 7px;
    display:block;
    cursor:pointer;
}


/*ENTRY QUALIFIED*/
#entry.entry_qualified .answer {
    display:flex;
    justify-content:center;
}

#entry.entry_qualified label {
    border:#000 3px solid;
    color:#000;
    padding:20px;
    display:block;
    cursor:pointer;
    border-radius:10px;
    font-size:120%;
    font-weight:600;
    margin:0 7px;
    width:150px;
}




/*ENTRY CONFIRM*/
#entry.confirm {
}

#entry.confirm .entry_form .entry_cts {
    padding:25px 25px 25px;
    text-align:left;
}

#entry.confirm .entry_form .entry_cts .copy {
    font-size:110%;
    font-weight:600;
    text-align:center;
}

#entry.confirm .confirmations {
}

#entry.confirm .confirmations .confirmation {
    border-bottom:#e1e1e1 1px solid;
    padding:20px 0;
}

#entry.confirm .confirmations .confirmation:first-child {
    border-top:#e1e1e1 1px solid;
}

#entry.confirm .confirmations .confirmation .item {
    font-size:100%;
    font-weight:500;
}

#entry.confirm .confirmations .confirmation .ex {
    font-size:120%;
    font-weight:bold;
    line-height:100%;
    color:#000;
    margin-top:5px;
}



/*PRIVACY POLICY*/
#entry.confirm .privacy_policy {
    padding:15px 0 0;
}

#entry.confirm .privacy_policy .item {
    font-size:100%;
    font-weight:600;
}

#entry.confirm .privacy_policy .tx {
    font-size:90%;
    padding-bottom:15px;
}

#entry.confirm .privacy_policy .privacies {
    width:100%;
    height:190px;
    overflow:scroll;
    border:#e1e1e1 1px solid;
    padding:15px 20px;
}

#entry.confirm .privacy_policy .privacies .privacy {
    padding-bottom:15px;
    margin-bottom:15px;
    border-bottom:#e1e1e1 1px dashed;
}

#entry.confirm .privacy_policy .privacies .privacy:last-child {
    padding-bottom:0;
    margin-bottom:0;
    border-bottom:none;
}

#entry.confirm .privacy_policy .privacies .privacy .privacy_item {
    font-size:80%;
    font-weight:bold;
}

#entry.confirm .privacy_policy .privacies .privacy .ex {
    font-size:80%;
}

#entry.confirm .privacy_policy .privacies .privacy li {
    font-size:80%;
}

#entry.confirm .privacy_policy .privacies .privacy .contact {
    font-size:80%;
    padding-top:10px;
}



/*ENTRY FINISH*/
#entry.thanks {
}

#entry.thanks .entry_form .entry_cts {
    padding:30px 30px 30px;
}

#entry.thanks h3 {
    font-size:200%;
    font-weight:bold;
    padding-bottom:25px;
    color:#7fce43;
}

#entry.thanks .ex {
    font-size:100%;
    font-weight:500;
    padding-bottom:25px;
}

#entry.thanks .attention {
    font-size:80%;
    display:flex;
}

#entry.thanks .backbtn {
    margin-top:50px;
    text-align:center;
}

#entry.thanks .backbtn .btn {
    display:inline-block;
}

#entry.thanks .backbtn .btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    border:#7fce43 1px solid;
    padding:10px 20px;
}

#entry.thanks .backbtn .btn a p {
    font-weight:500;
    color:#7fce43;
    padding-left:10px;
}

#entry.thanks .backbtn .btn a .arrow {
    width:10px;
    height:10px;
    border-top:#7fce43 1px solid;
    border-right:#7fce43 1px solid;
    transform:rotate(-135deg);
}



/*ENTRY BTN*/
#entry .btns {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
}
    
#entry .btns btn {
    margin:0 7px;
}
    
#entry input[type="radio"],
#entry input[type="checkbox"] {
visibility:hidden;
position:absolute;
}

#entry .warning {
font-size:90%;
font-weight:600;
color:#f07800;
margin:10px auto 15px;
display:block;
border:none;
padding:0;
text-align:center;
}

#entry label:hover {
}

#entry input[type="radio"]:checked + label {
    background:#7fce43;
}

#entry input[type="checkbox"]:checked + label {
    background:#7fce43;
}

#entry input[type="submit"] {
cursor:pointer;
}

#entry input[type="submit"]:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#entry .style_fix {
font-size:90%;
font-weight:500;
padding:10px 20px;
background:#aaa;
color:#fff;
border:none;
border-radius:5px;
margin-right:12px;
cursor:pointer;
}

#entry .style_fix:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

#entry .style_submit {
font-size:110%;
font-weight:600;
padding:12px 30px;
background:#fff;
border:none;
background:#f07800;
color:#fff;
border-radius:5px;
}






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



/*FOOTER*/
footer {
padding:30px 0 15px;
background:#000;
}

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

footer .info .logo {
    width:45px;
    margin:0 auto 15px;
}

footer .info .company {
    font-size:100%;
    font-weight:bold;
    color:#fff;
}

footer .info .address {
    font-size:80%;
    color:#fff;
}

footer .copyright {
font-size:60%;
text-align:center;
color:#646464;
}

















}