body {
font-family: 'Noto Sans JP', sans-serif;
overflow: hidden auto;
}


/* header.................................. */

header {
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
width: 100%;
height: 140px;
background-color: #ffffff;
padding: 25px 5% 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
box-sizing: border-box;
z-index: 1000; /* 前面に表示 */
}

@media (max-width: 1024px) {
header {
height: 100px;
}
}

header::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 15px;
top: 0px;
left: 0px;
background-image: linear-gradient(90deg, rgba(80, 181, 185, 1), rgba(85, 121, 178, 1));
}
            
h1 img {
height: 100%;
max-height: 90px;
}

@media (max-width: 1024px) {
h1 img {
max-height: 60px;
}
}

nav {
display: flex;
flex-direction: column-reverse;

}

@media (max-width: 768px) {
nav {
flex-direction: column;
}
}

#nav_hamburger {
display:none;
position:absolute;
top:30px;
right:20px;
width:50px;
height:50px;
cursor:pointer;
}

#nav_hamburger span {
position:absolute;
top:calc(50% - 1px);
left:8px;
width:34px;
height:3px;
background:#555;
transition-duration:0.5s;
}

#nav_hamburger::before,
#nav_hamburger::after {
content:" ";
position:absolute;
left:8px;
width:34px;
height:3px;
background:#555;
transition-duration:0.5s;
}

#nav_hamburger::before {
top: calc(50% - 14px);
}

#nav_hamburger::after {
top: calc(50% + 12px);
}

.nav_open + #nav_hamburger {
background: rgba(0,0,0,0.1);
}

.nav_open + #nav_hamburger span {
width: 0px;
left: 50%;
}

.nav_open + #nav_hamburger::before {
top: calc(50%);
transform: rotate(225deg);
}

.nav_open + #nav_hamburger::after {
top: calc(50%);
transform: rotate(-225deg);
}

@media (max-width: 768px) {
#nav_hamburger {
display: block;
}
}

#nav_main_container {
display: flex;
justify-content: right;
width: 100%;
}

@media (max-width: 768px) {
#nav_main_container {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
position: fixed;
top: 100px;
right: -100%;
width: 100%;
height: 100%;
background-color: #ffffff;
transition: right 0.3s ease;
padding-top: 30px; 
}
}

#nav_main_container li {
display: flex;
width: 100px;
height: 65px;
}

@media (max-width: 1024px) {
#nav_main_container li {
width: 70px;
height: 50px;
}
}

@media (max-width: 768px) {
#nav_main_container li {
width: 80%;
height: 70px;
}
}    

#nav_main_container li a {
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
width: 100%;
text-decoration: none;
font-size: 0.875rem;
color: #3A435F;
background-size: 50px;
background-repeat: no-repeat;
background-position: top;
}

@media (max-width: 1024px) {
#nav_main_container li a {
font-size: 0.750rem;
background-size: 35px;
}
}

@media (max-width: 768px) {
#nav_main_container li a {
display: block;
text-decoration: none;
font-size: 1rem;
color: #333333;
background-repeat: no-repeat;
background-position: left center;
background-size: 50px;
padding-left: 80px;
height: 70px;
line-height: 80px;
border-bottom: 1px solid;
border-bottom-color: #4682b4;
border-bottom-style: dotted;
}
}

#nav_main_container li a:hover {
opacity:0.5;
transition:0.3s;
}

#nav_research a {background-image: url("../images/base/nav_research.png");}
#nav_member a {background-image: url("../images/base/nav_member.png");}
#nav_achievement a {background-image: url("../images/base/nav_achievement.png");}
#nav_lecture a {background-image: url("../images/base/nav_lecture.png");}
#nav_assignment a {background-image: url("../images/base/nav_schedule.png");}
#nav_gallery a {background-image: url("../images/base/nav_gallery.png");}
#nav_access a {background-image: url("../images/base/nav_access.png");}

