@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/*=== GENERAL ===*/
#wpadminbar {   
    display: none;
    height: 0;
}

/* html {
    scroll-behavior: smooth;
} */

body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5em;
    overflow-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    /* To be remove later */
    margin-top: -32px; 
}

.txt-bold {
    font-weight: 700;
}

.txt-italic {
    font-style: italic;
}

.sp-show {
    display: none;
}

.hide-sp {
    display: block;
}

.icon-menu-sp {
    display: none !important;
    cursor: pointer;
    position: absolute;
    right: 15px;
    /*    top: 15px;*/
    top: 20px;
}

/*=== NAVBAR ===*/
#main-nav {
    background: transparent;
    border-bottom: 1px solid #ccc;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
}

#main-nav.en-nav {
    background: #FFF;
	opacity: 0.9;
}

#main-nav h1 {
    margin-bottom: 0;
}

.navbar .navbar__inner {
    padding-right: 0;
    height: 70px;
}

.navbar-brand {
    max-width: 500px;
	margin-right:0;
}

.navbar__logo {
    width: 25%;
}

.navbar__logo2 {
    margin-left: 20px;
    width: 50%;
}

.nav-item {
    font-size: 16px;
    padding: 0 8px;
    position: relative;
}

.nav-item a {
    padding: 0 5px;
    color: #fff !important;
}

.en-nav .nav-item a {
    color: #000 !important;
}

.nav-item a:hover {
    color: #007bff !important;
    padding: 0 5px;
    /*    border-bottom: 1px solid #007bff;*/
}

.nav-item a.active {
    color: #007bff !important;
    padding: 0 5px;
    /*    border-bottom: 1px solid #007bff;*/
}

.navbar__lang {
    border-left: 1px solid #ccc;
    padding-left: 0;
    margin-left: 20px;
    margin-bottom: 0;
    height: 70px;
}

.navbar__lang li {
    list-style: none;
    padding-left: 20px;
    padding-right: 20px;
}

.navbar__lang-item a {
    color: #ccc;
}

.navbar__lang-item a.active {
    color: #fff;
}

.en-nav .navbar__lang-item a.active {
    color: #000;
}

.navbar__lang-item--jp {
    border-bottom: 1px solid #ccc;
    padding-top: 5px;
    padding-bottom: 5px;
}

.navbar__lang-item--en {
    padding-top: 5px;
}

