
.awardBg{
    color: #fff;
    background: #ff6633;
    background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);
}

.number01 .awardBg{}




/*
.absent{opacity:1;pointer-events: none;}
*/

.absent{opacity:1;}
.absent .imgBox{ background: #000;}
.absent .imgBox img{ opacity: 0.3;}




h2{ font-size: 40px; font-weight: 400; letter-spacing: 0.4em; padding: 90px 0; text-align: center;
    font-family: 'Taviraj','Noto Serif JP',"Yu Mincho", YuMincho, "HGP明朝B", serif !important;
}

h2.ranking span{ display: block; margin-top: 20px;}


/* ---------------------------------------------------------------------------------
STAFF LIST */

.staffList{
    width: auto;
    margin: 0 30px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 15px;
    row-gap: 60px;
}

.staffList li{ display: block; background: }
.staffList li a{ display: block; }
.staffList li >a.inner{ text-decoration: none !important;}
.staffList li >.inner2{}


.staffList li .imgBox{  position: relative;}
.staffList li .imgBox img{}













.staffList li .position{ height: 40px; white-space: nowrap; display: inline-block; color: #fff;  background: #333;
    font-size: 20px;
    vertical-align: bottom; padding: 0px 30px 5px;; position: absolute; bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: auto;
}

.staffList li .txtBox{ position: relative;}
.staffList li .txtBox .name{ text-align: center; font-weight: 800; font-size: 24px; padding-top: 8px;}
.staffList li .txtBox .nameEng{text-align: center; font-size: 20px;}



.staffList li .awardLabel{height: auto;min-height: 20px;  display: inline-block;
    font-size: 18px; width: 60%; text-align: center;
    vertical-align: bottom; padding: 5px 30px 5px;; position: absolute; bottom: 60px;
    left: 50%;
    font-weight:600;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    line-height: 1.2em;

}










/* ---------------------------------------------------------------------------------
PROFILE */


.profile{ position: relative; z-index: 0; margin-top:30px;}
.profile >.inner{}
.profile >.inner >.inner2{

    width: auto;
    margin: 0 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
    row-gap: 0;
}

.profile.YOKO >.inner >.inner2{

    width: auto;
    margin: 0 30px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 40px;
    row-gap: 0;
}







.profile.YOKO .imgBox{ padding-bottom: 50px:}

.profile .txtBox{ display: table; vertical-align: middle;}
.profile .txtBox_cell{ display: table-cell; vertical-align: middle;}

.profile.YOKO .txtBox{ display: block; vertical-align: middle;}
.profile.YOKO .txtBox_cell{ display:block; vertical-align: middle; padding-top: 50px;}

.profile .txtBox01{ position: relative; text-align: center; border-bottom: 2px solid #dadada; padding: 0 0 60px; margin-bottom: 30px;}

.profile .txtBox01 .position{ height: 40px; display: inline-block; color: #fff;  background: #333;
    font-size: 30px;
    vertical-align: bottom; padding: 15px 30px 10px; line-height: 1em;
    margin: 0 auto 0;
}
.bigAwardLabel{ width: auto;  display: block; color: #fff;
    font-size: 40px; box-sizing: border-box;
    vertical-align: bottom; padding: 10px 40px 10px; font-weight: 700;
    margin: 0 auto 0;　line-height: 1.4em; text-align: center;
    font-style: italic;
}



.profile .txtBox01 .name{ text-align: center; font-weight: 800; font-size: 55px; padding-top: 8px; margin-bottom: 00px;}
.profile .txtBox01 .nameEng{text-align: center; font-size: 24px; font-weight: 800; letter-spacing: 0.2em;}

.profile .txtBox02{}

.profile .txtBox02 dl{ margin-bottom: 1em;}

.profile.YOKO .txtBox02 dl{ display: table;margin-bottom: 1em; width: 80%; margin:  0 auto;}

.profile .txtBox02 dl:before,
.profile .txtBox02 dl:after {content: " ";display:table;}
.profile .txtBox02 dl:after {clear: both;}
.profile .txtBox02 dl{*zoom: 1;}

.profile .txtBox02 dt{ float: left; width: 170px;; text-align: center; border: 1px solid #cacaca; font-size: 22px;line-height: 1em; padding: 5px 10px; box-sizing: border-box;}
.profile .txtBox02 dd{ float: right; width: 380px;}


.profile.YOKO .txtBox02 dt{ float: left; width: 20%;; text-align: center; border: 1px solid #cacaca; font-size: 28px;line-height: 1em; padding: 10px 10px; box-sizing: border-box; display: table-cell; margin-bottom: 10px;}
.profile.YOKO .txtBox02 dd{ float: right; width: 75%; display: table-cell; font-size: 28px;padding-top: 5px}


.profile.YOKO .txtBox02:before,
.profile.YOKO .txtBox02:after {content: " ";display:table;}
.profile.YOKO .txtBox02:after {clear: both;}
.profile.YOKO .txtBox02{*zoom: 1;}



.profile .txtBox02 .message dt{ float: none; width: 170px; text-align: center; border: 1px solid #cacaca; font-size: 22px;line-height: 1em; padding: 5px 10px; box-sizing: border-box; padding-bottom: 20px; margin-top: 30px; box-sizing: border-box;}
.profile .txtBox02 .message  dd{ float: none; width:100%;box-sizing: border-box;padding-bottom: 20px;}


.profile.YOKO .txtBox02 dl.message{ display: block;margin-bottom: 1em; width: 80%; margin:  0 auto;}
.profile.YOKO .txtBox02 .message dt{ float: left; width: 20%; text-align: center; border: 1px solid #cacaca; font-size: 28px;line-height: 1em; padding:  10px; box-sizing: border-box; margin-bottom: 10px; margin-top:0 ; box-sizing: border-box;}
.profile.YOKO .txtBox02 .message  dd{ float: right; width:75%;box-sizing: border-box; font-size: 28px;padding-top: 5px}





.award{
    width: auto;
    margin:  60px 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}

.award li{ background: #fafafa; color: #333;border:1px solid #aaa; text-align: center; padding: 10px;}

.photoGallery{
    width: auto;
    margin:  0 30px 60px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}


.photoGallery figure{height:600px; overflow:hidden;}
.photoGallery figure:first-child{ display: none;}
.photoGallery figure a{ display: block; width: 100%; height: 100%; object-fit: cover;}
.photoGallery figure img{  height: 100%; object-fit: cover;}








/* ---------------------------------------------------------------------------------
RANKING */


.number01{ margin: 0 30px;
    background: url(/common/images/pickupBG.jpg) no-repeat center top;
    background-size: cover;
}

.number01 .inner2{
    width: auto;
    margin:0 0 30px;
    padding: 60px 0 60px 60px;
    display: grid;
    grid-template-columns: 3fr 4fr;
    column-gap: 30px;
    row-gap: 30px;
}

.number01 .txtBox{color: #fff; text-align: center; padding-top: 320px; padding-right: 30px;}

.number01 .txtBox .position{ height: 40px; display: inline-block; color: #fff;
    border: 1px solid #fff;
    font-size: 20px;
    vertical-align: bottom; padding: 0px 30px 0px;
    margin: 0 auto 0px;;}
.number01 .txtBox .name{text-align: center; font-weight: 800; font-size: 50px; padding-top: 8px; }
.number01 .txtBox .nameEng{text-align: center; font-size: 24px; font-weight: 800; letter-spacing: 0.2em; margin-bottom: 20px;}
.number01 .txtBox .awardLabel{ text-align: center; padding: 10px 40px; display: inline-block; line-height: 1em; font-size: 20px;
    font-weight: 600;
}







.rankList{
    width: auto;
    margin: 0 30px 90px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 15px;
    row-gap: 60px;
}

.rankList li{ display: block;}
.rankList li a{ display: block;}
.rankList li >a.inner{ text-decoration: none !important;}
.rankList li >.inner2{}


.rankList li .imgBox{  position: relative;}
.rankList li .imgBox img{}

.rankList li .position{ white-space: normal;height: 40px; display: inline-block; color: #fff;  background: #333;
    font-size: 20px;
    vertical-align: bottom; padding: 0px 30px 5px;; position: absolute; bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.rankList li .awardLabel{height: 40px; display: inline-block;
    font-size: 20px; width: 60%; text-align: center;
    vertical-align: bottom; padding: 0px 30px 0px;; position: absolute; bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); font-weight: 600;
}

.rankList li .number{ position: absolute; display: inline-block;  left: 0; top: 0; width: 60px; height: 60px; color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center ; font-weight: 900; font-size: 35px;font-style: italic;
    background-image: linear-gradient(to right, #d7d2cc 0%, #304352 100%);
    border: 2px solid #000;
    border-width: 0 1px 1px 0
}


.rankList li .txtBox{ position: relative;}
.rankList li .txtBox .name{ text-align: center; font-weight: 800; font-size: 34px; padding-top: 8px;}
.rankList li .txtBox .nameEng{text-align: center; font-size: 22px; font-weight: 800; line-height: 1em;}






.systemImage li{padding: 0 30px 60px;}
