@charset "UTF-8";



@font-face {
    font-family: pageico;
    font-weight: 400;
    font-style: normal;
    src: url(../../../../common/fonts/iconset.woff) format("woff"),url(../../../../common/fonts/iconset.ttf) format("truetype");
}





#container {
  text-align: justify;
  text-justify: inter-ideograph;
}
#contents .inner {
  max-width: 1024px;
}

ol.caution li {
  padding-left: 1.0em;
  text-indent: -1.0em;
  margin-top: 4px;
}
.button {
  display: block;
  border-style: solid;
  border-width: 1px;
  position: relative;
  -webkit-border-radius: 0;
          border-radius: 0;
  -webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,.1);
          box-shadow: 3px 3px 0px 0px rgba(0,0,0,.1);
  margin-bottom: 3px;
  min-width: 0;
  padding: 22px 20px 20px 10px;
  transition: .6s;
}
.button:hover {
  box-shadow: 3px 3px 5px rgba(0,0,0,.5) inset;
}
.button:before,
.button:after {
  position: absolute;
  top: 50%;
  margin-top: -9px;
  font-family: iconset;
  font-size:22px;
  font-size:2.2rem;
  z-index:  2;
  font-weight: normal;
  line-height: 1;
}
.button.arrR:after {
  content: "\e91f";
  right: 5px;
}
.button.arrD:after {
  content: "\e91e";
  right: 7px;
}
.button.WHT {
  background: #FFF;
  color: #0e2a62;
  border-color: #0E2A62;
}
.button.PNK {
  background: #db1950;
  color: #fff;
  border-color: #db1950;
}
a.button.WHT:after {
  color: #0e2a62;
}
a.button.PNK:after {
  color: #fff;
}

.y_line{background:linear-gradient(transparent 60%, #ff6 60%, #ff6 80%, transparent 90%);}
.p_line{background:linear-gradient(transparent 60%, #ffb5c5 60%, #ffb5c5 80%, transparent 80%);}

.btn {
  padding: 0!important;
}
.btn.line {
  background: #FFF;
  -webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,.1);
          box-shadow: 3px 3px 0px 0px rgba(0,0,0,.1);
  margin-bottom: 5px;
  opacity: 1!important;
}
.btn.line:hover {
  -webkit-box-shadow: 0 0 0 0;
          box-shadow: 0 0 0 0;
  transition:0s;
}
.button.line {
  overflow: hidden;
  padding-top:  18px;
  padding-bottom: 18px;
  color: #fff;
  margin-bottom: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}
.button.line:after {
  font-size:24px;
  font-size:2.4rem;
  margin-top:   -12px;
}
.button.line span {
  display: block;
  position: relative;
  z-index:  3;
  font-weight: bold;
  font-size:18px;
  font-size:1.8rem;
  text-align: center;
}
.button-list.feature .button.line span {
  font-size:14px;
  font-size:1.4rem;
}
.button.line:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 600px 50px 0;
  margin-top: 0;
  top: 5px;
  left: auto;
  right: 0;
  border-color: transparent;
  z-index:  0;
}
.button.line.LBLU {
  background: #364e7d;
  pointer-events:auto;
}
.button.line.LBLU:before {
  border-right-color: #102c63;
}
.button.line.LBLU:hover {
  background: #102c63;
  transition:0s;
}
.button.line.LBLU:hover:before {
  border-right-color: #031944;
}
.button.line.LPNK {
  background: #db1950;
  pointer-events:auto;
}
.button.line.LPNK:before {
  border-right-color: #c8184a;
}
.button.line.LPNK:hover {
  background: #ab1540;
  transition:0s;
}
.button.line.LPNK:hover:before {
  border-right-color: #8c1134;
}
.button.line.LGRY {
  background: #ffffff;
  color: #1D376B;
}
.button.line.LGRY:before {
  border-right-color: #eaeaea;
}
.button.ico-calendar span,
.button.ico-pdf span,
.button.ico-book span{
  padding-left:  50px;
  padding-right:  10px;
}
.button.ico-mv span {
  padding-left:  30px;
  padding-right:  10px;
}
.button.ico-calendar span:before,
.button.ico-pdf span:before,
.button.ico-book span:before,
.button.ico-mv span:before {
  content: "";
  position: absolute;
  top:  50%;
  left: 5px;
  background-position: 0 0;
  background-repeat: no-repeat;
  -webkit-background-size:  100% auto;
       -o-background-size:  100% auto;
          background-size:  100% auto;
  width: 45px;
  height: 45px;
  margin-top: -22px;
}

.button.ico-calendar span:before {
  background-image: url(../images/ico_calendar.png);
}
.button.ico-pdf span:before {
  background-image: url(../images/ico_pdf.png);
}
.button.ico-book span:before {
  background-image: url(../images/ico_book.png);
}
.button.ico-mv span:before {
  background-image: url(../../image/2024/ico_movie.png);
  width: 29px;
  height: 24px;
  margin-top: -12px;
}

.button.ico-mv:after {
  color: #1d376b;
}
.button-list {
  display: table;
  width: 100%;
  word-spacing: -1em;
}
.feature.button-list {
  width: 102%;
  margin-left: -1%;
}
.button-list li {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
}

.button-list.vertical li{
  display: block;
}
.button-list.vertical li ~ li {margin-top: 10px;}

.btnPNK {
  display: inline-block;
  border: #d12828 1px solid;
  -webkit-border-radius: 5px;
          border-radius: 5px;
background: -webkit-linear-gradient(top,  #e85c69 0%,#c5383d 100%);
background: linear-gradient(to bottom,  #e85c69 0%,#c5383d 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e85c69', endColorstr='#c5383d',GradientType=0 );
  color: #FFF!important;
  text-align: center;
  padding: 10px 38px 10px 20px;
  position: relative;
  font-weight: bold;
}
.btnPNK:after {
  content: "\e901";
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -8px;
  font-family: iconset;
  font-size:16px;
  font-size:1.6rem;
  z-index:  2;
  font-weight: normal;
  line-height: 1;
}



.title-bar {
  background: #344e7f;
  position: relative;
  line-height: 1.3;
  font-size:32px;
  font-size:3.2rem;
  text-align: center;
  color: #fff;
}
.title-bar .ttl {
  padding: 8px 0;
}
.title-bar:after {
  content: "";
  position: absolute;
  bottom:-18px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #344e7f transparent transparent transparent;
  margin-left: -20px;
}
.title-bar.sub {
  background: #94aad0;
  position: relative;
  line-height: 1.3;
  font-size:32px;
  font-size:3.2rem;
  text-align: center;
  color: #fff;
}
.title-bar.sub .ttl {
  padding: 8px 0;
}
.title-bar.sub:after {
  display: none;
}
.section {
  padding-top: 60px;
  padding-bottom: 60px;
}
.section.BLU {
  background: url(../images/bg_course.png) repeat 0 0;
}

.fntMin {
  font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", serif,Helvetica;
}
.colPNK {
  color: #e94670 !important;
}
.colPPL {
  color: #a81255 !important;
}
.colRED {
  color: #c90000 !important;
}
.point-list {
  font-size:18px;
  font-size: 1.8rem;
}
.point-list li {
  border-bottom: #3a5280 1px dashed;
  padding-bottom: 2px;
  margin-top:   20px!important;
  padding-left: 1.2em!important;
  text-indent: -1.2em!important;
  font-weight:  bold;
}
.point-list li span {
  font-weight:  bold;
}
.text-indent_p{
  padding-left: 1em;
  text-indent: -1em;
}
.colBLU_s{
	color:#2a6be3;
}


.notes_info{
  background:#de0000;
  width:800px;
  max-width:100%;
  margin:0 auto;
  padding:1px;
  text-align:center;
  color:#fff;
  font-size:24px;
  font-size:2.4rem;
}
.notes_info h5{
  padding:1%;
}
.notes_info p{
  background:#fff;
  padding:3% 5%;
  color:#000;
}
.notes_info a{
  color:#de0000;
  text-decoration:underline;
}

sup{vertical-align:top; font-size:50%;}







.btn-stage_pink {
  margin: 20px auto 0;
  width:550px;
  height:100px;
}
.btn-stage_pink a{
  display:block;
  width:100%;
  height:100%;
  pointer-events:auto;
  position:relative;
  box-shadow: 0 5px 0 #ddd;
  border:1px solid #db1950;
  border-radius:5px;
  background:url(../images/img_btn-stage.png) no-repeat center/auto #db1950;
}
.btn-stage_pink a:hover {
  box-shadow: 0 5px 5px #443838 inset;
  background-color: #ad1540;
}
.btn-stage_pink a > span{
  display:inline-block;
  width:100%;
  font-size:16px;
  font-size:1.6rem;
  color:#fff;
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}
.btn-stage_pink a .bold{
  font-size:20px;
  font-size:2rem;  
}

/*=====================================*/
/* メインエリア */
/*=====================================*/
.main-area {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url(../images/main_bg.jpg) repeat-x top center;
}
.main-area .inner {
  position: relative;
  max-width: 1700px !important;
  min-width: 980px !important;
  padding:0;
  border-bottom: 5px solid #344e7f;
}

.main-area .title {
  margin: 0 auto;
  padding: 0px 0 0px;
  width: 100%;
  position: relative;
}

.main-area .btn-faq {
  position: absolute;
    width: auto;
    max-width:190px;
    top: 4%;
    right: 2%;
}
.main-area .btn-privilege {
  position: absolute;
  width:35%;
  max-width: 390px;
  bottom: 3%;
  right: 2%;
}

.main-area .btn-stage {
  position: absolute;
  display:block;
  top: 0;
  right: 14%;
  width:12%;
  max-width:190px;
}
.main-area .btn-tax {
  position: absolute;
  display:block;
  top: 0;
  right: 1.5%;
  width:12%;
  max-width:190px;
}

.main-area > .inner a:hover {
  display: inline-block;
  background:#ccc;
  box-shadow:2px 2px 5px #000 inset;
}



/*=====================================*/
/* アンカーナビ */
/*=====================================*/

.main-anchor_area{
  width: 100%;
  min-width: 980px;
}
.main-anchor_area.fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    background: #fff;
}

.main-anchor_area .anchor-area .inner {
    width: 100% !important;
    max-width: 1400px !important;
    padding: 0;
}
.main-anchor_area .anchor-nav {
  width: 100%;
  word-spacing: -1em;
  margin: 10px auto;
  text-align:center;
  min-width: 100%;
}
.main-anchor_area .anchor-nav li {
  display: inline-block;
  width: calc((100% - 2%) / 8);
  vertical-align:bottom;
}
.main-anchor_area .anchor-nav li:not(:last-child) {
  margin-right:0.2%;
}
.main-anchor_area .anchor-nav li a {
  display: block;
  background:#344e7f;
  height:3em;
  border-radius:5px;
  position:relative;
}
.main-anchor_area .anchor-nav li a > span{
  display:inline-block;
  width: 100%;
  font-weight:bold;
  font-size: 12px;
  font-size: 1.2rem;
  color:#fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}



/*=====================================*/
/* intro */
/*=====================================*/
#zeirishi-intro {
  background: url(../images/bg_intro.png) repeat 0 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
#zeirishi-intro .caution {
  margin-top: 15px;
}

#zeirishi-intro .close_Info {
  max-width: 950px;
  margin: 0 auto 20px;    
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  padding: 15px 15px 10px;    
  color: #f9f996;
  background: #ea5549;
}   

.intro-lead {
  max-width: 950px;
  margin: 0 auto 0;
  color: #041D4F;
}
.intro-lead .title {
  font-size:42px;
  font-size:4.2rem;
  font-weight: bold;
  text-align: center;
}
.intro-lead .txt {
  line-height: 2;
  font-size:16px;
  font-size:1.6rem;
  margin-top: 10px;
}
.intro-lead .txt p ~ p {margin-top: .8em;}
.intro-contents {
  margin-top: 30px;
}
.pack-box .box.standard {
  width: 52.9296875%;
  float: left;
  position: relative;
  text-align:center;
}

.pack-box .box.standard:after {
  content: "";
  display: block;
  background: url(../images/img_intro_plus.png) no-repeat left top/contain;
  width: 8%;
  height: 66px;
  position: absolute;
  top: 30px;
  right: -10%;
}
.pack-box .box.standard h3{
  background:#3883c8;
  color:#fff;
  font-weight:bold;
  font-size:30px;
  font-size:3rem;
}
.pack-box .box.standard .wrap{
  background: #FFF;
  padding: 5% 20px;
  position: relative;
}
.pack-box .box.standard .movie-area .img_box{
  position:relative;
  min-height:240px;
}
.pack-box .box.standard .movie-area .img_box.box01{
  width: 43%;
  float: left;
}
.pack-box .box.standard .movie-area .img_box.box02 {
  width: 50%;
  float: right;
}
.pack-box .box.standard .movie-area .img_box.box01:after{
  content:"\00d7";
  display:inline-block;
  font-size:24px;
  color:#0e2a62;
  position:absolute;
  top:30%;
  right:-22px;
}
.pack-box .box.standard .movie-area .img_box .txt{
  font-size:18px;
  font-size:1.8rem;
  color:#0e2a62;
  font-weight:bold;
  display:block;
  width:100%;
  position:absolute;
  bottom:0;
  left:50%;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}
.pack-box .box.standard .movie-area .img_box.box02 .txt{
  width:120%;
}
.pack-box .box.standard .movie-area .img_box .txt span{
  font-size:22px;
  font-size:2.2rem;
  font-weight:bold;
}

.pack-box .box.standard .full-pack {
  margin-top: 15px;
}
.pack-box .box.standard .full-pack .ttl{
  color:#0e2a62;
  font-weight:bold;
  font-size:30px;
  font-size:3rem;
  padding-left:5%;
}
.pack-box .box.standard .full-pack .ttl span{
  font-weight:bold;
  font-size:14px;
  font-size:1.4rem;
}
.pack-box .box.standard .full-pack .ttl .ttl_sub{
  display:block;
  background:#d0d9ea;
  margin-left:-5%;
  margin-bottom:10px;
}
.pack-box .box.standard .full-pack .button-list {
  margin-top: 10px;
}
.pack-box .box.standard .full-pack .button-list li {
  width: 49%;
  margin-left: 2%;
}
.pack-box .box.standard .full-pack .button-list li:first-child {
  margin-left: 0;
}


.pack-box .box.option {
  width: 40.45%;
  float: right;
  text-align:center;
}

.pack-box .box.option .intro-addtion span{
  font-size:16px;
  font-size:1.6rem;
  font-weight:bold;
  color:#0e2a62;
}
.pack-box .box.option .premium-pack {
  background: #040E22;
  -webkit-box-shadow: 0px 0px 0px 15px #040E22;
          box-shadow: 0px 0px 0px 15px #040E22;
  padding: 2%;
  margin-top:4%;
  text-align: center;
}

.pack-box .box.option .premium-pack h3{
  color:#c9ad4f;
  font-weight:bold;
  font-size:36px;
  font-size:3.6rem;
}
.pack-box .box.option .premium-pack .premium-pack_box .item-name{
  color:#fff;
  font-weight:bold;
  font-size:30px;
  font-size:3rem;
  letter-spacing:-0.03em;
}
.pack-box .box.option .premium-pack .premium-pack_box .item-name span{
  font-weight:bold;
  font-size:14px;
  font-size:1.4rem;
}
.pack-box .box.option .premium-pack .premium-pack_box .item-name .ttl_sub{
  display:block;
  background:#3e475b;
  color:#fff;
  margin-bottom:10px;
}

.pack-box .box.option .premium-pack_box .button-list {
  margin-top: 10px;
}
.pack-box .box.option .premium-pack_box .button-list li {
  width: 49%;
}
.premium-pack_box .button-list li:first-child {
  margin-left: 0;
  margin-right:2%
}
.premium-pack_box .button {
  border-color: #040e22;
}

/*=====================================*/
/* problem */
/*=====================================*/
.problem-box {
  background-repeat: no-repeat;
  background-position: center top;
  -webkit-background-size: cover;
          background-size: cover;

}

.problem-box .inner {
  text-align: center;
}
.problem-box.YEL {
  background-image: url(../images/bg_support.png);
  padding-bottom:100px;
  padding-top: 30px;
}
.problem-box.BLU {
  background-image: url(../images/bg_prob.png);
  padding-top: 60px;
}
.problem-box.YEL .inner {
  margin-top: -30px;
}
.problem-box .problem-comment {
  position: relative;
}
.problem-box .problem-chatc {
  margin-top: 30px;
  font-size: 35px;
  font-size: 3.5rem;
  color:#0e2a62;
}
.problem-box .problem-chatc .theme_txt{
  font-size: 50px;
  font-size: 5rem;
}
/*=====================================*/
/* feature */
/*=====================================*/
.feature-catch-area {
  text-align: center;
}
.feature-catch {
  font-size:28px;
  font-size:2.8rem;
  font-weight: bold;
  color: #08376f;
}
.feature-catch-area .ttl {
  font-size:68px;
  font-size:6.8rem;
  font-weight: bold;
  color: #08376f;
  margin-top: 10px;
}
.feature-catch-area ol{
  width:80%;
  margin:0 auto;
}
.feature-catch-area li {
  font-size:18px;
  font-size:1.8rem;
  margin-top: 10px;
  text-align:left;
}

.feature-flow {
  margin-top: 5px;
  text-align:center;
}
.feature-flow h4{
  margin-top: 15px;
  font-size:30px;
  font-size:3rem;
  color: #08376f; 
}
.feature-flow .feature_detail{
  margin:10px auto;
  background:#fff;
  padding:2%;
  width:80%;
}
.feature-flow .feature_detail p{
  display:inline-block;
  width:65%;
  font-weight:bold;
  color: #08376f;
  text-align:left;
  vertical-align:middle;
  font-size: 14px;
  font-size: 1.4rem;
}
.feature-flow .feature_detail p:first-child{
  width:30%;
}
.feature-flow .bottom_txt{
  font-size:70px;
  font-size:7rem;
  color: #08376f; 
}

.feat-merit {
  margin-top: 30px;
}
.feat-merit dt {
  text-align: center;
}

.feat-merit dt .ttl{
  display:inline-block;
  background:#0465a2;
  border-radius:50px;
  width:80%;
  margin:0 auto;
  padding:1.5%;
  color:#fff;
  font-weight:bold;
  font-size:24px;
  font-size:2.4rem;
  position:relative;
}
.feat-merit dt .ttl:before{
  content:"";
  display:inline-block;
  width:80px;
  height:40px;
  background:url(../images/img_feature-flow_04.png) no-repeat left top/contain;
  position:absolute;
  top:50%;
  left:3%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}
.feat-merit dt .ttl:after{
  content:"\25BC";
  display:inline-block;
  color:#0465a2;
  font-size:34px;
  position:absolute;
  bottom:-30px;
  left:50%;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}
.feat-merit dt .ttl span{
  font-weight:bold;
  margin-right:0.5em;
}
.feat-merit dd {
  display: table;
  width: 100%;
  word-spacing: -1em;
  white-space:nowrap;
}
.feat-merit .box {
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
  text-align: left;
  width:49%;
}
.feat-merit .box:nth-child(1) {
  margin-right:2%
}

.button-list.feature {
  margin-top: 60px;
}
.button-list.feature li {
  width: 32.33333%;
  margin-left:  1.5%;
}
.button-list.feature li:first-child {
  margin-left:  0;
}

.feat-notice {
  margin-top:  50px;
}
.feat-notice span {
  display: inline-block;
  vertical-align: middle;
}
.feat-notice span:nth-child(1) {
  background-color: #e9718b;
  color: #fff;
  line-height: 2;
  padding: 7px;
  padding: 0.5rem;
}
.feat-notice span:nth-child(2) {
  margin-left: 1%;
  width: 83%;
}
.feat-txt {
  margin-top:  30px;
  text-align:center;
  font-size:36px;
  font-size:3.6rem;
  color:#1d376b;
}


/*=====================================*/
/* add */
/*=====================================*/
#zeirishi-addition .subttl {
  font-size:35px;
  font-size: 3.5rem;
  text-align: center;
  color: #1D376B;
  font-weight: bold;
  line-height: 1.1;
}
#zeirishi-addition .subttl span {
  font-weight: bold;
  vertical-align: bottom;
}
#zeirishi-addition .subttl .fntS {
  font-size:18px;
  font-size:1.8rem;
  vertical-align: middle;
}
#zeirishi-addition .subttl .fntLL {
  font-size:40px;
  font-size:4rem;
}
#zeirishi-addition .subttl + p {
  text-align: center;
  margin-top: 10px;
}


