@charset "utf-8";

/*各ページ用CSS
---------------------------------------------------------------------------*/

/*位置系
---------------------------------------------------------------------------*/
.mb0-pb0 {
    margin-bottom:0px !important; 
    padding-bottom:0px !important; 
}
.mb15 {
    margin:15px 0px !important;
}
.material-icon-middle {
    vertical-align:middle;
}
.flex-wraps {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
div.content > h2:first-child{
    margin-top:0px !important;
}
.red-box > h4:first-child{
    margin-top:35px !important;
}
/*表系
---------------------------------------------------------------------------*/
.not-return {
    white-space: nowrap !important;
}
.IGPEES-reports table tr th {
    width:30%;
}
.IGPEES-reports table tr th:nth-child(2) {
    width:25%;
}
.IGPEES-reports table tr th:last-child{
    width:15%;
}
.harassment-table table tr th {
    width: 150px;
}
.harassment-table table tr th:nth-child(2) {
    width: 350px;
}
.harassment-table table tr th:nth-child(3) {
    width: 100px;
}
.XPS-reports table tr th {
    width:24%;
}
.XPS-reports table tr th:first-child {
    width:36%;
}
.XPS-reports table tr th:last-child{
    width:16%;
}
/*画像系
---------------------------------------------------------------------------*/
.PhotoFrame img {
    margin:0px !important;
}
.Image-Frame-shadow {
    padding:8px; 
    background-color:white; 
    box-shadow:0 0 7px rgba(136,136,136,0.4);
}
.image400 {
    width:400px;
}
.image316-left15 {
    width:316px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image316-left15 {
        margin-left:0px !important;
    }
}
.image300-left15 {
    width:300px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image300-left15 {
        margin-left:0px !important;
    }
}
.image276-left15 {
    width:276px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image276-left15 {
        margin-left:0px !important;
    }
}
.image266-left15 {
    width:266px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image266-left15 {
        margin-left:0px !important;
    }
}
.image250-left15 {
    width:250px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image250-left15 {
        margin-left:0px !important;
    }
}
.image232-left15 {
    width:232px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image232-left15 {
        margin-left:0px !important;
    }
}
.image220-left15 {
    width:220px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image220-left15 {
        margin-left:0px !important;
    }
}
.image200-left15 {
    width:200px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image200-left15 {
        margin-left:0px !important;
    }
}
.image196-left15 {
    width:196px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image196-left15 {
        margin-left:0px !important;
    }
}
.image190-left15 {
    width:190px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image190-left15 {
        margin-left:0px !important;
    }
}
.image160-left15 {
    width:160px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image160-left15 {
        margin-left:0px !important;
    }
}
.image150-right15-bottom20 {
    width:150px;
    margin-right:15px !important;
    margin-bottom:20px !important;
}
@media screen and (max-width: 991px){
    .image150-right15-bottom20 {
        margin-right:0px !important;
    }
}
.image143-right15 {
    width:143px;
    margin-right:15px !important;
}
@media screen and (max-width: 991px){
    .image143-right15 {
        margin-right:0px !important;
    }
}
.image116-left15 {
    width:116px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image116-left15 {
        margin-left:0px !important;
    }
}
.image96-left15 {
    width:96px;
    margin-left:15px !important;
}
@media screen and (max-width: 991px){
    .image96-left15 {
        margin-left:0px !important;
    }
}
.border-ccc {
    border:1px #ccc solid !important;
}

/*SNS
---------------------------------------------------------------------------*/
.Top .SNS-Vertical.Pages {
    display: none;
}
.Pages .SNS-Vertical.Pages {
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: 10;
    margin-bottom:-562px;
}
.Pages .SNS-Vertical.Pages.Fixed {
    margin-bottom: -445px;
}
@media screen and (max-width:1189px){
    .Pages .SNS-Vertical.Pages {
        margin-bottom:-546px;
    }
}
@media screen and (max-width:991px){
    .Pages .SNS-Vertical.Pages {
        margin-bottom:-260px;
    }
    .Pages .SNS-Vertical.Pages.Fixed {
        margin-bottom: -260px;
    }
}

/*文字装飾
---------------------------------------------------------------------------*/
.text-bold {
    font-weight: bold;
}
.text-italic {
    font-style: italic;
}
.text-red {
    color:#ff0000;
}
.text-right {
    text-align:right;
}
.text-center {
    text-align:center;
}
.text-ri {
    color:#1f80c5; 
    font-weight:bold;
}
.text-s {
    color:#fabd00; 
    font-weight:bold;
}
.text-block {
    display: inline-block;
    border: 1px solid #003973;
    border-radius: 3px;
    line-height: 1.4;
    padding: 15px 30px;
    background: none !important;
}
.grey-box {
    padding: 15px;
    border: 1px solid #777;
}
.scroll-info-full {
    max-height:none !important;
    box-shadow:none !important;
    padding:0px !important;
}

/* タブ機能
---------------------------------------------------------------------------*/
.tab-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 50px;
}
.tab-box:after {
    content: '';
    width: 100%;
    height: 0px;
    display: block;
    order: -1;
}
.tab_label {
    height: 52px;
    line-height: 52px;
    color:#535353;
    background:#e9f0f6;
    font-weight: normal;
    white-space: nowrap;
    text-align: center;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    border-radius: 0px;
    flex: 1;
    padding:0px 15px;
}
@media screen and (max-width:991px){
    .tab_label {
        height: auto;
        line-height: 1.4;
        white-space: initial;
        padding:15px 10px;
        flex:auto;
    }
}
.tab_content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
}
.tab_content > h2:first-child{
    margin-top:20px;
}

