@charset "utf-8";

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

@media(min-width:1000px){

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

.cts {
    width:1000px;
}

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

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

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

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

.movie .youtube {
    margin:auto;
    padding-top: 56.25%;
    position:relative;
    background:#000;
}
    
.movie .youtube iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}

.fl{font-size:125%;}
.fll{font-size:160%;}

.next {
    position:relative;
    top:-1px;
    margin:-1px;
}



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

#mv .copies {
    height:480px;
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
}

#mv .copies .cts {
}

#mv .copies .maincopy {
    width:660px;
}

#mv .copies .subcopy {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:10px;
}

#mv .copies .subcopy .position {
    font-size:180%;
    font-weight:600;
    line-height:100%;
    background:#1b78c8;
    color:#fff;
    padding:10px 20px 5px;
    border-radius:10vw;
    margin-right:7px;
}

#mv .copies .subcopy .position .atn {
    font-size:50%;
}

#mv .copies .subcopy .ex {
    font-size:180%;
    font-weight:600;
}

#mv .copies h1 {
    width:650px;
}

#mv .summary {
    background:#46aadc;
    height:200px;
}

#mv .summary .cts {
    display:flex;
    align-items:flex-start;
    height:200px;
    padding-top:25px;
}

#mv .summary .stop {
    position:relative;
    z-index:1;
}

#mv .summary .stop .end {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:750px;
    margin-bottom:15px;
    position:relative;
}

#mv .summary .stop .end .illust {
    width:95px;
    position:absolute;
    bottom:0;
    left:0;
}

#mv .summary .stop .end ul {
    width:640px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#mv .summary .stop .end ul li {
    width:315px;
    height:40px;
    display:flex;
    align-items:center;
    background:#fff;
    border-radius:10vw;
    padding-left:15px;
    margin-bottom:10px;
}

#mv .summary .stop .end ul li:nth-child(n+3) {
    margin-bottom:0;
}

#mv .summary .stop .end ul li img {
    width:20px;
    margin-right:7px;
}

#mv .summary .stop .end ul li p {
    font-size:135%;
    font-weight:500;
    line-height:100%;
    padding-top:2px;
}

#mv .summary .stop .ex {
    font-size:300%;
    font-weight:600;
    line-height:100%;
    color:#fff;
}

#mv .photos {
    position:absolute;
    bottom:0;
    right:calc(50% - 500px);
}

#mv .photos .photo {
    width:385px;
}

#mv .photos .position {
    position:absolute;
    right:0;
    bottom:78px;
    background:#b29b69;
    line-height:100%;
    color:#fff;
    padding:5px 7px 3px;
}

#mv .photos .position .atn {
    font-size:50%;
}

#mv .photos .name {
    position:absolute;
    right:0;
    bottom:40px;
    font-size:150%;
    font-weight:500;
    line-height:100%;
    background:#b29b69;
    color:#fff;
    padding:3px;
}

#mv .photos .attention {
    position:absolute;
    bottom:15px;
    right:0;
    font-size:50%;
    color:#fff;
}



/*INTRO*/
#intro {
    padding:0;
    position:relative;
    background:#fff;
}

#intro .bg {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

#intro .cts {
    background:#fff;
    padding:60px 100px;
    position:relative;
}

#intro .titles {
}

#intro .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#intro .titles h2 {
    font-size:300%;
    font-weight:600;
    line-height:125%;
}

#intro .details {
    display:flex;
    justify-content:space-between;
}

#intro .details .illust {
    width:250px;
}

#intro .details .detail {
    width:500px;
    padding-top:15px;
}

#intro .details .detail h3 {
    font-size:160%;
    font-weight:600;
    line-height:145%;
    padding-bottom:10px;
}

#intro .details .detail .ex {
}

#intro .arrow {
    margin-bottom:25px;
}

#intro .movie {
}



/*WORRY*/
#worry {
    padding:100px 0 20px;
    background:#ecf6fb;
    position:relative;
}

#worry .cts {
    width:800px;
    position:relative;
    z-index:1;
}

#worry .illust {
    width:500px;
    margin:0 auto 30px;
}

#worry ul {
}

#worry ul li {
    display:flex;
    align-items:center;
    padding:15px 20px;
}

#worry ul li:nth-child(odd) {
    background:#fff;
}

#worry ul li img {
    width:25px;
}

#worry ul li p {
    font-size:125%;
    font-weight:600;
    line-height:100%;
    padding-left:10px;
}

.next_worry {
    position:relative;
    top:-1px;
    margin:-2px;
    width:100%;
    height:100px;
    background:#fff url(../img/next_lb.png) no-repeat center;
    background-size:100% 100%;
}



/*STORY1*/
#story1 {
    padding:70px 0;
    background:#fff;
}

#story1 .details {
    display:flex;
    justify-content:center;
}