#zeirishi-addition .course_ttl {
  background: #040E22;
          box-shadow: 0px 0px 0px 2px #040E22;
  border:1px solid #888;
  padding: 2%;
  margin-top:4%;
  text-align: center;
  margin-bottom:10%;
}
#zeirishi-addition .course_ttl span{
  color:#c9ad4f;
  font-size:36px;
  font-size:3.6rem;
}

#zeirishi-addition .check{
  padding-left:90px;
  position:relative;
}
#zeirishi-addition .check:before{
  content:"";
  width:76px;
  height:76px;
  display:inline-block;
  background:url(../images/ico_check.png) no-repeat center 100%;
  position:absolute;
  left:0;
  top:0;
}

.sche-fig {
  margin: -15% 0 10px 0;
  text-align:center;
}

.add-point .box {
  width: 48%;
  margin-top: 30px;
}
.add-point .box:nth-child(1) {
  float: left;
}
.add-point .box:nth-child(2) {
  float: right;
}


.add-point .box .add-ttl{
  background:#ea535d;
  border-radius:50px;
  width:100%;
  margin:0 auto;
  text-align:center;
  padding:1.5% 0 1.5% 15%;
  color:#fff;
  font-weight:bold;
  font-size:24px;
  font-size:2.4rem;
  position:relative;
}
.add-point .box .add-ttl:before{
  content:"";
  display:inline-block;
  width:70px;
  height:36px;
  background:url(../images/img_add-point.png) no-repeat left top/contain;
  position:absolute;
  top:50%;
  left:5%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}
.add-point .box .add-ttl:after{
  content:"\25BC";
  display:inline-block;
  color:#ea535d;
  font-size:34px;
  position:absolute;
  bottom:-30px;
  left:50%;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
}
.add-point .box .add-ttl span{
  font-weight:bold;
  margin-right:0.5em;
}

.add-point .box .baloon{
  background:#fff;
  width:100%;
  margin:0 auto;
  padding:3%;
  color:#1d376b;
  border:3px solid #1d376b;
  font-size:18px;
  font-size:1.8rem;
  margin-bottom:1em;
  position:relative;
}
.add-point .box .baloon:after{
  content:"\25BC";
  display:inline-block;
  color:#fff;
  text-shadow:0 6px 0 #1d376b;
  font-size:34px;
  position:absolute;
  top:50%;
  left:-26px;
   -webkit-transform: translateY(-50%) rotate(90deg);
   transform: translateY(-50%) rotate(90deg);
}
.add-point .box .baloon span{
  font-weight:bold;
}