/* アクティブタブ */
.tab_active:checked+.tab_label {
    color:#003973;
    background:#fff;
    border-color: #003973 #f0f0f0 #fff;
    font-weight: bold;
    border-style: solid;
    border-width: 4px 1px 1px;
}
.tab_active:checked+.tab_label+.tab_content {
    height: auto;
    overflow: auto;
    padding: 2.5em 1.5em;
    opacity: 1;
    transition: .5s opacity;
    box-shadow: 0 0 3px rgba(0,0,0,.2);
}
@media screen and (max-width:991px) {
    .tab_active:checked+.tab_label+.tab_content {
        padding: 2.5em 1em;
    }
}

/* ラジオボタン非表示 */
.tab_active {
    display: none;
}

/* 注意書き
---------------------------------------------------------------------------*/
.Flex.attention {
    flex-wrap: nowrap !important;
    align-items: center;
    border-radius: 5px;
    margin-bottom: 50px;
    padding: 20px;
    color: #fff;
    background: #e3a8a8;
}
.Flex.attention .Left{
    margin-right:10px;
}
.Flex.attention .Right.HI_Title > div{
    line-height:1.4;
    font-size:15px;
}

/*no-icon
---------------------------------------------------------------------------*/
.no-icon::after{
    content:"" !important;
}

/*FAQ用スタイル*/
.faq1{
    font-family:Arial,sans-serif;
    font-weight:normal;
    display:inline-block;
    font-size:20px;
    padding:8px;margin:0px 5px 0px 0px;
    background-color:#003972;
    color:white;
    border-radius:6px;
    vertical-align:middle;
    line-height: 1;
}
.faq2{
    font-family:Arial,sans-serif;
    font-weight:bold;
    display:inline-block;
    padding:8px;
    margin:0px 5px 5px 0px;
    color:#003972;
    border:1px solid #003972;
    border-radius:6px;
    line-height: 100%;
}
/* テキスト記事
---------------------------------------------------------------------------*/
.text-list .News{
    width:100%;
}
.text-list .News h2 {
   margin:0px 0px 10px;
   padding:0px;
   font-size:17px;
   color:#000;
}
.text-list .News h2:before,
.text-list .News a:after {
   display: none;
}
.text-liste .News .Publish {
   color:#333;
   font-weight: normal;
}
.text-list .News .Flex {
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -ms-flex-wrap: nowrap;
   flex-wrap: nowrap;
}
.text-list .News .Post .Thumbnail {
   position: relative;
   height: auto;
   width: auto;
   min-height: 110px;
   min-width: 110px;
   max-height: none;
   max-width: none;
   overflow: hidden;
   margin-right:30px;
   margin-left:15px;
}
.text-list .News .Post .Thumbnail img{
/*    max-width: initial;*/
    max-width: 100%;
    max-height: 100%;
}
@media screen and (max-width:991px){
    .text-list .News .Post .Thumbnail {
       min-height: 80px;
       min-width: 80px;
       display: block;
       margin-right:15px;
       margin-left:0px;
   }  
}
.text-list .News article {
   background-color: #f9f9f9;
   margin-bottom:10px;
   transition: 0.3s;
}
.text-list .News article:hover {
   box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 5px 5px 10px 0px rgba(0, 0, 0, 0.3);
}
.text-list .News article > a {
    background: none !important;
}
.text-list .News article a:hover {
   opacity: 1;
}
.text-list .News .Flex > .Flex > .Flex,
.text-list .News .Flex > .Flex {
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
}
.text-list .News .hashtag.cate-award {
    color:#2481c5;
    border:#2481c5 1px solid;
    font-size:12px;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: -0.5px;
    border-radius: 3px;
    padding: 3px 0px;
    width: 100px;
    text-align: center;
}
.text-list .News .hashtag.cate-other {
    color: #003973;
    border: 1px solid #003973;
    font-size:12px;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: -0.5px;
    border-radius: 3px;
    padding: 3px 0px;
    width: 100px;
    text-align: center;
}
.text-list .News .hashtag.cate-news {
    color: #f8bc04;
    border: 1px solid #f8bc04;
    font-size:12px;
    font-weight: bold;
    line-height: 100%;
    letter-spacing: -0.5px;
    border-radius: 3px;
    padding: 3px 0px;
    width: 100px;
    text-align: center;
}
/*NEWS
---------------------------------------------------------------------------*/
.info.prize .News{
     width:100%;
}
.info.prize .News h2 {
    margin:0px 0px 20px;
    padding:0px;
    font-size:17px;
    color:#000;
}
.info.prize .News h2:before,
.info.prize .News a:after {
    display: none;
}
.info.prize .News .Publish {
    color:#333;
    font-weight: normal;
}
.info.prize .News .Flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.info.prize .News .Post .Thumbnail {
    position: relative;
    height: auto;
    width: auto;
    min-height: 110px;
    min-width: 110px;
    max-height: none;
    max-width: none;
    overflow: hidden;
    margin-right:30px;
    margin-left:15px;
}
@media screen and (max-width:991px){
    .info.prize .News .Post .Thumbnail {
        min-height: 80px;
        min-width: 80px;
        display: block;
        margin-right:15px;
        margin-left:0px;
    }  
}
.info.prize .News article {
    background-color: #f9f9f9;
    margin-bottom:10px;
    transition: 0.3s;
}
.info.prize .News article:hover {
    box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 5px 5px 10px 0px rgba(0, 0, 0, 0.3);
}
.info.prize .News article a:hover {
    opacity: 1;
}
.info.prize .News .Flex > .Flex > .Flex,
.info.prize .News .Flex > .Flex {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}


