@charset "UTF-8";
/* =====================================
	recruit
===================================== */

#wrapper{
    background-image: url("../img/common/bg02.png");
    background-repeat: no-repeat;
    background-position: top 23px left;
}

main{
    width: 100%;
    padding: 162px 50px 146px;
    position: relative;
}

main .lead{
    width: 100%;
    margin: 0 auto;
    position: relative;
}

main .lead::before{
    content: "";
    background: url("../img/recruit/illust01.png") no-repeat center;
    background-size: contain;
    width: 1335px;
    height: 692px;
    position: absolute;
    top: -97px;
    left: 50%;
    transform: translateX(calc(-50% - 37px));
}

main .lead h1{
    font-size: 7.625rem;
    font-weight: 250;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    display: table;
    width: 100%;
    margin: 0 auto 560px;
    position: relative;
    z-index: 3;
}

main .lead h1 small{
    font-size: 2.5rem;
    font-weight: normal;
    display: block;
    color: #232323;
    margin-top: -3px;
}

main .lead .txtArea{
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    text-align: left;
    position: relative;
}

main .lead .txtArea::before{
    content: "";
    background: url("../img/recruit/illust02.png") no-repeat center;
    background-size: contain;
    width: 533px;
    height: 406px;
    position: absolute;
    top: -94px;
    right: -15px;
}

main .lead .txtArea h2{
    font-size: 2.7rem;
    line-height: 1.5926;
    color: #5ac0c9;
    position: relative;
    z-index: 3;
}

main .lead .txtArea p{
    width: 100%;
    max-width: 616px;
    margin-top: 14px;
    position: relative;
    z-index: 3;
}

main .guidelines{
    width: 100%;
    max-width: 1200px;
    margin: 138px auto 0;
    position: relative;
}

main .guidelines::before{
    content: "";
    background: url("../img/recruit/illust03.png") no-repeat center;
    background-size: contain;
    width: 903px;
    height: 626px;
    position: absolute;
    bottom: -650px;
    right: -500px;
}

main .guidelines h2{
    font-size: 7.625rem;
    font-weight: 250;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    display: table;
    width: 100%;
    max-width: 797px;
    margin: 0 auto 52px;
    padding-bottom: 38px;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    position: relative;
    z-index: 3;
}

main .guidelines h2 small{
    font-size: 2.5rem;
    font-weight: normal;
    display: block;
    color: #232323;
    margin-top: -3px;
}

main .guidelines ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    row-gap: 92px;
    column-gap: 5.34%;
}

main .guidelines ul li{
    width: 47.33%;
}

main .guidelines ul li table{
    width: 100%;
    border-top: 1px solid #252323;
    border-right: 1px solid #252323;
    border-collapse: collapse;
    border-spacing: 0;
}

main .guidelines ul li table caption{
    font-size: 2.2rem;
    line-height: 1;
    text-align: center;
    color: #5ac0c9;
    background: #fff5b7;
    height: 34px;
    padding-top: 4px;
}

main .guidelines ul li table caption.rookie{
    color: #fff;
    background: #ef90b9;
}

main .guidelines ul li table caption.career{
    color: #ef90b9;
    background: #c7e7ea;
}

main .guidelines ul li table th{
    border-bottom: 1px solid #252323;
    border-left: 1px solid #252323;
    background: #eeeeee;
    padding: 8px 16px;
    font-weight: normal;
    width: 140px;
}

main .guidelines ul li table td{
    border-bottom: 1px solid #252323;
    border-left: 1px solid #252323;
    background: #fff;
    padding: 8px 16px;
}

main .guidelines ul li table td strong{
    font-size: 1.8rem;
    color: #e882a3;
    font-weight: normal;
}

main .guidelines ul li table td a{
    color: #e882a3;
}

main .guidelines ul li > a{
    width: 100%;
    max-width: 300px;
    height: 60px;
    margin: 25px auto 0;
    position: relative;
    display: table;
    z-index: 3;
}

main .guidelines ul li > a:hover{
    opacity: 1;
}

main .guidelines ul li > a span{
    font-size: 2.0rem;
    font-weight: 500;
    text-align: center;
    width: 100%;
    height: 60px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #232323;
    position: relative;
    z-index: 3;
}

main .guidelines ul li > a::before{
    content: "";
    width: 100%;
    height: 60px;
    position: absolute;
    top: 7px;
    left: 7px;
    background-image: linear-gradient(90deg, rgba(230, 196, 185, .5), rgba(232, 185, 221, .5) 25%, rgba(226, 195, 255, .5) 50%, rgba(185, 212, 254, .5) 75%, rgba(187, 226, 238, .5));
    border-radius: 10px;
    z-index: -1;
    transition: 0.3s all ease;
}

