@charset "utf-8";

/* Layout
-------------------------------------------------- */
/* コンテンツ */
main aside h2{
  font-size:2rem;
  text-align:center;
  margin-top:10px;
}
main #contents{
  margin-top:20px;
  border-top:1px solid #fe5c5c;
  padding-top:10px;
}
main #contents p.lead{
  line-height:130%;
  margin-bottom:20px;
}
main #contents p.lead span{
  color:red;
}

/* 表組 */
main #contents table{
  width:100%;
}
main #contents table th,
main #contents table td{
  display:block;
  width:100%;
  text-align:left;
}
main #contents table th{
  padding-top:15px;
  padding-bottom:5px;
}
main #contents table th span{
  color:red;
}
main #contents table td{
  line-height:130%;
  padding-bottom:10px;
  border-bottom:1px dashed #999999;
}
main #contents table td input,
main #contents table td textarea{
  width:100%;
  padding:5px;
  box-sizing:border-box;
}
main #contents table td textarea{
  height:150px;
}
main #contents table td input[type="radio"]{
  width:auto;
  vertical-align:baseline;
}
main #contents .btn{
  text-align:center;
  margin-top:20px;
}
main #contents .btn li{
  display:inline-block;
}
main #contents .btn li:first-child{
  margin-right:20px;
}

main #contents p.memo{
  margin-top:20px;
  line-height:130%;
}

/* note */
main #contents p.note{
  margin-top:20px;
  border:1px solid #000000;
  padding:10px;
  line-height:130%;
  font-size:1.4rem;
}

/* 確認画面 */
main #contents font{
  line-height:130%;
  color:#ff0000;
  display:block;
}



/* タブレット
-------------------------------------------------- */
@media only screen and (min-width: 667px) {

  /* 表組 */
  main #contents table th,
  main #contents table td{
    display:table-cell;
    vertical-align:top;
  }
  main #contents table th{
    width:25%;
    border-bottom:1px dashed #999999;
    font-weight:normal;
  }
  main #contents table td input,
  main #contents table td textarea{
    margin-top:15px;
  }

  /* 確認画面 */
  main #contents .check table{
    border:1px solid #999999;
  }
  main #contents .check table th,
  main #contents .check table td{
    display:table-cell;
    vertical-align:top;
    padding:10px;
    border:1px solid #999999;
  }
  main #contents .check table td:first-of-type{
    width:30%;
    font-weight:normal;
    background:#efefef;
  }
  main #contents .check table td{
    width:70%;
  }
}



/* PC
-------------------------------------------------- */
@media only screen and (min-width: 750px) {

  /* コンテンツ */
  main{
    display:flex;
  }
  main aside{
    width:100px;
  }
  main aside h2{
    text-align:left;
    font-weight:normal;
  }
  main #contents{
    width:calc(100% - 100px);
    border-left:1px solid #fe5c5c;
    border-top:0;
    margin-top:0;
    padding-left:25px;
  }

  /* 表組 */
  main #contents table th,
  main #contents table td{
    display:block;
    width:100%;
  }
  main #contents table th{
    border-bottom:0;
  }
  main #contents table tr:first-child th{
    padding-top:0;
  }
  main #contents table td input,
  main #contents table td textarea{
    margin-top:0;
    width:70%;
  }

  /* 確認画面 */
  main #contents .check table tr:first-child th{
    padding-top:10px;
  }
}