/* 記事アーカイブ
---------------------------------------------------------------------------*/
.archive .ContentBlock{
    width:100%;
}
.archive .ContentBlock .Publish{
    color: #999999;
    font-size: 14px;
}
.archive .ContentBlock h2 {
   margin:0px;
   padding:0px;
   font-size: 16px;
   font-weight: 500;
   line-height: 130%;
}
.archive .ContentBlock h2:before,
.archive .ContentBlock a:after {
   display: none;
}
.archive .ContentBlock article {
    padding:10px;
    border-bottom:1px solid #eee;
}
.archive .ContentBlock .Flex {
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -ms-flex-wrap: nowrap;
   flex-wrap: nowrap;
}
.archive .ContentBlock .Post .Thumbnail {
   position: relative;
   height: auto;
   width: auto;
   min-height: 110px;
   min-width: 120px;
   max-height: none;
   max-width: none;
   overflow: hidden;
   margin-right:15px;
}
.archive .ContentBlock .Post .Thumbnail img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width:1px;
    min-height:1px;
    max-width: 100px;
    max-height: 100px;
}
.archive .ContentBlock .Post > .Flex {
   display: block;
}

.archive .ContentBlock .Flex > .Flex > .Flex,
.archive .ContentBlock .Flex > .Flex {
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
}


/* Press Release
---------------------------------------------------------------------------*/
.press .PressRelease h1 {
    text-align:left;
}
.press .PressRelease .Flex {
    flex-wrap: wrap;
}
.press .PR-Title h2 {
    font-weight: bold;
    padding-bottom: 0px;
    line-height: 140%;
    padding: 0px 20px 50px 20px;
    font-size: 16px;
    font-weight: 500;
    color: #222222;
    letter-spacing: 0.1px;
    margin:0px;
}
.press .PR-Title h2::before {
    display: none;
}
.press .PR-Title h2, 
.press .PR-Post > a {
    color: white;
}
.press .PR-Post {
    width: 48%;
    margin-right: 2%;
    margin-bottom: 15px;
}
@media screen and (max-width:600px) {
    .press .PR-Post {
        width: 100%;
        margin-right: 0%;
    }
}
/* Card List形式
---------------------------------------------------------------------------*/
.card-list article#CardArticle.Flex {
    flex-wrap: wrap;
    justify-content: flex-start;
}
.card-list #CardArticle > article {
    width: 30%;
    min-width:240px;
    margin:0px 5px 60px;
    border-bottom:1px solid #ddd;
}
@media screen and (max-width: 991px) {
    #CardArticle.Flex > article {
        width: 48% !important;
    }
}
@media screen and (max-width: 600px) {
    #CardArticle.Flex > article {
        width: 100% !important;
    }
}
.card-list article.CardPost .Title h2 {
    margin-bottom:0px;
    margin-top:20px;
    font-weight: bold;
}
.card-list article.CardPost .Title h2::before {
    display: none;
}