/*=====================================*/
/* teach */
/*=====================================*/
#zeirishi-teach{
  font-size:0;
}

#zeirishi-teach .title-bar {
  background: #1d376b;
}
#zeirishi-teach .title-bar:after {
  border-color: #1d376b transparent transparent transparent;
}

#zeirishi-teach > .section > .inner{
  padding: 0;
}

#zeirishi-teach .subttl{
  text-align: center;
}
#zeirishi-teach .subttl span{
  color:#1d376b;
  font-weight:bold;
  font-size:30px;
  font-size:3rem;
  vertical-align:middle;
}
#zeirishi-teach .subttl .main_txt{
  font-size:44px;
  font-size:4.4rem;
}
#zeirishi-teach .subttl .main_txt .p_line{
  font-size:60px;
  font-size:6rem;
}

.teach-profile {
  display: inline-block;
  width: 50%;
  margin-top: 30px;
  background: #b0d4f9;
  vertical-align: top;
}
.teach-profile .thum {
  display: inline-block;
  vertical-align:top;
  width: 40%;
  padding:2%;
  text-align:center;
}
.teach-profile .thum span {
  font-size:12px;
  font-size:1.2rem;
  font-weight:bold;
}
.teach-profile .thum .name_main{
  font-size:22px;
  font-size:2.2rem;
  font-weight:normal;
}
.teach-profile .thum .cate{
  background:#cf1118;
  color:#fff;
  display:block;
}
.teach-profile .txt {
  display: inline-block;
  width: 60%;
  font-size:16px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.teach-profile .txt p {
  margin: 5%;
  min-height: 225px;
}

.teach-profile_wrap .books{
  text-align:center;
  color:#1d376b;
  position:relative;
  padding-top:80px;
}

.teach-profile_wrap .books:before{
  content:"\00D7";
  display:inline-block;
  font-size:100px;
  width:100%;
  height:60px;
  position:absolute;
  top:-30px;
  left:0;
}

.teach-profile_wrap .books span{
  font-weight:bold;
}
.teach-profile_wrap .books .txt01{
  font-size:16px;
  font-size:1.6rem;
}
.teach-profile_wrap .books .txt02{
  font-size:40px;
  font-size:4rem;
}
.teach-profile_wrap .books .txt03{
  font-size:24px;
  font-size:2.4rem;
}


.teach-section {
}
.teach-ttl{
  background: #1d376b;
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size:26px;
  font-size: 2.6rem;
  border-bottom: #F2F2F2 3px solid;
  font-weight: bold;
}

.teach-section .covers {
  background: #FFF;
  padding: 20px;
  font-size:15px;
  font-size: 1.5rem;
}
/* #teach-curriculum .covers {
  padding: 20px 0 0;
} */
#teach-curriculum .covers .img_box {
  max-width: 100%;
}
#teach-curriculum .covers .img_box img {
  max-width: 50%;
}

#teach-curriculum .covers .txt_box{
  padding:2%;
  text-indent:-1em;
  padding-left:calc(2% + 1em);
}

.teach-section .book-box {
  margin-top: 20px;
  zoom:1;
}
.teach-section .book-box:after {
  content: "";
  display: block;
  clear: both;
}
.teach-section .book-box ~ .book-box {
  margin-top: 50px;
  margin-bottom: 20px;
}
.teach-section .book-box .teach-subtimtl {
  background: #d9d9d9;
  font-weight: bold;
  padding: 5px 10px;
}
.teach-section .book-box .book-box_data,
.teach-section .book-box .book-box_txt {
  margin-top: 15px;
}
.teach-section .book-box .book-box_data {
  float: left;
  width: 54%;
}
.teach-section .book-box .book-box_txt {
  float: right;
  width: 42%;
}

.teach-section .caution {
  color: #0066cc;
}
.teach-section .book-box .book-cathc dt {
  margin-top: 1.5em;
  margin-left: -.5em;
  font-weight: bold;
}
.teach-section .book-box .book-cathc dd {
  margin-top: 2px;
  font-size:14px;
  font-size: 1.4rem;
  line-height: 1.3;
}

.teach-section .book-box .book-name {
  font-size:24px;
  font-size: 2.4rem;
  line-height: 1.3;
  margin-top: 15px;
  font-weight: bold;
}
.teach-section .book-box .book-name span {
  font-size:14px;
  font-size: 1.4rem;
}
.teach-section .btn {
  padding: 0!important;
  margin-top: 10px;
  text-align: left;
}

.teach-section .btn.textbook {
  float: right;
    width:  38%;
    padding:  0;
}
#special-course{
	padding-top:20px;
	margin:10px auto 0;
	width:96%;
}
.special-guidebook{
	margin:20px auto 20px;
	padding:3% 2% 2%;
	border:#2a6fb1 solid 2px;
	-moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
	position:relative;
	background:#FFF;
}
.special-guidebook .special-guidebook_text{
	display: inline-block;
	vertical-align:middle;
}
.special-guidebook .special-guidebook_text h5{
	color:#e20566;
	font-size:18px;
	font-size:1.8rem;
	margin:0;
	padding:0;
	font-weight:bold;
}
.special-guidebook .special-guidebook_text h6{
	font-size:34px;
	font-size:3.4rem;
	margin:0;
	padding:5px 0 10px;
	font-weight:bold;
	line-height:1.0;
}
.special-guidebook .special-guidebook_text h6 span.font01{
	font-size:16px;
	font-size:1.6rem;
	font-weight:bold;
}
.special-guidebook .special-guidebook_text h6 span.font01 {
  
}
.special-guidebook .special-guidebook_text h6 span.font02{
	font-size:26px;
	font-size:2.6rem;
	font-weight:bold;
}
.special-guidebook .special-guidebook_text h6 span.font03{
	font-size:20px;
	font-size:2.0rem;
	font-weight:bold;
}
.special-guidebook .special-guidebook_text p{
	font-size:14px;
	font-size:1.4rem;
	margin:0;
	padding:0;
}
.special-guidebook .special-guidebook_img{
    width: auto;
    margin: 0;
    width: 27%;
    padding:0 0 0 2%;
	display: inline-block;
	vertical-align: bottom;
	vertical-align:middle;
}
.special-guidebook .ico_name{
	background:#f34788;
	color:#f7ff22;
	font-size:24px;
	font-size:2.4rem;
	margin:0;
	padding:0 10px;
	-moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
	position:absolute;
	top:-18px;
	left:10px;
	font-weight:bold;
}
.special-guide_link{
	font-size:14px;
	font-size:1.4rem;
	margin:0;
	padding:0;
}
.special-guide_link a{
	color:#0066cc;
	text-decoration:none;
}
/*=====================================*/
/* webmerit */
/*=====================================*/
#zeirishi-webmerit h2.ttl{
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1;
  color: #fff;
  background: #0f246a url(../images/webl_bg_ttl.png) no-repeat right top;
  margin-bottom: 20px;
  padding: 7px 10px 5px 10px;
}
#zeirishi-webmerit .subttl,
#zeirishi-webmerit .subttl span{
  text-align: center;
  font-size: 50px;
  font-size: 5rem;
  font-weight:normal;
  line-height:1;
}
#zeirishi-webmerit .subttl .sub_txt{
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight:bold;
  color: #0f246a;
}

.webmerit-notice {
  margin-top: 30px;
}
.webmerit-feature{
  float: right;
  width: 54%;
  background: url(../images/bg_merit.png) repeat 0 0;
  padding: 20px;
}
.webmerit-feature .box {
  background: #FFF;
  padding: 15px;
}
.webmerit-feature .box ~ .box {
  margin-top: 20px;
}

.webmerit-feature .ttl {
  color: #1D376B;
  font-weight: bold;
  font-size:18px;
  font-size: 1.8rem;
}
.webmerit-feature .txt{
  font-size:14px;
  font-size: 1.4rem;

}
.webmerit-feature .box:nth-child(2) {
  position: relative;
}
.webmerit-feature .box:nth-child(2) .txt p span {
  vertical-align: middle;
}
.webmerit-feature .box:nth-child(2) .txt p span.ib:nth-child(1) {
  width: 25%;
}
.webmerit-feature .box:nth-child(2) .txt p span.ib:nth-child(2) {
  width: 73%;
}
.webmerit-feature .type {
  width: 120px;
  position: absolute;
  top: 30px;
  right: 20px;
}
.webmerit-feature .type li {
  background: #1f61a5;
  color: #fff;
  -webkit-border-radius: 50px;
          border-radius: 50px;
  padding: 5px;
  text-align: center;
  font-weight: bold;
}
.webmerit-feature .type li ~ li {
  margin-top: 5px;
}
.webmerit-feature .box:nth-child(2) .caution {
  margin-top: 8px;
}

