@charset "UTF-8";
/* ---------------------------
top
--------------------------- */

main{
    background: url(../img/top/bg.png);
}

.visual{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.visual ul li { position: relative; }
.visual ul li .schedule {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 12rem;
    height: 12rem;
    padding: 1.4rem 0 0;
    background: #e71d76;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    border-radius: 50%;
    overflow: hidden;
}

.visual ul li .ttl01 img{
    margin: 0 auto 17px;
    padding-top: 60px;
}

.visual ul li .ttl02{
    width: 808px;
    height: 233px;
    margin: 0 auto 31px;
    padding: 67px 0 0 16px;
    background: url(../img/top/illust01.png) no-repeat top right;
}

.visual ul li .txt01{
    font-size: 28px;
    line-height: 1.555;
    text-align: center;
    font-weight: 500;
    margin-bottom: 42px;
}

.visual ul li .txt01 strong{
    font-weight: bold;
    color: #eb7f83;
}

.btn01{
    width: 512px;
    height: 84px;
    margin: 0 auto 9px;
    background: #559ae1;
    border-radius: 42px;
    color: #fff;
    font-size: 35px;
    font-weight: 500;
    text-align: center;
    display: table;
    line-height: 1;
    padding: 21px 0 0;
    box-shadow: 0px 10px 0px 0px rgba(46, 120, 196, 1);
    position: relative;
}

.btn01::before{
    content: "";
    width: 19px;
    height: 4px;
    background: #fff;
    border-radius: 2px;
    position: absolute;
    top: 45px;
    right: 26px;
    transform: rotate(135deg);
}

.btn01::after{
    content: "";
    width: 19px;
    height: 4px;
    background: #fff;
    border-radius: 2px;
    position: absolute;
    top: 34px;
    right: 26px;
    transform: rotate(45deg);
}

.btn01 + .btn01{
    margin-top: 30px;
}

.note01{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.note01.red{
    color: #F00;
}

.visual ul li .ttl03 img{
    margin: 0 auto 31px;
    padding-top: 60px;
    display: block;
}

.visual ul li .txt02{
    font-size: 32px;
    font-weight: 500;
    padding: 0 35px;
    display: table;
    margin: 0 auto 40px;
    position: relative;
    line-height: 38px;
}

.visual ul li .txt02::before{
    content: "";
    width: 19px;
    height: 38px;
    position: absolute;
    top: 50%;
    left: 0;
    background: url(../img/top/deco01.png);
    background-size: cover;
    transform: translateY(-50%);
}

.visual ul li .txt02::after{
    content: "";
    width: 19px;
    height: 38px;
    position: absolute;
    top: 50%;
    right: 0;
    background: url(../img/top/deco01.png);
    background-size: cover;
    transform: translateY(-50%) scale(-1, 1);
}

.visual ul li .txt02 strong{
    font-weight: bold;
    color: #eb7f83;
}

.visual ul li .flexbox{
    width: 1000px;
    margin: 0 auto 32px;
    display: flex;
    justify-content: space-between;
}

.visual ul li .flexbox .imgArea{
    padding-left: 58px;
}

.visual ul li .flexbox .txt03{
    width: 470px;
    padding: 19px 0 123px;
    font-size: 28px;
    line-height: 1.7142857;
    font-weight: 500;
    margin-bottom: 21px;
    background: url(../img/top/illust02.png) no-repeat bottom left;
}

.visual ul li.result{
    background: url("../img/top/bg02.png") center top no-repeat;
}

.visual ul li .ttl04 img{
    margin: 0 auto 30px;
    padding-top: 86px;
}

.visual ul li .ttl05{
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    margin-bottom: 23px;
}

.visual ul li .ttl05 strong{
    color: #eb7f83;
}

.visual ul li .txt05{
    font-size: 20px;
    text-align: center;
    line-height: 1.7;
    margin-bottom: 30px;
}

.visual ul li .ttl06 img{
    margin: 0 auto 33px;
    padding-top: 86px;
}

.visual ul li.interview div img{
    margin: 0 auto 28px;
    width: 246px;
}

.visual ul li .txt06{
    font-size: 30px;
    text-align: center;
    line-height: 1.65;
    margin-bottom: 30px;
}

.visual ul li .txt06 strong{
    color: #eb7f83;
}

.slick-dots {
    bottom: -46px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

.slick-dots li {
    width: 17px;
    height: 17px;
    margin: 0 6px;
}

.slick-dots li button {
    width: 17px;
    height: 17px;
}

.slick-dots li button::before {
    width: 17px;
    height: 17px;
    background: #fff;
    border: 2px solid #b5b5b5;
    border-radius: 8.5px;
}

.slick-dots li.slick-active button::before {
    background: #559ae1;
    border: 2px solid #559ae1;
    margin: 0;
}

.news{
    width: 672px;
    margin: 110px auto 120px;
}

.news h2 img{
    margin: 0 auto 20px;
    width: 174px;
}

.news dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.news dl a{
    color: #383838;
}

.news dl dt{
    font-size: 24px;
    font-weight: 500;
    border-bottom: 2px solid #c4c4c4;
    padding: 20px 0 22px 25px;
    width: 222px;
    line-height: 1.3;
}

.news dl dd{
    font-size: 24px;
    font-weight: 500;
    border-bottom: 2px solid #c4c4c4;
    padding: 20px 0 22px;
    width: 450px;
    line-height: 1.3;
}

.about{
    margin: 0 auto 110px;
}

.about h2 img{
    margin: 0 auto 50px;
    width: 374px;
}

.about p{
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.818;
    margin-bottom: 50px;
}

.award{
    width: 1000px;
    margin: 0 auto 110px;
}

.award h2 img{
    margin: 0 auto 33px;
    width: 202px;
}

.award > ul{
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}

.award > ul > li{
    width: 482px;
    border-radius: 30px;
    padding: 0 40px 40px;
    background: #fff;
}

.award > ul > li:nth-child(1){
    border: 3px solid #52bb9b;
}

.award > ul > li:nth-child(2){
    border: 3px solid #eb7f83;
}

.award > ul > li h3 img{
    margin: -3px auto 0;
}

.award > ul > li:nth-child(1) h3 img{
    width: 241px;
}

.award > ul > li:nth-child(2) h3 img{
    width: 299px;
}

.award .awardList li{
    display: flex;
    align-items: center;
    padding: 29px 0 29px 10px;
    border-bottom: 2px solid #c4c4c4;
    width: 100%;
}

.award .awardList li .imgArea img{
    width: 133px;
}

.award .awardList li .txtArea{
    padding-left: 23px;
    font-size: 35px;
    font-weight: 500;
    line-height: 1.142857;
}

.award .awardList li .txtArea small{
    font-size: 22px;
    display: block;
}

.award .awardList li .txtArea .note02{
    font-size: 15px;
    display: block;
    margin-top: 3px;
}

.award .flexbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 27px;
}

.award .flexbox .imgArea img{
    width: 153px;
}

.award .flexbox .txtArea{
    width: 224px;
}

.award .flexbox .txtArea .txt01{
    font-size: 28px;
    font-weight: 500;
    padding: 0 28px;
    position: relative;
    line-height: 1;
    display: table;
    margin-bottom: 10px;
}

.award .flexbox .txtArea .txt01::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 11%;
    width: 3px;
    height: 28px;
    background: #383838;
    transform: rotate(30deg) translateY(-50%);
}

.award .flexbox .txtArea .txt01::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 11%;
    width: 3px;
    height: 28px;
    background: #383838;
    transform: rotate(-30deg) translateY(-50%);
}