.CardPost > a{
    display: block;
    height: 100%;
    text-decoration: none;
    background:none !important;
}
.CardPost > a::after{
    content:"" !important;
}
.CardPost .Thumbnail {
    position: relative;
    width: 100%;
    height: 135px;
    overflow: hidden;
}
.CardPost .Thumbnail img {
    position: absolute;
/*
    max-width: none;
    max-height: none;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
*/
    max-width: 100%;
    max-height: 100%;
    top: 0%;
    left: 50%;
    transform: translate(-50%,0%);
    transition: transform 0.2s ease-in-out;
}
@media screen and (max-width:1100px){
    .CardPost .Thumbnail img {
        height: auto;
/*
        width: 100%;
*/
    }
}
.CardPost > a:hover .Thumbnail img {
    transform: translate(-50%, 0%) scale(1.1,1.1);
}
.CardPost .Meta {
    line-height: 100%;
    margin-top:30px;
    padding: 0px 10px;
}
.CardPost .ES-Texts .Meta {
    padding: 0px;
}
.CardPost .Category {
    font-size: 13px;
    font-weight: bold;
    width: 140px;
    display: inline-block;
    border: 1px solid;
    text-align: center;
    padding: 2px 0px 1px 0px;
    border-radius: 3px;
    line-height: 100%;
    margin-top:-3px;
    background-color: #fff;
}
.CardPost .Category.rigakubu-news {
    border-color: #fdb914;
    color: #fdb914;
}
.CardPost .Category.youtube {
    border-color: #ec403a;
    color: #ec403a;
}
.CardPost .Category.rigakubu-column {
    border-color: #023b74;
    color: #023b74;
}
.CardPost .Category.PressRelease-cate,
.CardPost .Category.Event-cate {
    border-color: #023b74;
    color: #023b74;
}

.CardPost .Publish {
    font-size: 13px;
    margin-left: 3%;
}
.CardPost .Title h2 {
    font-size: 15px;
    font-weight: 500;
    padding: 0px 10px 40px 10px;
    line-height: 150%;
    word-break: break-word;
}

.card-list .first-box{
    display: none;
}
.card-list .first-box.first-box-visible{
    display: block;
}
.card-list .first-box > article{
    max-width:100% !important;
    margin-bottom:100px;
    padding-bottom:80px;
    border-bottom:1px solid #ddd;
}
@media screen and (max-width:1100px){
    .card-list .first-box > article{
        padding-bottom:0px;
        border-bottom:0px;
    }
}
.card-list .first-box > article a {
    display: flex;
    align-items: stretch;
}
@media screen and (max-width:1100px){
    .card-list .first-box > article a {
        flex-flow: column;
        background-color: #217fc4 !important;
    }
}
.card-list .first-box > article::after {
    content: "";
    display: block;
    clear: both;
 }
