@charset "shift-jis";
/* --------------------------------------------------------------------
  Financial Academy

  Style Info: cart setting

-------------------------------------------------------------------- */
*{ box-sizing: border-box;}
#tab5_left,
.style1607_inyo li{ box-sizing: content-box;}
body{
  counter-reset: point 0;
  overflow-x: hidden;
  font-size: 16px;
  line-height: 2.3;
}

img{ max-width: 100%;}

.tac { text-align: center;}
.tar { text-align: right;}
.txt_orange { color: #ea5413;}
.txt_red { color: #dc143c;}
.txt_blue { color: #2c4198;}
.txt_lblue { color: #0091d7;}

.txt_l{ font-size: 1.5em;}
.bold{ font-weight: bold;}

.mb50 { margin-bottom: 60px;}
.mb60 { margin-bottom: 60px;}
.mb70 { margin-bottom: 70px;}
.ml10 { margin-left: 10px;}
.ml20 { margin-left: 20px;}
.ml35 { margin-left: 35px;}

.pc{ display: inherit;}
.tab,.sp{ display: none;}

.main_conts a:link,
.main_conts a:visited,
.main_conts a:active,
.main_conts a:hover{ text-decoration: underline;}

#contents { padding: 0 0 5px 0;}

section h2{
  font-size: 2rem;
  letter-spacing: .15em;
  font-weight: normal;
  line-height: 1.7;
  text-align: center;
  position: relative;
}
section h2::after{
  content: "";
  display: block;
  border-bottom: 3px solid #E95288;
  width: 115px;
  margin: 20px auto 85px;
}
section h3{
  text-align: center;
  font-size: 23px;
}
section h3.line{
  position: relative;
  margin-top: 50px;
  margin-bottom: 15px;
  color: #e95288;
}
section h3.line::before,
section h3.line::after{
  content: "";
  width: 25%;
  border-top: 1px solid #e95288;
  position: absolute;
  top: 50%;
}
section h3.line::before{ left: 0;}
section h3.line::after{ right: 0;}
h3 .sub{
  display: block;
  font-size: .7em;
  font-weight: bold;
  padding-top: 30px;
}

.bg-beige { background-color: #f3f3f2;}
.bg-pink { background-color: #fef1f6;}

.youtube {
  max-width: 950px;
  margin: 0 auto;
  width: 100%;
  position:relative;
  padding-top:56.25%;
}
.youtube iframe {
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}


.lead{
/*    font-size: 20px;
  text-align: center;*/
  font-size: 16px;
  text-align: left;
  line-height: 2.3;
}
.lead .color{
  font-size: 1.35em;
  color: #3193d5;
}
.caution{ font-size: .8em;}
.text_l{ font-size: 18px;}

img.per{ width: 86px;}
img.per02{ width: 133px;}
img.plus{ width: 112px;}
img.number{ width: 1.55em;}
img.no01{ width: 1.1em;}
img.per,
img.per02,
img.plus,
img.number,
img.no01{
  vertical-align: baseline;
  padding: 0 5px;
}


section .inner{
  width: 96%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0;
}

.main_conts .btn01{ text-align: center;}
.main_conts .btn01 a{
  background: #ea5520 url(/images/common/arrow02.svg) 96% center/18px no-repeat;
  color: #fff;
  padding: 10px 20px;
  font-size: 20px;
  width: 100%;
  max-width: 420px;
  display: block;
  margin: 60px auto;
  font-weight: normal;
  border-radius: 2.8px;
  box-shadow: 0 1.5px 0 #88001c;
  letter-spacing: .175em;
}
.main_conts .btn01 a:hover{
  text-decoration: none;
  opacity: .7;
}
.main_conts .btn02 {
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #c6272d url(/images/common/arrow02.svg) 97% center/21px no-repeat;
  width: 100%;
  max-width: 410px;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 22px;
  padding: 15px;
  position: relative;
  letter-spacing: .1em;
  box-shadow: 0 1.5px 0 #782332;
}
.main_conts a.btn02 {
  display: block;
  text-decoration: none;
  color: #fff;
}
.main_conts .btn02:hover{
  cursor: pointer;
  opacity: .7;
}

div[class^="img_"]{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
div[class^="img_"] > p,
div[class^="img_"] > dl{
  width: 65%;
/*    width: 100%;*/
  font-size: 16px;
  line-height: 2.3;
}
div[class^="img_"] > img{ width: 33%;}
.img_l > img{ order: -1;}

.formula{
  background: #fef1f6;
  padding: 20px;
  text-align: center;
  font-size: 1.2em;
  align-self: center;
}
.formula dt{
  color: #e95288;
  text-align: left;
  padding-bottom: 10px;
}
.formula dd{
  background: #fff;
  padding: 10px;
  text-align: left;
}
.formula dd + dt{ margin-top: 1em;}


#breadcrumbs{
  float: left;
  margin: 20px 0;
  font-size: .7em;
}
#mv {
  text-align: center;
  position: relative;
  margin: 0 auto;
  display: flex;
/*    flex-wrap: wrap;
  align-items: flex-start;*/
  background: #E95288;
  max-height: 430px;
}
#mv > div,
#mv > img{
  width: 50%;
  object-fit: cover;
}
#mv > div{
/*    background: #E95288;*/
  color: #fff;
  padding: 25px 10px;
  text-align: left;
  align-self: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  width: 50%;
  max-width: 500px;
  margin: 0 0 0 auto;
}
#mv h1 {
  font-size: calc(1.875rem + ((1vw - 6px) * 0.75));
  font-weight: normal;
  line-height: 1.3;
  margin-bottom: .3em;
  text-align: center;
}
#mv h1 .icn_manabi{
  vertical-align: -.3em;
  width: 2.8em;
}
#mv .lead{
  font-size: 23px;
  margin-bottom: 20px;
}
#mv p,
#mv .catch .lead{
  font-size: 20px;
  margin-bottom: 20px;
  letter-spacing: .15em;
}
#mv .lead{ font-weight: normal;}
#mv .title {
  width: 100%;
  height: 350px;
  overflow: hidden;
}
#mv .title video{ width: 100%;}
#mv .date img{ width: 270px;}