#story1 .details .photo {
    width:240px;
    margin-right:40px;
}

#story1 .details .detail {
    width:660px;
    padding-top:20px;
}

#story1 .details .detail p {
    font-size:110%;
}

#story1 .details .detail p:last-child {
    padding-top:5px;
}

#story1 .details .detail p.space {
    padding-bottom:20px;
}

#story1 .details .detail .assumptions {
    padding:10px 0;
}

#story1 .details .detail .assumptions p {
    background:#ecf6fb;
    font-weight:600;
    color:#1b78c8;
    padding:10px 15px;
    margin-bottom:10px;
    display:inline-block;
}

#story1 .details .detail .assumptions p:last-child {
    margin-bottom:0;
}

#story1 .continuation {
    padding-bottom:50px;
}

#story1 .continuation .item {
    border-top:#464646 1px solid;
    border-bottom:#464646 1px solid;
    font-size:125%;
    font-weight:600;
    padding:15px;
    text-align:center;
    margin-bottom:35px;
}

#story1 .continuation .results {
    display:flex;
    justify-content:space-between;
    padding-bottom:20px;
}

#story1 .continuation .results .result {
    width:235px;
    position:relative;
    border:#1b78c8 1px dashed;
    border-radius:20px;
    padding:25px 15px 15px;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
}

#story1 .continuation .results .result img {
    width:30px;
    position:absolute;
    top:-15px;
    left:0;
    right:0;
    margin:auto;
}

#story1 .continuation .results .result p {
    font-size:110%;
    font-weight:600;
    color:#1b78c8;
}

#story1 .continuation p:last-child {
    font-size:125%;
    font-weight:500;
    text-align:center;
}

#story1 .summary {
    font-size:150%;
    font-weight:bold;
    text-align:center;
}



/*STORY2*/
#story2 {
    padding:70px 0 0;
    background:#ecf6fb;
    position:relative;
}

#story2 .details {
    display:flex;
    justify-content:center;
    flex-direction:row-reverse;
    padding-bottom:70px;
}

#story2 .details .illust {
    width:400px;
    margin-left:40px;
}

#story2 .details .detail {
    width:450px;
}

#story2 .details .detail p {
    font-size:110%;
}

#story2 .details .detail p:last-child {
    padding-top:5px;
}

#story2 .details .detail p.space {
    padding-bottom:20px;
}

#story2 .details .detail .goal {
    padding:10px 0;
}

#story2 .details .detail .goal p {
    width:100%;
    background:#fff;
    font-weight:600;
    color:#fa4678;
    padding:10px 15px;
    margin-bottom:10px;
    display:inline-block;
}

#story2 .details .detail .goal p:last-child {
    margin-bottom:0;
}

#story2 .tips {
    width:900px;
    margin:auto;
    background:#fff;
    padding:70px 50px 50px;
    position:relative;
}

#story2 .tips .item {
    width:200px;
    position:absolute;
    top:-25px;
    left:0;
    right:0;
    margin:auto;
    font-size:110%;
    font-weight:500;
}

#story2 .tips .item span {
    background:#fa4678;
    color:#fff;
    border-radius:10vw;
    height:50px;
    display:flex;
    justify-content:center;
    align-items:center;
}

#story2 .tips h3 {
    font-size:200%;
    font-weight:bold;
    line-height:150%;
    text-align:center;
    padding-bottom:20px;
}

#story2 .tips .tx {
    font-size:110%;
    font-weight:500;
    line-height:180%;
    text-align:center;
}

.next_story2 {
    position:relative;
    top:-1px;
    margin:-2px;
    width:100%;
    height:100px;
    background:#fff url(../img/next_lb.png) no-repeat center;
    background-size:100% 100%;
}


/*STORY3*/
#story3 {
    padding:70px 0 120px;
    background:#fff url(../img/story3_bg.jpg) no-repeat center bottom;
    background-size:100%;
    position:relative;
}

#story3 .mask {
    width:100%;
    height:200px;
    background:linear-gradient(rgba(255,255,255,1),rgba(255,255,255,0));
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

#story3 .titles {
    position:relative;
    padding-bottom:15px;
}

#story3 .cts {
    width:900px;
}

#story3 .detail {
    background:rgba(255,255,255,0.9);
    padding:45px 70px 60px;
}

#story3 .detail .ex {

}

#story3 .detail .ex p {
    font-size:110%;
}



/*STORY4*/
#story4 {
    padding:0 0 50px;
    position:relative;
    background:#fff;
}

#story4 .bg_top {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

#story4 .bg_bottom {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    bottom:0;
    left:0;
    z-index:0;
}

#story4 .cts {
    background:#fff;
    padding:60px 100px;
    position:relative;
}

#story4 .titles {
}

#story4 .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#story4 .titles h2 {
    font-size:300%;
    font-weight:600;
    line-height:125%;
}

