body{
  margin: 20px; /* bodyの外側の余白を指定する */
  padding: 80px 10px 50px 10px; /* bodyの内側の余白を指定する */
}

header {
  background-color: rgb(43, 102, 181);
  position: fixed; /* ヘッダーを固定する */
  top: 0; /* 上部から配置の基準位置を決める */
  left: 0; /* 左から配置の基準位置を決める */
  width: 100%; /* ヘッダーの横幅を指定する */
  height: 80px; /* ヘッダーの高さを指定する */
  padding: 10px; /* ヘッダー内側の余白を指定する(上下左右) */
  border-bottom: 3px solid #006DD9; /* ヘッダーの境界線（下部）を指定する */
  box-shadow:0 7px 10px 2px #aaaaaa; /* 影を指定（[右][下][ぼかし][広がり][影の色]） */
}

.main {

}

footer {
  
}

.header-list li {
  list-style: none;
  float: left;
  text-align: center; /* 中央揃え */
  padding: 20px 10px 20px 10px;
  color: #FFFFFF;
  border-right: 2px solid #FFFFFF; /* ヘッダーの境界線（下部）を指定する */
  display: flex; /* ロゴとメニューを横並びに */
  align-items: center; /* 縦方向の中央揃え */
  position: relative;
}

.header-logo {
  float: left;
  width:120px;
  height:100px;
  img {
    width:100px;
    height:80px;
  
  }
}
.site-title {
    margin: 0 0 0.2rem 0; /* タイトルとメニューの間隔 */
    font-size: 0.9rem;
    color: #FFFFFF;
}

nav {
    flex-grow: 1; /* メニューが残りのスペースを埋める */
    position: relative;
}
.nav-menu {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}
.nav-menu::-webkit-scrollbar {
    height: 8px;
}
.nav-menu::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: 4px;
}
.nav-menu li {
    margin-right: 1rem;
}
.nav-menu li a {
    color: #fff;
    text-decoration: none;
}
.menu-toggle {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
}
/* 縦並びメニュー */
.nav-menu-vertical {
    display: none;
    list-style-type: none;
    padding: 0;
    margin: 0;
    flex-direction: column;
    background-color: #444;
    position: absolute;
    top: 3rem;
    right: 0;
    width: max-content;
    overflow-x: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.nav-menu-vertical.active {
    display: flex;
}
.nav-menu-vertical li {
    margin: 0;
    padding: 1rem;
    border-bottom: 1px solid #555;
    text-align: right;
}
.nav-menu-vertical li a {
    color: #fff;
    text-decoration: none;
}

.nav-menu-vertical {
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateY(-10px);
}
.nav-menu-vertical.active {
    opacity: 1;
    transform: translateY(0);
}

.nav-menu-vertical { background-color: rgba(68, 68, 68, 0.95); }