.card-list .first-box > article .ES-Image{
    width:400px;
    min-width: auto;
    overflow: visible;
    flex-direction: column
}
@media screen and (max-width:1260px){
    .card-list .first-box > article .ES-Image{
        width:200px;
    }
}
@media screen and (max-width:1100px){
    .card-list .first-box > article .ES-Image{
        width:400px;
        margin: 40px auto 0px;
    }
}
@media screen and (max-width:483px){
    .card-list .first-box > article .ES-Image{
        width:100%;
    }
}
.card-list .first-box> article .ES-Image img{
    min-height: auto;
    width: 360px;
    left: 0;
    top: 0;
    transform: translate(0px, -15px);    
    margin:0px;
}
@media screen and (max-width:1100px){
    .card-list .first-box> article .ES-Image img{
        min-height: auto;
        width: 100%;
        position: inherit;
        left: 0;
        top: 0;
        transform: translate(0px, 0px);    
    }
}
.card-list .first-box > article .ES-Texts {
    position: initial;
    opacity: 1;
    color: #212121;
    width: calc(100% - 260px);
    font-size:26px;
}
@media screen and (max-width:1260px){
    .card-list .first-box > article .ES-Texts {
        width: calc(100% - 60px);
    }
}
@media screen and (max-width:1100px){
    .card-list .first-box > article .ES-Texts {
        width: 100%;
        font-size:20px;
        padding: 20px 30px;
        background-color: #217fc4;
    }
}
.card-list .first-box > article .ES-Texts > div {
    background-color: #217fc4;
    padding: 10px 40px;
    border-radius: 5px;
    box-shadow: 7px 7px 0 0 rgb(0 0 0 / 20%);
}
@media screen and (max-width:1100px){
    .card-list .first-box > article .ES-Texts > div {
        padding: 0px;
        box-shadow:none;
    }
}
.card-list .first-box > article .ES-Texts .Category{
    border:0px;
    color:#217fc4;
}
.card-list .first-box > article .ES-Texts .Publish{
    color:#fff;
}
.card-list .first-box > article .ES-Texts .ES-Publish{
    border-bottom: 4px solid #003973;
}
.card-list .first-box > article .ES-Title h2{
    color: #fff;
    font-size:18px;
    font-weight: bold;
    word-break: break-word;
}
@media screen and (max-width:1100px){
    .card-list .first-box > article .ES-Title h2{
        font-size:18px;
    }
}
.card-list .first-box > article .ES-Title h2:before{
    display:none;
}
.Events .ES-Post > a {
    display: block;
    width: 100%;
    position: relative;
}
.Events .ES-Post > a:before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 1;
}
.card-list .ES-Post > a:hover {
    opacity: 1;
}
.card-list .ES-Image {
    position: relative;
    display: block;
    width: 100%;
    max-width: 300px;
    overflow: hidden
}
.card-list .ES-Image img {
    display: block;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    left: 0%;
    top: 50%;
    transform: translate(0%,-50%);
}
.card-list .ES-Texts {
    position: absolute;
    z-index: 2;
    top: 30%;
    left: 0px;
    color: white;
    padding: 15px;
}
.card-list .ES-Texts .ES-Publish {
    padding: 0px;
    font-size: 18px;
    display: inline-block;
    padding-bottom: 12px;
    border-bottom: 4px solid white;
}
.card-list .ES-Texts .ES-Title h2 {
    font-size: 20px;
    line-height: 160%;
    margin-top: 3px;
    margin-bottom:0px;
}
.card-list .ES-Texts,
.card-list .ES-Post > a:before {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}
.card-list .ES-Post > a:hover .ES-Texts,
.card-list .ES-Post > a:hover:before {
    opacity: 1;
}
@media screen and (max-width: 1100px) {
    .card-list .slick-list.draggable {
        background:#fff;
    }
    .card-list .ES-Post > a:before {
        background-color: transparent;
    }
    .card-list .ES-Texts {
        position: static;
        opacity: 1;
        background-color: white;
        color: #212121
    }
}


/* Features
---------------------------------------------------------------------------*/
.features article#FeaturesArticle.Flex {
    flex-wrap: wrap;
    justify-content: space-between;
}
.features #FeaturesArticle > article {
    width: 30%;
    margin-bottom: 60px;
}
@media screen and (max-width: 991px) {
    #FeaturesArticle.Flex > article {
        width: 48% !important;
    }
}
@media screen and (max-width: 600px) {
    #FeaturesArticle.Flex > article {
        width: 100% !important;
    }
}
.features article.FeaturesPost .Title h2 {
    margin-bottom:0px;
    margin-top:20px;
}
.features article.FeaturesPost .Title h2::before {
    display: none;
}

/* Event
---------------------------------------------------------------------------*/
.event .slick-dots {
    display: none;
}
.event article.Events {
    width:100%;
}
.event .EntryContent main {
    width: 100%;
}
.event .Events div#Event-box #itemContainer{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
@media screen and (max-width:636px){
    .event .Events div#Event-box #itemContainer{
        justify-content: center;
    }
}
.event .Events div#Event-box #itemContainer > article {
    width:100%;
    max-width:278px;
    padding:0px !important;
    margin-bottom:60px;
}
@media screen and (max-width:991px){
    .event .Events div#Event-box #itemContainer > article{
        margin-right: 0px;
    }
}
.event article .ES-Title h2 {
    margin-bottom:0px;
    font-size: 20px;
    line-height: 160%;
    margin-top: 3px;
    font-weight: bold;
    color: #fff;
}
@media screen and (max-width:991px){
    .event article .ES-Title h2{
        color: #212121;
    }
}
.event article .ES-Title h2::before {
    display: none;
}
.Events .first-box{
    display: none;
}
.Events .first-box.first-box-visible{
    display: block;
}
.Events .first-box > article{
    max-width:100% !important;
    margin-bottom:60px;
}
.Events .first-box > article a {
    display: flex;
    align-items: stretch;
}
@media screen and (max-width:991px){
    .Events .first-box > article a {
        flex-flow: column;
        background-color: #F4F4F6;
    }
}
.Events .first-box > article::after {
    content: "";
    display: block;
    clear: both;
 }