/*=== NAVIGATION ===*/
.navbar {
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.page-top-nav {
    background: rgba(0, 0, 0, 0.9) !important;
}
.en-nav.page-top-nav {
	background: #FFF !important;
	opacity: 1 !important;
}

/*=== HEADER BANNER SECTION ===*/
.home__inner {
    padding-left: 46px;
	max-width:1140px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:900;
}

.home__inner_title {
    color: #fff;
    margin-top: 130px;
	font-size:3rem;
	text-shadow: -1px -2px 8px #808080;
}
.home__inner_title--top {
	font-size:2rem;
}

.home__inner_title span {
    font-size: 20px;
}

/*=== FOOTER BANNER ===*/
.footer__banner {
    position: relative;
    background: url(../images/footer_banner.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 66%;
    min-height: 240px;
    z-index: 1;
}

.footer__banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(1px);
    z-index: 2;
}

.footer__banner_inner {
    z-index: 3;
    position: relative;
}

.footer__banner_headline {
    color: #fff;
    font-size: 30px;    
    text-align: center;
    padding: 70px 0 0;    
}

.footer__banner_headline_main {
    position: relative;   
}

.footer__banner_headline_main::before {
    content: "\2014    INFORMATION";
    position: absolute;
    left: 0;
    top: -32px;
    font-size: 18px;
    color: #ccc;
}

.footer__banner_text {
    color: #fff;
    text-align: center;
    font-size: 16px;
    margin-top: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer__mail_icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #187fc4;
    margin-right: 20px;
    display: inline-block;
    position: relative;
}

.footer__mail_icon i {
    color: #fff;
    font-size: 28px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.right-arrow {
    margin-left: 10px;
}

/*=== FOOTER INFO ===*/
.footer__info {
    background-color: #fafafa;
    border-bottom: 1px solid #ccc;
}

.footer__info-container {
    display: flex;
    flex-wrap: nowrap;
    width: calc(100% - 120px);
    max-width: 1240px;
    margin: 0 auto;
}

.ft-logo {
    max-width: 400px;
}

.footer__info_left {
    flex-basis: 70%;
    border-right: 1px solid #ccc;
    padding: 50px 0;
}

.footer__info_right {
    flex-basis: 30%;
    padding: 50px 0;
}

.footer__info_wrap {
    margin-top: 30px;
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
}

.footer__info_wrap a {
    color: #000;
}

.footer__info_wrap a:hover {
    text-decoration: none;
    color: #007bff;
}

.footer__info_left-jp {
    flex-basis: 45%;
    align-items: flex-start;
    display: inline-block;
}

.footer__info_left-en {
    flex-basis: 55%;
    align-items: flex-start;
    display: inline-block;
}

.footer__info_left-jp table tr td:first-child {
    width: 4%;
}

.footer__info_left-jp table tr td:last-child {
    width: auto;
}

.footer__info_left-en table {
    width: 100%;
}

.footer__info_left-en table tr td:first-child {
    width: 4%;
}

.footer__info_left-en table tr td:last-child {
    width: auto;
}

.footer__info_nav ul li {
    list-style: none;
    padding: 15px 0;
}

.footer__info_nav ul li a {
    color: #000;
}

.footer__info_nav ul li a:hover {
    text-decoration: none;
    color: #007bff;
}

.footer__info_nav ul li span {
    color: #ccc;
    margin-right: 20px;
}

.footer__info_nav1,
.footer__info_nav2 {
    display: inline-block;
    vertical-align: top;
}

.footer__info_nav1 li a.active,
.footer__info_nav2 li a.active {
    padding: 0 10px 5px;
    border-bottom: 1px solid #000;
}


.footer__info_nav3 li {
    display: inline-block;
    list-style: none;
}

.footer__info_nav3 li:first-child {
    margin-right: 20px;
}

.footer__info_nav3 li a {
    padding: 0 10px 5px;
    border-bottom: 1px solid #ccc;
    color: #ccc !important;
}

.footer__info_nav3 li a.active {
    padding: 0 10px 5px;
    border-bottom: 1px solid #000;
    color: #000 !important;
}

/*=== FOOTER LOGOs SECTION ===*/
.footer__logos_sec {
    padding: 60px 60px;
    text-align: center;
    background: #fafafa;
}

.footer__logos_sec span, .footer__logos_sec a {
    background: #fff;
    margin: 0 7.5px 15px;
    border: 1px solid #ccc;
    padding: 10px;
    display: inline-block;
    width: 180px;
    height: 70px;
}

.footer__logos_sec span img, .footer__logos_sec a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/*
.footer__logos_sec {
    padding: 60px 60px;
    text-align: center;
    background: #fafafa;
}

.footer__logos_sec_wrapper {
    background: #fff;
    margin-right: 15px;
    border: 1px solid #ccc;
    padding: 20px;
}

.footer__logos_sec_wrapper:last-child {
    margin-right: 0;
}

.footer__logos_sec_wrapper img {
    width: 100%;
    max-width: 125px;
    height: auto;
}
*/

/*=== FOOTER COPYRIGHT ===*/
.footer__copyright {
    font-size: 12px;
    padding: 0 60px 24px;
    color: #ccc;
}

/*=== FOOTER PHOTOS - TOP PAGE ONLY ===*/

.footer__photos {
    margin: 80px auto;
}
.footer__photos img {
    width: 100%;
    height: auto;
}

/*=== PAGE - PUBLICATIONS ===*/
#publications {
    background-color: #f2f2f1 !important;
    padding: 40px 80px;
}

#publications .content {
    background: #fff;
    padding: 30px 60px;
}

/*=== TAB & PANEL ===*/
.tab__group {
    background: #1872af;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0;
    padding-left: 0;
}

.tab__group li {
    list-style: none;
}

.tab__group_deco {
    border-left: 2px solid #fff;
    padding-left: 10px;
}

.tab__group .tab {
    flex: 100%;
    max-width: calc(100%/ 4);
    padding: 10px 10px 10px 30px;
    border-left: 1px solid #fff;
    cursor: pointer;
}