/*mv2 start*/
#mv2 p,
#mv2 .catch .lead{
/*    font-size: 18px;*/
  margin-bottom: 20px;
  letter-spacing: .15em;
  line-height: 2.3;
}
#mv2 h2{
  text-align: left;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
#mv2 h2::after{ content: none;}
#mv2 p + h2{ margin-top: 80px;}
/*mv2 end*/

#learning ul.learn_list {
  max-width: 700px;
  margin: 30px auto 0;
}

#learning ul.learn_list li {
  float: left;
  width: 28%;
  margin-bottom: 50px;
  position: relative;
}

#learning ul.learn_list li:not(.break) {
  margin-right: 8%;
}

#learning ul.learn_list li h3 {
  position: absolute;
  top:120px;
  width: 100%;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: center;
}

#learning ul.learn_list li p {
  position: absolute;
  bottom: 25px;
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
  padding: 0 10px;
  height: 3em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

#learning ul.learn_list li img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center center;
  font-family: 'object-fit: cover; object-position: center center;';
}

.learn_list02{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 700px;
  margin: 80px auto 0;
}
.learn_list02 > li{
  width: 28%;
  margin-bottom: 3em;
}
.learn_list02 h3{
  font-size: 1rem;
  color: #E95288;
  margin-top: 1em;
}
.learn_list02 h3::after{
  content: "";
  display: block;
  width: 3em;
  height: 2px;
  background: #E95288;
  margin: 1em auto 2em;
}
.learn_list02 p{
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: .05em;
}

