@charset "UTF-8";

/****************** コンテンツ幅 ******************/
#master_cont,#master_cont .master_cont_in{
  width:90%;
  display:block;
  margin:0 auto 2em auto;
  font-size: 1vw;
}
#master_cont .master_cont_in,#master_cont .cal_cont_in {
  white-space: normal;
  padding: 0;
  margin: 2vw auto;
}
@media screen and (max-width: 1199px) {
#master_cont {
  font-size: 1.5vw;
}
#master_cont .master_cont_in{
  width:100%;
}
}
@media screen and (max-width: 767px){
#master_cont{
  width:95%;
}
}
/****************** メイン大画像 ******************/
#master_cont .mainimg{
  width:100%;
  display:block;
}
/****************** 見出し ******************/
#master_cont h1 {
  font-size: 3vw;
  text-align: center;
  margin: 3vw 0 0 0;
}
#master_cont h2 {
  font-size: 2vw;
  white-space: pre-line;
  text-align: center;
  margin: 3vw 0 1.5vw 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #044680;
}
#master_cont h2::before,
#master_cont h2::after {
  background-color: #c6e3ff;
  content: "";
  height: 3px;
  width: 5vw;
}
#master_cont h2::before {
  margin-right: 1vw;
}
#master_cont h2::after {
  margin-left: 1vw;
}
#master_cont h3 {
  font-size: 1.6vw;
  margin: 0.5vw 0 1vw 0;
  color: #742506;
}
#master_cont h3.redribbon {
  color: #fff;/*文字色*/
  padding: 0.5em;/*文字周りの余白*/
  display: inline-block;/*おまじない*/
  line-height: 1.3;/*行高*/
  background: #cf4248;
  vertical-align: middle;
  border-radius: 25px 0px 0px 25px;/*左側の角を丸く*/
}
#master_cont h3.redribbon::before {
  content: '●';
  color: white;
  margin-right: 8px;
  background: none !important;
}
#master_cont h4 {
  font-size: 1.3vw;
  margin: 1vw 0 0.2vw 0;
}
#master_cont strong {
  font-size: 1.2vw;
  color: #cf4248;
  margin-bottom: 0.3vw;
  display: inline-block;
  border-bottom: dashed 1px #555;
  padding-bottom: 0.2vw;
}
#master_cont p {
  font-size: 1vw;
}
@media screen and (max-width: 1199px) {
#master_cont h1 {
  font-size: 3.5vw;
}
#master_cont h2 {
  font-size: 2.5vw;
}
#master_cont h3 {
  font-size: 2vw;
  margin: 0.5vw 0 1vw 0;
}
#master_cont h4 {
  font-size: 1.7vw;
}
#master_cont strong {
  font-size: 1.7vw;
  margin: 1.5vw 0;
}
#master_cont p {
  font-size: 1.2vw;
}
}
@media screen and (max-width: 767px){
#master_cont h1 {
  font-size: 5.5vw;
}
#master_cont h2 {
  font-size: 4.5vw;
}
#master_cont h3 {
  font-size: 3.8vw;
  margin: 4vw 0 1.5vw 0;
}
#master_cont h4 {
  font-size: 3.3vw;
  margin: 2vw 0 0.5vw 0;
}
#master_cont strong {
  font-size: 3.3vw;
  margin: 2vw 0;
  padding-bottom: 1vw;
}
#master_cont p {
  font-size: 3vw;
}
}
/****************** リスト ******************/
#master_cont ul,#master_cont ol {
  width: 100%;
  display: block;
  margin: 1vw 0 1vw 2vw;
}
#master_cont ul li,#master_cont ol li {
  margin-bottom: 0.3vw;
}
#master_cont ul li::before {
  content: "■";
  color: #044680;
  margin-right: 0.5vw;
}
#master_cont ol {
  counter-reset: item;
  list-style: none;
  margin-bottom: 2vw;
}
#master_cont ol li {
  counter-increment: item;
  position: relative;
  padding-left: 1.7vw;  /* 数字分の余白 */
}
#master_cont ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  color: #044680;
}
@media screen and (max-width: 1199px) {
#master_cont ul,#master_cont ol {
  font-size: 1.2vw;
}
}
@media screen and (max-width: 767px){
#master_cont ul,#master_cont ol {
  font-size:3vw;
}
#master_cont ol li {
  padding-left: 3.5vw;
}
}
/****************** 表 ******************/
#master_cont table.info-table {
  width: 75%;
  margin: 1.5vw auto;
  border-collapse: collapse;
  border: solid 1px #999;
}
#master_cont table.info-table th,
#master_cont table.info-table td {
  padding: 1vw 1.2vw;
  border-bottom: solid 1px #ddd;
  vertical-align: top;
  line-height: 1.6;
}
#master_cont table.info-table th {
  background: #f5f5f5;
  font-weight: bold;
  text-align: left;
}
#master_cont table.info-table th:first-child {
  border-right:solid 1px #ddd;
}
#master_cont table.info-table td:first-child {
  width: 18%;
  background: #fafafa;
  font-weight: bold;
  white-space: nowrap;
  border-right:solid 1px #ddd;
}
#master_cont table.info-table td:nth-child(2) {
  width: 82%;
}
#master_cont table.info-table tr:last-child td {
  border-bottom: none;
}
@media screen and (max-width: 767px){
#master_cont table.info-table {
  width: 100%;
  font-size: 3vw;
}
}
/****************** コンバージョンボタン ******************/
.button_cn {
  display: block;
  margin: 2vw auto 0 auto;
  text-align: center;
}
.button_cn a {
  display: inline-block;
  background: #e74264;
  color: #fff;
  padding: 0.6em 1.2em;
  border-radius: 50px;
  font-size: 1.5vw;
  text-decoration: none;
  margin-bottom: 0.3em;
  font-weight: bold;
}
@media screen and (max-width: 1199px) {
.button_cn a {
  font-size: 2.5vw;
}
}
@media screen and (max-width: 767px){
.button_cn a {
  font-size: 3.5vw;
  margin: 3vw auto 0 auto;
}
}
/****************** まずはカリキュラムの全貌を知る ******************/
#master_cont .cal_cont_in {
  text-align: center;
  background: #f9fdf4;
  padding: 1vw 0 4vw 0;
  margin: 3vw auto;
}
#master_cont .cal_cont_in h3 {
  font-size: 2.5vw;
  margin: 3vw auto 1vw auto;
  text-align: center;
}
#master_cont .cal_cont_in h3 span {
  display: block;
  font-size: 0.8em;
}
#master_cont .cal_cont_in b {
  font-size: 1.4vw;
  white-space: pre-line;
  display: block;
}
#master_cont .cal_cont_in div.data {
  background-color: #f4d8da;
  margin:2vw auto;
  display: inline-block;
  padding: 1em 1.5em;
  text-align:center;
}
#master_cont .cal_cont_in div p{
  font-size:1.4vw;
}