@charset "utf-8";
/*============================================

/index/sp_style.css

============================================*/

@media screen and (max-width:768px){

body {
  line-height: 19px;
}

/*::::::::::::::::::::::::::::::::::::::::::::

mainv

::::::::::::::::::::::::::::::::::::::::::::*/
.mainvBox{
  height: auto;
}
.mainvBox img{
  width: 100%;
  max-width:100%;
  position:static;
  margin-left:0;
}
img.pcBig,
img.pcMiddle{
  display: none;
}


.mainv .mainvBox .pickup {
  top: 55px;
  padding:10px 10px 7px;
}
.mainv .mainvBox .pickup dl {
  display: block;
  height: auto;
}
.mainv .mainvBox .pickup dl dt {
  padding:0;
  margin-right: 0;
  margin-bottom: 11px;
}
.mainv .mainvBox .pickup dl dt::before{
  content:none;
}
.mainv .mainvBox .pickup dl dt::after{
  width: 0;
  height: 0;
  border-top: 10px solid #ff7b7b;
  border-right: 10px solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 10px solid transparent;
  background:none;
  top: auto;
  right: auto;
  left: 50%;
  bottom: -10px;
  transform: translate(-50%,0);
}
.mainv .mainvBox .pickup dl dt span {
  font-size: 11px;
  padding: 5px 5px 4px;
  display: block;
  height: auto;
  text-align: center;
}
.mainv .mainvBox .pickup dl dd {
  display: block;
  font-size: 11.5px;
  height: auto;
  text-align: center;
  letter-spacing: 1px;
}
.mainv .mainvBox .pickup dl dd a:hover{
  text-decoration: underline;
}



.mainv .mainNav {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size:16px;
  bottom: -25px;
  height: auto;
  width: calc( 100% - 60px );
}
.mainv .mainNav li,
.mainv .mainNav > li:nth-child(2) {
  width: 50%;
}
.mainv .mainNav li.listMenu01 {
  margin:0 25%;
  border-bottom: none;
}
.mainv .mainNav li.listMenu02 {
  border-left: 1px solid #dedede;
}
.mainv .mainNav li.listMenu02,
.mainv .mainNav li.listMenu04,
.mainv .mainNav li.listMenu05{
  width: 33.33333%;
}
.mainv .mainNav.cell04 > li{
  width: 50% !important;
}
.mainv .mainNav li a{
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.mainv .mainNav li a {
  height: 50px;
  padding:0 5px;
  font-size: 12px;
}
.mainv .mainNav li a.icon02:before,
.mainv .mainNav li a.icon04:before,
.mainv .mainNav li a.icon05:before{
  margin:0 0 2px;
  height: 20px;
  width: 15px;
}
.mainv .mainNav li a.icon03:before,
.mainv .mainNav li a.icon01:before{
  margin:0;
  height: 20px;
  width: 15px;
}
/*
.mainv .mainNav li a.titleLink:after{
  position: absolute;
  bottom: -0px;
  left: 0;
  content: '';
  width: 100%;
  height: 4px;
  background: #014099;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}
.mainv .mainNav li a.titleLink:hover:after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}
*/
.mainv .mainNav li a.titleLink:hover{
  color: #31353b;
}


/*::::::::::::::::::::::::::::::::::::::::::::

block01

::::::::::::::::::::::::::::::::::::::::::::*/
.block01{
  padding:90px 0 60px;
}


/*::::::::::::::::::::::::::::::::::::::::::::

block02

::::::::::::::::::::::::::::::::::::::::::::*/
.block02{
  padding:60px 0 15px;
}
.block02 img.ob{
  display: none;
}
.block02 .topTitle{
  margin-bottom: 20px
}
/*タブcss STERT*/

/*------------------------------
tabArea（選択部分）
------------------------------*/
.allArea .tabArea li{
  max-width: 157px;
}
.allArea .tabArea li.select:after{
  z-index: 3;
}
.allArea .tabArea li span:before{
  margin-right: 10px;
}
.allArea .tabArea li a{
  font-size: 10px;
  letter-spacing: 1px;
  height: 30px;
}
.allArea .tabArea li.select a{
  height: 40px;
}
.allArea .tabArea li a span{
  display: flex;
  align-items: center;
  justify-content: center;
}
.allArea .tabArea li.ttl01 span:before {
  width: 17.5px;
  height: 14px;
  background: url(../../img/common/icon03.png) no-repeat left center;
  background-size: 100% auto;
  display: block;
  margin: 0 10px 0 0;
}
.allArea .tabArea li.ttl02 span:before {
  width: 16.5px;
  height: 15px;
  background: url(../../img/common/icon04.png) no-repeat left center;
  background-size: 100% auto;
  display: block;
  margin: 0 10px 0 0;
}
/*------------------------------
contentArea（中身）
------------------------------*/
.allArea .contentArea {
  display: none;
  background:#fff;
  border: 5px solid #f5f5f5;
  padding:20px 10px 10px;
  position: relative;
  z-index: 2;
}
/*------------------------------
topText（中身 上部テキスト）
------------------------------*/
.topText {
  margin:0 auto 20px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 0;
}
.topText h3 {
  font-size: 10px;
  letter-spacing: 2px;
  padding-left: 0;
  min-width: 60px;
  width: 90px;
  text-align: center;
}
.topText h3:before {
  display:block;
  margin:0 0 10px;
  position:static;
}
.contentArea01 .topText h3:before {
  width: 56px;
  height: 40px;
  margin:0 auto 10px;
}
.contentArea02 .topText h3:before {
  width: 56px;
  height: 40px;
  margin:0 auto 10px;
}
.topText h3 span {
  font-size: 11px;
}
.topText p {
  max-width: none;
  width: calc( 100% - 95px );
  padding-right: 0;
}
/*------------------------------
flow（中身 リンク）
------------------------------*/
.flow .flowImg {
  display: none;
}
/*----- flowBox -----*/
.block02 .contentArea .flow .flowMain .flowBox {
  border-radius: 0;
  padding: 15px;
  display: block;
}
.block02 .contentArea .flow .flowMain .flowBox .boxtitle {
  font-size: 13px;
  -webkit-writing-mode: lr-tb !important;
  -ms-writing-mode: lr-tb !important;
  writing-mode: lr-tb !important;
  margin: 0;
  position: relative;
  width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox > .boxtitle:after{
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
}
.block02 .contentArea .flow .flowMain .flowBox > .boxtitle.open:after {
  border: none;
  border-bottom: 2px solid;
  border-left: 2px solid;
  margin-top: -5px;
}
.block02 .contentArea .flow .flowMain .flowBox .acd{
  /* margin-top:5px; */
  display: none;
}
.block02 .contentArea .flow .flowMain .flowBox02 .acd{
  display:block;
  display: none;
}
.block02 .contentArea .flow .flowMain .flowBox02 .acd .box01{
  width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox02 .acd .box01 .text{
  min-width: auto;
  align-items: flex-start;
}
.block02 .contentArea .flow .flowMain .flowBox02 table td .inner .text ul li {
  margin-bottom: 10px;
  text-align: left;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox{
  margin:15px 0 0;
  width:100%;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox .box{
  display: block;
  padding: 13px 15px 10px;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox .box .boxtitle{
  font-size: 13px;
  margin: 0 0 0;
  padding-top: 5px;
  text-align: left;
  width: 100%;
  height: auto;
  justify-content: flex-start;
  padding: 2px 0 0 25px;
  background-size: 18px auto;
  line-height: 1;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox .box .boxtitle br{
  display: none;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox .box .boxtitle:before {
  margin: 0 10px 0 0;
  position: static;
  vertical-align: bottom;
  margin: 0 10px 0 0 !important;
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox .box .boxtitle {
    width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox table td{
  width: calc( (100% - 10px) / 3 );
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox table tr{
  display: block;
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox table td{
  width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox02 .rightBox table td .inner .text .title{
  text-align: center;
  font-size: 12px;
}
.block02 .contentArea .flow .flowMain .flowBox table,
.block02 .contentArea .flow .flowMain .flowBox tbody,
.block02 .contentArea .flow .flowMain .flowBox tr{
  display: block;
}
.block02 .contentArea .flow .flowMain .flowBox table {
  width:100%;
  border-spacing: 0;
  display: block;
}
/* safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root .block02 .contentArea .flow .flowMain .flowBox table {
      width: 100%;
    }
    _::-webkit-full-page-media, _:future, :root .block02 .contentArea02 .flow .flowMain .flowBox table {
      width: 100%;
    }
}
.block02 .contentArea .flow .flowMain .flowBox01 table {
  max-width: none;
  width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox02 table{
  display: block !important;
}
.block02 .contentArea .flow .flowMain .flowBox02 .box01 table{
  display: table; 
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .box03 table,
.block02 .contentArea02 .flow .flowMain .flowBox02 .box04 table {
  min-height: auto;
}
.block02 .contentArea .flow .flowMain .flowBox table tr{
  display: flex;
  justify-content: space-between;
}
.block02 .contentArea .flow .flowMain .flowBox01 table td.first{
  width: 100%;
}
.block02 .contentArea .flow .flowMain .flowBox table td {
  display: block;
  margin-top:10px;
  width: 100%;
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox .box03 table tr:nth-child(2) td a {
  line-height: 17px;
}
.block02 .contentArea .flow .flowMain .flowBox table td .inner{
  border-radius: 5px;
}
.block02 .contentArea .flow .flowMain .flowBox table td .inner .level{
  display: flex;
}
.block02 .contentArea .flow .flowMain .flowBox table td .inner .text{
  padding: 13px 10px 10px;  
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox  table td .inner .text{
  align-items: flex-start;
}
.block02 .contentArea02 .flow .flowMain .flowBox02 .rightBox  table td .inner .text .title{
  text-align: left;
}


.block02 .contentArea .flow .flowMain .flowBox table td .inner .text .title{
  width: 100%;
  text-align: left;
}
/*
.block02 .contentArea .flow .flowMain .flowBox .acd .box .text br{
  display: none;
}
*/
.block02 .contentArea .flow .flowMain .flowBox01 table td a.inner:hover{
  background:#fff;
  color:#ea8282;
}
.block02 .contentArea .flow .flowMain .flowBox02 table td a.inner:hover{
  background:#fff;
  color:#30a6df;
}
.block02 .contentArea02 .flow .flowMain .flowBox02 table td a.inner:hover{
  background:#fff;
  color:#35b597;
}
.block02 .contentArea .flow .flowMain .flowBox table td .inner .text ul li a:hover{
  text-decoration:none;
}

/*------------------------------
flow（中身 オンライン講座）
------------------------------*/
.online {
  width: calc( 100% - 30px );
  margin: 5px auto 40px;
}
.online a{
  border-radius:0;
  background:#f9f6e7;
  display: block;
  padding: 0;
}
.online a:hover{
  opacity: 1;
}





.online__title{
  width: 100%;
  height: 40px;
  font-size: 14px;
}
.online__title::before{
  top: auto;
  right: auto;
  left: 50%;
  bottom: -15px;
  transform: rotate(0deg) translate(0px, -50%);
}
.online__title img{
  width: 18px;
  margin-top: 2px;
}
.online__text{
  width: 100%;
  padding: 25px 40px 25px 25px;
  display: flex;
  align-items: center;
  background: #f9f6e7 url(../../img/index/online_icon02.svg) no-repeat right 10px center;
}
.online h3 {
  font-size: 14px;
  margin: 5px 5% 0 0;
  min-width: 80px;
  text-align: center;
  line-height: 15px;
  letter-spacing: 0;
}
.online h3:before{
  content: "";
  display: block;
  width: 60px;
  height: 35px;
  background: url(../../img/index/img10.png) no-repeat;
  background-size: 100% auto;
  margin: 0 auto 5px;
}
.online h3 span{
  display: block;
  font-size: 11px;
}
.online p {
  line-height: 19px;
  font-size: 11px;
}

.simulation {
  width: calc( 100% - 30px );
  margin: 0 auto 50px;
}
/*タブcss END*/


/*::::::::::::::::::::::::::::::::::::::::::::

block03

::::::::::::::::::::::::::::::::::::::::::::*/
.block03 {
  padding:60px 0;
}
.block03 h2.topTitle{
  margin-bottom: 30px;
}
.block03 h2.topTitle:before{
  background-size: 100% auto;
}
.block03 h2.topTitle:after{
  background-size: 100% auto;
}
.block03 p.read {
  text-align:left;
  font-size: 13px;
  line-height: 24px;
}
.block03 p.read br{
  display: none;
}
.block03 ul {
  display:block;
  margin-top:30px;
}
.block03 ul li {
  width: 100%;
  margin-bottom: 5px;
}
.block03 ul li a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: inherit;
          flex-flow: inherit;
  padding: 15px 15px 15px 0px;
  min-height: auto;
}
.block03 ul .type01 a,
.block03 ul .type02 a,
.block03 ul .type03 a{background:#fff}
.block03 ul li a:hover{
  border-color:#fff;
}
.block03 ul li a h3 {
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom:0;
  width: 100%;
  min-width: 100px;
  text-align: center;
  padding-top: 5px;
}
.block03 ul li a h3:before{
  content: "";
  display: block;
  width: 60px;
  height: 45px;
  margin: 0 auto 5px;
}
.block03 ul .type01 a h3:before{
  background:url(../../img/index/img01.png) no-repeat;
  background-size: 100% auto;
}
.block03 ul .type02 a h3:before{
  background:url(../../img/index/img02.png) no-repeat;
  background-size: 100% auto;
}
.block03 ul .type03 a h3:before{
  background:url(../../img/index/img03.png) no-repeat;
  background-size: 100% auto;
}
.block03 ul li a h3 span {
  font-size: 11px;
}
.block03 ul li a p {
  text-align:left;
}
.block03 ul li a p br{
  display: none;
}
.block03 ul li a .more {
  display: none;
}


/*::::::::::::::::::::::::::::::::::::::::::::

block04

::::::::::::::::::::::::::::::::::::::::::::*/
.block04 {
  padding:60px 0 20px;
}
.block04 .topTitle {
  margin-bottom: 20px;
  position: relative;
  padding: 0 50px;
}
.block04 .topTitle span{
  font-size: 16px;
}
.block04 .topTitle:before {
  position:absolute;
  left: 20px;
  top: 50%;
  margin-top:-5px;
}
.block04 .topTitle:after {
  position:absolute;
  right: 20px;
  top: 50%;
  margin-top:-5px;
}
.block04 .read {
  font-size: 13px;
  line-height: 24px;
  text-align:left;
  margin-bottom:23px;
  padding: 0 7%;
}
.block04__image {
  margin-bottom: 24px;
  width: 90%;
}
.block04__business {
  height: auto;
  display: block;
  margin: 0 auto 35px;
  background: none;
  width: 90%;
}
.block04__businessTitle {
  background: #ecf1f8;
  width: 100%;
  display: block;
  padding: 12px 10px 15px;
}
.block04__businessTitle h3 {
  font-size: 17px;
  padding-left: 0;
}
.block04__businessTitle p {
  font-size: 14px;
  line-height: 25px;
  padding-left: 0;
}
.block04__businessDetails {
  padding: 16px 4% 22px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}
/*
.block04 ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 10px;
}
.block04 ul li {
  width: calc( 50% - 20px );
  margin:0 0 15px;
}
.block04 ul li.box01{
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.block04 ul li.box02{
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
}
.block04 ul li.box03{
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.block04 ul li h3 {
  font-size: 13px;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
  height: 36px;
  line-height: 18px;
}
.block04 ul li h3 em{
  font-size: 13px;
}
.block04 ul li p {
  font-size: 10px;
  margin-top: 5px;
}
.block04 ul li.box02 img{
  width:calc( 50% - 20px );
}
_:-ms-lang(x), .block04 ul li img { height: calc( 100% - 60px ); }
.block04 ul li.box02 h3{
  align-items: flex-end;
}
*/
/*::::::::::::::::::::::::::::::::::::::::::::

block05

::::::::::::::::::::::::::::::::::::::::::::*/
.block05 {
  padding:60px 0;
}
.block05 .topTitle {
  margin-bottom:40px;
}
.block05 .btn01 {
  margin-top: 50px;
}


/*::::::::::::::::::::::::::::::::::::::::::::

block06

::::::::::::::::::::::::::::::::::::::::::::*/
.block06 {
  padding:60px 0 40px;
}
.block06 .topTitle {
  margin-bottom:40px;
}
.block06 .aboutBox {
  display: block;
}
.block06 .aboutBox li {
  margin:20px 0 0; 
}
.block06 .aboutBox li a .thumbnail{
  height: 75px;
}
.block06 .aboutBox li a .thumbnail .iconText span br{
  display: none;
}
.block06 .aboutBox li.type01 a .thumbnail .iconText span{
  background:none;
  padding-top:0;
}
.block06 .aboutBox li.type02 a .thumbnail .iconText span{
  background:none;
  padding-top:0;
}
.block06 .aboutBox li.type03 a .thumbnail .iconText span{
  background:none;
  padding-top:0;
}
.block06 .aboutBox li a .thumbnail .iconText span:before{
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  margin-right:10px;
  vertical-align: middle;
}
.block06 .aboutBox li.type01 a .thumbnail .iconText span:before{
  background: url(../../img/common/icon08.png) no-repeat top center;
  background-size:100% auto;
}
.block06 .aboutBox li.type02 a .thumbnail .iconText span:before{
  background: url(../../img/common/icon09.png) no-repeat top center;
  background-size:100% auto;
}
.block06 .aboutBox li.type03 a .thumbnail .iconText span:before{
  background: url(../../img/common/icon10.png) no-repeat top center;
  background-size:100% auto;
}
.block06 .aboutBox li .text {
  margin-top: 10px;
  text-align: left;
  font-size: 13px;
  line-height: 24px;
}
.block06 .aboutBox li .text br {
  display: none;
}
.block06 .snsBox {
  margin:40px 0 60px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.block06 .snsBox li {
  margin:3px;
}
.block06 .snsBox li a {
  border-radius: 3px;
  max-width: 90px;
  height: 30px;
}
.block06 .snsBox li a:hover {
  opacity: 1;
}
.block06 .snsBox li.twitter a:before{
  width: 10px;
  background: url(../../img/common/sns_icon01.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 7px;  
}
.block06 .snsBox li.facebook a:before{
  width: 6px;
  background: url(../../img/common/sns_icon02.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 7px;  
}
.block06 .snsBox li.youtube a:before{
  width: 9px;
  background: url(../../img/common/sns_icon03.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 7px;  
}
.block06 .bannerBox {
  display:block;
  margin: 35px auto 10px;
}
.block06 .bannerBox li {
  margin:10px auto;
  max-width: 300px;
}
.block06 .bannerBox li a::after{
  border: 2px solid #014099;
  transition:none;
}
.block06 .bannerBox li a:hover::after{
  border-width: 2px;
  transition:none;
}


/*::::::::::::::::::::::::::::::::::::::::::::

block07

::::::::::::::::::::::::::::::::::::::::::::*/
.block07 .topTitle{
  margin-bottom: 25px;
}
.block07 .course__slide {
  width: 98%;
  margin: 0px auto 35px;
}
.block07 .course__slideNav {
  margin-top: 25px;
}
.block07 .course__link ul {
  display: block;
}
.block07 .course__link ul li {
  width: 250px;
  margin: 0 auto;
}
.block07 .course__link ul li:not(:last-of-type) {
  margin: 0 auto 5px;
}

.beginnersguide {
    width: calc( 100% - 30px );
    margin: 60px auto 0px;
}

/*CSS END*/
}