#story4 .copy {
    font-size:120%;
    font-weight:600;
    padding-top:10px;
}

#story4 .movie {
    width:100%;
    margin-bottom:30px;
}

#story4 .ex {
}

#story4 .ex p {
    font-size:110%;
    line-height:180%;
}



/*STORY5*/
#story5 {
    padding:50px 0;
    position:relative;
    background:#fff url(../img/story5_bg.png) center;
    background-size:800px 870px;
}

#story5 .cts {
    background:rgba(255,255,255,0.9);
    padding:60px 100px;
    position:relative;
    border:#46aadc 1px solid;
}

#story5 .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#story5 .titles h2 {
    font-size:300%;
    font-weight:600;
    line-height:125%;
}

#story5 .movie {
    width:100%;
    height:450px;
    background:#000;
    margin-bottom:30px;
}

#story5 .letter {
    background:url(../img/letter_pc.svg);
    background-size:40px 45px;
}

#story5 .letter p {
    font-size:110%;
    line-height:45px;
    margin-bottom:45px;
}

#story5 .letter p:last-child {
    margin-bottom:0;
}



/*STORY6*/
#story6 {
    padding:70px 0;
    background:#ecf6fb;
}

#story6 .illust {
    width:500px;
    margin:0 auto 30px;
}

#story6 .explain {
    text-align:center;
    padding-bottom:30px;
}

#story6 .explain p {
    font-size:110%;
}

#story6 .explain .space {
    padding-bottom:25px;
}

#story6 .explain .problem {
    padding:10px 0;
}

#story6 .explain .problem p {
    font-weight:bold;
    color:#fff;
    color:#1b78c8;
    margin-bottom:12px;
}

#story6 .explain .problem p:last-child {
    margin-bottom:0;
}

#story6 .explain .problem p span {
    background:#fff;
    padding:10px 15px;
    display:inline-block;
}

#story6 .explain .think {
    padding:10px 0;
}

#story6 .explain .think p {
    font-size:120%;
    font-weight:bold;
    color:#fff;
    margin-bottom:12px;
}

#story6 .explain .think p:last-child {
    margin-bottom:0;
}

#story6 .explain .think p span {
    background:#fa4678;
    padding:10px 15px;
    display:inline-block;
}

#story6 .summary {
    text-align:center;
}

#story6 .summary .tx {
    font-size:120%;
    font-weight:bold;
    padding-bottom:5px;
}

#story6 .summary .nowhow {
    font-size:180%;
    font-weight:bold;
}



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

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

#feature .cts {
}

#feature .titles .subcopy {
    background:#46aadc;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#feature .titles h2 {
    font-size:300%;
    font-weight:600;
    line-height:125%;
}

#feature .intro {
    padding:8px;
    background:#fff;
    margin-bottom:100px;
}

#feature .intro .intro_cts {
    border:#46aadc 1px solid;
    padding:25px 35px;
    position:relative;
    min-height:300px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#feature .intro .lineup {
}

#feature .intro .lineup .detail {
    display:flex;
    margin:8px 0;
}

#feature .intro .lineup .detail .number {
    width:30px;
    height:30px;
    border-radius:10vw;
    background:#46aadc;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    margin-right:10px;
}

#feature .intro .lineup .detail a {
    font-size:110%;
    font-weight:600;
}

#feature .intro .photo {
    width:200px;
    position:absolute;
    bottom:0;
    right:50px;
}

#feature .features {
}

#feature .features .feature {
    background:#fff;
    padding:8px;
    position:relative;
    margin-bottom:80px;
}

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

#feature .features .feature .feature_cts {
    border:#46aadc 1px solid;
    padding:70px 50px 45px;
}

#feature .features .feature .feature_cts p {
    font-size:110%;
}

#feature .features .feature .number {
    width:100px;
    height:100px;
    background:#46aadc;
    border-radius:20vw;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    text-align:center;
    position:absolute;
    top:-50px;
    left:0;
    right:0;
    margin:auto;
    padding-top:7px;
}

#feature .features .feature .number p:first-child {
    font-size:100%;
    font-weight:bold;
    line-height:100%;
    color:#fff;
    padding-bottom:5px;
}

#feature .features .feature .number p:last-child {
    font-size:220%;
    font-weight:500;
    line-height:100%;
    color:#fff;
}

#feature .features .feature h3 {
    font-size:250%;
    font-weight:600;
    line-height:135%;
    text-align:center;
    padding-bottom:30px;
}

#feature .features .anchor {
    display:block;
    padding-top:80px;
    margin-top:-80px;
}

#feature .features .ex .nosp {
    padding-bottom:10px;
}


/*FEATURE FEATURE1*/
#feature #feature1 {
}

#feature #feature1 .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    margin-bottom:30px;
}

#feature #feature1 .details .illust {
    width:270px;
}

