@charset "utf-8";

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

@media(min-width:1000px){

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

.cts {
width:1000px;
}

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

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

.titles h2 {
font-size:250%;
font-weight:bold;
line-height:135%;
color:#34458c;
}

.titles .copy {
font-size:120%;
font-weight:600;
color:#34458c;
padding-top:5px;
}

.titles .subtitle {
font-size:120%;
font-weight:bold;
}

.titles .kana {
font-size:100%;
}



/*HEADER*/
header {
}

header h1 {
position:fixed;
top:15px;
left:20px;
display:flex;
align-items:center;
z-index:999;
}

header h1 .symbol {
width:55px;
}

header h1 p {
font-size:150%;
font-weight:600;
color:#fff;
margin-left:10px;
text-shadow:0 0 10px rgba(0,0,0,0.5);
}

header .contact {
position:fixed;
top:0;
right:0;
z-index:999;
}

header .contact a {
width:90px;
height:90px;
background:#70b9db;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
border-radius:0 0 0 10px;
}

header .contact a .icon {
width:45px;
margin:0 auto 5px;
}

header .contact a p {
font-size:80%;
font-weight:600;
color:#34458c;
}





/*MV*/
#mv {
width:100%;
height:100vh;
background:#000;
display:flex;
justify-content:center;
align-items:center;
position:relative;
overflow:hidden;
}

#mv .movie {
}

#mv .movie video{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:177.77777778vh;
height:56.25vw;
min-height:100%;
min-width:100%;
}

#mv .bg {
position:absolute;
top:0;
right:0;
width:20%;
height:100%;
background:rgba(52,69,140,0.95);
}

#mv .copies {
position:absolute;
right:0;
background:rgba(0,0,0,0.8);
padding:35px 35px;
border-radius:20px 0 0 20px;
}

#mv .copies .subtitle {
font-size:130%;
font-weight:600;
line-height:100%;
color:#70b9db;
margin-bottom:15px;
}

#mv .copies .subtitle span {
background:#70b9db;
color:#34458c;
padding:7px 7px;
margin-right:7px;
border-radius:5px;
display:inline-block;
}

#mv .copies .maintitle {
font-size:320%;
font-weight:600;
line-height:125%;
color:#fff;
}

#mv .copies .track {
position:absolute;
top:-45px;
left:0;
right:0;
margin:auto;
text-align:center;
}

#mv .copies .track img {
width:auto;
height:45px;
}

#mv .medals {
position:absolute;
left:25px;
bottom:25px;
display:flex;
align-items:center;
}

#mv .medals .medal {
width:110px;
margin-right:15px;
}




/*ENTRY*/
#entry {
padding:70px 0;
background:#c8d2dc;
}

#entry .titles .icon {
width:70px;
}

#entry .steps {
display:flex;
justify-content:space-between;
border-radius:30px 30px 0 0;
overflow:hidden;
}

#entry .steps .step {
width:20%;
height:60px;
background:#70b9db;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
position:relative;
}

#entry .steps .step.now {
background:#eb3200;
}

#entry .steps .step.past {
background:#aaa;
}

#entry .steps .step:after {
content:"";
width:60px;
height:60px;
border-radius:30px;
background:linear-gradient(to right,#70b9db,#70b9db,#5ca5c8);
position:absolute;
top:0;
right:-30px;
z-index:1;
}

#entry .steps .step.now:after {
background:#eb3200;
}

#entry .steps .step.past:after {
background:linear-gradient(to right,#aaa,#aaa,#999);
}

#entry .steps .step .number {
font-size:120%;
font-weight:600;
line-height:100%;
color:#fff;
padding-bottom:5px;
}

#entry .steps .step .status {
font-size:80%;
font-weight:500;
line-height:100%;
color:#fff;
}

#entry .form_cts {
background:#fff;
border-radius:0 0 30px 30px;
padding:30px 50px;
position:relative;
}

#entry .form_cts .question {
text-align:center;
padding-bottom:30px;
}

#entry .form_cts .question .item {
font-size:400%;
font-weight:500;
line-height:100%;
color:#34458c;
padding-bottom:10px;
}

