@charset "UTF-8";
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
body {
  margin: 0 auto;
  padding: 20px;
  text-align: center;
  display: flex; /* フレックスボックスに有効に */
  flex-flow: column; /* 要素を縦に並べる */
  min-height: 100vh;
  background:#f0ebeb;
  flex-direction: column;
  min-height: 100vh;
  
}

.menu {
  background-color: #efefef;
}

.menu .menu-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.menu .menu-list .menu-item {
  border-bottom: #e0e0e0 1px solid;
}

.menu .menu-list .menu-item a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1.5em 1.25em;
  text-decoration: none;
  color: #000000;
  position: relative;
  z-index: 0;
}

.menu .menu-list .menu-item a:before {
  content: "";
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  position: absolute;
  z-index: -1;
  transition: all 0.4s ease-out;
}

.menu .menu-list .menu-item a:hover {
  color: #ffffff;
}

.menu .menu-list .menu-item a:hover:before {
  width: 100%;
}

.menu .menu-list .menu-item:first-child a {
  border-left: #FF9055 8px solid;
}

.menu .menu-list .menu-item:first-child a:before {
  background-color: #FF9055;
}

.menu .menu-list .menu-item:nth-child(2) a {
  border-left: #55B1FF 8px solid;
}

.menu .menu-list .menu-item:nth-child(2) a:before {
  background-color: #55B1FF;
}

.menu .menu-list .menu-item:nth-child(3) a {
  border-left: #C455FF 8px solid;
}

.menu .menu-list .menu-item:nth-child(3) a:before {
  background-color: #C455FF;
}

.menu .menu-list .menu-item:nth-child(4) a {
  border-left: #FF5555 8px solid;
}

.menu .menu-list .menu-item:nth-child(4) a:before {
  background-color: #FF5555;
}

.menu .menu-list .menu-item:nth-child(5) a {
  border-left: #6FC967 8px solid;
}

.menu .menu-list .menu-item:nth-child(5) a:before {
  background-color: #6FC967;
}

/* アニメーション */




/* サイドバー */
article {
    width: 75%;
    height: 100%;
}

aside {
  width:20%;
  height: 100%;
  margin-right: 15px;
}

.spase{
  height: 2000px;
  width: 5%;
}
main{
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
 flex: 0;
    background:#fff;
 border: solid #fff;
border-radius:25px 25px 25px 25px;
margin-top: 150px;
margin-left: auto;
margin-right: auto;
width: 97%;

}


header{
    justify-content: space-between;
    margin-bottom: 50px;
 flex: 0;
background:#fff;
position: sticky;
top: 0;
width: 100%; /* 幅いっぱいを指定 */
height: 100px; /* 高さを50pxに指定 */
padding: 20px 50px; /* ヘッダーに上下左右それぞれ余白を指定 */
box-sizing: border-box; /* padding分を含んで幅を100%にするため */
position: fixed; /* ウィンドウを基準に画面に固定 */
left: 0; /* 左右の固定位置を左から0pxにする */
display: flex; /* 中の要素を横並びにする */
align-items: center; /* 中の要素を上下中央に並べる */
z-index: 2;
border-radius: 0px 0px 10px 10px;

}





header .type-gradient {
    width: 75%;
}

header div {
  width:25%;
}
/* フッター */
header{
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #a2dada;
  text-align: center;
  padding: 10px;
  z-index: 1;
display: flex;
justify-content: space-between;
flex: 1;
}
footer{
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: lightgray;
  text-align: center;
  padding: 10px;
  z-index: 1;
display: flex;
justify-content: space-between;
flex: 1;
}
footer div,footer #nc{
    width:30%;
}
footer a{
    width: 40%;
}


.type-gradient {
	display: inline-block;
	background: linear-gradient(-45deg, #0ff, #00ffa0);/* グラデーション指定 */
  background-clip: text;
	-webkit-background-clip: text;/* 背景をテキストでマスクする */
	background-size: 200% 200%;
	animation: scrollgradient 10s ease 1s infinite;
}

.type-gradient .text {
	padding: 50px;
	margin: 0;
	font-size: 80px;
	font-weight: bold;
	line-height: 1;
	color: transparent;/* 文字色指定なし */
	text-align: center;
}
@keyframes scrollgradient {
	0% {
		background-position: 0 0;
	}
	50% {
		background-position: 100% 100%;
	}
	100% {
		background-position: 0 0;
	}
}

dt img{
size:20px;
}