#feature #feature1 .details .detail {
    width:560px;
}


/*FEATURE FEATURE2*/
#feature #feature2 {
}

#feature #feature2 .details {
    display:flex;
    justify-content:space-between;
    padding-bottom:30px;
}

#feature #feature2 .details .illust {
    width:240px;
}

#feature #feature2 .details .detail {
    width:590px;
}


/*FEATURE FEATURE3*/
#feature #feature3 {
}

#feature #feature3 .details1 {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
}

#feature #feature3 .details1 .illust {
    width:290px;
}

#feature #feature3 .details1 .detail {
    width:560px;
}

#feature #feature3 .details2 {
    display:flex;
    justify-content:space-between;
    padding-top:30px;
}

#feature #feature3 .details2 .illust {
    width:300px;
}

#feature #feature3 .details2 .detail {
    width:530px;
}

#feature #feature3 .details2 .detail .type {
    font-size:135%;
    font-weight:bold;
}


/*FEATURE FEATURE4*/
#feature #feature4 {
}

#feature #feature4 .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
}

#feature #feature4 .details .illust {
    width:320px;
}

#feature #feature4 .details .detail {
    width:510px;
}

#feature #feature4 .details .detail .type {
    font-size:135%;
    font-weight:bold;
}


/*FEATURE FEATURE5*/
#feature #feature5 {
}

#feature #feature5 .type {
    padding:10px 0;
}

#feature #feature5 .type p {
    font-size:135%;
    font-weight:bold;
    display:flex;
}

#feature #feature5 .details1 {
    display:flex;
    justify-content:space-between;
    padding-bottom:30px;
}

#feature #feature5 .details1 .illust {
    width:320px;
}

#feature #feature5 .details1 .detail {
    width:510px;
}

#feature #feature5 .details2 {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    padding-top:30px;
}

#feature #feature5 .details2 .illust {
    width:330px;
}

#feature #feature5 .details2 .detail {
    width:510px;
}


/*FEATURE FEATURE6*/
#feature #feature6 {
}

#feature #feature6 .details1 {
    display:flex;
    justify-content:space-between;
    padding-bottom:30px;
}

#feature #feature6 .details1 .illust {
    width:300px;
}

#feature #feature6 .details1 .detail {
    width:530px;
}

#feature #feature6 .details2 {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    align-items:center;
    padding:30px 0;
}

#feature #feature6 .details2 .illust {
    width:300px;
}

#feature #feature6 .details2 .detail {
    width:530px;
}

#feature #feature6 .details2 .detail .type {
    padding:10px 0;
}

#feature #feature6 .details2 .detail .type p {
    font-size:120%;
    font-weight:bold;
    color:#1b78c8;
    background:#ecf6fb;
    padding:10px 15px;
    margin-bottom:12px;
}

#feature #feature6 .details2 .detail .type p:last-child {
    margin-bottom:0;
}

#feature #feature6 .details3 {
    display:flex;
    justify-content:space-between;
}

#feature #feature6 .details3 .illust {
    width:300px;
}

#feature #feature6 .details3 .detail {
    width:530px;
}

#feature #feature6 .details3 .detail .type {
    padding-bottom:10px;
}

#feature #feature6 .details3 .detail .type p {
    font-size:120%;
    font-weight:bold;
    color:#fff;
    background:#fa4678;
    padding:10px 15px;
    margin-bottom:12px;
}

#feature #feature6 .details3 .detail .type p:last-child {
    margin-bottom:0;
}


/*FEATURE FEATURE7*/
#feature #feature7 {
}

#feature #feature7 .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    margin-bottom:30px;
}

#feature #feature7 .details .illust {
    width:300px;
}

#feature #feature7 .details .detail {
    width:530px;
}



/*STORY7*/
#story7 {
    padding:70px 0;
    background:#1b78c8;
}

#story7 .cts {
    width:800px;
}

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

#story7 .movie {
    width:100%;
    height:450px;
    background:#000;
}



/*DEGREE*/
#degree {
    padding:120px 0 70px;
    background:#1b78c8;
}

#degree .cts {
    width:800px;
}

#degree .degrees {

}

#degree .degrees .degree {
    border:#fff 3px solid;
    border-radius:10px;
    position:relative;
    padding:30px 40px 20px;
    margin-bottom:80px;
}

#degree .degrees .degree:last-child {
    margin-bottom:0;
}

#degree .degrees .degree .degree_title {
    position:absolute;
    top:-55px;
    left:0;
    right:0;
    margin:auto;
    text-align:center;
}

#degree .degrees .degree .degree_title .stars {
    display:flex;
    justify-content:center;
}

#degree .degrees .degree .degree_title .stars img {
    width:30px;
    margin:0 2px;
}

#degree .degrees .degree .degree_title .item {
    font-size:200%;
    font-weight:600;
    color:#fff;
    background:#1b78c8;
    display:inline-block;
    padding:0 15px;
}

