@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
*  index.css
* --------------------------------------------------------------------------------------------------*/
.modal_wrapper{
    position: relative;
}
.modal_wrap{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    margin: auto;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 4;
}
.modal_wrap .modal_cnts{
    position: relative;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 130px 30px;
    z-index: 5;
    box-sizing: border-box;
}
.modal_wrap .modal_cnts img{
    max-width: 100%;
    height: auto;
}
.modal_wrap .modal_cnts .modal-inner{
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}
.modal_wrap .modal-close{
    position: absolute;
    right: 0;
    left: 0;
    top: 90px;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    text-align: right;
    padding: 0 30px;
    cursor: pointer;
    z-index: 6;
    opacity: 1;
    box-sizing: border-box;
}

.modal_wrapper .modal-overlay{
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.75);
    z-index: 3;
}

@media screen and (max-width: 767px) {
    .modal-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .modal_wrap{
        padding: 28vw 6.977vw;
        box-sizing: border-box;
    }
    .modal_wrap .modal_cnts{
        display: block;
        padding: 0;
    }

    .modal_wrap .modal-close {
        top: 17vw;
        padding: 0 6.977vw;
    }
    .modal_wrap .modal-close img{
        width: auto;
        max-width: 100%;
    }

}

/* ------------------------------
   mv-slider
------------------------------ */
.mv-slider{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}
.index.mv-slider{ display: none;}
.mv-slider div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    margin: 0;
}
.mv-slider div.slide01 {
    background-image: url("../img/mv01.jpg");
}
.mv-slider div.slide02 {
    background-image: url("../img/mv02.jpg");
}
.mv-slider div.slide03 {
    background-image: url("../img/mv03.jpg");
}
.mv-slider div.slide04 {
    background-image: url("../img/mv04.jpg");
}
.mv-slider div.slide05 {
    background-image: url("../img/mv05.jpg");
}
.mv-slider div.slide06 {
    background-image: url("../img/mv06.jpg");
}
.mv-slider .slick-dots {
    bottom: 4%;
    z-index: +1;
}

