@charset "utf-8";

/* 全体*/
* {
    box-sizing:border-box;
}

/* body*/
body {
  font-size: 14px;
  line-height: 1.8;
  font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", 'ヒラギノ角ゴ W3', "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #333;
  background-color: #fff;
}

/* 初期スタイル調整 */
h1,
h2,
h3 {
    margin-top: 0;
    line-height: 1.5;
    letter-spacing: 0.2em;
    text-align: center;
}

h3 {
    font-size: 16px;
    margin-bottom: 4px;
}

p {
    margin-top: 0;
    margin-bottom: 1.5em;
    text-align: justify;
}

a {
    color:#666;
    text-decoration: none;
}

a:hover,
a:focus {
    color: #000;
    text-decoration: none;
}

ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
}

img {
    width: 100%;
    height: auto;
}

section {
    padding: 15px 0;
}

/*----------------------------
レイアウト
----------------------------*/
.inner {
  padding: 0 15px;
  margin: 0 auto;
}
.innerA {
  padding: 0 15px;
  margin: 0 auto 20px;
}
@media print, screen and (min-width:768px){
  .inner,.innerA {
    max-width: 1200px;
  }
}
.sp-only {
  display: block;
}
.pc-only {
  display: none;
}
@media print, screen and (min-width:768px){
  .sp-only {
    display: none;
  }
  .pc-only {
    display: block;
  }
}


/*----------------------------
文字
----------------------------*/
.p10 {font-size: 10px;}
.p12 {font-size: 12px;}
.p14 {font-size: 14px;}
.p16 {font-size: 16px;}
.p18 {font-size: 18px;}
.p20 {font-size: 20px;}
.p30 {font-size: 30px;}
.p36 {font-size: 36px;}

.pr {color: red}
.pblack {color:black}
.pFW{font-weight: bold;}	

.pleft {text-align: left;}
.pcenter {text-align: center;}
.pright {text-align: right;}

.pline11 {line-height: 1.1em;}
.pline8 {line-height: 0.8em;}

.pIndent {text-indent: -1em;}
.pIndent3 {text-indent: -3em;}
.p-ls{letter-spacing: 0.1em;}

.pMb{margin-bottom: 0;}
.pMb4{margin-bottom: 4px;}
/*----------------------------
margin padding
----------------------------*/
.mar-t2{margin-top: -2em;}
.mar-t1{margin-top: -1em;}
.mar-left{margin-left: 2%;}
.mb20 {margin-bottom: 2em; }
.pad10 {padding: 10px;}
.pad-left2{padding-left: 2%;}
/*----------------------------
box(float系)
----------------------------*/
/*TOP*/
.box1, .box2, .box3, .box4, .box5, .box6, .box7, .boxA　{
  margin-bottom: 6px;
}
.box1:after,.box2:after,.box3:after,.box4:after,.box5:after,.box6:after,.box7:after,.boxA:after {
	content: "";
	display: block;
	clear: both;
}
@media print, screen and (min-width:768px){
  .box2 {
    float: right;
  }
.boxA{
  margin-left: 5%;
  }
.boxB{
  float:left;
  margin: 0 4%;
  width: 40%;
  }
.boxC{
  float:left;
  margin: 0 1.4%;
  width: 43%;
  }
.boxD{
  float:left;
  margin-left: 0.5%;
  width: 30%;
  }
}
.TopTopixImg{
	float:left;
	margin-right: 4%;
	width: 16%;
}
@media print, screen and (min-width:768px){
.TopTopixImg{
	float:left;
	margin: 0 4% 0 10%;
	width: 10%;
  }
.TopTopixImgPheader{
	float:left;
	margin: 0 4% 0 10%;
	width: 20%;
  }
}
.TopTopixImg2{
	float:left;
	margin-right:0.5%;
	width: 16%;
}
.TopTopixImg3{
	float:left;
	margin-right:1%;
	width: 15%;
}
.TopTopixImg4{
	float:left;
	margin-right: 4%;
	width: 16%;
}
@media print, screen and (min-width:768px){
.TopTopixImg4{
	float:left;
	margin: 0 4% 0 10%;
	width: 16%;
  }
.TopTopixImg3{
	float:left;
	margin: 0 4% 0 10%;
	width: 16%;
}
}
.box1 .TopTopix{
	float:left;
	margin: 0;
	padding: 0;
    font-size: 18px;
    text-align: center;
	font-weight: bold;
	line-height: 1.2em;  
}
@media print, screen and (min-width:768px){
.box1 .TopTopix{
	float:left;
	margin: 0;
	padding: 20px 0 0 0;
    font-size: 28px;
    text-align: center;
	font-weight: bold;
	line-height: 1.2em;  
}
}
.box2 .TopTopix{
	float:left;
	margin: 0;
	padding: 0;
    font-size: 12px;
	line-height: 1.2em;  
}
@media print, screen and (min-width:768px){
.box2 .TopTopix{
    font-size: 16px;
}
}
.box3 .TopTopix{
	float:left;
	margin: 0;
	padding: 0;
    font-size: 20px;
	font-weight: bold;
    line-height: 1.4em;  
}
@media print, screen and (min-width:768px){
.box3 .TopTopix{
    font-size: 28px;
}
.box3 .TopTopix2{
    font-size: 26px;
}
  .open {
    font-size: 18px;
  }
}
.eng{
	color: #e68504;
    font-size: 22px;
    font-weight: 900;
    text-decoration: underline;
}
.eng2{
	color: #e68504;
    font-size: 20px;
    font-weight: 900;
    text-decoration: underline;
}