.webmerit-feature .box:nth-child(2) .caution li ~li {
  margin-top: 0;
}
.webmerit-exp {
  float: left;
  width: 45%;
  font-size:12px;
  font-size:1.2rem;
}
.webmerit-exp dl {
  margin-top: 8px;
  margin-bottom: 8px;
}
.webmerit-exp .button-list li{
  width:50%;
}
.webmerit-exp .button-list .spec a{
  display:block;
  width:100%;
  height:3em;
  border:1px solid #ccc;
  border-radius:3px;
  background:linear-gradient(#fff 40%, #eee 95%, #fff 95%);
  position:relative;
}
.webmerit-exp .button-list .spec a:before{
  content:"\3009";
  color:#555;
  position:absolute;
  width:100%;
   top: 50%;
   left: 10%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}
.webmerit-exp .button-list .spec a:hover{
  border:1px solid #aaa;
  background:linear-gradient(#eee 5%, #ccc 5%, #ccc 30%, #eee 100%);
}
.webmerit-exp .button-list .spec a span{
  font-weight:bold;
  display:inline-block;
  text-align:center;
  position:absolute;
  width:100%;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}
.webmerit-exp .button-list .howto{
  text-align:right;
  vertical-align:bottom;
}
.webmerit-exp .button-list .howto a{
  display:inline-block;
  position:relative;
}
.webmerit-exp .button-list .howto a:before{
  display:inline-block;
  content:"";
  background: url(../images/ico_pdf.png) no-repeat top left/100%;
  width:20px;
  height:20px;
  position:absolute;
   top: 50%;
   left: -20px;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}
.webmerit-exp .button-list .howto a span{
  display:inline-block;
  font-size:14px;
  font-size:1.4rem;
  color:#000;
  border-bottom:1px solid transparent;
  position:relative;
}
.webmerit-exp .button-list .howto a:hover span{
  border-bottom:1px solid #000;
}

.webmerit-exp .btn {
  padding: 0!important;
  margin: 10px 0;
  display:block;
}
.webmerit-exp .btn a{
  display:block;
  width:100%;
  height:3em;
  border:1px solid #000;
  background:linear-gradient(to bottom right, #2a6fb1,#548bc0 50%,#2a6fb1 50%);
  box-shadow:0 0 5px #fff inset;
  color:#fff;
  font-size:20px;
  font-size:2rem;
  position:relative;
}
.webmerit-exp .btn a:before{
  display:inline-block;
  content:"\3009";
  position:absolute;
   top: 50%;
   right: 5%;
   -webkit-transform: translateY(-50%);
   transform: translateY(-50%);
}
.webmerit-exp .btn a:hover{
  border:1px solid #000;
  background:linear-gradient(to bottom right, #024f9a 50%,#002950 50%, #024f9a 100%);
  box-shadow:0 0 8px #111 inset;
  color:#fff;
}
.webmerit-exp .btn a span{
  font-weight:bold;
  display:inline-block;
  text-align:center;
  position:absolute;
  width:100%;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
}

.webmerit-exp .caution li ~li {
  margin-top: 0;
}


.app_info h4{
  background:#e20011;
  display:block;
  font-size:20px;
  font-size:2rem;
  padding:0.5%;
  color:#fff;
  font-weight:bold;
}
.app_info .txt{
  width:60%;
}
.app_info .img{
  width:40%;
}

#three-merits {
    background: #eff0f6;
    border-top: 3px solid #2a6fb1;
}

.preferential-box {
  background: #FFF;
  border: #1d376b 8px solid;
  margin-top: 50px;
  padding-bottom: 30px;
}

.preferential-box .preferential-ttl {
  font-size:26px;
  font-size: 2.6rem;
  color: #fff;
  background: #1d376b;
  text-align: center;
  padding: 15px;
}
.preferential-box .preferential-ttl strong {
  font-size:36px;
  font-size: 3.6rem;
}
.preferential-box .preferential-ttl strong span {
  color: #E60012;
}
.preferential-box .box {
  margin-top: 30px;
  padding: 0 30px;
}
.preferential-box .box ~ .box {
  margin-top: 50px;
}
.preferential-box .ttl-box {
  position: relative;
  padding: 15px 10px 15px 120px;
  border-bottom: #ffa4a4 3px solid;
  min-height: 110px;
}
.preferential-box .ttl-box .ico-num {
  display: block;
  position: absolute;
  top: 15px;
  left: 15px;
  background: #d71318;
  border: #fff 3px solid;
  -webkit-box-shadow: 0 0 0 5px;
          box-shadow: 0 0 0 5px #35337b;
  width: 80px;
  height: 80px;
  color: #fff;
  font-weight: bold;
  font-size:56px;
  font-size: 5.6rem;
  text-align: center;
  line-height: 84px;
}
.preferential-box .ttl-box .ttl {
  font-weight: bold;
  font-size:32px;
  font-size: 3.2rem;
  line-height: 1.3;
}

.preferential-box .ttl-box + .txt {
  padding: 20px 30px;
  font-size:15px;
  font-size: 1.5rem;
}

.preferential-box .txt ul.books {
  margin-top: 20px;
}
.preferential-box .txt ul.books li {
  display: inline-block;
  width: 32%;
  text-align: center;
  vertical-align: top;
}
.preferential-box .txt ul.books li img {
  margin-bottom: 10px;
}
.preferential-box .txt ul.books li span {
  font-weight: bold;
}
.preferential-box .notice {
  position: relative;
  padding-left: 100px;
  margin: 0 50px;
}
.preferential-box .notice .ttl {
  background: #e60012;
  position: absolute;
  left: 0;
  top: 50%;
  font-size:22px;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 84px;
  color: #fff;
  width: 80px;
  height: 80px;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  margin-top: -40px;
}
.preferential-box .notice .caution li {
  font-size:14px;
  font-size: 1.4rem;
  color: #E60012;
  }
.preferential-box .notice .caution li ~ li {
  margin-top: 0;
}

#zeirishi-faq {
  padding: 30px 0 80px;
  border-top: #1d376b 8px solid;
}


/*=====================================*/
/* faq */
/*=====================================*/
#zeirishi-faq h3.title {
	font-size: 36px;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
    color: #1d376b;
}

.faq-list {
  border-bottom: 1px solid #404f84;
  margin-top: 30px;
}


.faq-list dt {
  border-top: 1px solid #404f84;
  position: relative;
  color: #004384;
  font-weight: bold;
  padding: 8px 90px 8px 48px;
  font-size: 18px;
  font-size: 1.8rem;
}

.faq-list dt i {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 8px;
  left: 12px;
}
/* --トグルボタン--
.faq-list dt:after {
  content: "";
  position: absolute;
  display: block;
  background: url(../../image/2024/faq_img_open.png) no-repeat 0 0;
  width: 74px;
  height: 19px;
  top: 13px;
  right: 8px;
}
*/
.faq-list dt.open:after {
  background-image: url(../../image/2024/faq_img_close.png);
}
.faq-list dd {
  font-size: 14px;
  font-size: 1.4rem;
  border-top: 1px solid #404f84;
  position: relative;
}

.faq-list dd i {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 20px;
  left: 33px;
}
.faq-list dd .txt {
  margin: 8px 0 15px;
  padding: 15px 10px 15px 65px;
  background-color: #edf0f5;
  color: #004384;
}

/*=====================================*/
/* apply-flow */
/*=====================================*/
.apply-flow .flow {
  display: table;
  width: 102%;
  word-spacing: -1em;
  margin-left: -2%;
  font-size: 18px;
  font-size: 1.8rem;
  color: #4D6B9F;
}
.apply-flow .flow > li {
  word-spacing: normal;
  display: inline-block;
  vertical-align: top;
  border: #333 1px solid;
  padding: 10px 10px 120px 10px;
  text-align: center;
  width: 23%;
  margin-left: 2%;
  background-repeat: no-repeat;
  background-position: center bottom;
  -webkit-background-size: auto 117px;
       -o-background-size: auto 117px;
          background-size: auto 117px;
}
.apply-flow .flow .ttl {
  margin-right: -10px;
  margin-bottom: 10px;
}
.apply-flow .flow p ~ p {
  margin-top: 1em;
}
.apply-flow .flow > li:nth-child(1) {
  background-image: url(../images/flow01_img.png);
}
.apply-flow .flow > li:nth-child(2) {
  background-image: url(../images/flow02_img.png);
}
.apply-flow .flow > li:nth-child(3) {
  background-image: url(../images/flow03_img.png);
}
.apply-flow .flow > li:nth-child(4) {
  background-image: url(../images/flow04_img.png);
}
.apply-flow .flow .colRED {
  color: #c00;
}
.apply-flow .flow .colGRY {
  color: #707070;
}
.apply-flow .flow .caution li {
  margin-top: 0;
}
.apply-flow .flow > li:nth-child(2) .ib + p {
  margin-top: 1.3em;
}
.apply-notes {
  font-size: 14px;
  font-size: 1.4rem;
}

#privilege {
  padding-top: 1em;
}
#privilege dl {
  position: relative;
  margin: 30px 20px 20px 20px;
  padding: 15px;
  border: 3px solid #2a6fb1;
}
#privilege dt {
  position: absolute;
  top: -1em;
  left: 5px;
  background-color: #f34788;
  border: 1px solid #f34788;
  border-radius: 17px;
  color: #f7ff22;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  padding: 2px 15px;
}
#privilege dd {
  display: inline-block;
  vertical-align: middle;
  max-width: 15%;
}
#privilege dd:nth-child(3) {
  width: 67%;
  max-width: 100%;
}
#privilege dd p {
  font-size: 17px;
  font-size: 1.7rem;
}
#privilege dd h3 {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
}

.apply-limit {
  margin-top: 30px;
  text-align: center;
  font-size:22px;
  font-size:2.2rem;
  font-weight:bold;
}
.apply-limit img{
  vertical-align:middle;
  display:inline-block;
  margin-right:10px;
}
.apply-limit .limit{
  color:#2a6fb1;
  font-weight:bold;
}
.apply-limit .num{
  font-weight:bold;
  font-size:36px;
  font-size:3.6rem;
}


#zeirishi-price p,
#zeirishi-price .txt{
  font-size:12px;
  font-size:1.2rem;
}



/*=====================================*/
/*course_price*/
/*=====================================*/
.course_price_ttl {
	margin: 40px auto 20px;
	padding: 5px;
	border: 1px solid #1a2e76;
	text-align: center;
	background:#ffffff;
	font-weight:bold;
	font-size:16px;
	font-size:1.6rem;

}
.course_price .box_wrap {
	padding: 20px;
	position:relative;
	min-height:250px;
}
.course_price .box_wrap + p{
  text-indent:-1em;
  padding-left:1em;
}
.course_price [class^=box0] {
	width: 55%;
	margin-top:20px;
}
.course_price .box01 {
	margin-bottom: 12px;
	font-weight:bold;
	font-size:18px;
	font-size:1.8rem;
	color: #343434;
}
.course_price .box01 span{
	font-weight:bold;
}
.course_price .box01 .date_num{
	font-size:24px;
	font-size:2.4rem;
}
.course_price .box01 .course{
	font-size:30px;
	font-size:3rem;
	color: #343434;
	line-height: 1.5;
}

.course_price .box01 .course_name{
	font-size:40px;
	font-size:4rem;
	letter-spacing:-0.08em;
}
.course_price .box01 .course_lank{
	color:#cc0000;
}

.course_price .box02 {
	font-size: 12px;
	border-top: 1px dashed #665059;
	padding-top: 20px;
}

.course_price .box02 .limit{
	font-size:20px;
	font-size:2rem;
	color:#555;	
	font-weight:bold;
}

