/*=========== body ===========*/

body{
  font-family:'メイリオ', 'Meiryo', sans-serif;
  background-color: #f6f6f6;
  width: 100%;
  text-align: center;
  font-size: 1em;
}

.main-header{
  background-color:#f2f2f2;
  margin:auto;
  width: 95%;
  text-align: center;
}

.right {
  text-align: right;
}

.center {
    text-align: center;
}

.main-body{
	padding: 20px;
	font-size: 1em;
}

.footer {
    background-color: #000;
    color: #fff;
    width: 100%;
    max-width: 1100px; 
    text-align: center;
    height:10em;
    margin: 0 auto;
}

/*=========== menu ===========*/

.gtab {
 list-style: none;
 overflow: hidden;
 height:40px;
 color: #333;
}
.gtab li {
 width: 140px;
 text-align: center;
 background-color: #f2f2f2;
 float: left;
}
.gtab li a {
 text-decoration: none;
 color: #fff;
 font-weight: bold;
}
.gtab {
 margin-left: auto;
 margin-right: 0;
 display: flex;
 margin: 0 auto;
 width: 960px;
}
.gtab > li {
 /*親階層のみ幅を25%にする*/    width: calc(100% / 5);
}
.gnav {
 position: -webkit-sticky; /* Safari対応 */
 position: sticky;
 top: 0;
 background-color: #eee; /* 隙間の色を調整　背景色とボタンの色の中間 */
 z-index: 1000; /* 他の要素より手前に表示 */
 display: flex;
 gap: 2px; /* ボタン間の隙間を2pxに設定 */
 height: 4rem;
 margin: 0 auto;
 padding: 0; /* ul要素のデフォルトpaddingをリセット */
 width: 95%; /* ヘッダーの幅と統一 */
}
.gnav > li {
 /*親階層のみ幅を25%にする*/    width: calc(100% / 4);
 background-color: #d7d7d7; /* ボタン自体の背景色 */
}
/*全てのリスト・リンク共通*/.gnav li {
 list-style: none;
 z-index: 999999;
}
.gnav li a {
 margin-top: 5px;
 padding-top: 5px;
 color: #000;
 display: block;
 height: 3rem;
 line-height: 1.5rem;
 text-align: center;
 text-decoration: none;
 width: 100%;
}
/*子階層以降共通*/.gnav li li {
 height: 0;
 width: 200px;
 overflow: hidden;
 transition: .5s;
}
.gnav li li :hover {
 background: #3846a4;
 color: #fff
}
.gnav li :hover {
 background: #3846a4;
 color: #fff
}
.gnav li li a {
 border-top: 1px solid #eee;
}
.gnav li:hover > ul > li {
 height: 4rem;
 overflow: visible;
}


/*=========== accessory ===========*/

input[type=submit] {
    background-color: #3956DD;
    border-color: #3956DD;
    color: #fff;
    height: 40px;
    font-size: 1.2em;
    font-weight: bold;
    border-radius: 8px;
}
input[type=submit]:disabled {
    background-color: #7F7F7F;
    border-color: #7F7F7F;
    color: #fff;
}

.title {
	background-color: #d1ccc9;
	color: #404040;
	padding: 5px;
}

.title2 {
	background-color: #dce1ec;
	color: #404040;
	padding: 5px;
}

.midashi {
  color: #fff;/*文字色*/
  font-size: 0.8em;
  font-weight: bold;
  background-color: #364e96;
  border: solid 3px #364e96;/*線色*/
  padding: 1px;/*文字周りの余白*/
  border-radius: 0.5em;/*角丸*/
}

.table.right {
    margin-left: auto;
    font-size: 1.0em;
}
.td {
    font-weight: bold;
}

.table2{
  width: 100%;
  border-collapse: collapse;
}

.table2 th{
  text-align: left;
  width: 30%;
  background-color: #555aa2;
  color: white;
  padding: 10px 30px;
}

.table2 tr{
  border-bottom: solid 2px white;
}

.table2 tr:last-child{
  border-bottom: none;
}

.table2 td{
  text-align: left;
  width: 100em;
  background-color: #eee;
  padding: 10px 30px;
}

@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  
  .table2 {
    width: 80%;
  }
  .table2 th, .table2 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

.button {
  transition: all 0.5s 0s ease;
  font-size: 1em;
  
}
.button:hover {
  background-color: white;
  color: black;
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #ce5278;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #9c3e5b;
}

.link-position {
  display: block;
  position: relative;
  top: -5em; /* ナビゲーションバーを固定したため、アンカー位置を再調整しました */
}