/*個別ページの各教材*/
.h3TopixImg{
	float:left;
	width: 50%;
}
.h3TopixImg2{
	float:left;
	width: 50%;
}
.box4 .h3Topix{
	float:left;
    padding-left: 3%;
    text-align: right;
}
.box4 .h3Topix2{
	float:right;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: right;
}
.h3Topix::before, .h3Topix2::before {
  display: inline-block;
  position: relative;
  content: "";
  width: 16px;
  height: 16px;
  top: 2px;
  right: 4px;
  background: url(../img/arrow2.png) no-repeat right center;
}
@media print, screen and (min-width:768px){
  .h3Topix{
    padding-left: 10%;
    text-align: right;
  }
  .h3Topix::before {
    display: inline-block;
    position: relative;
    content: "";
    width: 16px;
    height: 16px;
    top: 2px;
    right: 4px;
    background: url(../img/arrow2.png) no-repeat right center;
  }
}
.box5TopixImg{
	float:left;
	width: 30%;
}
.box5TopixImg2{
	float:left;
    padding-top: 15%;
	width: 5%;
}
@media print, screen and (min-width:768px){
  .box5TopixImg{
      float:left;
      width: 36%;
  }
  .box5TopixImg2{
      float:left;
      width: 2%;
  }
}
.box5Topix{
	float:left;
    padding-top: 10%;
    padding-left: 3%;
    width: 62%;
}
.box6 .Topix{
	float:left;
    margin-top: 10px;
    padding: 10px;
	width: 70%;
    font-size: 16px;
}
.box6 .TopixImg{
	float:left;
    margin-top: 10px;
    width: 30%;
}
.box7 .ttlImg{
  float:left;
  width: 40%;
}
.box7 .ttltxt{
  float:left;
  padding-left: 5px;
  font-size: 10px;
  line-height: 1.1em;
}
.box7 .con1{
  float:left;
  width: 30%;
  margin-right: 2%;
}
.box7 .con2{
  float:left;
  width: 30%;
  margin-right: 2%;
}
.box7 .con3{
  float:left;
  width: 30%;
}
.box7 .con4{
  float:left;
  width: 50%;
  padding: 0 26px;
}
@media print, screen and (min-width:768px){
  .con1, .con2, .con3, .con4{
  letter-spacing: .1em; 
  }
}