#degree .degrees .degree .tx {
    color:#fff;
}

#degree .degrees .degree .link {
    text-align:right;
}

#degree .degrees .degree .link a {
    font-style:italic;
    color:#fff;
}






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

.cta .titles {
}

.cta .titles .subcopy {
    background:#fa4678;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:15px;
}

.cta .titles .maincopy {
    font-size:250%;
    font-weight:600;
    line-height:125%;
    padding-bottom:10px;
}

.cta .titles h2 {
    font-size:350%;
    font-weight:600;
    line-height:125%;
    color:#fa4678;
}

.cta .programs {
    width:960px;
    margin:auto;
    padding-bottom:10px;
    position:relative;
    z-index:1;
}

.cta .programs .program {
    display:flex;
    margin-bottom:30px;
}

.cta .programs .program:last-child {
    margin-bottom:0;
}

.cta .programs .program .number {
    width:60px;
    height:60px;
    background:#46aadc;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff;
    font-size:150%;
    font-weight:600;
}

.cta .programs .program .details {
    width:calc(100% - 60px);
    border:#46aadc 3px solid;
}

.cta .programs .program .details h3 {
    height:57px;
    background:#ecf6fb;
    padding:0 20px;
    font-weight:600;
    line-height:100%;
    color:#46aadc;
    display:flex;
    align-items:center;
}

.cta .programs .program .details h3 .item {
    font-size:160%;
}

.cta .programs .program .details h3 .time {
    font-size:110%;
}

.cta .programs .program .details .detail {
    padding:15px 20px;
    background:#fff;
}

.cta .programs .program .details .detail .attention {
    display:flex;
    font-size:110%;
}

.cta .programs .program .details .detail .value {
    display:flex;
    align-items:center;
    font-size:120%;
    font-weight:600;
    line-height:100%;
    margin-top:5px;
}

.cta .programs .program .details .detail .value .split {
    color:#fa4678;
}

.cta .programs .program .details .detail .value .price {
    color:#fa4678;
    background:#feecf1;
    display:block;
    padding:5px 10px;
    margin-left:10px;
    line-height:100%;
}

.cta .programs .program .details .detail .value .price .yen {
    font-size:180%;
    font-weight:500;
    line-height:100%;
}

.cta .special {
    background:#feecf1;
    position:relative;
    z-index:1;
}

.cta .special .next_wh {
    position:relative;
    top:-1px;
    margin:-2px;
    width:100%;
    height:100px;
    background:#feecf1 url(../img/next_wh.png) no-repeat center;
    background-size:100% 100%;
}

.cta .special .cts {
    text-align:center;
    padding:70px 0 0;
}

.cta .special .copy {
    font-size:250%;
    font-weight:600;
    padding-bottom:5px;
}

.cta .special .subcopy {
    background:#fa4678;
    color:#fff;
    font-size:180%;
    font-weight:600;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

.cta .special .prices {
}

.cta .special .prices .price {
    font-size:200%;
    font-weight:600;
    color:#fa4678;
    line-height:100%;
}

.cta .special .prices .price .yen {
    font-size:250%;
    font-weight:500;
    color:#fa4678;
    line-height:100%;
}

.cta .special .prices .price .tax {
    font-size:60%;
    line-height:100%;
}

.cta .special .prices .taxin {
    font-size:110%;
    font-weight:600;
    border:#fa4678 1px solid;
    color:#fa4678;
    padding:10px 10px;
    line-height:100%;
    display:inline-block;
    margin-top:5px;
}

.cta .limited {
    background:#fa4678;
    position:relative;
    padding-bottom:70px;
}

.cta .limited .next_lp {
    position:relative;
    top:-1px;
    margin:-2px;
    width:100%;
    height:100px;
    background:#fa4678 url(../img/next_lp.png) no-repeat center;
    background-size:100% 100%;
}

.cta .limited .sarani {
    width:150px;
    height:150px;
    background:url(../img/cta_sarani.svg) no-repeat;
    background-size:100%;
    position:absolute;
    top:30px;
    left:0;
    right:0;
    margin:auto;
    display:flex;
    justify-content:center;
    align-items:center
}

.cta .limited .sarani p {
    text-align:center;
    font-size:150%;
    font-weight:600;
    line-height:100%;
    color:#fa4678;
}

.cta .limited .cts {
    padding:70px 0 0;
    text-align:center;
}

.cta .limited .subcopy {
    background:#fae164;
    color:#fa4678;
    font-size:200%;
    font-weight:600;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

.cta .limited .prices {
}

.cta .limited .prices .price {
    font-size:300%;
    font-weight:600;
    color:#fae164;
    line-height:100%;
}

.cta .limited .prices .price .yen {
    font-size:250%;
    font-weight:500;
    color:#fae164;
    line-height:100%;
}

.cta .limited .prices .price .tax {
    font-size:50%;
    line-height:100%;
}

.cta .limited .prices .taxin {
    font-size:110%;
    font-weight:600;
    border:#fff 1px solid;
    color:#fff;
    padding:10px 10px;
    line-height:100%;
    display:inline-block;
    margin-top:5px;
}

.cta .limited .tx {
    padding:15px 0 30px;
    font-size:200%;
    font-weight:600;
    color:#fff;
}

.cta .limited .paysystem {
    padding-bottom:20px;
}

.cta .limited .paysystem .item {
    width:500px;
    display:inline-block;
    border-top:#fff 1px solid;
    border-bottom:#fff 1px solid;
    line-height:100%;
    padding:10px 30px;
    text-align:center;
    font-size:120%;
    font-weight:600;
    color:#fff;
    margin-bottom:15px;
}

.cta .limited .paysystem .select {
    font-size:110%;
    color:#fff;
    padding-bottom:20px;
}

.cta .limited .paysystem .split {
    font-size:110%;
    font-weight:600;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:5px;
}

.cta .limited .paysystem .split .line {
    display:block;
    width:30px;
    height:1px;
    background:#fff;
    margin:0 15px;
}

.cta .limited .paysystem .example {
    font-size:110%;
    color:#fff;
}

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

.cta.single {
    padding:70px 0;
}

.cta.single .titles {
    padding-bottom:0;
}




/*BENEFIT*/
#benefit {
    padding:70px 0;
    background:#f4f0e9;
}

#benefit .cts {
    width:800px;
}