.award .flexbox .txtArea .txt02{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.77;
}

.award > ul > li .txt03{
    font-size: 27px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    margin-top: 24px;
}

.award > ul > li .txt03 strong{
    font-weight: bold;
    color: #eb7f83;
}

.award > ul > li:nth-child(2) > img{
    margin: 29px auto 0;
}

.txt04{
    font-size: 32px;
    font-weight: 500;
    padding: 0 33px;
    position: relative;
    line-height: 1;
    display: table;
    margin: 0 auto 17px;
}

.txt04::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 7%;
    width: 3px;
    height: 40px;
    background: #383838;
    transform: rotate(30deg) translateY(-50%);
}

.txt04::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 7%;
    width: 3px;
    height: 40px;
    background: #383838;
    transform: rotate(-30deg) translateY(-50%);
}

.bnrArea{
    width: 978px;
    margin: 0 auto;
    padding-bottom: 120px;
}

.bnrArea ul{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.bnrArea ul li:last-child{
    margin-top: 50px;
}

.bnrArea ul li a{
    width: 469px;
    background: #559ae1;
    border-radius: 30px;
    padding: 21px 20px 20px;
    box-shadow: 0px 10px 0px 0px rgba(46, 120, 196, 1);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.bnrArea ul li a .imgArea{
    width: 174px;
    height: 139px;
}

.bnrArea ul li:last-child a .imgArea{
    height: 146px;
}

.bnrArea ul li a .imgArea img{
    margin: 0 auto;
}

.bnrArea ul li:nth-child(1) a .imgArea img{
    width: 147px;
}

.bnrArea ul li:nth-child(2) a .imgArea img{
    width: 96px;
}

.bnrArea ul li:last-child a .imgArea img{
    margin: 20px auto 0;
    width: 143px;
}

.bnrArea ul li a .txtArea{
    width: 255px;
}

.bnrArea ul li a .txtArea h3{
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    line-height: 1.25;
    margin-bottom: 4px;
}

.bnrArea ul li a .txtArea p{
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    line-height: 1.44;
}

.bnrArea ul li a .btn02{
    width: 100%;
    height: 56px;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
    position: relative;
    padding-top: 13px;
}

.bnrArea ul li a .btn02::before{
    content: "";
    width: 19px;
    height: 4px;
    background: #559ae1;
    border-radius: 2px;
    position: absolute;
    top: 32px;
    right: 19px;
    transform: rotate(135deg);
}

.bnrArea ul li a .btn02::after{
    content: "";
    width: 19px;
    height: 4px;
    background: #559ae1;
    border-radius: 2px;
    position: absolute;
    top: 21px;
    right: 19px;
    transform: rotate(45deg);
}

.bnrArea > p{
    text-align: right;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.818;
    margin: 100px 0 -90px;
}


@media screen and (max-width: 768px) {

.visual ul li .ttl01 img{
    margin: 0 auto;
    padding-top: 9.067vw;
    width: 86.67vw;
}

.visual ul li .schedule {
    top: 1vw;
    right: 1vw;
    width: 18.6vw;
    height: 18.6vw;
    padding: 2.4vw 0 0;
    font-size: 3.4vw;
}

.visual ul li .ttl02{
    width: 95.467vw;
    height: 29.467vw;
    margin: -7.733vw auto 6.267vw;
    padding: 14.933vw 0 0 8.267vw;
    background: url(../img/top/illust01.png) no-repeat top right;
    background-size: 40.8vw auto;
}

.visual ul li .ttl02 img{
    width: 40.267vw;
}

.visual ul li .txt01{
    font-size: 4.8vw;
    margin-bottom: 6.4vw;
}

.btn01{
    width: 78.4vw;
    height: 16vw;
    margin: 0 auto 3.733vw;
    border-radius: 8vw;
    font-size: 5.6vw;
    padding: 5vw 4vw 0 0;
    box-shadow: 0px 1.33vw 0px 0px rgba(46, 120, 196, 1);
}

.btn01::before{
    width: 3.6vw;
    height: 0.8vw;
    border-radius: 0.4vw;
    top: 8.6vw;
    right: 6.133vw;
}

.btn01::after{
    width: 3.6vw;
    height: 0.8vw;
    border-radius: 0.4vw;
    top: 6.533vw;
    right: 6.133vw;
}

.btn01 + .btn01{
    margin-top: 5.33vw;
}

.note01{
    font-size: 3.733vw;
}

.visual ul li .ttl03 img{
    margin: 0 auto 3.2vw;
    padding-top: 9.067vw;
    width: 79.6vw;
}

.visual ul li .txt02{
    font-size: 3.6vw;
    padding: 0 8vw;
    margin: 0 auto 3.733vw;
    line-height: 1.4074;
    text-align: center;
}

.visual ul li .txt02::before{
    width: 4.533vw;
    height: 7.733vw;
}

.visual ul li .txt02::after{
    width: 4.533vw;
    height: 7.733vw;
}

.visual ul li .txt02 strong{
    font-weight: bold;
    color: #eb7f83;
}

.visual ul li .flexbox{
    width: auto;
    margin: 0 auto 4.267vw;
    display: block;
}

.visual ul li .flexbox .imgArea{
    padding-left: 0;
}

.visual ul li .flexbox .imgArea img{
    width: 76.133vw;
    margin: 0 auto 3.733vw;
}

.visual ul li .flexbox .txt03{
    width: auto;
    padding: 0;
    font-size: 3.733vw;
    text-align: center;
    margin-bottom: 0;
    background: none;
}

.visual ul li.result{
    background: url("../img/top/sp/bg02.png") center top no-repeat;
    background-size: 100% auto;
}

.visual ul li .ttl04 img{
    margin: 0 auto 3.2vw;
    padding-top: 9.067vw;
    width: 86.267vw;
}

.visual ul li .ttl05{
    font-size: 4.533vw;
    margin-bottom: 2vw;
    line-height: 1.470588;
}

.visual ul li .txt05{
    font-size: 3.467vw;
    margin-bottom: 5.33vw;
}

.visual ul li .ttl06 img{
    margin: 0 auto 6.8vw;
    padding-top: 9.067vw;
    width: 84.533vw;
}

.visual ul li.interview div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 88vw;
    margin: 0 auto 7.467vw;
}

.visual ul li.interview div img{
    margin: 0;
    width: 40.933vw;
}

.visual ul li .txt06{
    font-size: 4.8vw;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 0;
}

.btn01.multi{
    height: 21.33vw;
    margin: 0 auto;
    border-radius: 10.665vw;
    line-height: 1.24;
    padding: 3.6vw 0 0;
}

.btn01.multi::before{
    top: 11vw;
    right: 6.133vw;
}

.btn01.multi::after{
    top: 8.933vw;
    right: 6.133vw;
}

.slick-dots {
    bottom: -6.67vw;
}

.slick-dots li {
    width: 3.2vw;
    height: 3.2vw;
    margin: 0 1.067vw;
}

.slick-dots li button {
    width: 3.2vw;
    height: 3.2vw;
}

.slick-dots li button::before {
    width: 3.2vw;
    height: 3.2vw;
    border: 0.533vw solid #b5b5b5;
    border-radius: 1.6vw;
}

.slick-dots li.slick-active button::before {
    border: 0.533vw solid #559ae1;
}

.news{
    width: 92vw;
    margin: 21.33vw auto 16.67vw;
}

.news h2 img{
    margin: 0 auto 3.467vw;
    width: 29.067vw;
}

.news dl dt{
    font-size: 4vw;
    border-bottom: 0.4vw solid #c4c4c4;
    padding: 3.6vw 0 3.8vw 4vw;
    width: 41.16%;
}

.news dl dd{
    font-size: 4vw;
    border-bottom: 0.4vw solid #c4c4c4;
    padding: 3.6vw 0 3.8vw;
    width: 58.84%;
}

.about{
    margin: 0 auto 14vw;
}

.about h2 img{
    margin: 0 auto 6.4vw;
    width: 62.267vw;
}

.about p{
    font-size: 3.733vw;
    margin-bottom: 6.533vw;
}

.award{
    width: auto;
    margin: 0 auto 14.67vw;
}

.award h2 img{
    margin: 0 auto 8vw;
    width: 33.6vw;
}

.award > ul{
    display: block;
    margin-bottom: 8vw;
}

.award > ul > li{
    width: 89.33vw;
    border-radius: 4vw;
    padding: 0 7.6vw 7.6vw;
    margin: 0 auto;
}

.award > ul > li:nth-child(1){
    border: 0.4vw solid #52bb9b;
    margin-bottom: 8vw;
}

.award > ul > li:nth-child(2){
    border: 0.4vw solid #eb7f83;
}

.award > ul > li h3 img{
    margin: -0.4vw auto 0;
}

.award > ul > li:nth-child(1) h3 img{
    width: 44.67vw;
}

.award > ul > li:nth-child(2) h3 img{
    width: 55.33vw;
}

.award .awardList li{
    padding: 5.33vw 0 5.33vw 2vw;
    border-bottom: 0.4vw solid #c4c4c4;
}

.award > ul > li:nth-child(2) .awardList li:last-child{
    padding: 5.33vw 0 3vw 2vw;
    border-bottom: none;
}

.award .awardList li .imgArea img{
    width: 24.67vw;
}

.award .awardList li .txtArea{
    padding-left: 4.4vw;
    font-size: 6.533vw;
        line-height: 1.2;
}

.award > ul > li:nth-child(2) .awardList li .txtArea{
    font-size: 4.64vw;
}

.award .awardList li .txtArea small{
    font-size: 4vw;
}

.award .awardList li .txtArea .note02{
    font-size: 2.67vw;
    margin-top: 0;
}

.award .flexbox{
    margin-top: 5.33vw;
}

.award .flexbox .imgArea img{
    width: 27.867vw;
}

.award .flexbox .txtArea{
    width: 41.733vw;
}

.award .flexbox .txtArea .txt01{
    font-size: 5.33vw;
    padding: 0 5.33vw;
    margin: 0 0 2.267vw 6vw;
}

.award .flexbox .txtArea .txt01::before{
    width: 0.533vw;
    height: 5.467vw;
}

.award .flexbox .txtArea .txt01::after{
    width: 0.533vw;
    height: 5.467vw;
}

.award .flexbox .txtArea .txt02{
    font-size: 3.467vw;
}

.award > ul > li .txt03{
    font-size: 4.533vw;
    margin-top: 4.267vw;
}

.award > ul > li:nth-child(2) > img{
    display: none;
}

.txt04{
    font-size: 5.33vw;
    padding: 0 5.33vw;
    margin: 0 auto 3vw;
}

.txt04::before{
    width: 0.533vw;
    height: 6.533vw;
}

.txt04::after{
    width: 0.533vw;
    height: 6.533vw;
}

.bnrArea{
    width: 89.33vw;
    padding-bottom: 14.67vw;
}

.bnrArea ul{
    display: block;
}

.bnrArea ul li{
    margin-bottom: 5.33vw;
}

.bnrArea ul li:last-child{
    margin: 0;
}

.bnrArea ul li a{
    width: 89.33vw;
    border-radius: 4vw;
    padding: 4vw;
    box-shadow: 0px 1.33vw 0px 0px rgba(46, 120, 196, 1);
}

.bnrArea ul li a .imgArea{
    width: 33.067vw;
    height: 26.533vw;
}

.bnrArea ul li:last-child a .imgArea{
    height: 27.733vw;
}

.bnrArea ul li:nth-child(1) a .imgArea img{
    width: 27.2vw;
}

.bnrArea ul li:nth-child(2) a .imgArea img{
    width: 18.267vw;
}

.bnrArea ul li:last-child a .imgArea img{
    margin: 3.6vw auto 0;
    width: 26.67vw;
}

.bnrArea ul li a .txtArea{
    width: 48vw;
}

.bnrArea ul li a .txtArea h3{
    font-size: 5.33vw;
    margin-bottom: 0.8vw;
}

.bnrArea ul li a .txtArea p{
    font-size: 3.467vw;
}

.bnrArea ul li a .btn02{
    height: 10.67vw;
    border-radius: 1.33vw;
    font-size: 4.8vw;
    padding-top: 2.67vw;
}

.bnrArea ul li a .btn02::before{
    width: 3.6vw;
    height: 0.8vw;
    border-radius: 0.4vw;
    top: 6vw;
    right: 3vw;
}

.bnrArea ul li a .btn02::after{
    width: 3.6vw;
    height: 0.8vw;
    border-radius: 0.4vw;
    top: 3.8vw;
    right: 3vw;
}

.bnrArea > p{
    text-align: center;
    font-size: 3.733vw;
    margin: 13vw 0 -10vw;
}

}