.Menu * {
    margin: 0;
    padding: 0;
}
.gnav {
    display: flex;
    height: 2rem;
    margin: 0 auto;
    width: 100vw;
}
.gnav > li {/*親階層のみ幅を25%にする*/
    width: 25%;
}
/*全てのリスト・リンク共通*/
.gnav li {
    width: 100%;
    list-style: none;
    position: relative;
}
.gnav li a {
    background: #001b34;
    border-right: 1px solid #eee;
    color: #fff;
    display: block;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
/*子階層以降共通*/
.gnav li li {
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity .5s;
}
.gnav li li a {
    border-top: 1px solid #eee;
}
.gnav li:hover > ul > li {
    height: 2rem;
    opacity: 1;
    overflow: visible;
}
.gnav li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
}
/*一番右のメニュー*/
.gnav > li:nth-child(5) ul li ul {
    left: -100%;
}
/*hover*/  
.gnav > li:hover > a {/*親階層*/
    background: #00305c;
}
     
.gnav > li li > a {/*子階層*/
    background: #00305c;
}
.gnav > li li:hover > a {
    background: #004789;
}
 
.gnav li ul li ul li > a {/*孫階層*/
    background: #004789;
}
.gnav li ul li ul li:hover > a {
    background: #0065c1;
}
 
.gnav li ul li ul li ul li > a {/*ひ孫階層*/
    background: #0065c1;
}
.gnav li ul li ul li ul li:hover > a {
    background: #1e7dd4;
}
 
/*リストに「▶︎」を付ける*/
.gnav > li > ul:before{/*子階層*/
    border: 5px solid transparent;
    border-top: 5px solid #fff;
    content: "";
    right: 1rem;
    position: absolute;
    top: 1rem;
    transform: translateY(-40%);
}
.gnav li ul li ul:before {/*孫階層*/
    border: 5px solid transparent;
    border-left: 5px solid #fff;
    content: "";
    left: -20px;
    position: absolute;
    top: 1em;
    transform: translateY(-50%);
}
.gnav li:nth-child(5) ul li ul:before {/*一番右のメニューの孫階層*/
    border: 5px solid transparent;
    border-right: 5px solid #fff;
    left: auto;
    right: -20px;
}
body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
    background-image: url(.gif);
}
.header-list li{
    color: white;
    float: left;
    padding: 20px 20px;
}
.header{
    background-color: aqua;
    height: 60px;
    width: 100vw;
}
.header-logo{
    color: white;
    font-size: 36px;
    font-family: 'Alegreya Sans SC', sans-serif;
    float: left;
}
.header-list{
    float: left;
}
.main{
    padding:40px 40px;
}
.link:visited{
  color: blue;
}
.link:hover{
  color: darkblue;
}
.copy-container h1{
    font-size:50px;
    padding-bottom: 20px;
}
.copy-container span{
    color:#ff4a4a;
}
.contents{
    height: auto;
}
.contents h3{
    border-bottom:solid 1px #2f5167;
}
.al-list{
    color:rgb(3, 33, 88);
}
.sec-title{
    border-bottom: 2px solid #dee7ec ;
    font-size:28px;
    padding-bottom: 15px;
    margin-bottom: 50px;
}
.contents-item{
    float: left;
    margin-right: 60px;
}
.contents-item p{
    font-size:24px;
    margin-top:30px;
}
.footer{
    background-color: #2f5167;
    color:#fff;
    height: 80px;
    padding-bottom: 10px;
}
.footer-logo{
    font-size:20px;
    float:left;
}
.footer-list{
    float:right;
}
.footer-list li{
    display: inline;
    margin-right: 50px;
}