.course_price .course_r {
	width: 40%;
    margin-top: 0;
    padding: 0;
    border: none;
    border-radius: unset;
	text-align: center;
	position: absolute;
	top: 50%;
	right: 3%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.course_price .course_r  *{
	font-weight:bold;
}
.course_price .course_r .inner_fullpack{
	padding: 15px 0;
	border-radius: 3px;
	background:#fff;
}
.course_price .course_r .full_price{
	font-weight:bold;
	color:#ca1111;
	font-size:16px;
	font-size:1.6rem;
	display:inline-block;
	-webkit-transform:skew(-10deg);
	transform:skew(-10deg);
}
.course_price .course_r .full_price .price{
	font-size:40px;
	font-size:4rem;
}

.course_price .course_r .inner_nopack{
	margin-top:15px;
}
.course_price .course_r .price_btn{
	display:block;
	width:100%;
}
.course_price .course_r .price_btn a{
	display:block;
	width:85%;
	height:3em;
	margin:0 auto;
	font-size:20px;
	font-size:2rem;
	position:relative;
	background:#ff6600;
}
.course_price .course_r .price_btn a:hover{
	background:#b34902;
}
.course_price .course_r .price_btn a:after{
	position: absolute;
	display:inline-block;
	content:"\3009";
    top: 50%;
    right: 0%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color:#fff;
}
.course_price .course_r .price_btn a span{
	position: absolute;
	display:inline-block;
	width:100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color:#fff;
}

.course_price .course_r .inner_nopack .price_btn a{
	background:#7aa9d5;
	font-size:15px;
	font-size:1.5rem;
	letter-spacing:-0.1em;
}
.course_price .course_r .inner_nopack .price_btn a:hover{
	background:#597896;
}
.course_price .course_r .inner_nopack .price_btn a sup{
	vertical-align:top;
}


/* feature_price
--------------------------------------------------------- */
.feature_price .box_wrap{
	background: #c3d7ea;
}

/* add_price
--------------------------------------------------------- */
.add_price .box_wrap{
	background: #1d2638;
}
.add_price .box_wrap + p{
	text-indent:-1em;
	padding-left:1em;
}

.add_price .box01 {
	color: #ffffff;
}
.add_price .box01 .course{
	color:#d2c556;
}

.add_price .box01 .course_name{
	font-size:20px;
	font-size:2rem;
}
.add_price .box01 .course_lank{
	color:#d2c556;
	font-size:40px;
	font-size:4rem;
}
.add_price .box02 {
	font-size: 12px;
	border-top: 1px dashed #acacac;
	padding-top: 20px;
}

.add_price .box02 .limit{
	color:#ffffff;
}

.add_price .course_r .inner_nopack .price_btn a{
	background:#6f7b93;
}
.add_price .course_r .inner_nopack .price_btn a:hover{
	background:#4c5565;
}



/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/* SP*/
/*==========================================================================*/

.winSP .button {
  font-size:3.5vw;
}
.winSP .button-list li {
  width: 100%;
  margin-left: 0;
}
.winSP .button-list li ~ li {
  margin-top: 5px;
}


.winSP .button.line {
  padding-top:  12px;
  padding-bottom: 12px;
  }

.winSP .button.line:after {
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: -9px;
}
.winSP .button.ico-calendar span,
.winSP .button.ico-pdf span,
.winSP .button.ico-book span {
  padding-left:  20px;
  padding-right:  0;
  font-size: 4vw;
}
.winSP .button-list.feature .button.line span {
  font-size: 3.5vw;
}
.winSP .button.ico-calendar span:before,
.winSP .button.ico-pdf span:before,
.winSP .button.ico-book span:before {
  left: -5px;
  width: 25px;
  height: 25px;
  margin-top: -12px;
}
.winSP .button.ico-calendar span:before {
  width: 30px;
  height: 30px;
  margin-top: -15px;
  left: -8px;
}

.winSP .btnPNK {
  width: 100%;
}

.winSP .title-bar {
  font-size:20px;
  font-size:2.0rem;
}
.winSP .title-bar .ttl {
  padding: 12px 0;
}
.winSP .title-bar:after {
  bottom:-14px;
  border-width: 20px 15px 0 15px;
  margin-left: -10px;
}
.winSP .section {
  padding-top: 30px;
  padding-bottom: 30px;
}
.winSP .point-list,
.winSP .point-list * {
  font-size:3.5vw !important;
}
.winSP .point-list li {
  margin-top:   10px!important;
}


.winSP .add-point .box .add-ttl{
  font-size:5vw;
}
.winSP .add-point .box .add-ttl:before{
  width:15vw;
  height:6vw;
}
.winSP .add-point .box .add-ttl:after{
  font-size:5vw;
  bottom:-5vw;
}
.winSP .add-point .box .baloon{
  font-size:4vw;
}
.winSP .add-point .box .baloon:after{
  font-size:20px;
  position:absolute;
  top:-19px;
  left:50%;
   -webkit-transform: translateX(-50%) rotate(180deg);
   transform: translateX(-50%) rotate(180deg);
}




.winSP .btn-stage_pink {
  width:100%;
  height:20vw;
}
.winSP .btn-stage_pink a{
  background-size:98%;
  box-shadow:none;
}
.winSP .btn-stage_pink a > span{
  font-size:2.8vw;
}
.winSP .btn-stage_pink a .bold{
  font-size:4vw;
}
/*=====================================*/
/* メインエリア */
/*=====================================*/

.winSP .main-area {
  height: auto;
  background-image: none;
}
.winSP .main-area .title {
  margin: 0 auto;
  padding-bottom: 2%;
}

.winSP .main-area .title img {
  max-width: none;
  position: static;
  width: 100%;
  margin-left: 0;
}

.winSP .main-area .inner {
  padding: 0;
  min-width: 100% !important;
}
.winSP .main-area .title {
  padding-top: 0;
  max-width: none;
}

.winSP .main-area .btn-faq {
    width: 32%;
    top: 10px;
    left: 66%;
}
.winSP .main-area .btn-privilege {
    max-width: 80%;
    width: auto;
    top: 88%;
    right: 10%;
    text-align: center;
}


.winSP .main-area .btn-stage {
  top:1%;
  right:27%;
  width: 25%;
}
.winSP .main-area .btn-tax {
  top:1%;
  right:1%;
  width: 25%;
}


.winSP #zeirishi-stage .movie-wrap .txt.fontL{
	font-size:12px !important;
	font-size:1.2rem !important;
}

/*=====================================*/
/* アンカーナビ */
/*=====================================*/

.winSP .main-anchor_area{
  min-width: 0;
}
.winSP .main-anchor_area .anchor-nav {
  padding:0 0.2%;
}
.winSP .main-anchor_area .anchor-nav li:not(:last-child) {
    margin-right: 0.5%;
}
.winSP .main-anchor_area .anchor-nav li {
  display: inline-block;
  width: calc((100% - 2.5%) / 4);
  vertical-align:bottom;
  margin-bottom: 1%;
}
.winSP .main-anchor_area .anchor-nav li a {
  height: 2.5em;
}
.winSP .main-anchor_area .anchor-nav li a > span {
  font-size: 2vw;
}
.winSP .main-anchor_area .anchor-nav li a:after {
  width: 2.5vw;
  height: 2.5vw;
}




/*=====================================*/
/* intro */
/*=====================================*/
.winSP #zeirishi-intro {
  padding-top: 30px;
  padding-bottom: 30px;
}

.winSP #zeirishi-intro .close_Info {
  font-size: 14px;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: left;    
  padding: 15px 15px 10px;
  margin-right: -3.125%;
  margin-left: -3.125%;
}     
  
.winSP .intro-lead .title {
  font-size:7vw;
}
.winSP .intro-lead .txt {
  line-height: 1.5;
  font-size:3.5vw;
  margin-top: 10px;
}
.winSP .intro-lead .txt p ~ p {margin-top: .5em;}
.winSP .intro-contents {
  margin-top: 10px;
}
.winSP .pack-box .box:nth-child(1),
.winSP .pack-box .box:nth-child(2) {
  width: 100%;
  float: none;
}
.winSP .pack-box .box:nth-child(1) {
  margin-bottom: 60px;
  text-align:center;
}
.winSP .pack-box .box:nth-child(1):after {
  width: 28px;
  height: 44px;
  top: auto;
  bottom:-55px;
  right: auto;
  left: 50%;
  margin-left: -14px;
}
.winSP .pack-box .box:nth-child(1) .wrap{
  padding: 3% 10px;
}
.winSP .pack-box .movie-area .standard,
.winSP .pack-box .movie-area .movie-box {
  width: 100%;
  float: none;
}

.winSP .pack-box .box.standard h3{
  font-size:7vw;
}
.winSP .pack-box .box.standard .movie-area .img_box{
  min-height:auto;
  height:45vw;
}
.winSP .pack-box .box.standard .movie-area .img_box.box01:after{
  font-size:5vw;
  right:-5vw;
}
.winSP .pack-box .box.standard .movie-area .img_box .txt{
  font-size:3vw
}
.winSP .pack-box .box.standard .movie-area .img_box.box02 .txt{
  margin-left:-4%;
}
.winSP .pack-box .box.standard .movie-area .img_box .txt span{
  font-size:4vw;
}




.winSP .pack-box .box.standard .full-pack .ttl{
  font-size:6vw;
}
.winSP .pack-box .box.standard .full-pack .ttl span{
  font-size:3vw;
}
.winSP .pack-box .box.standard .full-pack .button-list li {
  vertical-align:bottom;
}

.winSP .pack-box .box.option .intro-addtion span{
  font-size:3.5vw;
}

.winSP .pack-box .box.option .premium-pack h3{
  font-size:7vw;
}
.winSP .pack-box .box.option .premium-pack .premium-pack_box .item-name{
  font-size:6vw;
}
.winSP .pack-box .box.option .premium-pack .premium-pack_box .item-name span{
  font-size:3vw;
}
.winSP .pack-box .box.option .premium-pack_box .button-list li {
  vertical-align:bottom;
}




/*=====================================*/
/* problem */
/*=====================================*/
.winSP .problem-box {
  -webkit-background-size: auto 100%;
       -o-background-size: auto 100%;
          background-size: auto 100%;

}

.winSP .problem-box.YEL {
  padding-bottom:30px;
  padding-top: 50px;
}
.problem-box.YEL .inner {
  margin-top: -20px;
}
.winSP .problem-box.BLU {
  padding-top: 30px;
}
.winSP .problem-txt {
  position: relative;
  width: 68%;
  top: auto;
  left: 0;
  font-size:14px;
  font-size:1.4rem;
  margin-top: -49%;
}
.winSP .problem-chatc {
  margin-top: 20px;
  font-size:4.5vw;
}
.winSP .problem-chatc .theme_txt {
    font-size: 7vw;
}

/*=====================================*/
/* feature */
/*=====================================*/
.winSP .feature-catch {
  font-size:4.5vw;
}
.winSP .feature-catch-area .ttl {margin-top: 12px;}
.winSP .feature-catch-area .ttl {
  font-size:6vw;
  font-weight: bold;
  color: #08376f;
  margin-top: 10px;
}
.winSP .feature-catch-area li {
  font-size:4vw;
  margin-top: 8px;
  text-align: left;
}

.winSP .feature-flow {
  margin-top: 10px;
}
.winSP .feature-flow h4{
  font-size:6vw;
}

.winSP .feat-merit {
  margin-top: 20px;
}

.winSP .feature-flow .feature_detail{
  background:transparent;
}
.winSP .feature-flow .feature_detail p{
  width:100%;
  padding:2%;
}

.winSP .feature-flow .bottom_txt{
  font-size:12vw;
}

.winSP .feat-merit dt .ttl{
  width:100%;
  font-size:4vw;
}
.winSP .feat-merit dt .ttl:before{
  width:15vw;
  height:10vw;
}
.winSP .feat-merit dt .ttl:after{
  display:inline-block;
  font-size:5vw;
  bottom:-4.5vw;
}
.winSP .feat-merit dt .ttl span{
  font-size:3.5vw;
}

.winSP .feat-merit dd {
  display: block;
  white-space: normal;
  margin-top:5%;
}
.winSP .feat-merit .box {
  display: block;
  margin-right: 0;
  width:  100%;
}
.winSP .button-list.feature {
  margin: 20px auto 0;
  width: 80%;
}
.winSP .button-list.feature li {
  width: 100%;
  margin-left:  0;
}
.winSP .button-list.feature li ~ li {
  margin-top:  5px;
}

.winSP .feat-txt {
  margin-top: 15px;
  font-size: 6vw;
  letter-spacing: -0.05em;
}

.winSP .feat-notice span:nth-child(2) {
  margin: 5px 0 0;
  width: auto;
}


/*=====================================*/
/* add */
/*=====================================*/
.winSP #zeirishi-addition .subttl {
  font-size:18px;
  font-size:1.8rem;
}
.winSP #zeirishi-addition .subttl .fntS {
  font-size:12px;
  font-size:1.2rem;
  display: block;
}
.winSP #zeirishi-addition .subttl + p {
  margin-top: 10px;
}

.winSP #zeirishi-addition .course_ttl span{
  font-size:7vw;
}
.winSP #zeirishi-addition .course_ttl .ttl_sub{
  font-size:5vw;
}



.winSP .add-point .box {
  width: 100%;
  margin-top: 20px;
}
.winSP .add-point .box:nth-child(1),
.winSP .add-point .box:nth-child(2) {
  float: none;
}
.winSP .add-point_img {
  margin: 10px 0;
}



/*=====================================*/
/* teach */
/*=====================================*/
.winSP #zeirishi-teach .subttl img {
  max-width: 90%;
}

.winSP #zeirishi-teach .subttl span{
  font-size:4vw;
}
.winSP #zeirishi-teach .subttl .main_txt{
  font-size:5vw;
}
.winSP #zeirishi-teach .subttl .main_txt .p_line{
  font-size:7vw;
}