#benefit .title {
    width:300px;
    margin:0 auto 70px;
}

#benefit .benefits {
    margin:0 auto 30px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

#benefit .benefits .benefit {
    width:48.5%;
    padding:8px;
    background:#fff;
    position:relative;
}

#benefit .benefits .benefit:last-child {
    margin-top:50px;
    width:100%;
}

#benefit .benefits .benefit:last-child .benefit_cts {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:40px 50px 25px;
}

#benefit .benefits .benefit .benefit_cts {
    border:#b29b69 1px solid;
    padding:40px 30px 25px;
    text-align:center;
}

#benefit .benefits .benefit .benefit_cts .number {
    width:60px;
    height:60px;
    border-radius:30px;
    background:#b29b69;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-size:150%;
    font-weight:600;
    color:#fff;
    position:absolute;
    top:-30px;
    left:0;
    right:0;
    margin:auto;
}

#benefit .benefits .benefit .benefit_cts .subtitle {
    display:inline-block;
    margin-bottom:10px;
    border:#b29b69 1px solid;
    color:#b29b69;
    font-size:110%;
    font-weight:500;
    line-height:100%;
    padding:7px 10px;
}

#benefit .benefits .benefit .benefit_cts h3 {
    font-size:135%;
    font-weight:600;
    line-height:135%;
    padding-bottom:10px;
}

#benefit .benefits .benefit .benefit_cts .support {
    font-size:125%;
    font-weight:600;
    text-align:left;
    width:calc(100% - 100px);
}

#benefit .benefits .benefit .benefit_cts .present {
    width:70px;
    margin:auto;
}

#benefit .benefits .benefit:last-child .benefit_cts .present {
    width:70px;
    margin:0;
}

#benefit .next {
    width:800px;
    margin:0 auto 20px;
}

#benefit .summary {
    font-size:180%;
    font-weight:600;
    line-height:150%;
    text-align:center;
}



/*SCHEDULE*/
#schedule {
    padding:100px 0;
    background:url(../img/schedule_bg.jpg) center;
    background-size:cover;
}

#schedule .cts {
    width:800px;
}

#schedule .schedules {
    margin-bottom:30px;
}

#schedule .schedules .schedule {
    display:flex;
    background:#46aadc;
    margin-bottom:15px;
    box-shadow:0 0 10px rgba(0,0,0,0.2);
}

#schedule .schedules .schedule:last-child {
    margin-bottom:0;
}

#schedule .schedules .schedule .number {
    width:20%;
    background:#46aadc;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-size:110%;
    font-weight:600;
    color:#fff;
    padding:15px;
}

#schedule .schedules .schedule .daytime {
    width:80%;
    background:#fff;
    font-size:110%;
    padding:15px 20px;
}

#schedule .summary {
    font-size:180%;
    font-weight:600;
    line-height:150%;
    text-align:center;
    padding-bottom:10px;
}

#schedule .attention {
    font-size:90%;
    text-align:center;
}



/*STORY8*/
#story8 {
    padding:70px 0;
    position:relative;
    background:#fff;
}

#story8 .bg_top {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    top:0;
    left:0;
    z-index:0;
}

#story8 .bg_bottom {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    bottom:0;
    left:0;
    z-index:0;
}