.murinaku {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 30px;
}
.murinaku p {
  font-size: 23px;
  line-height: 1.8;
}
.murinaku p .num {
  vertical-align: bottom;
  padding-right: 5px;
}
.murinaku p .num img {
  width: 118px;
}
.murinaku > figure {
  width: 45%;
}

#osusume h3 {
  width: 100%;
  max-width: 508px;
  margin: 30px auto;
}
#osusume h3 img{ max-width: 100%;}
#osusume li {
  float: left;
  width: 145.6px;
  margin-bottom: 50px;
  position: relative;
}
#osusume li p {
  position: absolute;
  bottom: 0;
  width: 100%;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-size: 13px;
  color: #eb7846;
  text-align: center;
  margin-bottom: 5px;
}
#osusume li img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center center;
  font-family: 'object-fit: cover; object-position: center center;';
}
#osusume ul {
  width: 100%;
  max-width: 700px;
  margin: auto;
}
#osusume li:not(:last-child){ margin-right: 39.2px;}


#moshikomi .form_wrap{
  border: 2px solid #ea561f;
  padding: 25px;
  margin-bottom: 50px;
}
#moshikomi .form_wrap h2{
  color: #ea561f;
  border-bottom: 2px dotted #ea561f;
  font-size: 28px;
  padding-bottom: .6em;
  margin-bottom: 1em;
  letter-spacing: .1em;
  line-height: 1.5;
}
#moshikomi .form_wrap h2::after{ content: none;}
#moshikomi .form_wrap h2 .txt_s{ font-size: .8em;}

#moshikomi .form_wrap h3{
  text-align: left;
  font-size: 20px;
  margin-bottom: .6em;
}
#moshikomi .form_wrap h3 .ttl{
  background: #FD9827;
  color: #fff;
  padding: 5px;
  margin-right: .5em;
}

/* タブレット以下 */
@media screen and (max-width: 1024px) {
  .pc,.sp{ display: none;}
  .tab { display: inherit;}

  #head2{ height: 85px !important;}

  #breadcrumbs{ float: none;}
  
  #container{
    margin-top: 80px;
    overflow: hidden;
    width: 100%;
  }
  .lead{ font-size: 20px;}
  
  #mv{ letter-spacing: 0;}
  #mv > div { padding: 20px 10px;}
  #mv h1 {
    margin: 0 0 15px;
/*        font-size: 2.5em;*/
  }
  #mv p,
  #mv .lead{ font-size: 16px;}
  #mv .title h1{ top: 20%;}
  #mv ul.type li{
    font-size: 16px;
    margin-right: 10px;
  }
}