#entry .form_cts .question h3 {
font-size:220%;
font-weight:600;
line-height:135%;
color:#34458c;
}

#entry .form_cts .answer {
display:flex;
justify-content:center;
align-items:center;
padding-bottom:30px;
}

#entry .form_cts .answer.q1 {
}

#entry .form_cts .answer.q2 {
}

#entry .form_cts .answer.q2 p:last-child {
font-size:120%;
font-weight:600;
margin-left:15px;
}

#entry .form_cts .answer.q3 .item {
width:100px;
}

#entry .form_cts .answer.q3 .form:first-child {
margin-bottom:15px;
}

#entry .form_cts .answer.q3 .detail .detail_cts p:first-child {
margin-right:15px;
}

#entry .form_cts .answer .forms {
}

#entry .form_cts .answer .forms .form {
display:flex;
align-items:center;
}

#entry .form_cts .answer .forms .form .detail {

}

#entry .form_cts .answer .forms .form .item {
font-size:120%;
font-weight:600;
margin-right:15px;
}

#entry .form_cts .answer .forms .form .detail_cts {
display:flex;
align-items:center;
}

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

#entry .btns btn {
margin:0 7px;
}

#entry input {
padding:15px 25px;
font-size:180%;
font-weight:600;
}

#entry input[type="radio"] {
visibility:hidden;
position:absolute;
}

#entry .q1 .detail_cts label {
border:#34458c 3px solid;
color:#34458c;
padding:20px 20px;
display:block;
cursor:pointer;
border-radius:10vw;
font-size:150%;
font-weight:600;
margin:0 7px;
width:200px;
text-align:center;
}

#entry .warning label {
font-size:100%;
font-weight:600;
color:#eb3200;
margin-top:5px;
display:block;
}

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

#entry input[type="radio"]:checked + label {
background:#34458c;
color:#fff;
}

#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_q1 {
}

#entry .style_year {
width:200px;
}

#entry .style_name {
width:250px;
}

#entry .style_kana {
width:250px;
}

#entry .style_tel {
width:350px;
}

#entry .style_mail {
width:600px;
}

#entry .style_fix {
font-size:120%;
font-weight:600;
padding:12px 50px;
background:#ccc;
color:#fff;
border:none;
border-radius:20vw;
margin-right:20px;
}

#entry .style_submit {
font-size:120%;
font-weight:600;
padding:12px 50px;
background:#eb3200;
color:#fff;
border:none;
border-radius:20vw;
}

#entry .place {
text-align:center;
padding-top:30px;
}

#entry .place .office {
font-size:100%;
font-weight:600;
color:#34458c;
}

#entry .place .address {
font-size:90%;
color:#34458c;
}

#entry.confirm {
}

#entry.confirm .form_cts {
padding:50px 50px;
border-radius:30px 30px 30px 30px;
}

#entry.confirm .confirmations {
}

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

#entry.confirm .confirmations .confirmation .item {
font-size:120%;
font-weight:600;
color:#34458c;
}

#entry.confirm .confirmations .confirmation .ex {
font-size:180%;
font-weight:600;
}

#entry.thanks {
}

#entry.thanks .form_cts {
padding:50px 50px;
border-radius:30px 30px 30px 30px;
}

#entry.thanks h3 {
font-size:200%;
font-weight:600;
color:#34458c;
text-align:center;
padding-bottom:30px;
}

#entry.thanks .ex {
font-size:110%;
text-align:center;
padding-bottom:30px;
}

#entry.thanks .attention {
font-size:80%;
text-align:center;
padding-bottom:50px;
}

#entry.thanks .backbtn {
text-align:center;
}

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

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

#entry.thanks .backbtn .btn a p {
color:#70b9db;
margin-left:10px;
}

#entry.thanks .backbtn .btn a .arrow {
width:8px;
height:8px;
border-left:#70b9db 1px solid;
border-bottom:#70b9db 1px solid;
transform:rotate(45deg);
}







/*INTRO*/
#intro {
padding:70px 0;
}

#intro .intros {
display:flex;
justify-content:space-between;
padding-bottom:50px;
}