#story8 .cts {
    background:#fff;
    padding:60px 100px;
    position:relative;
    z-index:1;
}

#story8 .titles {
}

#story8 .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#story8 .titles h2 {
    font-size:300%;
    font-weight:600;
    line-height:125%;
}

#story8 .movie {
    width:100%;
    height:450px;
    background:#000;
    margin-bottom:30px;
}

#story8 .movie:last-child {
    marign-bottom:0;
}

#story8 .ex {
}

#story8 .ex p {
    font-size:110%;
    line-height:180%;
}




/*MESSAGE*/
#message {
    padding:100px 0;
    background:url(../img/message_bg.jpg) center;
}

#message .message_cts {
    padding:8px;
    background:#fff;
}

#message .message_cts .message_frame {
    border:#46aadc 1px solid;
    padding:60px 70px;
}

#message .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
}

#message .details .photo {
    width:250px;
}

#message .details .detail {
    width:calc(100% - 270px);
}

#message .letter {
    background:url(../img/letter_pc.svg) top center;
    background-size:40px 45px;
}

#message .letter p {
    font-size:110%;
    padding-bottom:45px;
    line-height:45px;
}

#message .letter p:last-child {
    padding-bottom:0;
}

#message .message_intro {
    margin-bottom:70px;
}

#message h3 {
    font-size:200%;
    font-weight:600;
    margin-bottom:15px;
    text-align:center;
}

#message h3 .underline {
    position:relative;
}

#message h3 .underline:after {
    content:"";
    width:100%;
    height:5px;
    background:#fae164;
    position:absolute;
    bottom:-5px;
    left:0;
    right:0;
    margin:auto;
}

#message .message1a {
}

#message .message1a h3 {
    text-align:left;
}

#message .message1b {
    margin-bottom:100px;
}

#message .message2 {
    margin-bottom:100px;
}

#message .message3 {
    margin-bottom:100px;
}

#message .message4 {
}

#message .message4 h3:first-child {
    line-height:100%;
}



/*LECTURER*/
#lecturer {
    background:#ecf6fb;
    padding:100px 0;
}

#lecturer .lecturers {

}

#lecturer .lecturers .lecturer {
    padding:8px;
    background:#fff;
    margin-bottom:30px;
}

#lecturer .lecturers .lecturer:last-child {
    margin-bottom:0;
}

#lecturer .lecturers .lecturer .lecturer_cts {
    border:#46aadc 1px solid;
    padding:50px;
    display:flex;
    justify-content:space-between;
}

#lecturer .lecturers .lecturer  .photos {
    width:250px;
}

#lecturer .lecturers .lecturer .photos .photo {
    margin-bottom:10px;
    width:250px;
}

#lecturer .lecturers .lecturer .photos .photo:last-child {
    margin-bottom:0;
}

#lecturer .lecturers .lecturer .detail { 
    width:calc(100% - 300px);
}

#lecturer .lecturers .lecturer .detail .names {
    display:flex;
    align-items:center;
    padding-bottom:25px;
}

#lecturer .lecturers .lecturer .detail .names h3 {
    font-size:250%;
    font-weight:600;
    line-height:100%;
    margin-right:15px;
}

#lecturer .lecturers .lecturer .detail .names .lank {
    background:#b29b69;
    color:#fff;
    font-size:100%;
    font-weight:500;
    line-height:100%;
    padding:5px 10px;
}

#lecturer .lecturers .lecturer .detail .copy {
    font-size:135%;
    font-weight:bold;
    padding-bottom:15px;
    color:#b29b69;
}

#lecturer .lecturers .lecturer .detail .position {
    font-size:110%;
    font-weight:600;
    padding-bottom:20px;
}

#lecturer .lecturers .lecturer .detail .biography {
    font-size:110%;
}

#lecturer .lecturers .lecturer .detail .belief {
    font-size:110%;
    padding-top:20px;
}




/*FIRST VOICE*/
#first_voice {
    background:#fff url(../img/voice_bg.png);
    padding:70px 0;
}

#first_voice .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#first_voice .first_voices {

}

#first_voice .first_voices .first_voice {
    border:#b29b69 1px solid;
    background:#fff;
    padding:40px;
    display:flex;
    justify-content:space-between;
    margin-bottom:30px;
}

#first_voice .first_voices .first_voice:last-child {
    margin-bottom:0;
}

#first_voice .first_voices .first_voice .photo {
    width:250px;
}

#first_voice .first_voices .first_voice .detail {
    width:calc(100% - 290px);
}

#first_voice .first_voices .first_voice .detail .name {
    font-size:180%;
    font-weight:bold;
    margin-bottom:15px;
}

#first_voice .first_voices .first_voice .detail .name .san {
    font-size:80%;
    padding-left:5px;
}

.voices {
}

.voices .voice {
    margin-bottom:20px;
}

.voices .voice:last-child {
    margin-bottom:0;
}