/* スマホ */
@media screen and (max-width: 599px) {
  body{
    font-size: 16px;
    line-height: 1.5;
  }
  .pc,.tab{ display: none !important;}
  .sp { display: inherit;}
  
  #breadcrumbs{ display: none;}
  .snsBtn { margin: 0}

  .text_l{ font-size: 1.15em;}

  section .inner{
    padding: 20px 16px;
    width: 100%;
  }
  section h2 {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 1.3;
    font-weight: bold;
  }
  section h2::after {
    width: 80px;
    margin: 15px auto 25px;
  }
  section h3{ font-size: 1.2rem}
  .lead{
    line-height: 1.5;
    font-size: 16px;
  }
  .main_conts .btn01 a{
    font-size: 16px;
    padding: 10px 5px;
    background: #ea5520 url(/images/common/arrow02.svg) 97% center/12px no-repeat;
    letter-spacing: .1em;
    margin: 30px auto 0;
    width: 100%;
  }
  .main_conts .btn02{
    background: #c6272d url(/images/common/arrow02.svg) 97% center/12px no-repeat;
    font-size: 18px;
    padding: 12px;
    letter-spacing: 0;
  }
  .main_conts .btn02::before{ left: 5px;}

  #mv{
    display: block;
    max-height: inherit;
  }
  #mv > div,
  #mv > img{ width: 100%;}
  #mv h1{
    font-size: 1.5em;
    margin-bottom: 0;
  }
  #mv .title{
    height: auto;
    position: absolute;
    top: 0;
    display: block;
    z-index: -1;
  }
  ul.type li {
    padding: 0 10px;
    border-radius: 5px;
    font-size: 13px;
  }
  #mv .title p.sp img{ width: 100%;}

  #mv p{
    font-size: 3.5vw;
    margin-bottom: 0;
    text-align: center;
    letter-spacing: 0;
  }
  #mv .lead{
    color: inherit;
    padding: 0 0 1em;
    letter-spacing: 0.1em;
    margin-bottom: 0;
    order: 0;
  }
  #mv .date img{ width: 75%;}
  
  #mv2 h2{
    font-size: 20px;
    line-height: 1.3;
    font-weight: bold;
  }
  #mv2 p{
    letter-spacing: 0;
    font-size: 16px;
    line-height: 1.5;
  }
  #mv2 p + h2{ margin-top: 0}

  section h3.line{
    font-size: 19px;
    margin-top: 20px;
    font-weight: bold;
  }
  section h3.line::before,
  section h3.line::after{ content: none;}
  
  div[class^="img_"]{ justify-content: center;}
  div[class^="img_"] > p,
  div[class^="img_"] > dl{
    width: 100%;
    line-height: 1.5;
  }
  div[class^="img_"] > img{
    width: 100%;
    padding-bottom: 1em;
    order: -1;
  }
  .img_l > img{ order: 1;}
  
  #learning ul.learn_list{ margin-top: 30px;}
  #learning ul.learn_list li {
    width: 45%;
    height: 190px;
    margin-bottom: 30px;
    background: #fff;
    position: relative;
    padding-top: 80px;
    padding-bottom: 10px;
    border-right: 2px solid #ea551f;
    border-bottom: 2px solid #ea551f;
  }
  #learning ul.learn_list li:not(.break){ margin-right: inherit;}
  #learning ul.learn_list li:nth-child(2n+1){ margin-right: 10%;}
  #learning ul.learn_list li h3 {
    position: static;
    font-size: 14px;
    padding-bottom: 1.5em;
  }
  #learning ul.learn_list li p {
    position:absolute;
    bottom: 20px;
    font-size: 11px;
    padding: 0;
  }
  #learning ul.learn_list li img {
    width: 60px;
    object-fit: inherit;
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    margin: auto;
  }

  .learn_list02{ margin-top: 30px;}
  #learning .learn_list02 > li{
    width: 45%;
    margin-right: 0;
    margin-bottom: 5em;
    font-size: 10px;
  }
  .learn_list02 h3 { font-size: 1.5em;}
  .learn_list02 h3::after{ margin-bottom: 1em;}
  
  .murinaku {
    width: 75%;
    margin: 0 auto;
  }
  .murinaku p {
    font-size: 14px;
    margin-top: 20px;
  }
  .murinaku p .num img{ width: 75px;}
  .murinaku > figure{ width: 100%;}
  
  #osusume li:not(:last-child){ margin-right: 0;}
  #osusume li:nth-child(2n+1){ margin-right: 8%;}
  #osusume li {
    width: 44%;
    margin-bottom: 30px;
  }

  #moshikomi .form_wrap{ padding: 3.5%;}
  #moshikomi .form_wrap h2{
    font-size: 1.4em;
    letter-spacing: 0;}
  #moshikomi .form_wrap h3{ font-size: 1.2em;}
}

@media screen and (max-width: 701px){
  .mt50{ margin-top: 50px !important;}
}

#osusume .ttl-line {
  position: relative;
  margin-top: 55px;
  color: #ea5520;
  font-size: 20px;
}
#osusume .ttl-line::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  display: block;
  width: 60%;
  height: 1px;
  background: #ea5520;
  content: '';
}
#osusume .ttl-line span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 20px;
  background: #fff;
}
.bg-pink #osusume .ttl-line span {
  background: #fef1f6;
}
@media screen and (max-width: 599px) {
  #osusume .ttl-line::after {
    width: 100%;
  }
}

