.card {
  counter-reset: num;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .card h2 {
    width: 100%;
    margin-bottom: 30px; }
  .card section {
    box-sizing: border-box;
    position: relative;
    counter-increment: num;
    padding: 5rem 0.6rem 2rem ;
    margin: 0;
    width: 30%;
	background:#fffef7;
 /*border:0.5px solid #005bac;
    border-radius: 6px;*/
    margin: 10px 10px 50px; }
  /*.card section::before {
    position: absolute;
    left: 50%;
    top: -15px;
    content: counter(num);
    font-size: 3rem;
    margin-left: -1.2rem;
    text-align: center;
    line-height: 30px;
    color: #F4246B;
    width: 30px; }*/
  .card section h3 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 25px;
    color: #005bac;
	position: relative;
    font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
	.card {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center; }
      .card section {
        width: 90%;
        padding: 5rem 1.5rem 2rem;}
        .card section h3 {
          font-size: 1.3rem; } }

.speaking-icon{	
	position: relative;
}
.speaking-icon img{
	max-width: 150px;
	position: absolute;
	top: -130px;
	left: 0px;
	right: 0px;
	margin: 0 auto;
	z-index: 0;
}
@media only screen and (max-width: 768px) {
.speaking-icon{	
	position: relative;
}
.speaking-icon img{
	max-width: 150px;
	position: absolute;
	top: -130px;
	left: 0px;
	right: 0px;
	margin: 0 auto;
	z-index: 0;
	}}

.list-table dt{
	float: left;
	width: 6em;
}
.list-table-leader dt{
	position:  relative;
}
.list-table-separate dd::before { 
	content: ':';
	font-weight: bold;
	margin-right: 0.5em;
}

#table03.chara-table {
  margin: 20px auto 0;
  text-align: center;
  border-collapse: collapse;
  vertical-align: middle; }
  #table03.chara-table td, #table03.chara-table th {
    border: 1px solid #ededed;
    padding: 0.8em 0.6em;
    background: #fff; }
  #table03.chara-table tr:nth-child(odd) td {
    background: #F6F7F9; }
  #table03.chara-table .table-head {
    background: #005bac;
    color: #fff;
    font-size: 1.1em;
    border: 1px solid #fff;
    text-align: center;
    font-weight: 500; }
  #table03.chara-table .table-btn {
    background: #17a2b8;
    border-radius: 7px;
    padding: 0.6em;
    font-size: 80%; }
    #table03.chara-table .table-btn a {
      color: #fff; }
  #table03.chara-table .table-btn:hover {
    transition: 0.2s;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    background: #51b9c9; }
  #table03.chara-table .table-text {
    text-align: left; }
  #table03.chara-table .example-taxt {
    color: #0D3558;
    font-size: 95%; }
  @media only screen and (max-width: 768px) {
    #table03.chara-table {
      display: block;
      overflow-x: scroll;
      /*white-space: nowrap; 横スクロール*/ } }