#intro .intros .intro {
width:30%;
}

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

#intro .intros .intro .photo img {
border-radius:15px;
}

#intro .intros .intro h3 {
font-size:125%;
font-weight:600;
color:#34458c;
text-align:center;
padding-bottom:15px;
}

#intro .intros .intro .ex {
}

#intro .beginner {
}

#intro .beginner h4 {
display:flex;
justify-content:center;
align-items:center;
margin-bottom:20px;
}

#intro .beginner h4 .line {
width:50px;
height:1px;
background:#34458c;
}

#intro .beginner h4 p {
font-size:150%;
font-weight:600;
color:#34458c;
padding:0 10px;
}

#intro .beginner .systems {
display:flex;
justify-content:space-between;
align-items:center;
position:relative;
}

#intro .beginner .systems .flowbar {
width:100%;
height:14px;
background:#70b9db;
position:absolute;
}

#intro .beginner .systems .system {
width:180px;
height:180px;
border:#70b9db 1px solid;
border-radius:90px;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
text-align:center;
background:#fff;
position:relative;
}

#intro .beginner .systems .system:last-child {
background:#70b9db;
}

#intro .beginner .systems .system .number {
font-size:180%;
font-weight:500;
line-height:100%;
padding-bottom:5px;
color:#70b9db;
}

#intro .beginner .systems .system:last-child .number {
color:#fff;
}

#intro .beginner .systems .system .ex {
font-size:100%;
font-weight:500;
color:#70b9db;
}

#intro .beginner .systems .system:last-child .ex {
color:#fff;
}

#intro .beginner .systems .system .ex .fs {
font-size:80%;
}





/*GREETING*/
#greeting {
background:url(../img/greeting_bg.jpg) center;
background-size:cover;
}

#greeting .cts {
width:100%;
display:flex;
justify-content:space-between;
}

#greeting .cts .photo {
display:none;
}

#greeting .cts .copy_cts {
width:50%;
background:rgba(52,69,140,0.9);
padding:100px 0;
}

#greeting .cts .copy_cts .copies {
width:500px;
margin:0 0 0 auto;
padding-right:70px;
}

#greeting .cts .copy_cts .copies h3 {
font-size:160%;
font-weight:600;
color:#fff;
padding-bottom:30px;
}

#greeting .cts .copy_cts .copies .ex {

}

#greeting .cts .copy_cts .copies .ex p {
padding-bottom:30px;
line-height:200%;
color:#fff;
}

#greeting .cts .copy_cts .copies .ex p:last-child {
padding-bottom:0;
}





/*CTA*/
.cta {
background:#70b9db;
padding:50px 0 0;
}

.cta .copy {
font-size:150%;
font-weight:600;
color:#34458c;
text-align:center;
padding-bottom:15px;
}

.cta .btns {
text-align:center;
margin-bottom:30px;
-webkit-animation:btn 1s ease infinite alternate;
animation:btn 1s ease infinite alternate;
}

.cta .btns .btn {
display:inline-block;
}

.cta .btns .btn a {
display:flex;
justify-content:center;
align-items:center;
background:#34458c;
padding:20px 60px;
border-radius:20vw;
}

.cta .btns .btn a p {
font-size:120%;
font-weight:600;
color:#fff;
}

.cta .btns .btn a .arrow {
width:10px;
height:10px;
border-top:#fff 2px solid;
border-right:#fff 2px solid;
transform:rotate(45deg);
margin-left:20px;
}

.cta .track {
width:180px;
margin:auto;
transition:10s;
-webkit-animation:track 10s ease infinite;
animation:track 10s ease infinite;
}




/*FEATURE*/
#feature {
padding:100px 0;
}

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

#feature .features .feature {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:50px;
}

#feature .features .feature:nth-child(even) {
flex-direction:row-reverse;
}

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

#feature .features .feature .photo {
width:480px;
}

#feature .features .feature .photo img {
border-radius:20px;
}

#feature .features .feature .detail {
width:480px;
}

#feature .features .feature .detail .number {
background:#70b9db;
color:#34458c;
display:inline-block;
margin-bottom:10px;
padding:5px 15px;
border-radius:10vw;
}