/* student-graph */
.student-graph .students h3 {
  font-size: 23px;
  letter-spacing: normal;
}
.student-graph figure.graph01,
.student-graph figure.graph02 {
  width: 90%;
  margin: 40px auto 0;
}
.student-graph .students {
  display: inline-block;
  width: 48%;
  vertical-align: top;
}
.student-graph .students + .students {
  border-left: 1px dashed #ea5520;
}
.student-graph .students figure.graph01 .graph {
  width: 100%;
}
.student-graph .students figure.graph02 .graph {
  width: 55%;
  display: block;
  margin: 0 auto;
  font-weight: bold;
}
.student-graph .students figure[class^="graph"] figcaption {
  width: 100%;
  font-size: 20px;
  line-height: 1.6;
  padding-top: 30px;
  text-align: center;
}
.student-graph .students figure.graph01 figcaption {
  text-align: left;
}
.student-graph .students figure.graph02 figcaption .per {
  width: 180px;
  display: block;
  margin: -60px auto 20px;
}
.student-graph .no1_caution,
.student-graph .note {
  max-width: 90%;
  margin: 15px auto 0;
  font-size: 10px;
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .student-graph .students {
    margin-top: 0;
  }
  .student-graph .students h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 599px) {
  .student-graph {
    margin-top: 50px;
  }
  #osusume .student-graph h3{
    margin-top: 0;
  }
  .student-graph .students {
    width: 100%;
    padding-bottom: 30px;
  }
  .student-graph .students + .students {
    border-left: 0;
    border-top: 1px dashed #ea5520;
    padding-top: 30px;
  }
  .student-graph .students figure[class^="graph"] figcaption {
    font-size: 16px;
  }
}


.note-box {
  background-color: #fff;
  border: 1px solid #b6b6b6;
  margin: 20px auto 50px;
  padding: 30px 40px;
  max-width: 700px;
}
.note-box h3.ttl {
  border: none;
  font-size: 1.2em;
}
.note-box .txt {
  font-size: 16px;
}
@media screen and (max-width: 599px) {
  .note-box {
    padding: 20px;
  }
  .note-box .txt {
    font-size: 14px;
  }
}

#taiken h2 {
  position: relative;
}
#taiken h2 .free {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  color: #ea5520;
  font-size: 42px;
  border: 2px solid #ea5520;
  width: 147px;
  height: 147px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  margin: auto;
}

h3.style_none{
  color: #333 !important;
  border: 0 !important;
  display: inherit !important;
  font-size: 1em;
}
h3.style_none .ttl{
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 20px;
  display: block;
}
@media screen and (max-width: 599px) {
  h3.style_none .ttl {
    font-size: 16px;
  }
}


.btn a,
.btn input{
  letter-spacing: .05em;
  font-size: 1.8em;
}
.btn .orange,
.wrp .btn a.arrow01{
  background: #EA5520 url(/images/common/arrow02.svg) 98% center/.85em no-repeat;
}

.no-scroll {
  pointer-events: none;
}
.no-scroll a:hover {
  cursor: default;
}

.semiweb th,
.semiweb td{ font-size: .9em;}

.main_conts .btn02{ font-size: 16px;}

@media screen and (max-width: 599px){
  #taiken h2 .free {
    font-size: 20px;
    border: 2px solid #ea5520;
    width: 68px;
    height: 68px;
  }

  .wrp .btn a.arrow01 {
    font-size: .8rem;
  }

  .tab_content + p.up{ font-size: 1em;}

}

/* ------------------------------
entry
------------------------------ */
.entry {
  line-height: 1.8;
}
.entry .btn_entry {
  text-decoration: none;
}
.entry .btn_entry:link,
.entry .btn_entry:visited,
.entry .btn_entry:active {
  text-decoration: none;
}