.winSP .teach-profile {
  margin-top: 20px;
  width: 100%;
}
.winSP .teach-profile .thum {
  text-align: center;
  width: 100%;
}
.winSP .teach-profile .thum img {
  margin-bottom: 0;
}
.winSP .teach-profile .thum .cate {
  max-width:198px;
  margin:0 auto;
}
.winSP .teach-profile .txt {
  font-size:13px;
  font-size: 1.3rem;
  width: 100%;
}
.winSP .teach-profile .txt p{
  min-height:auto;
}

.winSP #zeirishi-teach .books .txt01{
  font-size:3vw;
}
.winSP #zeirishi-teach .books .txt02{
  font-size:8vw;
  letter-spacing:-0.02em;
}
.winSP #zeirishi-teach .books .txt03{
  font-size:5vw;
}


.winSP .teach-section {
}
.winSP .teach-ttl{
  background: #1d376b;
  padding: 8px;
  font-size:16px;
  font-size: 1.6rem;
}

.winSP .teach-section .covers {
  padding: 15px 8px;
  font-size:14px;
  font-size: 1.4rem;
}

.winSP #teach-curriculum .covers .img_box img {
    max-width: 100%;
	margin-bottom:5px;
}
.winSP .teach-section .book-box {
  margin-top: 10px;
  zoom:1;
}
.winSP .teach-section .book-box ~ .book-box {
  margin-top: 30px;
}
.winSP .teach-section .book-box .teach-subtimtl {
  padding: 5px 8px;
}
.winSP .teach-section .book-box .book-box_data,
.winSP .teach-section .book-box .book-box_txt {
  float: none;
  width: 100%;
}

.winSP .teach-section .book-box .book-cathc dt {
  margin-top: 1em;
  margin-left: -.5em;
  font-weight: bold;
}

.winSP .teach-section .book-box .book-name {
  font-size:18px;
  font-size: 1.8rem;
  margin-top: 8px;
}
.winSP .teach-section .book-box .book-name span {
  font-size:12px;
  font-size: 1.2rem;
}

.winSP .teach-section .btn.textbook {
    float: right;
    width:  100%;
    margin-top: 20px;
}
.winSP .special-guidebook .special-guidebook_text {
    width: 96%;
    margin: 24px auto 0;
    display:block;
}
.winSP .special-guidebook .special-guidebook_img {
    width: auto;
    margin: 0;
    width: 100%;
    display: block;
	text-align:center;
}
.winSP .special-guidebook .special-guidebook_text h5{
	font-size: 3vw;
	text-align:center;
}
.winSP .special-guidebook .special-guidebook_text h6 {
    font-size: 5vw;
    text-align:center;
}
.winSP .special-guidebook .special-guidebook_text h6 span.font01 {
    font-size: 3vw;
}
.winSP .special-guidebook .special-guidebook_text h6 span.font02 {
    font-size: 4vw;
}
.winSP .special-guidebook .special-guidebook_text h6 span.font03 {
    font-size: 3vw;
}

/*=====================================*/
/* webmerit */
/*=====================================*/

.winSP #zeirishi-webmerit h2.ttl{
  font-size: 4vw;
  background-image: none;
  text-align: center;
}

.winSP #zeirishi-webmerit .subttl,
.winSP #zeirishi-webmerit .subttl span{
  font-size: 5vw;
}
.winSP #zeirishi-webmerit .subttl .sub_txt{
  font-size: 4vw;
}
.winSP .webmerit-exp {
  float: none;
  width: 100%;
  margin-top: 15px;
}

.winSP .webmerit-notice {
  margin-top: 30px;
}
.winSP .webmerit-feature{
  float: none;
  width: 100%;
  padding:10px;
}
.winSP .webmerit-feature .box {
  padding:8px;
}
.winSP .webmerit-feature .box ~ .box {
  margin-top: 12px;
}

.winSP .webmerit-feature .ttl {
  font-size:16px;
  font-size: 1.6rem;
}
.winSP .webmerit-feature .txt{
  font-size:14px;
  font-size: 1.4rem;

}
.winSP .webmerit-feature .box:nth-child(2) .txt {
  width: 100%;
}
.winSP .webmerit-feature .box:nth-child(2) .txt p span.ib:nth-child(1) {
    width: auto;
}
.winSP .webmerit-feature .box:nth-child(2) .txt p span.ib:nth-child(2) {
    width: auto;
}
.winSP .webmerit-feature .type {
  width: 102%;
  position: static;
  display: table;
  word-spacing: -1em;
  margin-left: -2%;
  margin-top: 8px;
}
.winSP .webmerit-feature .type li {
  margin-left: 2%;
  width: 48%;
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
}
.winSP .webmerit-feature .type li ~ li {
  margin-top: 0;
}
.winSP .webmerit-feature .type li:nth-child(n+3) {
  margin-top: 5px;
}
.winSP .webmerit-feature .box:nth-child(2) .caution {
  margin-top: 8px;
}

.winSP .webmerit-feature .box:nth-child(2) .caution li ~li {
  margin-top: 0;
}

.winSP .app_info h4{
  font-size:4vw;
}
.winSP .app_info p{
  text-align:left !important;
}

.winSP .preferential-box {
  border: #1d376b 3px solid;
  margin-top: 30px;
  padding-bottom: 20px;
}

.winSP .preferential-box .preferential-ttl {
  font-size:16px;
  font-size: 1.6rem;
  padding: 8px;
}
.winSP .preferential-box .preferential-ttl strong {
  font-size:26px;
  font-size: 2.6rem;
}
.winSP .preferential-box .box {
  margin-top: 20px;
  padding: 0 8px;
}
.winSP .preferential-box .box ~ .box {
  margin-top: 30px;
}
.winSP .preferential-box .ttl-box {
  padding: 12px 10px 12px 45px;
  min-height: 0;
}
.winSP .preferential-box .ttl-box .ico-num {
  top: 8px;
  left: 8px;
  -webkit-box-shadow: 0 0 0 3px;
          box-shadow: 0 0 0 3px #35337b;
  width: 28px;
  height: 28px;
  font-size:16px;
  font-size: 1.6rem;
  line-height: 22px;
}
.winSP .preferential-box .ttl-box .ttl {
  font-size:16px;
  font-size: 1.6rem;
}

.winSP .preferential-box .ttl-box + .txt {
  padding: 10px 0;
  font-size:14px;
  font-size: 1.4rem;
}

.winSP .preferential-box .notice {
  position: relative;
  padding-left: 0;
  margin: 0;
  padding-top: 2.8em;
}
.winSP .preferential-box .notice .ttl {
  position: relative;
  font-size:3vw;
  line-height: 1.2;
  color: #fff;
  width: 45%;
  padding: 5px 20px;
  height: auto;
  -webkit-border-radius: 15px;
  border-radius: 15px;
  margin-top: 0;
}
.winSP .preferential-box .notice .caution li {
  font-size:14px;
  font-size: 1.4rem;
  font-weight: normal;
  }
.winSP .preferential-box .notice .caution li ~ li {
  margin-top: 0;
}


/*=====================================*/
/* faq */
/*=====================================*/
.winSP #zeirishi-faq {
  padding: 20px 2% 30px;
  border-top-width: 5px;
}
.winSP #zeirishi-faq h3.title {
  font-size: 24px;
  font-size: 2.4rem;
}

.winSP .faq-list {
  margin-top: 20px;
}


.winSP .faq-list dt {
  padding: 8px 64px 8px 24px;
  font-size: 15px;
  font-size: 1.5rem;
}

.winSP .faq-list dt i {
  width: 20px;
  height: 20px;
  top: 6px;
  left: 0px;
}
.winSP .faq-list dt:after {
  -webkit-background-size: auto 14px;
       -o-background-size: auto 14px;
          background-size: auto 14px;
  width: 54px;
  height: 14px;
  top: 10px;
  right: 0px;}

.winSP .faq-list dd {
  font-size: 13px;
  font-size: 1.3rem;
}

.winSP .faq-list dd i {
  width: 20px;
  height: 20px;
    top: 14px;
    left: 5px;
}
.winSP .faq-list dd .txt {
  margin: 8px 0 15px;
  padding: 9px 10px 10px 32px;
  background-color: #edf0f5;
  color: #004384;
}


/*=====================================*/
/* apply-flow */
/*=====================================*/
.winSP .apply-flow .flow {
  display: block;
  width: 100%;
  margin-left: 0;
  font-size: 4vw;
}
.winSP .apply-flow .flow .fontL{
  font-size: 4vw !important;
}
.winSP .apply-flow .flow > li {
  padding: 10px 90px 10px 10px;
  width: 100%;
  margin-left:0;
  background-position: right top 10px;
  -webkit-background-size: auto 58px;
  -o-background-size: auto 58px;
  background-size: auto 58px;
  text-align: left;
}
.winSP .apply-flow .flow > li ~ li {margin-top: 10px;}
.winSP .apply-flow .flow .ttl {
  margin-right: -10px;
  margin-bottom: 10px;

}
.winSP .apply-flow .flow .ttl img {
  width: auto;
  height: 30px;
}
.winSP .apply-flow .flow p ~ p {
  margin-top: .5em;
}
.winSP .apply-flow .flow .caution li {
  margin-top: 0;
}
.winSP .apply-flow .flow .caution.colRED {
  font-size: 12px!important;
  font-size: 1.2rem!important;
}
.winSP .apply-flow .flow > li:nth-child(2) .ib + p {
  margin-top: .5em;
}
.winSP .apply-flow .flow > li:nth-child(3) {
  padding-right: 60px;
}
.winSP .apply-notes {
  font-size: 12px;
  font-size: 1.2rem;
}


.winSP .apply-limit {
  font-size:6vw;
}
.winSP .apply-limit img{
  width:20%;
}
.winSP .apply-limit .num{
  font-size:9vw;
}


.winSP #privilege dd h3 {
  font-size: 18px;
  font-size: 1.8rem;
}
.winSP #privilege dd:nth-child(3) {
  width: auto;
}




/*=====================================*/
/*course_price*/
/*=====================================*/

.winSP .course_price_ttl {
	margin: 40px 0 10px;
}
.winSP .course_price {
	margin: 0 2%;
	padding: 23px 3% 20px;
}
.winSP .course_price {
	width: auto;
}
.winSP .course_price [class^=box0] {
    width: 100%;
	margin-top: 0;
}
.winSP .course_price .box01 {
	font-size:4vw;
}
.winSP .course_price .box01 .date_num{
	font-size:6vw;
}
.winSP .course_price .box01 .course{
	font-size:6vw;
}
.winSP .course_price .box01 .course_name{
	font-size:8vw;
}
.winSP .course_price .box01 .limit{
	font-size:4vw;	
}
.winSP .course_price .box02 {
    border-top: none;
	text-align:center;
}
.winSP .course_price .box02 .limit{
	font-size:4vw;
}

.winSP .course_price .course_r {
	position: relative;
	width: 100%;
	padding:5px;
	top: 0;
	right: 0;
	transform: none;
}
.winSP .course_price .course_r .full_price{
	font-size:3vw;
}
.winSP .course_price .course_r .full_price .price{
	font-size:8vw;
}
.winSP .course_price .course_r .price_btn a{
	font-size:4vw;
    width: 90%;
}

.winSP .course_price .course_r .inner_nopack .price_btn a{
	font-size:3vw;
}

.winSP .feat-notice {
    margin-top:  0px;
}