main .guidelines ul li > a:hover::before{
    top: 0;
    left: 0;
}

main > .briefing{
    width: 100%;
    max-width: 1200px;
    padding-bottom: 60px;
    margin: 205px auto 0;
    position: relative;
}

main > .briefing::before{
    content: "";
    background-image: linear-gradient(0deg, rgba(199, 231, 234, 0), rgba(199, 231, 234, 1), rgba(199, 231, 234, 0));
    width: 100vw;
    height: 1450px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

main > .briefing h2{
    font-size: 7.625rem;
    font-weight: 250;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    display: table;
    width: 100%;
    max-width: 797px;
    margin: 0 auto 61px;
    padding-bottom: 38px;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    position: relative;
    z-index: 3;
}

main > .briefing h2 small{
    font-size: 2.5rem;
    font-weight: normal;
    display: block;
    color: #232323;
    margin-top: -3px;
}

main > .briefing .schedule{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 75px;
    position: relative;
    z-index: 3;
}

main > .briefing .schedule li{
    width: 49.167%;
}

main > .briefing .schedule li:nth-child(even){
    width: 45.67%;
}

main > .briefing .schedule li:nth-child(n+2){
    background: #fff;
    padding: 0 40px 38px;
}

main > .briefing .schedule li:nth-child(1) p{
    text-align: center;
    color: #ea6d8d;
    margin-bottom: 9px;
}

main > .briefing .schedule li:nth-child(1) .wrap{
    background: #fff;
    padding: 34px 20px 15px;
}

main > .briefing .schedule li:nth-child(1) .wrap h4{
    font-size: 3.5rem;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    margin-bottom: 22px;
}

main > .briefing .schedule li:nth-child(n+2) h4{
    font-size: 2.5rem;
    line-height: 1;
    text-align: center;
    width: 364px;
    height: 53px;
    border-radius: 30px 0 30px 0;
    margin: -23px 0 18px -58px;
    padding-top: 12px;
}

main > .briefing .schedule li:nth-child(2) h4{
    color: #fff;
    background: #ef90b9;
}

main > .briefing .schedule li:nth-child(3) h4{
    color: #ef90b9;
    background: #fff;
    border: 1px solid #ef90b9;
}

main > .briefing .schedule li:nth-child(4) h4{
    color: #fff;
    background: #5ac0c9;
        width: 236px;
}

main > .briefing .schedule li .wrap > table{
    width: 100%;
    max-width: 416px;
    margin: 20px auto 27px;
    border-top: 1px solid #000;
    border-collapse: collapse;
    border-spacing: 0;
}

main > .briefing .schedule li .wrap > table th{
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    background: #fff5b7;
    padding: 4px 16px;
    font-weight: normal;
    text-align: right;
    vertical-align: top;
}

main > .briefing .schedule li .wrap > table td{
    border-bottom: 1px solid #000;
    padding: 4px 0 4px 16px;
}

main > .briefing .schedule li .wrap > table + p{
    text-align: center;
    color: #ea6d8d;
    margin-bottom: 10px;
}

main > .briefing .schedule li .wrap > a{
    width: 100%;
    max-width: 300px;
    height: 60px;
    margin: 0 auto;
    position: relative;
    display: table;
    z-index: 3;
}

main > .briefing .schedule li .wrap > a:hover{
    opacity: 1;
}

main > .briefing .schedule li .wrap > a span{
    font-size: 2.0rem;
    font-weight: 500;
    text-align: center;
    width: 100%;
    height: 60px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #232323;
    position: relative;
    z-index: 3;
}

main > .briefing .schedule li .wrap > a::before{
    content: "";
    width: 100%;
    height: 60px;
    position: absolute;
    top: 7px;
    left: 7px;
    background-image: linear-gradient(55deg, rgba(90, 192, 201, .5), rgba(255, 245, 183, .5));
    border-radius: 10px;
    z-index: -1;
    transition: 0.3s all ease;
}

main > .briefing .schedule li .wrap > a:hover::before{
    top: 0;
    left: 0;
}

main > .briefing h3{
    font-size: 7.625rem;
    font-weight: 250;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    display: table;
    width: 797px;
    margin: 204px auto 48px;
    padding-bottom: 38px;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    position: relative;
    z-index: 3;
}

main > .briefing h3 small{
    font-size: 2.5rem;
    font-weight: normal;
    display: block;
    color: #232323;
    margin-top: -3px;
}

main > .briefing .fair{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    row-gap: 40px;
    column-gap: 2%;
    position: relative;
}

main > .briefing .fair li{
    width: 49%;
    background: #fff;
    padding: 30px 52px 36px;
    border-radius: 60px 0 60px 0;
    position: relative;
    z-index: 3;
}

main > .briefing .fair li table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

main > .briefing .fair li table caption{
    width: 100%;
    height: 46px;
    font-size: 3.0rem;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    color: #5ac0c9;
    background: #fff5b7;
    padding-top: 6px;
    position: relative;
}

main > .briefing .fair li table caption small{
    font-size: 1.6rem;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
}

main > .briefing .fair li table th{
    line-height: 1;
    border-bottom: 1px solid #000;
    padding: 0 4px;
    font-weight: normal;
}

main > .briefing .fair li table td{
    line-height: 1;
    border-bottom: 1px solid #000;
}


main > .briefing .fair li table td span{
    font-family: "League Spartan", sans-serif;
}

main > .briefing .fair li table .date td{
    font-size: 2.5rem;
    padding: 23px 4px 10px;
}

main > .briefing .fair li table .date td small{
    font-size: 2.0rem;
}

main > .briefing .fair li table .date td .year{
    font-size: 2.1rem;
}

main > .briefing .fair li table .date td .day{
    font-size: 4.2rem;
}

main > .briefing .fair li table .time td{
    font-size: 3.0rem;
    padding: 23px 4px 13px;
}

main > .briefing .fair li table .time td span{
    font-size: 3.4rem;
}

main > .briefing .fair li table .place th{
    padding: 17px 4px 20px;
    border: none;
}

main > .briefing .fair li table .place td{
    font-size: 2.0rem;
    padding: 17px 4px 20px;
    border: none;
}

main > .briefing .fair li table tr:last-child td{
    font-size: 1.5rem;
    font-weight: 500;
    padding: 0 4px 18px;
}

main > .briefing .fair li table tr:last-child td a{
    color: #e781a2;
}

.calendar-nav{
    font-size: 29px;
    font-family: "Roboto", sans-serif;
    text-align: center;
    margin: 9px 0 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;;
}

.calendar-nav a:first-child{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 19px solid #232323;
    border-left: 0;
    text-indent: -9999px;
    display: inline-block;
}

.calendar-nav a:last-child{
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 19px solid #232323;
    border-right: 0;
    text-indent: -9999px;
    display: inline-block;
}

.calendar {
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px solid #232323;
}

.calendar th{
    border-top: 1px solid #232323;
    border-right: 1px solid #232323;
    vertical-align: top;
    width: 14.28%;
    background: #cccccc;
    padding: 2px;
    font-size: 16px;
    font-family: "Roboto", sans-serif;
    line-height: 1;
    text-align: center;
}

.calendar th.holiday{
    background: #232323;
    color: #fff;
}

.calendar td {
    border-top: 1px solid #232323;
    border-right: 1px solid #232323;
    vertical-align: top;
    width: 14.28%;
    height: 70px;
    padding: 5px;
    font-size: 16px;
    line-height: 1;
    background: #f7f8f8;
}

.calendar th:last-child,
.calendar td:last-child{
    border-right: none;
}
.date-num {
    font-weight: bold;
    margin-bottom: 4px;
    font-family: "Roboto", sans-serif;
}
.label {
    display: block;
    margin: 2px 0;
    text-align: center;
    padding-top: 3px;
    width: 100%;
    height: 23px;
    color: #fff;
    text-decoration: none;
}

.label-tour { background-color: #ef90b9; }
.label-online {
    background-color: #fff;
    border: 1px solid #ef90b9;
    color: #ef90b9;
    padding-top: 2px;
}

.label-internship { background-color: #5ac0c9; }
.label-briefing { background-color: #c7a977; }

.calendarWrap dl{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    row-gap: 6px;
    margin: 13px 10px 0;
}

.calendarWrap dl div{
    width: 50%;
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1;
}

.calendarWrap dl div dt{
    display: block;
    text-align: center;
    width: 63px;
    height: 23px;
    padding-top: 3px;
    color: #fff;
}
.calendarWrap dl div dd{
    font-size: 1.5rem;

}
.calendarWrap dl div dt.tour {
    background-color: #ef90b9;
}

.calendarWrap dl div dt.online {
    background-color: #fff;
    border: 1px solid #ef90b9;
    color: #ef90b9;
    padding-top: 2px;
}

.calendarWrap dl div dt.internship {
    background-color: #5ac0c9;
}

.calendarWrap dl div dt.briefing {
    background-color: #c7a977;
}


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

#wrapper{
    background-image: url("../img/common/bg02.png");
    background-repeat: no-repeat;
    background-position: top 3.067vw left;
}

main{
    padding: 21.6vw 0 19.467vw;
}

main .lead::before{
    background: url("../img/recruit/sp/illust01.png") no-repeat center;
    background-size: contain;
    width: 100vw;
    height: 102.22vw;
    top: 36vw;
    left: 0;
    transform: translateX(0);
}

main .lead h1{
    font-size: 12.2vw;
    line-height: 0.8;
    margin: 0 auto 108.67vw;
    padding-bottom: 8vw;
}

main .lead h1 small{
    font-size: 5vw;
    line-height: 1;
    margin-top: 3vw;
}

main .lead .txtArea{
    width: 86.979167vw;
    padding-bottom: 50vw;
}

main .lead .txtArea::before{
    width: 71.067vw;
    height: 54.133vw;
    top: 98vw;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

main .lead .txtArea h2{
    font-size: 5.4vw;
}

main .lead .txtArea p{
    max-width: inherit;
    margin-top: 1.867vw;
}

main .guidelines{
    width: 86.979167vw;
    margin: 18.4vw auto 0;
}

main .guidelines::before{
    background: url("../img/recruit/sp/illust03.png") no-repeat center;
    background-size: contain;
    width: 100vw;
    height: 90.9804vw;
    bottom: -105vw;
    right: -6.5104165vw;
}

main .guidelines h2{
    font-size: 12.2vw;
    line-height: 0.8;
    max-width: 86.979167vw;
    margin: 0 auto 6.933vw;
    padding-bottom: 8vw;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    background-size: auto 2.4vw;
}

main .guidelines h2 small{
    font-size: 5vw;
    line-height: 1;
    margin-top: 3vw;
}

main .guidelines ul{
    row-gap: 12.267vw;
    column-gap: 0;
}

main .guidelines ul li{
    width: 100%;
}

main .guidelines ul li table caption{
    font-size: 4.4vw;
    height: 6.8vw;
    padding-top: 1.16vw;
}

main .guidelines ul li table th{
    padding: 1.067vw 2.133vw;
    width: 22.67vw;
}

main .guidelines ul li table td{
    padding: 1.067vw 2.133vw;
}

main .guidelines ul li table td strong{
    font-size: 1.5rem;
}

main .guidelines ul li > a{
    max-width: 54.6875vw;
    height: 10.9375vw;
    margin: 3.33vw auto 0;
}


main .guidelines ul li > a span{
    font-size: 4vw;
    max-width: 54.6875vw;
    height: 10.9375vw;
    border-radius: 1.33vw;
}

main .guidelines ul li > a::before{
    height: 10.9375vw;
    top: 0.933vw;
    left: 0.933vw;
    border-radius: 1.33vw;
}

main .guidelines ul li > a:hover::before{
    top: 0.933vw;
    left: 0.933vw;
}

main > .briefing{
    width: 86.979167vw;
    padding-bottom: 8vw;
    margin: 106vw auto 0;
}

main > .briefing::before{
    height: 193.33vw;
}

main > .briefing h2{
    font-size: 12.2vw;
    line-height: 0.8;
    max-width: 86.979167vw;
    margin: 0 auto 8.133vw;
    padding-bottom: 8vw;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    background-size: auto 2.4vw;
}

main > .briefing h2 small{
    font-size: 5vw;
    line-height: 1;
    margin-top: 3vw;
}

main > .briefing .schedule{
    row-gap: 10vw;
}

main > .briefing .schedule li{
    width: 100%;
}

main > .briefing .schedule li:nth-child(even){
    width: 100%;
}

main > .briefing .schedule li:nth-child(n+2){
    padding: 0 5.33vw 5.067vw;
}

main > .briefing .schedule li:nth-child(1) p{
    margin-bottom: 1.2vw;
}

main > .briefing .schedule li:nth-child(1) .wrap{
    padding: 4.533vw 2.67vw 2vw;
}

main > .briefing .schedule li:nth-child(1) .wrap h4{
    font-size: 7vw;
    margin-bottom: 2.933vw;
}

main > .briefing .schedule li:nth-child(n+2) h4{
    font-size: 5vw;
    width: 284px;
    height: 10.6005vw;
    border-radius: 4vw 0 4vw 0;
    margin: -3.067vw 0 2.4vw -7.733vw;
    padding-top: 2.4vw;
}
main > .briefing .schedule li:nth-child(4) h4{
        width: 284px;
}
main > .briefing .schedule li .wrap > table{
    max-width: inherit;
    margin: 2.67vw auto 3.6vw;
}

main > .briefing .schedule li .wrap > table th{
    padding: 0.533vw 2.133vw;
    width: 20vw;
}

main > .briefing .schedule li .wrap > table td{
    padding: 0.533vw 0 0.533vw 2.133vw;
}

main > .briefing .schedule li .wrap > table + p{
    margin-bottom: 2vw;
    line-height: 1.35;
}

main > .briefing .schedule li .wrap > a{
    max-width: 54.6875vw;
    height: 10.9375vw;
    margin: 0 auto;
}


main > .briefing .schedule li .wrap > a span{
    font-size: 4vw;
    height: 10.9375vw;
    border-radius: 1.33vw;
}

main > .briefing .schedule li .wrap > a::before{
    height: 10.9375vw;
    top: 0.933vw;
    left: 0.933vw;
    border-radius: 1.33vw;
}

main > .briefing .schedule li .wrap > a:hover::before{
    top: 0.933vw;
    left: 0.933vw;
}

main > .briefing h3{
    font-size: 12.2vw;
    line-height: 0.8;
    width: 86.979167vw;
    margin: 27.2vw auto 6.4vw;
    padding-bottom: 8vw;
    background: url("../img/recruit/huki01.svg") no-repeat center bottom;
    background-size: auto 2.4vw;
}

main > .briefing h3 small{
    font-size: 5vw;
    line-height: 1;
    margin-top: 3vw;
}

main > .briefing .fair{
    row-gap: 5.33vw;
    column-gap: 0;
}

main > .briefing .fair li{
    width: 100%;
    padding: 4vw 6.933vw 4.8vw;
    border-radius: 8vw 0 8vw 0;
}

main > .briefing .fair li table caption{
    height: 9.2vw;
    font-size: 6vw;
    padding-top: 1.2vw;
}

main > .briefing .fair li table caption small{
    font-size: 3.2vw;
    left: 2vw;
}

main > .briefing .fair li table th{
    padding: 0 0.533vw;
}

main > .briefing .fair li table .date td{
    font-size: 5vw;
    padding: 3.067vw 0.533vw 1.33vw;
}

main > .briefing .fair li table .date td small{
    font-size: 4vw;
}

main > .briefing .fair li table .date td .year{
    font-size: 4.2vw;
}

main > .briefing .fair li table .date td .day{
    font-size: 8.4vw;
}

main > .briefing .fair li table .time td{
    font-size: 6vw;
    padding: 3.067vw 0.533vw 1.733vw;
}

main > .briefing .fair li table .time td span{
    font-size: 6.8vw;
}

main > .briefing .fair li table .place th{
    padding: 2.267vw 0.533vw 2.67vw;
    min-width:5em;
}

main > .briefing .fair li table .place td{
    font-size: 4vw;
    padding: 2.267vw 0.533vw 2.67vw;
}

main > .briefing .fair li table tr:last-child td{
    font-size: 3vw;
    padding: 0 0.533vw 2.4vw;
}

.calendar-nav{
    font-size: 5.8vw;
    margin: 1.2vw 0 1.067vw;
    gap: 3.33vw;
}

.calendar-nav a:first-child{
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
    border-right: 2.533vw solid #232323;
}

.calendar-nav a:last-child{
    border-top: 1.6vw solid transparent;
    border-bottom: 1.6vw solid transparent;
    border-left: 2.533vw solid #232323;
}

.calendar th{
    padding: 0.267vw;
    font-size: 3.2vw;
}

.calendar td {
    height: 14vw;
    padding: 0.67vw;
    font-size: 3.2vw;
}

.date-num {
    margin-bottom: 0.533vw;
}

.label {
    margin: 0.267vw 0;
    padding-top: 0.6vw;
    height: 4.6vw;
}

.label-online {
    padding-top: 0.4vw;
}

.calendarWrap dl{
    row-gap: 0.8vw;
    margin: 1.733vw 1.33vw 0;
}

.calendarWrap dl div{
    gap: 0.933vw;
}

.calendarWrap dl div dt{
    width: 8.4vw;
    height: 4.6vw;
    padding-top: 0.6vw;
}
.calendarWrap dl div dd{
    font-size: 1.3rem;
}
.calendarWrap dl div dt.online {
    padding-top: 0.4vw;
}

}