.tab__group .tab.is-active {
    background-color: #2e8bc9;
}

.tab__group .tab:hover {
    background-color: #2e8bc9;
}

.panel__group .panel {
    display: none;
}

.panel__group .panel.is-show {
    display: block;
}

.panel__title {
    border-left: 3px solid #358fcb;
    padding-left: 20px;
    color: #358fcb;
    margin-bottom: 40px;
}

.panel__content {
    padding-top: 40px;
    border-top: 1px solid #ccc;
}

.panel__content p {
    border-bottom: 1px solid #efefef;
    padding: 20px 0 40px;
}
/*=== PAGE - ABOUT ===*/
#about {
    background-color: #f2f2f1;
}

.content__title {
    margin: 20px 0 0;
}

.content__title_sub {
    border-left: 5px solid #187fc4;
    padding-left: 16px;
    margin-bottom: 20px;
    color: #187FC4;
	font-weight:bold;
}

.img-profile {
    width: 100%;
    height: auto;
}

.content__list {
    margin-left: -10px;
}

.pd-left {
    padding-left: 10px;
}

.content__title_sub-blue {
    color: #187fc4;
}

.txt-blue {
    color: #187fc4;
}

.txt-blue-md {
    color: #187fc4;
    font-size: 14px;
    display: block;
    margin-top: 10px;
}

.txt-blue-sm {
    color: #187fc4;
    font-size: 12px;
}

.txt-grey {
    color: #afafaf;
    font-size: 12px;
}

.table_profile {
    width: 100%;
    border-collapse: collapse;
    font-weight: 700;
	height: calc(100% - 295px);
}

.table_profile tr:first-child td {
    padding: 20px 15px 0;
}

.table_profile tr:last-child td {
    padding: 0 15px 20px;
}


.table_profile tr td {
    padding: 0 15px;
    line-height: 1.8em;
    vertical-align: top;
    height: 70px;
	word-break: keep-all;
}

.table_profile tr:last-child td {
	word-break: break-word;
}

.table_profile tr td:first-child {
    width: 18%;
}

.table_profile tr td:last-child {
    width: auto;
}

.table_profile a {
    color: #000;
}

.table_profile a:hover {
    color: #187fc4;
    text-decoration: none;
}

.table_profile2 tr td:first-child {
    width: fit-content;
}

.content__title_sub-blue-jp {
    color: #187fc4;
    font-size: 16px;
    margin-left: 10px;
}

.table-staff {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px 7px;
}

.table-staff tr td {
    background: #fff;
    padding: 5px 10px;
    height: 80px;
}

.table-staff tr td:first-child {
    width: 38%;
}

.table-staff tr td:last-child {
    color: #1a1a1a;
    width: 62%;
}

.table-staff tr td span.txt-grey {
    padding-left: 10px;
}

.table-students {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 7px;
}

.table-students tr td {
    background: #fff;
    padding: 5px 10px;
    height: 70px;
}

.table-students tr td span.txt-grey {
    padding-left: 10px;
}

.title-style1 {
    font-size: 22px;
    font-weight: bold;
}

.my-gap1 {
    padding-right: 2px !important;
}

.my-gap2 {
    padding-left: 2px !important;
}

.collaborators__content img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.academic__title {
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}

.academic__title::before {
    position: absolute;
    left: 0;
    top: 0;
    content: url('../images/left-bracket.png');
}

.academic__title::after {
    position: absolute;
    right: 0;
    top: 0;
    content: url('../images/right-bracket.png');
}

.img-academic {
    width: 100%;
    height: auto;
}

.collaborators__content {
    background: url('../images/bg-map.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

/*=== PAGE - RESEARCH ===*/
#research {
    background-color: #fafaf9 !important;
    padding: 0 80px;
    position: relative;
}

#research .content {
    background: #fff;
    padding: 30px 60px 80px;
}

#research::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    background-image: url('../images/bg-research.png');
    background-size: 100% auto; /* Full width, maintain aspect ratio */
    background-repeat: no-repeat; /* Prevent repeating if the image is smaller */
    background-position: top left;
    width: 100%; /* Make the pseudo-element cover the full width */
    height: 100vh; /* Make the pseudo-element cover the full viewport height */
    z-index: 800;
}