/* add_price
--------------------------------------------------------- */
.winSP .add_price .box01 .course_name{
	font-size:3vw;
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/* tb*/
/*==========================================================================*/
.isDeviceTB .button {
  font-size: 14px;
  font-size: 1.4rem;
}
.isDeviceTB .button.ico-calendar span,
.isDeviceTB .button.ico-pdf span,
.isDeviceTB .button.ico-book span {
  padding-left:  30px;
  padding-right:  10px;
}
.isDeviceTB .button.ico-calendar span:before,
.isDeviceTB .button.ico-pdf span:before,
.isDeviceTB .button.ico-book span:before {
  width: 25px;
  height: 25px;
  margin-top: -12px;
  left: 0;
}
.isDeviceTB .button-list.feature .button span{
  font-size: 14px;
  font-size: 1.4rem;
}
.isDeviceTB .section.inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
/*=====================================*/
/* メインエリア */
/*=====================================*/
/*.isDeviceTB .main-area {
  height: 540px;
}*/

.isDeviceTB .main-area .title {
  text-align: center;
}
.isDeviceTB .main-area .btn-faq {top: 34px;}
.isDeviceTB .webmerit-study .night,
.isDeviceTB .webmerit-study .day {
  padding-left: 0;
  background: none;
}

.isDeviceTB .webmerit-feature .box:nth-child(2) .txt {
  width: 100%;
}
.isDeviceTB .webmerit-feature .type {
  width: 102%;
  position: static;
  display: table;
  word-spacing: -1em;
  margin-left: -2%;
  margin-top: 8px;
}
.isDeviceTB .webmerit-feature .type li {
  margin-left: 2%;
  width: 48%;
  display: inline-block;
  word-spacing: normal;
  vertical-align: top;
}
.isDeviceTB .webmerit-feature .type li ~ li {
  margin-top: 0;
}
.isDeviceTB .webmerit-feature .type li:nth-child(n+3) {
  margin-top: 5px;
}
.isDeviceTB .wprice .btn {
  width: 32%;
}
.isDeviceTB .apply-flow .flow {
  font-size: 14px;
  font-size: 1.4rem;
}
.isDeviceTB .apply-flow .flow > li {
  padding-bottom: 100px;
  background-position: center bottom;
  -webkit-background-size: 100% auto;
       -o-background-size: 100% auto;
          background-size: 100% auto;
}
.isDeviceTB .apply-flow .flow .fontL,
.isDeviceTB .apply-notes {
  font-size: 12px!important;
  font-size: 1.2rem!important;
}

.isDeviceTB .problem-txt {
    top: 26%;
    font-size: 12px;
    font-size: 1.2rem;
}
.isDeviceTB .special-guidebook .special-guidebook_text {
    width: 60%;
    margin: 0 2% 0 1%;
    display: inline-block;
    vertical-align: middle;
}
.isDeviceTB .special-guidebook .special-guidebook_img02{
	max-width: 15%;
}
.isDeviceTB .main-area .btn-privilege{
	max-width: 30%;
}
.isDeviceTB #zeirishi-webmerit h2.ttl{
	background: #0f246a ;
}


/*=====================================*/
/* close_Info */
/*=====================================*/
.close_Text {
	width: 100%;
	font-size: 1.6em;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	background-color: #ea5549;
	padding: 12px 1%;
	margin-bottom:45px;
}

.winSP .close_Text{
  width: 90%;
  margin-left: 5%;
  background:  #ea5549;
  text-align: left;
  color: #ffffff;
  font-size:14px;
  font-size: 1.4rem;
  font-weight: bold;
}




/*=====================================*/
/* faq */
/*=====================================*/

#zeirishi-faq {
  background-color: #f8f8f8;
}
#faq.title {
  color: #213795;
  margin-right: auto;
  margin-left: auto;
  max-width: 1024px;
}
#zeirishi-faq .faq-list {
  margin-right: auto;
  margin-left: auto;
  max-width: 1024px;
}
.faq-list {
  border-bottom: 0;
}
.faq-list li {
  margin-bottom: 30px;
  border:1px solid #ccc;
  border-radius:10px;
  padding: 2% 3%;
  background: #fff;
}
.faq-list dt {
  position: relative;
  color: #333;
  padding: 8px 100px 8px 50px;
  font-size: 18px;
  font-size: 1.8rem;
  border-top: 0;
  font-weight: normal;
}

.faq-list dt i {
  position: absolute;
  width: 30px;
  height: 25px;
  top: 8px;
  left: 12px;
}
.faq-list dt:after {
  content:"見る＋";
  display:inline-block;
  background:#213795;
  text-align:center;
  color:#fff;
  padding:0.5% 2%;
  border-radius:20px;
 　 font-size: 14px;
　  font-size: 1.4rem;
  position:absolute;
  top:50%;
  right:0;
  transform:translateY(-50%);
}
.faq-list dt.open:after {
  content:"閉じる－";
}
.faq-list dt.open::after {
  background-image: none;
}
.faq-list dd {
  font-size: 16px;
  font-size: 1.6rem;
  border-top: 2px solid #ccc;
  position: relative;
}

.faq-list dd i {
  position: absolute;
  width: 30px;
  height: 25px;
  top: 20px;
  left: 12px;
}
.faq-list dd .txt {
  margin: 8px 0 15px;
  padding: 15px 10px 15px 50px;
  color: #333;
}

.winSP #faq {
  padding: 20px 0 30px;
  border-top-width: 5px;
}
.winSP #faq .title {
  font-size: 24px;
  font-size: 2.4rem;
}

.winSP .faq-list {
  margin-top: 20px;
}


.winSP .faq-list dt {
  padding: 8px 80px 8px 36px;
  font-size: 15px;
  font-size: 1.5rem;
}

.winSP .faq-list dt i {
  width: 25px;
  height: 20px;
  top: 10px;
  left: 0px;
}
.winSP .faq-list dt::after {
  font-size: 3.7vw;
  height: auto;
  width: auto;
  font-weight: normal;
  top: 50%;
}
.winSP .faq-list dd {
  font-size: 13px;
  font-size: 1.3rem;
}

.winSP .faq-list dd i {
  width: 25px;
  height: 20px;
    top: 14px;
    left: 0px;
}
.winSP .faq-list dd .txt {
  margin: 8px 0 15px;
  padding: 9px 10px 10px 36px;
}








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

.notes_info02{
  background:#de0000;
  width:800px;
  max-width:100%;
  margin:0 auto;
  padding:1px;
  text-align:center;
  color:#fff;
  font-size:24px;
  font-size:2.4rem;
}
.notes_info02 h4{
  padding:1%;
}
.notes_info02 p{
  background:#fff;
  padding:3% 5%;
  color:#000;
}
.notes_info02 a{
  color:#de0000;
  text-decoration:underline;
}




/*============================
注意事項改修追加
============================*/
.note {
    margin: 0 1%;
}
.notes_info02{
  background:#de0000;
  width:800px;
  max-width:100%;
  margin:0 auto;
  /* padding:1px; */
  text-align:center;
  color:#fff;
  font-size:24px;
  font-size:2.4rem;
  border: 1px solid #de0000;
}
.notes_info02 .inner.apply-list {
  width: 100%;
  max-width: 100%;
  min-width: auto;
  background: #fff;
  border-top: solid 1px #de0000;
}
.apply-notes .inner.apply-list {
  padding-top: 40px;
}
.notes_info02 h5{
  padding:1%;
}
.notes_info02 .apply-list h6,
.apply-notes .apply-list h6 {
  color: #000;
  text-align: center;
  font-size: 2.4rem;
  margin-top: 30px;
}
.apply-notes .apply-list h6 {
  margin-top: 0;
}

.notes_info02 .apply-list h7.bg_yel,
.apply-notes .apply-list h7.bg_yel {
  color: #000;
  display:block;
  text-align: center;
  font-size: 2rem;
  margin-top: 20px;
  background:#fff000;
  padding:2% 1%;
}


.notes_info02 p.requirements,
.apply-notes p.requirements{
  padding: 3%;
}
.notes_info02 p.requirements::after,
.apply-notes p.requirements::after{
  display: none;
}
.notes_info02 p.requirements span,
.apply-notes p.requirements span{
  display: inline;
}