/* ------------------------------
   pre-load
------------------------------ */
.pre-load{
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.pre-load .logo{ display: none;}
.pre-load .lead{
    text-align: center;
    font-size: 2.8rem;
    line-height: calc(48 / 28);
    color: #FFF;
}

.pre-load:before,
.pre-load:after{
    display: block;
    position: absolute;
    bottom: 12rem;
    left: 50%;
    height: 8rem;
    content: "";
    border-left: 1px solid #FFF;
}
.pre-load:before{
    opacity: .4;
}
.pre-load:after{
    z-index: 2;
    transform: scaleY(0);
    transform-origin: center top;
    -webkit-animation: mv-scroll 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
    animation: mv-scroll 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}
@keyframes mv-scroll {
0% {transform:scaleY(0);}
40% {transform:scaleY(1);}
41% {transform:scaleY(1);}
80% {transform:scaleY(0); transform-origin:center bottom;}
100% {transform:scaleY(0);}
}

.overlay{
    display: none;
}
.load .overlay{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #FFF;
    z-index: 1000;
}

.load .pre-load{
    position: fixed;
    z-index: 1001;
}
.load.loaded .pre-load{ z-index: 3;}
.load.loaded .pre-load{ position: relative;}
.load .pre-load .logo{
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 50vw;
    height: 32vw;
    max-width: 390px;
    max-height: 221px;
    opacity: 0;
    text-align: center;
    animation: fadeIn-out 2s .4s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.load .pre-load .lead{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity: 0;
    color: #000000;
    animation: fadeIn 1s 2.4s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
.load.loaded .pre-load .lead{
    position: relative;
    display: block;
    opacity: 1;
}
@keyframes fadeIn-out {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.load.loaded .overlay{
    animation: fadeOut 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}
.load.loaded .pre-load .lead{
    animation: colorChange 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes colorChange {
  0% {
    color: #000;
  }
  100% {
    color: #FFF;
  }
}


@media screen and (max-width: 767px) {
    .pre-load .lead{
        font-size: 6.512vw;
    }


}
/* ------------------------------
   sec-mv
------------------------------ */
.sec-mv {
    position: relative;
    padding: 80px 0;
    box-sizing: border-box;
}
.sec-mv .mv-txt {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    box-sizing: border-box;
    z-index: 2;
}
.sec-mv .mv-txt p{
    text-align: center;
    font-size: 1.6rem;
    color: #FFF;
    line-height: 2;
}
.sec-mv .mv-txt p+p{ margin-top: 3rem;}

@media screen and (max-width: 767px) {
    .sec-mv {
        padding: 18.605vw 0;
    }
    .sec-mv .mv-txt p{
        font-size: 3.721vw;
    }
    .sec-mv .mv-txt p+p{ margin-top: 6.977vw;}

}
/* ------------------------------
   sec-question
------------------------------ */
.sec-question{
    position: relative;
    background: #FFF;
    padding: 180px 0 0 0;
    box-sizing: border-box;
}
.sec-question .ranking li img{ display: block;}

.sec-question .ranking .note{
    margin-top: 10px;
    font-size: 1.0rem;
}
#link02,
#link03{
    padding-top: 60px;
    padding-bottom: 60px;
}
.sec-question .bnr_wrap{
    margin: 75px auto 0 auto;
    text-align: center;
    box-sizing: border-box;
}
.sec-question .bnr_wrap img{
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .sec-question{
        padding: 41.86vw 0 0 0;
    }
    .sec-question .ranking .note{
        margin-top: 2.326vw;
        font-size: 2.326vw;
    }
    #link02,
    #link03{
        padding-top: 13.953vw;
        padding-bottom: 13.953vw;
    }
    .sec-question .bnr_wrap{
        margin: 8.762vw auto 0 auto;
    }

}

/* ------------------------------
   sec-interview
------------------------------ */
.sec-interview{
    position: relative;
    background: #FFF;
    padding: 120px 0 0 0;
    box-sizing: border-box;
}
.sec-interview .nan_link{ margin-bottom: 100px;}
.sec-interview .nan_link li+li{ margin-top: 6px;}
.sec-interview .nan_link img{ display: block;}

.staff-wrap{ margin-bottom: 120px;}


.staff-wrap .staff_slider{ margin-bottom: 80px;}
.staff-wrap .slick-dots{ bottom: -40px;}
.staff-wrap .slick-dots li{
    margin: 0 2px;
}
.staff-wrap .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0px;
    margin: 0 7px;
}
.staff-wrap .slick-dots li button:before {
    line-height: 20px;
    width: 10px;
    height: 10px;
    content: '';
    background: #FFF;
    border: 1px solid #707070;
    border-radius: 100%;
    opacity: 1;
}
.staff-wrap .slick-dots li.slick-active button:before{
    background: #707070;
    opacity: 1;
}

.staff_inner .box-lead{
    font-size: 1.4rem;
    color: #3E639F;
    margin-bottom: 20px;
}

.staff_inner .box_ttl_wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.staff_inner .box_ttl_wrap .box-ttl{
    font-size: 2.4rem;
    font-weight: 700;
    color: #3E639F;
    line-height: 1.5;
}
.staff_inner .box_ttl_wrap .box-ttl span{
    display: block;
    font-size: 1.0rem;
    line-height: 1;
}
.staff_inner .box_ttl_wrap .img{
    max-width: 195px;
}
.staff_inner .staff_info{
    margin: 30px 0;
}

.staff_inner .staff_info dl{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.staff_inner .staff_info dl+dl{}
.staff_inner .staff_info dt,
.staff_inner .staff_info dd{
    font-size: 1.4rem;
    font-weight: 700;
    color: #3E639F;
    line-height: calc(24 / 14);
}
.staff_inner .staff_info dt{
    width: 12.6rem;
}
.staff_inner .staff_info dl:nth-of-type(2) dt{ letter-spacing: .18rem;}
.staff_inner .txt{
    font-size: 1.6rem;
    line-height: 2;
}
.comment_wrap{ padding-bottom: 130px;}
.comment_wrap p{
    font-size: 1.6rem;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    .sec-interview{
        padding: 27.907vw 0 0 0;
    }
    .sec-interview .nan_link{ margin-bottom: 23.256vw;}

    .staff-wrap{ margin-bottom: 27.907vw;}
    .staff-wrap .staff_slider{ margin-bottom: 18.605vw;}
    .staff-wrap .slick-dots{ bottom: -9.302vw;}

    .staff-wrap .slick-dots li button {
        width: 2.326vw;
        height: 2.326vw;
    }
    .staff-wrap .slick-dots li button:before {
        width: 2.326vw;
        height: 2.326vw;
    }
    .staff_inner .box-lead{
        font-size: 3.256vw;
        margin-bottom: 4.651vw;
    }
    .staff_inner .box_ttl_wrap .box-ttl{
        font-size: 5.581vw;
    }
    .staff_inner .box_ttl_wrap .box-ttl span{
        font-size: 2.326vw;
    }
    .staff_inner .box_ttl_wrap .img{
        width: 44vw;
    }
    .staff_inner .staff_info{
        margin: 6.977vw 0;
    }
    .staff_inner .staff_info dt,
    .staff_inner .staff_info dd{
        font-size: 3.256vw;
    }
    .staff_inner .staff_info dt{
        width: 31vw;
    }
    .staff_inner .staff_info dl:nth-of-type(2) dt{ letter-spacing: .17rem;}
    .staff_inner .txt{
        font-size: 3.721vw;
    }
    .comment_wrap{ padding-bottom: 30vw;}
    .comment_wrap p{
        font-size: 3.721vw;
        line-height: 2;
    }
}


/* ------------------------------
   sec-interview
------------------------------ */
.p-kv__img{
  width: 100%;
  height: 51vw;
/*  min-height: 200px;*/
  overflow: hidden;
}
.p-kv__img{
    top: -10%;
}
.p-kv__img img{
     width: 100%;
   }
@media screen and (max-width: 767px) {

}

/* mfp-content */
.mfp-bg{ background: rgba(0,0,0,.75);}
.mfp-fade01.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.4s ease-out;
}
.mfp-fade01.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade01.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.cp_bnr_wrap{ margin-top: -60px;}
.modal_cnts02{
    width: 89%;
    margin: 0 auto;
}
.modal_wrap02 .modal-close{
    position: absolute;
    right: 0;
    left: 0;
    top: -100px;
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    text-align: right;
    padding: 0 30px;
    cursor: pointer;
    z-index: 6;
    opacity: 1;
    box-sizing: border-box;
}

.modal_wrap02 .modal-close img{
    max-width: 100%;
    width: auto;
}