/*----------------------------
link
----------------------------*/
.link-more {
  margin-left: 10px;
  margin-bottom: 10px;
}
.link-more2 {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left:45%;
}
.link-more3 {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left:20%;
}
.link-more5 {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left:20%;
}
.link-more6 {
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left:4%;
}
.link-more, .link-more2, .link-more3, .link-more5 {
  display: inline-block;
  font-size: 0.8rem;
  color: #333;
  text-decoration: none;
}
.link-more4 {
  padding-left: 10px;
  letter-spacing: 0.1em; 
  display: inline-block;
  font-size: 0.7rem;
  color: #333;
  text-decoration: none;
}
.link-more a::after, .link-more2 a::after, .link-more3 a::after, .link-more5 a::after, .link-more6 a::after {
  display: inline-block;
  position: relative;
  content: "";
  width: 16px;
  height: 16px;
  top: 2px;
  left: 8px;
  background: url(../img/arrow.png) no-repeat right center;
}
.link-more4 a::after {
  display: inline-block;
  position: relative;
  content: "";
  width: 16px;
  height: 16px;
  top: 2px;
  left: 2px;
  background: url(../img/arrow.png) no-repeat right center;
}
@media print, screen and (min-width:768px){
  .link-more2 {
  margin-left:70%;
  }
  .link-more3 {
  margin-left:50%;
  }
  .link-more5 {
  margin-left:65%;
  }
  .link-more6 {
  margin-left:65%;
  }
}
/*----------------------------
ｈ＊まわり
----------------------------*/
/*################################################トップ*/
.top_h3-title {
  margin-left: 6px;
  padding-left: 10px;
  border-left: 12px solid #000;
  font-size: 16px;
  text-align: left;
  line-height: 1.2em;  
  letter-spacing: 0.1em;
  text-align: left;  
}
/*################################################各講座*/
.h1-title {
  margin-left: 6px;
  padding-left: 10px;
  border-left: 12px solid #000;
  font-size: 18px;
  text-align: left;
  line-height: 1.2em;  
  letter-spacing: 0.1em;
  text-align: left;  
}
.h2-title, .h2-title2 {
  text-align: left;
  padding-bottom: 2px;
  border-bottom: 2px solid #527acc;
}
.h2-title2 .app {
  display: block;
  margin-bottom: 0em;
  color: #aaa;
  font-size: .8em;
}
/*################################################教材*/
.tool{
  margin-top: 10px;
}
h3 .ttl {
  margin-left: 26px;
  font-size: 20px;
}
h3 .ttl2 {
  margin-left: 14%;
  font-size: 20px;
}
.h301 {
  position: relative;
  padding: .8em 0em 1.5em 1.7em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.h301::after {
  position: absolute;
  padding-right: 1em;
  top: .5em;
  left: .1em;
  z-index: 2;
  content: '';
  width: 80px;
  height: 47px;
  background-image:url(../img/learn_yomu.png);
  background-repeat:no-repeat;
  background-size:80px 47px;
}
.h302 {
  position: relative;
  padding: .8em 0em 1.5em 1.7em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.h302::after {
  position: absolute;
  top: .5em;
  left: .1em;
  z-index: 2;
  content: '';
  width: 80px;
  height: 47px;
  background-image:url(../img/learn_miru.png);
  background-repeat:no-repeat;
  background-size:80px 47px;
}
.h303 {
  position: relative;
  padding: .8em .5em 1.5em 1.7em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.h303::after {
  position: absolute;
  top: .5em;
  left: .1em;
  z-index: 2;
  content: '';
  width: 80px;
  height: 47px;
  background-image:url(../img/learn_toku.png);
  background-repeat:no-repeat;
  background-size:80px 47px;
}
.h304 {
  position: relative;
  padding: .8em 5em 1.5em 1.7em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.h304::after {
  position: absolute;
  top: .5em;
  left: .1em;
  z-index: 2;
  content: '';
  width: 80px;
  height: 47px;
  background-image:url(../img/learn_ask.png);
  background-repeat:no-repeat;
  background-size:80px 47px;
}
.h305 {
  position: relative;
  padding: .8em 5em 1.5em 1.7em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.h305::after {
  position: absolute;
  top: .5em;
  left: .1em;
  z-index: 2;
  content: '';
  width: 80px;
  height: 47px;
  background-image:url(../img/learn_hantei.png);
  background-repeat:no-repeat;
  background-size:80px 47px;
}
@media print, screen and (min-width:768px){
  .tool{
    margin: 0 50px;
    padding:10px 30px;
    }
  h3 .ttl {
    margin-left: 5px;
  }
  h3 .ttl2 {
    margin-left: 5%;
  }
}
.h4-title {
  text-align: left;
  padding-bottom: 2px;
  border-bottom: 2px solid #527acc;
}


/*----------------------------
ボタン
----------------------------*/
/*################################################トップボタン LP*/
.top_boxK{
	margin-bottom:20px;
}
.top_boxK-inner{
	margin-top:10px;
	padding: 0 20px;
}
@media print, screen and (min-width:768px){
  .top_boxK-inner{
	margin-top:10px;
	padding: 0 5%;
  }
}
/*###############################################事務局お問合せボタンボタン*/
.top_boxK2-inner{
	margin-top:10px;
	padding: 0 20px;
}
@media print, screen and (min-width:768px){
  .top_boxK2-inner{
	margin-top:10px;
	padding: 0 20%;
  }
}
/*################################################ローカルボタン*/
.boxK-inner{
	margin-top:10px;
	padding: 0;
}
@media print, screen and (min-width:768px){
  .boxK-inner{
    margin-top:10px;
	padding: 0 30%;
  }
}
input[type="image"]:hover {
	opacity:0.5;
}
.boxK-inner p{
	padding: 5px 20px;
	font-size: 16px;
    text-align: center;
}
.boxK-inner p i{
	padding-left: 10px;
}
.boxK input{
	width: 100%;
}
.opa:hover {
	opacity:0.6;
}
/*
.btn, a.btn-c {
  border:1px solid #ff6a00;
  width:100px;
  height:28px;
  background:linear-gradient(to bottom, #e6c470,#f3e3bb);
}
.button1 {
	display:block;
    width:600px;
	height:80px;
	line-height:80px;
    background: linear-gradient(#f3e3bb, #e6c470, #f3e3bb);
  	text-align:center;
    font-size: 30px;
    border-radius: 20px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
}
.button2 {
	display:block;
    width:600px;
	height:80px;
	line-height:80px;
    background: linear-gradient(#f1f4f9, #8099c6, #f1f4f9);
  	text-align:center;
    font-size: 30px;
    border-radius: 20px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
}
*/
}
/*----------------------------
ヘッダー
----------------------------*/
@media print, screen and (min-width:768px){
  .mv-area img {
      width: 100%;
      height: auto;
      vertical-align: bottom;
  }
  .mv-title {
    color: #fff;
    text-shadow: 0px 0px 3px #333;
    margin-top: 90px;
  }  
}
/*----------------------------
ローカル
----------------------------*/
/*################################################npo*/
.npo {
  margin-bottom: 10px;
  padding: 16px;
  background-color: #ddd;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
.npo {
  margin: 0 60px;
  padding:10px 40px;
  }
}
.npo .topix {
  font-size: 18px;
  line-height: 1.3em;
  
}
@media print, screen and (min-width:768px){
 .features {
   padding: 0 20px;
  }
}
/*################################################配送*/
.deliver {
  padding: 10px;
  line-height: 1.8em;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
  .deliver {
    margin: 0 60px;
  }
}
/*################################################研修担当*/
@media print, screen and (min-width:768px){
  .training, .features {
    margin: 0 60px;
  }
}
.h3-training {
  background: #CCC;
}
@media print, screen and (min-width:768px){
.h3-training {
  padding-top: 10px;
  height: 40px;
  }
}
.trainingTopix {
  margin-top: -10px;
  padding: 10px 10px 0 10px;
  line-height: 1.8em;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
.trainingTopix {
  padding: 10px 40px;
  }
}
/*################################################次世代*/
.jisedai {
  padding: 10px;
  line-height: 1.8em;
  color: red;
  font-size: 16px;
  border: 3px solid #ccc;
}
.link-g{
  margin-top: -1.5em;
}
@media print, screen and (min-width:768px){
  .jisedai {
  margin: -20px 60px 0 60px;
  padding:10px 20px;
  }
  .link-g{
  margin-top: -1.5em;
  text-align: center;
  }
}
/*################################################価格*/
/* price */
.price {
  padding: 16px;
  line-height: 1.8em;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
  .price {
   margin: 0 60px;
   text-align: center;
  }
}
.pricep {
  font-size:30px;
  color: red;
  font-weight: 900;
}

/* partner */
.partner {
  margin-top: 10px;
  padding: 10px;
  line-height: 1.8em;
  border: 2px solid red;
}
@media print, screen and (min-width:768px){
  .partner {
    margin: 0 60px;
    padding:10px 40px;
  }
}
.partnerP{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: red;
  text-decoration: underline;
}
.partner-exp {
  padding: 0 20px;
  line-height: 1.2em;
}
@media print, screen and (min-width:768px){
.partner-exp {
  text-align: center;
}
}
/* partner2 (20201111)*/
.partner2 {
  margin: 10px 0;
  padding: 20px;
  line-height: 1.8em;
  border: 2px solid red;
}
@media print, screen and (min-width:768px){
  .partner2 {
    margin: 0 60px 10px;
    padding:10px 40px;
  }
}
 
/*################################################カリキュラム*/
.cali {
  margin-top: 10px;
}
.cali img {
  width: 40%;
  height: 40%;
}
@media print, screen and (min-width:768px){
.cali img {
  width: 60%;
  height: 60%;
}
}

/*################################################修了証*/
/*graduation */
.graduation {
  padding: 10px;
  line-height: 1.8em;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
  .graduation {
    margin: 0 60px;
    padding:10px 40px; 
 }
}
.graduation2 {
  margin: 30px auto 10px;
  padding: 10px;
  line-height: 1.8em;
  border: 3px solid #000;
}
.graduation2 .t1{
  margin-top: -40px;
  font-size: 20px;
  text-align: center;
  background-color: #fff;
}
.graduation2 .t2{
  color: #fff;
  background-color: #808080;
}
/*################################################ attention*/
.attention {
  padding: 20px;
}
/*################################################ footer*/
footer{
    width: 100%;
    height: 100px;
    text-align: center;
}

/*################################################ トップへ戻るボタン*/
.pagetop { 
    display: none; 
    position: fixed; 
    bottom: 30px; 
    right: 15px; 
} 
.pagetop a { 
    display: block; 
    background-color: #9EEA54; 
    text-align: center; 
    color: #222; 
    font-size: 40px; 
    text-decoration: none; 
    padding: 5px 10px; 
    filter:alpha(opacity=50); 
    -moz-opacity: 0.5; 
    opacity: 0.5; 
} 
.pagetop a:hover { 
    display: block; 
    background-color: #b2d1fb; 
    text-align: center; 
    color: #fff; 
    font-size: 40px; 
    text-decoration: none; 
    padding:5px 10px; 
    filter:alpha(opacity=50); 
    -moz-opacity: 0.5; 
    opacity: 0.5; 
} 

#floatMenu{
    width: 80px;
    height: 60px;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #ff5120), color-stop(0.00, #f9c658));
background: -webkit-linear-gradient(top, #f9c658 0%, #ff5120 88%);
background: -moz-linear-gradient(top, #f9c658 0%, #ff5120 88%);
background: -o-linear-gradient(top, #f9c658 0%, #ff5120 88%);
background: -ms-linear-gradient(top, #f9c658 0%, #ff5120 88%);
background: linear-gradient(to bottom, #f9c658 0%, #ff5120 88%);
    position: absolute;
    top:100px;
    left: 15px;
    padding: 0px 0px 10px 0px;
    text-align: center;
    filter:alpha(opacity=50); 
    -moz-opacity: 0.5; 
    opacity: 0.5; 
	border-radius:10px;
	font-size: 14px;
}
#floatMenu a{
	text-decoration: none;
}
/*################################################ print*/
@media print { 
 /* All your print styles go here */
body {
  width:1120px;
  }
  .TopTopixPrint {
    letter-spacing: -2px;
  }
  .top_h3-title2 {
    font-size: 14px;
    text-align: left;
    line-height: 1.6em;  
    letter-spacing: 0.1em;
    text-align: left;  
  }
}

/*#####################################Usage environment */
.environment  {
  margin-top: 10px;
  padding: 10px;
  line-height: 1.8em;
  border: 1.5px solid #ccc;
}
@media print, screen and (min-width:768px){
  .environment {
    margin: 0 60px ;
    padding:10px 40px;
  }
}
.environmentP{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: red;
  text-decoration: underline;
}
.environment-exp {
  padding: 0 20px;
  line-height: 1.2em;
}
@media print, screen and (min-width:768px){
.environment-exp {
  text-align: center;
}
}
/*#####################################mediapoint320 */
@media screen and (max-width:480px){
.eng{
    font-size: 0.9em;
  }
.eng2{
    font-size: 0.9em;
  }
  .con1, .con2, .con3, .con4{
  font-size: 0.7em; 
  } 
  .con5{
  letter-spacing: 0.04em; 
  }
  .h4-title {
    font-size: 1em;
  }
  .try{
    font-size: 1.2em;
    padding-bottom: 1em;
  }
  .link-more2 {
  margin-left:30%;
  }
}

/*################################################TOPリード(20201111)*/
.toplead{
	margin: 0;
	padding:3px 10px;
	background-color: #e50014;
	color: #ffffff;
	font-weight: bold;
    text-align: center;
}
@media print, screen and (min-width:768px){
  .toplead{
	font-size: 22px;
  }
}


/*################################################table(20201118)*/
#tabular{
text-align: center;
margin-bottom: 10px;
}
#tabular table{
width: 96%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
}
#tabular table tr th,
#tabular table tr td{
padding: 0.5em;
text-align: center;
vertical-align: middle;
border: solid #CCC;
border-width: 1px;
font-size: 14px;
}
#tabular table tr th{
background: #eee;
}

.sc-table {
    overflow-x: scroll;
    white-space: nowrap;
}
@media print{
  #tabular{
	width: 100%;
  }
}