.content__wrapper {
    z-index: 901;
    position: relative;
}

.content__title2 {
    margin: 20px 0 20px;
}

.img-graph1,
.img-graph2
{
    height: 100%;
    width: auto;
}

.img-graph3 {
    width: 100%;
    margin: 0 auto;
}

.table-research {
    width: 100%;
    border-collapse: collapse;    
}

.table-research tr td {
    padding: 25px 15px;
    border: 1px solid #000;
}

/*=== TOP PAGE ===*/
#main {
    position: relative;
    background-color: #f2f2f1;
    padding-bottom: 40px;
}

/*
#main::before {
    position: absolute;
    left: 0;
    top: -70px;
    content: "";
    background-image: url('../images/bg-research.png');
    background-size: 100% auto; 
    background-repeat: no-repeat;
    background-position: top left;
    width: 100%; 
    height: 100vh; 
    z-index: 801;
}
*/

#main .content__wrapper::before {
    position: absolute;
    left: 0;
    top: -40px;
    content: "";
    background-image: url('../images/bg-research.png');
    background-size: 100% auto; /* Full width, maintain aspect ratio */
    background-repeat: no-repeat; /* Prevent repeating if the image is smaller */
    background-position: top left;
    width: 100%; /* Make the pseudo-element cover the full width */
    height: 110%; /* Make the pseudo-element cover the full viewport height */
}

#main .content__wrapper{
    position: relative;
    z-index: 800;
}

#main .content__wrapper .content__text {       
    padding: 40px 0;
    max-width: 800px;
    margin: 0 auto;
    line-height: 2.2em;
/*
    position: relative;
    z-index: 805;
*/
}


#main .content__wrapper .content__text p {
    position: relative;
    z-index: 803;
}

#main .content__wrapper .content__news {
    padding: 40px 0;
    background: #fff;
/*
    position: relative;
    z-index: 804;
*/
}

.content__news_head {
    font-weight: 700;
    padding-left: 30px;  
    position: relative;
    z-index: 802;
}

.content__news_head a{
	color: #187fc4!important;
}

.table-news {
    width: calc(100% - 40px);
    border-collapse: collapse;
    margin: 40px 20px 0;
    position: relative;
    z-index: 802;
}

.table-news tr td {
    padding: 10px;
}

.table-news tr td:first-child {
    width: 15%;
    text-align: center;
}

.table-news tr td:last-child {
    width: 85%;
}

.content__news_year_month {
    font-size: 12px;
}

.content__news_day {
    font-size: 38px;
}

.content__news_title a {
    color: #000;
}

.content__news_title a:hover {
    color: #187fc4;
    text-decoration: none;
}

#button-menu .container-fluid {
    padding: 0;
}

.img-menu1,
.img-menu2,
.img-menu3 {
    width: 100%;
    height: auto;
    position: relative;
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
}

.img-menu1:hover,
.img-menu2:hover,
.img-menu3:hover {
    transform: scale(1.1);    
}

.img-wrapper {
    overflow: hidden;
}

.txt-menu-wrapper {
    display: block;
    width: 100%;
    color: #fff;
    background: rgba(24,127,196,0.9);
    padding: 15px 30px;
    position: absolute;
    left: 0;
    bottom: 0;
}

.txt-menu-wrapper:hover {
    background: rgba(24,127,196,1);
    transition: .5s;
}

.txt-menu {
    display: block;
    border-left: 3px solid #fff;
    padding-left: 12px;
	font-size:20px;
}

.txt-menu-sm {
    display: block;
    font-size: 12px;
}

#button-menu{
    display: block;
}

#button-menu-sp {
    display: none;
}


/*=== GENERAL ===*/
.mgt-20 {
    margin-top: 20px;
}

.mgt-30 {
	margin-top:30px;
}

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
    margin-top: 60px;
}

.mgt-80 {
    margin-top: 80px;
}

.p-20 {
	padding-left: 20px;
}

#main-nav .navbar__inner > h1,
#main-nav .navbar__inner > h1 > a {
    height: 100%;
}

#main-nav .navbar__inner > h1 > a > .navbar__logo,
#main-nav .navbar__inner > h1 > a > .navbar__logo2 {
    width: auto;
    height: 80%;
}