.notes_info02 .apply-list dt,
.apply-notes .apply-list dt {
  background: #d9d9d9;
  margin-top: 20px;
}
.notes_info02 .apply-list dt span,
.apply-notes .apply-list dt span {
  display: block;
  text-align: left;
  background: #f4696a;
  width: 9em;
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
  padding: 2px 0 0 5px;
}
.notes_info02 .apply-list dd > ul,
.apply-notes .apply-list dd > ul {
  background: #fff;
  color: #000;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: left;
  padding: 2% 0;
  margin-top: 1px;
  margin-right: 2%;
  margin-left: 2%;
}
.notes_info02 p {
    position:relative;
    cursor: pointer;
  background:#fff;
  padding:3% 5%;
  color:#000;
}
.notes_info02 p span{
  display: block;
  /* width:90%; */
}
.notes_info02 p:after{
  content:"";
  /* color:#ccc; */
  /* background:#fff; */
  /* border-left:1px solid #de0000; */
  width: 155px;
  height:100%;
  line-height:400%;
  position:absolute;
  top:0;
  right: 1%;
  background-image: url(../images/icon_click_01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.notes_info02 p.open:after{
  background-image: url(../images/icon_click_02.png);
  /* content:"\25B2"; */
}
.notes_info02 .apply-list{
  background:#fff;
  color:#000;
  font-size:14px;
  font-size:1.4rem;
  text-align:left;
  padding:2% 3%;
  margin-top:1px;
}
.notes_info02 .apply-list a{
  color:#2a6be3 !important;
  text-decoration:none !important;
}
.notes_info02 .apply-list a:hover{
  text-decoration:underline !important;
}
.notes_info02 .apply-list .btn_red {
  color: #fff !important;
  /* position: static; */
  width: 40%;
}
.notes_info02 .apply-list .btn_red span {
  display: inline-block;
  /* position: static; */
  /* transform: translate(0); */
}
.notes_info02 dl ~ p::after {
  display: none;
}



.winSP .notes_info02 .apply-list .btn_red{
  width: 100%;
}
.winSP .notes_info02 h5 {
  font-size: 4.5vw;
}
.winSP .notes_info02 p span {
  font-size: 4vw;
  width: 80%;
}
.winSP .notes_info02 p::after {
  height: 100%;
  line-height: 400%;
  position: absolute;
  top: 0;
  right: 1%;
  width: 70px;
}
.winSP .notes_info02 .apply-list h6,
.winSP .apply-notes .apply-list h6 {
  font-size: 5vw;
}

.winSP .notes_info02 .apply-list h7.bg_yel, 
.winSP .apply-notes .apply-list h7.bg_yel {
  font-size: 4.5vw;
}
.winSP .notes_info02 .apply-list li,
.winSP .apply-notes .apply-list li {
  font-size: 1.3rem;
}
.winSP .notes_info02 .apply-list li,
.winSP .apply-notes .apply-list li {
  font-size: 1.3rem;
}
.winSP .notes_info02 .apply-list li .fontL,
.winSP .apply-notes .apply-list li .fontL {
  font-size: 1.4rem !important;
}
/* .winSP #supoort .inner > p:nth-child(3),
.winSP #notes ~ .inner > p:nth-child(2){
  border-bottom: 1px solid #bf9a57;
  border-right: 1px solid #bf9a57;
  border-left: 1px solid #bf9a57;
}
 */




/*============================
料金カセット周辺
============================*/

.course_materials {
  margin-bottom: 10px;
}
.course_materials .course_materials_inner {
    background: #fff;
    padding: 2%;
    border-right: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
}
.course_materials dt{
    text-align:center;
    padding:5px;
    background:#e9e9e9;
  position:relative;
}
.course_materials dt:after{
  position:absolute;
  content:"\25BC";
  color:#aaa;
  top:50%;
  right: 2%;
  -webkit-transform: translateY(-50%) scale(1.5,1);
  transform: translateY(-50%) scale(1.5,1);
}
.course_materials dt.open:after{
  content:"\25B2";
  -webkit-transform: translateY(-50%) scale(1.5,1);
  transform: translateY(-50%) scale(1.5,1);
}
.course_materials dd{
    padding: 2% 2% 0;
}
.course_materials dd li{
    margin-bottom:5px;
}

.course_materials dd p{
    text-align:left;
    margin-top:50px;
    position:relative;
}

.course_materials dd p:before{
  position: absolute;
  display:inline-block;
  content:"\3009";
  font-size:100px;
  font-weight:lighter;
    top: -70px;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg) scale(1,1.5);
    transform: translateX(-50%) rotate(90deg) scale(1,1.5);
    color:#e9e9e9;
}
.course_materials dd p:first-child {
  margin-top: 0;
}
.course_materials dd p:first-child::before {
  display: none;
}

.winSP .course_price_check{
  border-bottom: none;
}
.winSP .course_price_wrap{
  margin:0;
}
.winSP .course_price {
  margin: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.winSP .course_price > p {
  text-align: left;
}
.winSP .note {
    margin: 15px 2% 0 !important;
}
.winSP .course_price::before {
  position: static;
  float: left;
  width: 110px;
}






.feature_price .box_wrap.pt01 {
  background: #f9d0cd;
}
.feature_price .box_wrap.pt01 .box01 .course {
  color: #e74c54;
}
.feature_price .box_wrap.pt02 {
  background: #cfdcf1;
}
.feature_price .box_wrap.pt02 .box01 .course {
  color: #0d4a90;
}
.course_price .box_wrap.pt01 .course_r .inner_nopack .price_btn a {
  background: #ec948e;
}
.course_price .box_wrap.pt02 .course_r .inner_nopack .price_btn a {
  background: #7aa9d5;
}





.q_card {
  padding: 8% 9%;
}
.q_card h4 {
  font-size: 4rem;
  text-align: center;
  position: relative;
}
.q_card h4 .sub {
  font-size: 0.8em;
  color: #556788;
  font-weight: bold;
  position: absolute;
  left: 3%;
  top: -51%;
  transform: rotate(-8deg);
}
.q_card h4 .sub::before,
.q_card h4 .sub::after {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 1em;
  background-color: #556788;
  transform-origin: center;
}
.q_card h4 .sub::before {
  left: -9px;
  top: 8px;
  transform: rotate(-25deg);
}
.q_card h4 .sub::after {
  right: -1px;
  top: 4px;
  transform: rotate(17deg);
}
.q_card h4 .bold {
  font-size: 1.2em;
}
.q_card-img {
  display: flex;
  justify-content: center;
  padding: 50px 0 0;
}
.q_card-img div {
  flex: 0 0 35%;
  margin: 0 30px;
}

.winSP .q_card {
  padding: 11% 2%;
}
.winSP .q_card h4 {
  font-size: 2.5rem;
}
.winSP .q_card h4 .sub {
  font-size: 0.8em;
  left: 14%;
  top: -27%;
}
.winSP .q_card-img {
  padding: 25px 0 0;
}
.winSP .q_card-img div {
  flex: 0 0 46%;
  margin: 0 2%;
}






.copyrightText {
    font-size: 12px;
    font-size: 1.2rem;
    width: 98%;
    max-width: 1024px;
    margin: 100px auto 0;
}
.winSP .copyrightText {
    font-size: 3vw;
    width: 95%;
    margin: 50px auto 0;
}


















.main-visual_voice {
    position: absolute;
    z-index: 1;
    top: 15%;
    right: 14%;
    border: 1px solid #108edd;
    border-radius: 4px;
    text-align: center;
    background: #fff;
}

.main-visual_voice:hover {
    background: linear-gradient(to top, #108edd 12%, rgba(255,255,255,1) 12%);
}

.main-visual_voice a {
    display: block;
    color: #108edd;
    width: 100%;
    padding: 3% 10px 8%;
    text-decoration: none!important;
    position: relative;
    line-height: 1.2;
}

.main-visual_voice a:hover {
    background: none !important;
    box-shadow: none !important;
}

.main-visual_voice a:before {
    font-family: pageico!important;
    color: #108edd;
    position: absolute;
    content: "\e902";
    position: absolute;
    bottom: -2%;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(90deg);
    transform: translateX(-50%) rotate(90deg);
    text-transform: none;
    speak: none;
}

.main-visual_voice a:hover:before {
    color: #ffffff;
}

.main-visual_voice a span {
    font-weight: bold;
    display: inline-block;
}

.main-visual_voice a span img {
    width: 50%;
}

.winSP .main-visual_voice {
    top: 12%;
    right: 2%;
    width: 20%;
}

.winSP .main-visual_voice a {
    padding: 5% 2% 15% 2%;
}

.winSP .main-visual_voice a span {
    font-size: 2.5vw;
    letter-spacing: -0.05em;
    font-weight: normal;
}

.winSP .main-visual_voice a span img {
    display: inline-block;
    width: 30%;
}

.winSP .main-visual_voice a:before {
}




/*=====================================*/
/* voice */
/*=====================================*/
.voice-toggle-title {
    background: #108edd;
    padding: 10px 10px 5px;
    border-radius: 10px 10px 0 0;
    color: #fff;
    text-align: center;
    font-weight: bold;
}

.voice-toggle-title .sub {
    display: inline-block;
    font-weight: bold;
    font-size: 2.4rem;
}

.voice-toggle-title .main {
    display: inline-block;
    font-weight: bold;
    font-size: 3.6rem;
}

.winSP .voice-toggle-title .sub {
    font-size: 1.6rem;
}

.winSP .voice-toggle-title .main {
    font-size: 2.4rem;
}

.voice-toggle-contents {
    border: 1px solid #e4e4e4;
    padding: 40px 20px;
}

.voice-toggle-btn-wrap {
    background: #e4e4e4;
    padding: 15px;
}

.voice-toggle-btn {
    width: 100%;
    max-width: 260px;
    background: linear-gradient(#4a4a4a, #010101);
    padding: 15px;
    margin: 0 auto;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    cursor: pointer;
}

.voice-toggle-btn .open, .voice-toggle-btn .close {
    position: relative;
    padding-right: 20px;
}

.voice-toggle-btn .open::after, .voice-toggle-btn .close::after {
    width: 20px;
    height: 20px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    position: absolute;
    background-size: contain;
    content: "";
}

.voice-toggle-btn .open {
    font-weight: bold;
    display: block;
}
.voice-toggle-btn .open::after {
    background-image: url(../../image/2024/ico_open.png);
}
.voice-toggle-btn .close {
    font-weight: bold;
    display: none;
}
.voice-toggle-btn .close::after {
    background-image: url(../../image/2024/ico_close.png);
}

.voice-toggle-btn.selected .open {
    display: none;
}
.voice-toggle-btn.selected .close {
    display: block;
}

/*============================
合格者の声
============================*/
#voice {
    border-top: #1d376b 8px solid;
    padding: 70px 0;
    font-size: 14px;
    font-size: 1.4rem;
}

#voice .inner {
    max-width: 984px !important;
    padding: 0;
}

#voice .voice_box {
    border: 1px solid #108eed;
    line-height: 1.8;
    margin: 10px 0;
    padding: 1% 1% 2%;
    background: url(../../image/2024/bg_voice.png) 0 0 repeat;
}

#voice .voice_box .left_box {
    float: left;
    width: 18%;
    text-align: center;
    margin-top: 15px;
}

#voice .voice_box .left_box .img_box {
    display: inline-block;
    position: relative;
    padding: 10px 0 0 0;
}

#voice .voice_box .left_box .img_box:after {
    content: "";
    background: url(../../image/2024/ico_gokaku01.png)no-repeat left top / contain;
    display: inline-block;
    width: 45px;
    height: 70px;
    position: absolute;
    top: 0;
    left: -15px;
}
#voice .voice_box .left_box.gokaku02 .img_box:after {
    background: url(../images/ico_gokaku02.png) no-repeat left top / contain;
}

#voice .voice_box .left_box span {
    display: block;
    text-align: center;
    padding-left: 0;
    line-height: 1.5;
}
#voice .voice_box .left_box .standard_course {
    color:#108eed;
}

#voice .voice_box .right_box {
    float: right;
    width: 82%;
    padding: 25px;
    position: relative;
}

#voice .voice_box .right_box .text_box {
    background: #fff;
    padding: 2%;
}

#voice .voice_box .right_box .text_box p {
    /* height: 150px; */
    overflow: hidden;
}

#voice .voice_box .right_box .text_box.open p {
    height: auto !important;!i;!;
    padding-bottom: 40px;
}

#voice .voice_box .right_box .read_more {
    background: linear-gradient(to top, #fff 30%, rgba(255,255,255,0));
    text-align: center;
    position: absolute;
    bottom: 0;
    width: calc(100% - 50px);
    padding: 90px 0 10px;
}

#voice .voice_box .right_box .read_more p {
    border: 1px solid #108eed;
    color: #108eed;
    display: inline-block;
    padding: 1% 10%;
    background: #fff;
    position: relative;
}

#voice .voice_box .right_box .read_more.open {
    background: #fff;
    padding: 10px 0 10px;
}

#voice .voice_box .right_box .read_more.open p:after {
    display: block;
    width: 99%;
    content: "閉じる";
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.winSP #voice {
    padding: 40px 0 0;
}

.winSP #voice .inner {
    padding: 10px;
}

.winSP #voice .voice_box .left_box {
    float: none;
    width: 100%;
    text-align: center;
}

.winSP #voice .voice_box .left_box {
    padding: 0 0 0 0;
}

.winSP #voice .voice_box .left_box .img_box {
    padding: 0;
}

.winSP #voice .voice_box .left_box .img_box:after {
    left: -20px;
    top: -10px;
}

.winSP #voice .voice_box .left_box span:not(.img_box) {
    display: block;
    text-align: center;
    padding-left: 0;
}

.winSP #voice .voice_box .right_box {
    float: none;
    width: 100%;
    padding: 10px;
}

.winSP #voice .voice_box .right_box .read_more {
    width: calc(100% - 20px);
}
.winSP #voice .voice_box .right_box .text_box p {
    height: 150px;
}

/* 202506 */
/* pdf（PDFのアイコンつきリンク）
----------------------------*/
.pdf {
  margin-top: 10px;
  margin-bottom: 10px;
  display: block;
}

.pdf a {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.pdf a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  content: "";
  background: url(../images/ico-pdf.png);
}

.pdf a span {
  text-decoration: underline;
  color: #000;
}

/* アプリボタン2つ並び
----------------------------*/
.btn_app{
  display: flex;
  gap: 10px;
}
.btn_app a{
  display:block;
  position:relative;
  padding:1em 3em;
  background:#1f325e;
  box-shadow: 0 2px 2px rgba(0,0,0,0.2), 0 -14px 10px -5px #121c33 inset;
  font-size:12px;
  font-size:1.2rem;
  color:#fff;
  text-align:center;
}
.btn_app a:after{
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff; 
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%) rotate(45deg);
}
.btn_app a:hover{
  text-decoration:none;
  background:#121c33;
  box-shadow: 0 -14px 10px -5px #1f325e inset;
}
.winSP .btn_app {
  flex-direction: column;
  width: 80%;
  margin:0 auto;
}