.voices .voice .item {
    border-left:#fa4678 5px solid;
    padding:3px 0 3px 10px;
    font-size:110%;
    font-weight:bold;
    color:#fa4678;
    margin-bottom:7px;
}

.voices .voice .tx {
    background:#f7f5f0;
    padding:20px 25px;
}

#first_voice .summary {
    margin-top:35px;
    text-align:center;
    font-size:150%;
    font-weight:bold;
}

#first_voice .summary a {
    font-weight:bold;
    color:#fa4678;
    text-decoration:underline;
}





/*VOICE*/
#voice {
    background:#fff url(../img/voice_bg.png);
    padding:70px 0;
}

#voice .titles .subcopy {
    background:#1b78c8;
    color:#fff;
    font-size:180%;
    font-weight:bold;
    line-height:100%;
    padding:10px 15px;
    display:inline-flex;
    margin-bottom:10px;
}

#voice .voices {
    display:flex;
    flex-wrap:wrap;
}

#voice .voices .voice {
    width:18%;
    margin:0 2.5% 2.5% 0;
}

#voice .voices .voice:nth-child(5n) {
    margin-right:0;
}

#voice .voices .voice:nth-last-child(-n+5) {
    margin-bottom:0;
}

#voice .voices .voice a {
    background:#fff;
    display:block;
    border:#e1e1e1 1px solid;
}

#voice .voices .voice .photo {
}

#voice .voices .voice .name {
    font-weight:600;
    padding:15px;
    text-align:center;
}

#voice .voices .voice .name .san {
    font-size:80%;
    padding-left:5px;
}

.inlines {
}

.inline_voice {
    
}

.inline_cts {
    display:flex;
    justify-content:space-between;
    padding:30px;
}

.inline_photo {
    width:250px;
}

.inline_detail {
    width:calc(100% - 300px);
}

.inline_name {
    font-size:180%;
    font-weight:bold;
    margin-bottom:15px;
}

.inline_name .san {
    font-size:80%;
    padding-left:5px;
}





/*FAQ*/
#faq {
    background:#fff;
    padding:100px 0;
    position:relative;
}

#faq .bg {
    width:100%;
    height:250px;
    background:#46aadc;
    position:absolute;
    bottom:0;
    left:0;
    z-index:0;
}

#faq .cts {
    background:#fff;
    position:relative;
    padding:0 100px 100px;
}

#faq .faqs {
}

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

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

#faq .faqs .faq .question {
    display:flex;
    align-items:center;
    margin-bottom:10px;
}

#faq .faqs .faq .question .item {
    width:45px;
    height:45px;
    border-radius:10vw;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:#46aadc;
    font-size:125%;
    font-weight:600;
    color:#fff;
    margin-right:15px;
}

#faq .faqs .faq .question h3 {
    width:calc(100% - 60px);
    font-size:120%;
    font-weight:600;
    color:#1b78c8;
}

#faq .faqs .faq .answer {
    display:flex;
}

#faq .faqs .faq .answer .item {
    width:45px;
    height:45px;
    border-radius:10vw;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    border:#46aadc 1px solid;
    font-size:120%;
    font-weight:600;
    color:#46aadc;
    margin-right:15px;
}

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

#faq .faqs .faq .answer .ex p {
    font-size:110%;
}



/*ROW*/
#row {
    padding:70px 0 100px;
}

#row .cts {
    width:850px;
}

#row .rows {
}

#row .rows .row {
    display:flex;
    border-bottom:#e1e1e1 1px solid;
    padding:20px 15px;
}

#row .rows .row:first-child {
    border-top:#e1e1e1 1px solid;
}

#row .rows .row:last-child {
    margin-bottom:0;
}

#row .rows .row .item {
    width:25%;
    font-weight:600;
}

#row .rows .row .tx {
    width:75%;
}



/*PRIVACY*/
#privacy {
    padding:70px 0 100px;
}

#privacy .cts {
    width:850px;
}

#privacy .privacies {
}

#privacy .privacies .privacy {
    border-bottom:#e1e1e1 1px solid;
    padding:20px 15px;
}

#privacy .privacies .privacy:first-child {
    border-top:#e1e1e1 1px solid;
}

#privacy .privacies .privacy:last-child {
    margin-bottom:0;
}

#privacy .privacies .privacy .item {
    font-weight:bold;
    padding-bottom:5px;
}

#privacy .privacies .privacy .tx {
}




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

.BackToTop img {
    border-radius:10vw;
    border:#fff 1px solid;
}



/*FOOTER*/
footer {
    background:#fa4678;
    padding:50px 0;
}

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

footer .link a {
    font-size:100%;
    font-weight:600;
    color:#fff;
    margin:0 15px;
}

footer .copyright {
    font-size:80%;
    font-weight:300;
    color:#fff;
    text-align:center;
}








}