@charset "utf-8";

body {
  line-height: 1.5;
}
h1 {
  width: 1100px;
  margin: 50px auto 0;
}
h1 a {
  display: block;
  width: fit-content;
  width: -moz-fit-content;
}
h1 a img {
  width: 40%;
}
h2 {
  margin: 0 auto 1em;
}
h3 {
  font-size: 1.2em;
  margin: 1em auto 1.5em;
}
/* 背景が白いため初期表示時からメニューを黒字に設定 */
#hbox1 ul li a {
  color: #000 !important;
}
.wrapper {
  padding-top: 5em;
}
.t_center {
  text-align: center;
}
.t_right {
  text-align: right;
}
.t_bold {
  font-weight: bold;
}
.t_normal {
  font-weight: normal;
}
.contents {
  padding: 0 0 5em;
}
.contents p {
  margin: .5em 0;
}
.contents ol {
  margin: 1em 0;
}
.contents ol li {
  margin: 1em 0 1em 1.5em;
  list-style-type: decimal;
}
.contents ul li {
  margin: 0 0 0 -1.5em;
  list-style-type: none;
}
.contents ol li li,
.contents ul li li {
  margin: 0 0 0 -1.5em;
}
#mf1 h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin: 3em auto 1em;
}
#mf1 .cbox {
  border: 1px solid #000;
  padding: .5em 2em;
  margin: 4em auto 0;
}
#mf1:after, #mf2:after, #mf3:after {
  content:"";
  display: block;
  width: 80%;
  height: 1px;
  background: #000;
  margin: 4em auto;
}
#mf3 li p {
  margin: 0 0 0 -1.5em;
}
#mf4 ol li li,
#mf4 ul li li {
  margin: 0;
}

@media screen and (max-width: 1400px) {
  h1 {
    width: 1000px;
  }
  .contents .mf-frame {
    margin: 0 auto;
  }
}
  
@media screen and (max-width: 1024px) {
  h1 {
    width: auto;
    margin: 3vw 5vw 0;
  }
  h1 a img {
    width: 20vw;
  }
  #mf1 h2 {
    font-size: 4vw;
  }
  #mf1 h3 {
    font-size: 3.4vw;
  }
}

@media screen and (max-width: 768px) {
  #hamburger span {
    background: #000;
  }
  h1 a img {
    width: 25vw;
  }
}

@media screen and (max-width: 540px) {
  h1 {
    margin: 4vw 5vw 0;
  }
  h1 a img {
    width: 30vw;
  }
  #mf1 h2 {
    font-size: 6vw;
  }
  #mf1 h3 {
    font-size: 4.2vw;
  }
  #mf1 .cbox .t_center {
    text-align: left;
  }
}
