@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');



body{font-size:16px;
line-height: 1.5;
background: #fff;
background-image: url(images/bg.png);
font-family:'Noto Sans JP', sans-serif,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
a{text-decoration: none; color:#0093d0;}
a:hover{position: relative; top:2px;}


header,section{box-sizing: border-box; width:96%; max-width:750px; margin:0 auto;}

section{margin:20px auto;}

p{margin:0.5em 0;}

.smp{display: none;}
@media (max-width: 560px){
.smp{display:block;}
}


header img{display: block; width:100%; height:auto;}
header h1{margin:0; padding:0;}
header>div{margin:2em auto; padding:1em; border-top:solid 4px #7cdcf4;
border-bottom:solid 4px #7cdcf4; background: #fff;}

#howto img.cut{width:90%; max-width:580px; height:auto; display: block; margin:1em auto;}

#howto ul{
  padding: .5em .5em .5em 2em;
  list-style: none;
    background: #fff;
}
#howto ul li{
  position: relative;
  padding: 0.5em 1em 0.5em 1em;
  margin-bottom: 3px;
}

#howto ul li:before{
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f00c';
  color: #ff2800;
    left:-1em;
}

.mark{width:32px; height:32px; display: inline-block; vertical-align: middle}

#listening{border:solid 1px #7cb900; border-radius: 12px; background: #fff; padding:0;}

#listening h2{margin:0; background:#7cb900; padding:10px 1em; color:#fff; border-top-right-radius: 10px; border-top-left-radius: 10px; text-align: center; color:#ff3;}
#listening  p{margin:1em;}

#listening ul{
  padding: 0 0.5em;
  list-style: none; 
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}

#listening ul li{
  padding: 5px 12px;
}

.lesson_no{background:#7cb900; color:#fff; font-weight:700; border-radius: 20px; line-height: 1em; font-size:1.2em;}
.lesson_no span{font-weight:400; font-size:12px;}

#listening ul li a .fa-download{font-size:1.4em;}
#listening  p i{padding:0 3px;}

@media (max-width: 600px){
.lesson_no{width:100%;}
}

#download{border:solid 1px #ff4343; border-radius: 12px; background: #fff; padding:0;}

#download h2{margin:0; background:#ff4343; padding:10px 1em; color:#fff; border-top-right-radius: 10px; border-top-left-radius: 10px; text-align: center; color:#ff3;}
#download p{margin:1em;}

#download ol{  padding: 0 0.5em;}
#download ol li{
  padding: 5px 12px 5px 0.5em;;
  margin-left: 2em;
}

#download ol li::marker {
  font-weight: bold;
  color: #ff4343;
}


.dlbtn{width:96%; max-width: 600px; height:auto; margin:1em auto; display: block;}

.caption{font-size:12px;}


/*　footer　*/

footer {
color:#999;
margin:50px 0 0 0;
padding:0;
    font-size:12px;
    font-weight: 400;
    text-align: center;
}
.home{font-size:1.4em;}


/*page-top リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background-color:rgba(0,122,167,0.8);
  opacity: .8;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:1rem;
	transition:all 0.3s;
}

#copyright{font-size:10px; color:#666;}

#page-top a:hover{
	background: rgba(0,83,140,0.9);
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 999;
	opacity: 0;
	transform: translateX(100px);
}

/*　左の動き　*/

#page-top.LeftMove{
	animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }
  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/*　右の動き　*/

#page-top.RightMove{
	animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
  	opacity: 1;
	transform: translateX(0);
  }
  to {
  	opacity: 1;
	transform: translateX(100px);
  }
}