#feature .features .feature .detail h3 {
font-size:180%;
font-weight:bold;
line-height:135%;
color:#34458c;
margin-bottom:15px;
}

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

#feature .selection {
border:#746907 1px solid;
border-radius:20px;
}

#feature .selection .item {
font-size:110%;
font-weight:600;
background:#f1f0e6;
padding:15px;
text-align:center;
color:#746907;
border-radius:20px 20px 0 0;
}

#feature .selection .symbols {
display:flex;
justify-content:center;
align-items:center;
padding:20px;
}

#feature .selection .symbols .logo {
width:500px;
}

#feature .selection .symbols .symbol {
width:150px;
margin-left:30px;
}



/*INTERVIEW*/
#interview {
padding:100px 0;
}

#interview .interviews {
display:flex;
justify-content:space-between;
}

#interview .interviews .interview {
width:300px;
}

#interview .interviews .interview .photo {
margin-bottom:20px;
}

#interview .interviews .interview .photo img {
border-radius:15px;
}

#interview .interviews .interview .names {
padding-bottom:15px;
text-align:center;
}

#interview .interviews .interview .names .position {
font-size:100%;
font-weight:600;
color:#34458c;
}

#interview .interviews .interview .names .name {
font-size:135%;
font-weight:bold;
color:#34458c;
}

#interview .interviews .interview .names .year {
font-size:80%;
color:#787878;
}

#interview .interviews .interview .messages {

}

#interview .interviews .interview .messages .message {
margin-bottom:25px;
}

#interview .interviews .interview .messages .message .item {
font-weight:600;
background:#e2f1f8;
padding:7px 12px;
margin-bottom:10px;
color:#34458c;
}

#interview .interviews .interview .messages .message .ex {
}





/*PROCESS*/
#process {
padding:100px 0;
background:url(../img/process_bg.jpg) center;
background-size:cover;
}

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

#process .processes .flowbar {
width:100%;
height:10px;
background:#70b9db;
position:absolute;
top:105px;
}

#process .processes .process {
position:relative;
}

#process .processes .process .scene {
width:220px;
height:220px;
background:#fff;
border-radius:20px;
display:flex;
justify-content:center;
align-items:center;
margin-bottom:15px;
}

#process .processes .process .scene img {
width:125px;
}

#process .processes .process .item {
font-size:110%;
font-weight:bold;
line-height:135%;
text-align:center;
color:#34458c;
}

#process .processes .process .item .fs {
font-size:80%;
}




/*FAQ*/
#faq {
padding:100px 0;
}

#faq .faqs {

}

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

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

#faq .faqs .faq .question {
display:flex;
align-items:center;
position:relative;
background:#34458c;
cursor:pointer;
margin-bottom:15px;
border-radius:12px;
}

#faq .faqs .faq .question .item {
width:55px;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:#fff;
}

#faq .faqs .faq .question h3 {
width:calc(100% - 55px);
font-size:110%;
font-weight:600;
color:#34458c;
background:#eaecf3;
padding:15px 30px 15px 15px;
border-radius:0 11px 11px 0;
}

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

#faq .faqs .faq .question .arrow.open {
transform:rotate(135deg);
margin-bottom:5px;
}

#faq .faqs .faq .answer_cts {
display:none;
margin-bottom:35px;
}

#faq .faqs .faq .answer_cts.open {
display:block;
}

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

#faq .faqs .faq .answer .item {
width:55px;
height:55px;
border:#34458c 1px solid;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
color:#34458c;
border-radius:12px;
}

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




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

.BackToTop img {
border-radius:20vw;
}



/*FOOTER*/
footer {
background:#34458c;
padding:50px 0 30px;
}

footer .footer_logo {
display:flex;
justify-content:center;
align-items:center;
margin-bottom:30px;
}

footer .footer_logo img {
width:50px;
}

footer .footer_logo p {
font-size:135%;
font-weight:600;
color:#fff;
margin-left:10px;
}

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

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

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

footer .data .tel {
font-size:80%;
color:#fff;
}

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






}