#nav_sub_container {
display: flex;
justify-content: right;
align-items: center;
margin-bottom: 10px;
}

@media (max-width: 1024px) {
#nav_sub_container {
margin-bottom: 5px;
}
}

@media (max-width: 768px) {
#nav_sub_container {
display: flex;
justify-content: right;
align-items: center;
position: fixed;
top: 570px;
right: -100%;
width: 100%;
padding-right: 60px;
background-color: #ffffff;
transition: right 0.3s ease;
z-index: 1000;
}
}

#nav_sub_container li {
display: flex;
justify-content: center;
align-items: center;
width: 100px;
height: 25px;
text-align: center;
}

@media (max-width: 1024px) {
#nav_sub_container li {
width: 80px;
height: 20px;
}
}

@media (max-width: 768px) {
#nav_sub_container li {
width: 125px;
height: 20px;
}
}

#nav_sub_container li a {
text-align: center;
text-decoration: none;
font-size: 0.750rem;
color: #3A435F;
transition: color .5s;
}

@media (max-width: 1024px) {
#nav_sub_container li a {
font-size: 0.625rem;
}
}

@media (max-width: 768px) {
#nav_sub_container li a {
font-size: 1rem;
}
}

#nav_sub_container li a span {
font-size: 0.750rem;
color: #3A435F;
transition: color .5s;
}

@media (max-width: 1024px) {
#nav_sub_container li a span {
font-size: 0.625rem;
}
}

@media (max-width: 768px) {
#nav_sub_container li a span {
font-size: 0.750rem;
}
}

#nav_sub_container a:hover {
color: #d2e7ea; 
}

#nav_sub_container li:last-child a {
display: block;
width: 100%;
color: #ffffff;
font-weight: bold;
background-color: #828282/*#4682B4*/;
border-radius: 50px;
}

/*
#nav_sub_container li:last-child a:hover {
color: #4682B4;
background-color: #c1e4e9;
}
*/

@media (max-width: 768px) {
.nav_open #nav_main_container,
.nav_open #nav_sub_container {
right: 0;
}
}


/* footer.................................. */

footer {
padding:70px 0px 50px;
background-image: linear-gradient(90deg, rgba(129, 183, 185, 1), rgba(125, 147, 182, 1));
color: #ffffff;
}

@media (max-width: 768px) {
footer {
padding:30px 0px 20px; 
}
}

footer div {
display: flex;
align-items: center;
justify-content: center;
}

#footer_banner {
width: 90%;
max-width: 1200px;
margin: 0 auto;
padding: 10px 0px;
}

#footer_banner a {
display: flex;
align-items: center;
justify-content: center;
margin: 5px;
}

#footer_banner a img {
width: 100%;
border-radius: 10px;
}

@media (max-width: 1024px) {
#footer_banner a img {
max-width: 200px;
}
}


#footer_banner a img:hover {
opacity:0.5;
transition:0.3s;
}

#footer_info {
width: 90%;
max-width: 1200px;
margin: 0 auto;
padding: 10px 0px;
}

@media (max-width: 768px) {
#footer_info {
display: flex;
flex-direction: column;
}
}

address {
display: flex;
align-items: center;
justify-content: center;
font-style: normal;
}

@media (max-width: 768px) {
address {
flex-direction: column;
}
}

address strong {
display: block;
text-align: right;
font-size: 1.65rem;
font-weight: 500;
}

@media (max-width: 768px) {
address strong {
text-align: center;
}
}

address p:nth-of-type(2) {
border-left: 1px solid #ffffff;
margin: 0 10px;
padding: 0 10px;
}

@media (max-width: 768px) {
address p:nth-of-type(2) {
border-left:none;
border-top: 1px solid #ffffff; 
margin: 10px 0;
padding: 10px 0;
}
}

#footer_copy {
text-align: center;
font-size: 0.875rem;
padding: 0 0 50px;
}

@media (max-width: 768px) {
#footer_copy {
font-size: 0.72rem;
}
}