.Events .first-box > article .ES-Image{
    width:400px;
    height:auto;
    min-width: auto;
    overflow: visible;
    flex-direction: column
}
@media screen and (max-width:991px){
    .Events .first-box > article .ES-Image{
        margin: 0px auto;
    }
}
@media screen and (max-width:483px){
    .Events .first-box > article .ES-Image{
        width:100%;
    }
}
.Events .first-box> article .ES-Image img{
    min-height: auto;
    height:100%;
    position: initial;
    left: 0;
    top: 0;
    transform: initial;    
}
.Events .first-box > article .ES-Texts {
    position: initial;
    opacity: 1;
    background-color: #F4F4F6;
    color: #212121;
    width: 100%;
    font-size:26px;
    padding: 20px 60px;
}
@media screen and (max-width:991px){
    .Events .first-box > article .ES-Texts {
        width: 100%;
        font-size:20px;
        padding: 20px 30px;
    }
}
.Events .first-box > article .ES-Texts .ES-Publish{
    border-bottom: 4px solid #003973;
}
.event .Events .first-box > article .ES-Title h2{
    color: #212121;
    font-size:38px;
}
@media screen and (max-width:991px){
    .event .Events .first-box > article .ES-Title h2{
        font-size:30px;
    }
}

/* 記事 詳細ページ
---------------------------------------------------------------------------*/
.info-date{
    color:#555;
    font-size:13px;
    margin-bottom:15px !important;
}
.info-date span {
    display: inline-block;
    color:#fff;
    font-size:12px;
    padding:4px 10px;
    background-color: #003973;
    margin-right:10px;
    border-radius: 3px;
}
.info-date span:last-child {
    color:#003973;
    font-size:12px;
    background-color: transparent;
    margin-left:30px;
    border:1px solid #003973;
}
.info-date + h1 {
    margin-top:0px;
}

/* Event 詳細ページ
---------------------------------------------------------------------------*/
.event.back-number .Entry aside {
    display:block;
}
.event.back-number .EntryContent main {
    width: calc(92.5% - 240px);
}
@media screen and (max-width: 991px) {
    .event.back-number .EntryContent main {
        width: 100%;
    }
}

/* 研究者一覧（各分類ページ含む）
---------------------------------------------------------------------------*/
.people-list .flex-wrapper,
.people-namelist .flex-wrapper {
    display:flex;
    flex-wrap: wrap;
    justify-content: justify;
}
.people-list .flex-wrapper div,
.people-namelist .flex-wrapper div {
    width:calc(50% - 1px);
    margin-right:1px;
    margin-bottom:60px;
}
@media screen and (max-width: 991px) {
    .people-list .flex-wrapper div,
    .people-namelist .flex-wrapper div {
        width:100%;
        margin-right:0px;
    }
}
.people-list .flex-wrapper div h2 {
    text-align: center;
    color:#fff;
    background-color: #003973;
    font-size:24px;
    padding:25px 20px;
    margin:0px 0px 40px;
}
.people-list .flex-wrapper div h2:before{
    display:none;
}
.people-namelist .flex-wrapper div h2 {
    margin:0px 0px 40px;
}
/* 研究者一覧（各分類ページ含む）
---------------------------------------------------------------------------*/
.people-profile .affilication-block{
    min-height: 240px;
    padding-top:20px;
}
@media screen and (max-width:991px){
    .people-profile .affilication-block{
        margin-bottom:30px;
    }
}
.people-profile .affilication-block img{
    float:left;
    margin-top:-15px;
    margin-right:60px;
    margin-bottom:30px;
    width:140px;
}
@media screen and (max-width:991px){
    .people-profile .affilication-block img{
        float:none;
        margin: 0px auto 30px;
        display: block;
    }
}
.people-profile .affilication-block .names{
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size:42px;
    font-weight: 400;
    letter-spacing: 4px;
}
.people-profile .affilication-block .names span{
    font-size:20px;
    display:inline-block;
    margin-left:25px;
}
.people-profile .affilication-block .names-en{
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-size:16px;
    letter-spacing:2px;
    margin-top: 18px;
}
.people-profile .affilication-block .affilication{
    font-size:17px;
    margin-top: 30px;
}
.people-profile table tr th,
.people-profile table tr td{
    background-color:#fff !important;
    font-size:17px;
}
.people-profile table tr th {
    color:#003973 !important;
}
.people-profile table tr td{
    white-space: initial;
}
.people-profile table tr td a{
    font-weight: normal;
}
@media screen and (max-width:991px){
    .people-profile table tr th,
    .people-profile table tr td{
        width:100%;
        display: block;
    }
    .people-profile table tr th,
    .people-profile table tr td{
        border-top:0px;
    }
    .people-profile table tr:first-child th {
        border-top:1px solid #BBBBBB;
    }
}
.people-profile .flex-wrapper {
    display:flex;
    flex-wrap: wrap;
    justify-content: justify;
}
.people-profile .flex-wrapper div:first-child {
    width:calc(50% - 8px);
    margin-right:8px;
}
.people-profile .flex-wrapper div:last-child {
    width:calc(50% - 8px);
    margin-left:8px;
}
@media screen and (max-width: 991px) {
    .people-profile .flex-wrapper div:first-child,
    .people-profile .flex-wrapper div:last-child{
        width:100%;
        margin:0px;
    }
}
/* 学部・大学院のお知らせ
---------------------------------------------------------------------------*/
.current-news article:first-child,
.current-news article:nth-of-type(10n+1) {
    border-top:1px solid #A1A1A1;
}
.current-news article {
    border-bottom:1px solid #A1A1A1;
    padding:20px 0px; 
}

