@charset "UTF-8";
/* Scss Document */
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
html, body, .container-fluid, .container-fluid .container {
  min-width: 980px; }

body {
  font-size: calc(150% + 0.5vw);
  color: #000000;
  font-family: "Yu Gothic", "游ゴシック", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif; }

p {
  font-size: 1em;
  text-align: justify;
  text-justify: inter-ideograph; }

.container-fluid {
  padding: 0; }
  .container-fluid:nth-of-type(1) {
    background-color: #fff; }
  .container-fluid:nth-of-type(2) {
    background-color: #ffea00; }
  .container-fluid:nth-of-type(3) {
    background-color: #fff9b9; }

.mainvisual > div {
  text-align: center;
  background: url(../img/mainvisual_people.jpg) no-repeat right;
  background-size: cover; }
  .mainvisual > div > div {
    display: inline-block; }

.photobox .circlebox, .system .circlebox > p {
  border-radius: 50%;
  font-weight: 700;
  text-align: center; }

.photobox > div {
  height: 13.5em;
  margin-bottom: 0.9em;
  min-height: 28.5rem; }
.photobox .circlebox {
  position: absolute;
  right: 0;
  top: -1em;
  background: #000;
  width: 4.5em;
  height: 4.5em;
  color: #fff;
  padding: 1.1em 0;
  line-height: 1.3em;
  font-size: 0.8em; }
  .photobox .circlebox strong {
    font-size: 1.6em;
    line-height: 0.6em; }
  .photobox .circlebox small {
    display: block;
    font-size: 0.5em;
    margin-top: -1.5em; }
.photobox h3 {
  margin-top: 0.6em;
  margin-bottom: 0.5em;
  font-family: "FP-ヒラギノUD明朝 StdN W6";
  font-weight: 900; }
.photobox .subbox > div {
  overflow: hidden; }
  .photobox .subbox > div > img {
    float: left;
    width: 30%; }
  .photobox .subbox > div > div {
    float: right;
    position: relative;
    padding-left: 0.8em;
    width: 70%; }
    .photobox .subbox > div > div h3 {
      margin-top: 0;
      font-size: 1em;
      margin-bottom: 0.2em; }
.photobox .subbox > p {
  font-size: 0.75em;
  margin-top: 0.3em;
  line-height: 1.8em; }

.manabi-contents h3 {
  margin-top: 0.8em;
  margin-bottom: 0.5em;
  font-family: "FP-ヒラギノUD明朝 StdN W6";
  font-weight: 900; }
.manabi-contents p {
  font-size: 0.8em;
  line-height: 1.8em; }

h1, h4, h2 .star {
  font-family: "FP-ヒラギノ角ゴ StdN W8";
  font-style: italic;
  font-size: 1.5em;
  font-weight: 700;
  text-align: center; }

h1 > div:before, h1 > div:after {
  position: absolute;
  color: #ffffff;
  font-size: 8.5em;
  font-family: "FP-ヒラギノUD明朝 StdN W6";
  /*	position: absolute;*/
  font-weight: 700;
  font-style: normal;
  font-family: serif;
  width: 1em; }

h1 {
  color: #000000;
  line-height: 1.45em;
  padding: 73px 0 0;
  margin: 0;
  font-size: 1.3em; }
  h1 > div {
    display: inline-block;
    position: relative; }
    h1 > div:before {
      content: "“";
      left: -0.8em;
      top: 0.3em; }
    h1 > div:after {
      content: "”";
      right: -0.8em;
      bottom: -0.3em; }
    h1 > div strong {
      font-size: 1.4em; }

h2 .star:before, .col-xs-12.star a:before {
  background: transparent url("../img/star.svg") no-repeat scroll 0 0/contain;
  content: "";
  position: absolute;
  z-index: -1; }

h4 {
  font-size: 1.3em;
  margin: 2em;
  line-height: 1.4em; }
  h4.small {
    font-size: 1.4em;
    margin: 1.6em 0 1.2em; }

h2 {
  font-size: 1em;
  position: relative;
  z-index: 100;
  margin: 3.2em 0 2.8em;
  text-align: center; }
  h2 .star {
    color: #cd1613;
    display: inline-block;
    position: relative; }
    h2 .star:before {
      left: -0.9em;
      top: -0.4em;
      height: 1.8em;
      width: 7em; }

p.subbox {
  line-height: 1.6em;
  margin: -0.4em 0 1.1em; }

.mr_2em {
  margin: 0 2em; }
  .mr_2em > div:last-child {
    overflow: hidden; }
  .mr_2em h4 {
    margin: 3em 0; }

.message {
  padding-bottom: 2.5em; }
  .message ol, .message p {
    font-size: 0.8em;
    line-height: 1.8em; }
  .message ol.int {
    padding-left: 1.2em; }
  .message .kkphoto {
    text-align: right; }
    .message .kkphoto img {
      display: inline; }
    .message .kkphoto p {
      text-align: right; }
    .message .kkphoto .small {
      font-size: 0.6em;
      margin: 1em 0; }
      .message .kkphoto .small span {
        font-size: 1.2em;
        margin-left: 0.8em; }

.system .circlebox > p {
  border: #cd1613 solid 1px;
  color: #cd1613;
  height: 3.8em;
  padding-top: 0.87em;
  line-height: 1.1em;
  font-size: 1.1em; }
  .system .circlebox > p strong {
    font-size: 2em;
    line-height: 0.9em; }
.system .rbox .subhead, .system .bbox .subhead {
  display: inline-block;
  padding: 0.2em 0.7em;
  line-height: 1.2em; }
.system .rbox {
  background: none;
  color: #cd1613; }
  .system .rbox .subhead {
    border: #cd1613 solid 1px; }
.system .how {
  font-size: 1.9em;
  font-weight: 900;
  display: inline-block;
  line-height: 1.5em;
  margin-top: 0.8em; }
  .system .how strong {
    font-weight: 900;
    font-size: 1.7em; }
.system .bbox {
  background: none;
  color: #000000; }
  .system .bbox .subhead {
    position: relative;
    margin-right: 0.3em; }
    .system .bbox .subhead:before {
      content: "（";
      position: absolute;
      font-size: 2.3em;
      top: 31%;
      left: -0.7em; }
    .system .bbox .subhead:after {
      content: "）";
      position: absolute;
      font-size: 2.3em;
      top: 31%;
      right: -0.75em; }
  .system .bbox .small {
    font-size: 0.65em; }
  .system .bbox .how {
    line-height: 2em; }
.system .system_text p {
  text-align: center;
  font-weight: 700;
  font-size: 1.1em; }
  .system .system_text p.small {
    font-weight: normal;
    font-size: 0.65em;
    margin-bottom: 3em; }
.system table.table {
  border: black solid 1px;
  font-size: 0.8em;
  margin-bottom: 1.5em; }
  .system table.table > tbody > tr > td {
    border-top: black solid 1px; }
    .system table.table > tbody > tr > td p.small {
      display: inline;
      font-size: 0.8em; }
    .system table.table > tbody > tr > td:first-child {
      width: 40%; }
  .system table.table > tbody > tr.gray {
    background: #dadada; }
.system h3 {
  text-align: center;
  font-weight: 900;
  margin-top: 3em; }
.system .service {
  text-align: center; }
  .system .service > div {
    display: inline-block;
    margin: 0.5em; }
    .system .service > div p {
      text-align: center;
      font-weight: 700;
      font-size: 0.7em;
      margin: 0.7em; }

.faq h4.small {
  margin-top: 2.2em; }
.faq dl {
  font-size: 0.8em; }
  .faq dl dt {
    margin-bottom: 2em; }
  .faq dl dd {
    border-bottom: #000000 solid 1px;
    padding-bottom: 2em;
    margin-bottom: 2em; }
    .faq dl dd:last-child {
      border: none;
      margin-bottom: 0;
      padding-bottom: 0; }
.faq .block {
  border-left: #000000 solid 2px;
  padding-left: 1em;
  margin: 1.5em 0 0.5em; }

.contact .borderbox {
  text-align: center;
  border: #000000 solid 1px;
  padding: 1.2em; }
  .contact .borderbox p {
    display: inline-block;
    font-size: 0.8em;
    margin-bottom: 0; }
    .contact .borderbox p span.phone {
      font-weight: 700;
      font-size: 1.8em; }
    .contact .borderbox p a {
      color: #000000;
      text-decoration: underline;
      margin-left: 0.5em; }

.col-xs-12.star {
  text-align: center;
  margin: 2em 0; }
  .col-xs-12.star a {
    border: #cd1613 solid 1px;
    background: #ffea00;
    color: #cd1613;
    font-size: 1.5em;
    width: 15em;
    font-weight: 900;
    padding: 0.6em;
    z-index: 1;
    margin: 1.1em auto 0.5em; }
    .col-xs-12.star a:before {
      top: 0.1em;
      left: 1.9em;
      height: 3em;
      width: 8em; }
  .col-xs-12.star p {
    text-align: center;
    font-weight: 700; }

footer {
  border-top: #000000 solid 1px;
  text-align: center;
  background: #ffea00;
  font-size: 0.8em;
  padding: 0.6em 0 0.1em; }
  footer p {
    text-align: center; }

.p_title {
  font-weight: 700;
  margin: 0; }

.bbox, .rbox {
  color: #fff;
  display: inline-block;
  padding: 0 0.5em;
  vertical-align: top;
  font-size: 0.6em;
  line-height: 2em; }

.bbox {
  background: #000 none repeat scroll 0 0; }

.rbox {
  background: #cd1613 none repeat scroll 0 0; }

.col-xs-12.star a {
  display: block;
  position: relative; }

/**** 2020/06/15　****/
.mt-2em{
  margin-top: 2em;
}