.current-news article h2{
    margin:0px !important;
    padding:0px !important;
    font-size:15px !important;
    font-weight: bold!important;
}
.current-news article h2::before {
    display: none;
}
/* 理学部ニュース（冊子一覧）
---------------------------------------------------------------------------*/
.story-newsletter .Flex{
    flex-wrap: wrap;
    justify-content: flex-start;
}
.story-newsletter .Flex div{
    text-align: center;
    margin:20px;
}
.story-newsletter .Flex img{
    flex-wrap: wrap;
    height:80px;
}
/* 2004年度以前の理学部ニュース（冊子PDF一覧）
---------------------------------------------------------------------------*/
.story-past .Flex{
    flex-wrap: wrap;
    justify-content: flex-start;
}
.story-past .Flex li{
    width: 215px;
    margin-right:30px;
}
/* 理学部ニュース発行のお知らせメールの登録
---------------------------------------------------------------------------*/
.newsletter-email .Flex{
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 50px 0px;
}
.newsletter-email .Flex a{
    border:2px solid #003973;
    border-radius: 3px;
    text-align: center;
    width:250px;
    padding:15px;
    color:#fff;
    background-color: #003973;
}
.newsletter-email .Flex a:hover{
    color:#003973;
    background-color: #fff;
}
/* 通常フォーム
---------------------------------------------------------------------------*/
.form label{
    margin-top:5px;
    display: block;
    font-size: 14px;
}
.form label.form-item {
    border-top: 1px solid #ddd;
    padding-top: 20px;
    margin-top: 20px;
    margin-bottom:5px;
    font-size: 17px;
    color: #111;
}
.form input, textarea, select {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #555;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da !important;
    border-radius: 0.25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    margin-right:10px;
}
.form input:focus, textarea:focus, select:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
.form select {
    padding: 0.7rem 0.75rem;
    margin-bottom: 10px;
    font-size: 1em;
}
.form [type=reset], .form [type=submit], .form button, .form html [type=button] {
    display: block;
    border: 1px solid #003973;
    border-radius: 2px;
    background-color: #003973;
    color: #fff;
    padding: 7px 30px;
    margin-top: 30px;
    transition: 0.5s;
}
.form [type=reset]:hover, .form [type=submit]:hover, .form button:hover, .form html [type=button]:hover {
    background-color: #fff;
    color: #003973;
}
/* 理学部ニュースフォーム
---------------------------------------------------------------------------*/
.rigakubu-news section > div a{
    float:left;
}
.rigakubu-news section > div div{
    float: left;
    width: calc(100% - 275px);
}
@media screen and (max-width:1250px){
    .rigakubu-news section > div a{
        float:none;
        display: block;
        margin:0px auto 30px;
        text-align: center;
    }
    .rigakubu-news section > div div{
        float: none;
        width: 100%;
    }
}
.rigakubu-news section > div a img{
    height:350px;
    margin-right:30px;
}
.rigakubu-news section > div h1{
    margin-bottom:30px;
}
.rigakubu-news section > div h1 span:first-child{
    font-size:15px;
    letter-spacing: 2px;
    margin-right: 10px;
}
.rigakubu-news section > div h1 span:nth-child(2){
    font-size:12px;
    color:#fff;
    background-color: #003973;
    padding:5px 10px;
    border-radius: 2px;
    letter-spacing: 2px;
}
.rigakubu-news section > div div a{
    display: block;
    border:1px solid #003973;
    border-radius: 2px;
    padding:3px 15px;
    margin-bottom:30px;
    width: 100%;
    text-align:center;
}
/* イベント一覧（画像一覧形式）
---------------------------------------------------------------------------*/
.event-flex .Flex{
    flex-wrap: wrap;
    justify-content: flex-start;
}
.event-flex .Flex div{
    width: 122px;
    margin-right:70px;
    margin-bottom:50px;
    text-align:center;
}
.event-flex .Flex div p{
    margin-bottom:10px;
}
.event-flex .Flex div a:after{
    display: none;
}
/* イメージバンク一覧
---------------------------------------------------------------------------*/
.imagebank .Flex{
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
}
.imagebank .Thumbnail{
    width:180px;
    height:110px;
    text-align: center;
    margin-right: 25px;
}
@media screen and (max-width:1189px){
    .imagebank .Thumbnail{
        width:100%;
        text-align: left;
        margin-bottom:15px;
        margin-right: 0px;
    }
}
.imagebank .Thumbnail img{
    height:100%;
}
.imagebank .code{
    display: inline-block;
    padding: 3px 10px;
    background: #bbb;
    color: #fff;
    font-size: 0.9em;
    border-radius: 2px;
    line-height: 1;
    margin-right: 5px;
}
.imagebank .title{
    font-size: 1.1em;
    padding: 5px 0px 15px;
}
.imagebank .link-button{
    display: inline-block;
    font-size: 0.9em;
    padding: 4px 10px;
    border: 1px solid #003973;
    border-radius: 2px;
    font-weight: normal;
    margin-right: 5px;
    margin-bottom: 5px;
    line-height: 1;
    background: #003973;
    color: #fff;
    transition:0.5s;
}
.imagebank .link-button:hover{
    background: #fff;
    color: #003973;
}
/* 重要なお知らせ一覧
---------------------------------------------------------------------------*/
.important #itemContainer article {
    padding: 20px 0px;
    border-bottom: 1px solid #ddd;
}
.important article h2 {
    padding: 0px !important;
    margin: 0px !important;
    font-size:20px !important;
}
.important article h2:before{
    display:none;
}
/* 訪問者別
---------------------------------------------------------------------------*/
.target-page aside {
    display:none;
}
.target-page.EntryContent main {
    width: 100%;
}
.target-page h1 {
    position: relative;
    border-bottom:5px solid #F4F4F6;
    margin-top:150px !important;
    margin-bottom:20px !important;
}
.target-page h1:first-child {
    margin-top:0px !important;
}
.target-page h1:after {
    position: absolute;
    display: block;
    content:"";
    width:152px;
    height:5px;
    left:0px;
    bottom:-5px;
    background-color: #50647C;

}
.target-page h1 span {
    font-size:16px;
    margin-left:15px;
    font-family: "century","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing:2px;
}
@media screen and (max-width:991px){
    .target-page h1 span {
        display: block;
        margin-left:0px;
        margin-bottom:20px;
        letter-spacing:2px;
    }
}
.target-page h2 {
    font-size:18px !important;
    padding: 20px 10px 20px 20px !important;
    margin: 60px 0px 0px 0px !important;
    background: #f4f4f6;
    border-radius: 3px;
}
.target-page h2:before{
    display:none;
}
.target-page ul {
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin:0px !important;
}
.target-page ul li {
    display:flex;
    align-items: center;
    width:48%;
    border-bottom: 1px solid #111;
}
@media screen and (max-width:991px){
    .target-page ul li {
        width:100%;
    }
}
.target-page ul li:before,
.target-page ul li:after {
    display:none;
}
.target-page ul li > a{
    display: block;
    width:100%;
    padding:20px 20px 20px 0px;
    font-size:16px;
    font-weight:500;
    color:#111;
    letter-spacing: 1px;

    transition: 0.5s;
}
.target-page ul li > a:hover{
    color:#003973;
}
.target-page ul li > a:after {
    position: absolute;
    font-family: "Material Icons";
    font-size:20px;
    font-weight:100;
    color:#666;
    content: "\e5cc" !important;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
}

/* 理学部・理学系研究科の卒業生、教員からのメッセージ
---------------------------------------------------------------------------*/
.female-students-02 .accordion {
    margin-bottom:50px;
}
.female-students-02 .accordion + .accordion {
    border-top:1px solid #BBBBBB !important;
}
/* 歴史
---------------------------------------------------------------------------*/
.history table tr {
    background-color: transparent !important;
}
.history table tr td {
    border:0px;
    vertical-align:top;
}
@media screen and (max-width:991px){
    .history table {
        overflow-x: hidden !important;
    }
    .history table tr td {
        white-space: normal;
        display: block;
        width:100%;
    }
}
/* サイトマップ
---------------------------------------------------------------------------*/
.sitemaps .flex div {
    width:46%;
    float:left;
}
.sitemaps .flex div:first-child {
    border-right:1px solid #ddd;
    padding-right:3%;
}
.sitemaps .flex div:last-child {
    padding-left:3%;
}
@media screen and (max-width:991px){
    .sitemaps .flex div {
        width:100%;
        float:none;

    }
    .sitemaps .flex div:first-child {
        border-right:0px;
        padding-right:0%;
    }
    .sitemaps .flex div:last-child {
        padding-left:0%;
    }
}