@charset 'utf-8';

/*
 * リセット
 */
body,header,footer,section,article,aside,div,p,ul,ol,li,h1,h2,h3,h4,h5,h6,a,figure,figcaption,img,table,tr,th,td,dl,dt,dd{
  margin:0;
  padding:0;
  box-sizing:border-box;
  transition:all .3s;
}
h1,h2,h3,h4,h5,h6,th{font-weight:normal;}
/*
 * 共通
 */
/* 游明朝 */
@font-face {
  font-family: 'MyYuMinchoM';
  font-weight: normal;
  src: local('YuMincho-Medium'),
  local('Yu Mincho Medium'),
  local('YuMincho-Regular');
}
@font-face {
  font-family: 'MyYuMinchoB';
  font-weight: bold;
  src: local('YuMincho-Bold'),
  local('Yu Mincho');
}
.mincho{font-family:MyYuMinchoM, MyYuMinchoB, Yu Mincho, Hiragino Mincho ProN, "HG明朝E", "ＭＳ Ｐ明朝", serif;}

body{
  font-family:Meiryo, Hiragino Kaku Gothic ProN, Yu Gothic, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height:1.4;
  -webkit-text-size-adjust: 100%;
}
img{
  max-width:100%;
  vertical-align:top;
}
a{text-decoration:none;}
a:hover img{opacity:.8;}
ul,ol{list-style:none;}
.align-left{text-align:left;}
.align-center{text-align:center;}
.align-right{text-align:right;}
.v-top{vertical-align:top;}
.v-middle{vertical-align:middle;}
.v-bottom{vertical-align:bottom;}
.tbl{
  display:table;
  width:100%;
}
.row{display:table-row;}
.col,.col-l,.col-c,.col-r{display:table-cell;}
.fix{table-layout:fixed;}
.ib{display:inline-block;}
.visible480{display:none;}
.visible768{display:none;}
.hidden480{display:inline-block;}
.hidden768{display:inline-block;}
.wrapper{
  max-width:1040px;
  margin:0 auto;
  padding:0 20px;
}
/* マップ */
.ggmap{
  position: relative;
  padding-bottom:51.62%;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* お知らせ */
.ifrm{
  width:100%;
  height:200px;
  border:1px solid #000;
  /*overflow:auto;*/
  -webkit-overflow-scrolling:touch;
  display:inline-block;
}
.ifrm iframe{
  width:100%;
  min-height:200px;
  height:100%;
  padding:0em;
  border:none;
  display:block;
}
/* カレンダー */
.ggcalendar embed,
.ggcalendar iframe,
.ggcalendar object{max-width:100%;}
.attention{
  text-indent:-1em;
  padding-left:1em;
  display:inline-block;
}
.attention:before{content:'\203B';}
.txt-blk{color:#000;}
.txt-red{color:#F91C2D;}
.txt-blue{color:#0000FF;}
.txt-green{color:#009245;}
.bld{font-weight:bold;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mt60{margin-top:60px;}
.mt30{margin-top:30px;}
.mr10{margin-right:10px;}
.pt60{padding-top:60px;}
.ptb5{padding-top:5px;padding-bottom:5px;}
.mb-xs{margin-bottom:15px;}
.mb-small{margin-bottom:30px;}
.mb-medium{margin-bottom:50px;}
.mb-large{margin-bottom:70px;}
.mb-larger{margin-bottom:90px;}

.font32{font-size:32px;text-indent: -1em;padding-left: 1em;}

/* ヘッダー
----------------------------------------- */
header{background:#fff;}
.header-obi{
  background:url(../images/common/header-bg.png) 0 0 repeat-x;
  background-size:cover;
  transition:all .2s;
}
.top-tbl{
  display:table;
  width:100%;
}
.header-txt{
  display:table-cell;
  font-size:21px;
  color:#736357;
  text-align:center;
  vertical-align:middle;
  padding:20px;
}
.header-tbl{padding:15px 0;}
.header-logo{padding-left:40px;}
.robot{
  font-size:16px;
  color:#18A829;
}
.logo-copy{
  font-size:16px;
  color:#736357;
}
.header-info{
  display:inline-block;
  padding-right:25px;
}
.contact-list{margin:0 -6px;}
.contact-list li{padding:0 6px;}


/*メイン画像
-------------------------------------*/
.mainimg img {
	width: 100vw;
}

.box_parallel {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-diretion: nowrap;
    justify-content: space-between;
}

.box_parallel_content:not(:last-child) {
    margin: 0 2% 0 0;
}

.box_parallel_content{
	max-width: 480px;
}

@media screen and (max-width: 768px){
.box_parallel {
    justify-content: center;
	flex-wrap:wrap;
}
.box_parallel_content:not(:last-child) {
    margin: 0 0 30px 0;
}

.box_parallel_content{
	max-width: 480px;
}

}




/* グロナビ */
.gnav{
  display:table;
  width:100%;
  height:47px;
  background:url(../images/common/gnav-bg.png) 0 0 repeat-x;
  background-size:cover;
}
.gnav-inner{
  display:table-cell;
  text-align:center;
  vertical-align:middle;
  transition:inherit;
}
.gnav ul{
  max-width:1000px;
  font-size:0;
  margin:auto;
}
.gnav li{
  display:inline-block;
  width:12.5%;
  border-left:3px solid #736357;
}
.gnav li:last-child{border-right:3px solid #736357;}
.gnav li a{
  display:block;
  font-size:16px;
  font-weight:bold;
  color:#736357;
  padding:5px;
}
#menu-btn{display:none;}
#overLay{
  display:none;
  width:100%;
  height:120%;
  background:rgba(255,255,255,.6);
  position:fixed;
  top:0;
  left:0;
  transition:inherit;
  z-index:100;
}
/* コンテンツ
----------------------------------------- */
.kv-ttl{
	background: #00309a;/*背景色*/
  padding: 0.5em;/*文字まわり（上下左右）の余白*/
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
}

.online-list {
  color: #00309a;/*文字色*/
  border: dashed 2px #00309a;/*破線 太さ 色*/
  background: #f1f8ff; /*背景色*/
  padding: 0.5em 2em 0.5em 2em;
  }

.online-list li {
  line-height: 1.5;
  padding: 0.5em 0;
}

.hokkaido-map{
  max-width:1000px;
  margin:0 auto 25px;
}

.box-top{
    padding: 0.6em 1.5em;
    margin: 2em 0;
    background: #f9ee00;
    box-shadow: 0px 0px 0px 10px #f9ee00;
    border: dashed 2px #fff;
}
.box-top p {
    margin: 0;
    padding: 0;
	color:#333;
	font-weight:bold;
	font-size:26px;
	text-align: center;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }


.pc_c { display: block !important; }
.sp_p { display: none !important; }


/* 画面幅が768以下になったら表示切り替えする */
.pc_view_768 { display: block!important; }
.sp_view_768 { display: none !important; }


.youtube {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0px;
  position: relative;
}

.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.course_bn{margin-bottom:20px;}

.hokkaido{margin-bottom:20px;}

.english_bn{margin-bottom:20px;}

.english_movie{
  position:relative;
  padding-bottom:56.7%;
  height:0;
  overflow:hidden;
  margin-bottom:30px;
}
.english_movie video{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.col-list{font-size:0;}
.col-list li{display:inline-block;}
.movie video{max-width:304px;}
.movie{
  position:relative;
  padding-bottom:39.25%;
  padding-top:30px;
  height:0;
  overflow:hidden;
}

.movie video{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
main{
  max-width:1000px;
  margin:auto;
}
.main-outer{
  display:table;
  max-width:1000px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:80px;
  table-layout:fixed;
}
.main{
  display:table-cell;
  padding-left:2%;
  margin-bottom:50px;
}
.sidebar{
  display:table-cell;
  width:36%;
  padding:0 2% 0 3.6%;
}
.snav{margin-bottom:50px;}
.snav li{margin-bottom:15px;}
.school-list{margin:0 -3px 25px;}
.school-list li{
  width:25%;
  text-align:center;
  padding:0 3px;
}
.course-list dl{
  display:table;
  width:100%;
}
.course-list dt,.course-list dd{
  display:table-cell;
  padding-bottom:20px;
}
.course-list dt{
  width:55%;
  padding-right:10%;
}
.course-attention{
  width:65%;
  padding-right:5%;
}
.course-list-summary{font-size:12px;}
.course-attention{
  font-size:14px;
  font-weight:bold;
  color:#ED1C24;
}
.course-attention-img{text-align:right;}
.price{
  font-size:25px;
  font-weight:bold;
  vertical-align:middle;
}
.course-fee{font-size:12px;}
.yen{
  font-size:14px;
  font-weight:bold;
  vertical-align:-5px;
}
.school-h2-ttl,
.school-h3-ttl{margin-bottom:35px;}
.school-h4-ttl{font-weight:bold;}
.school-h5-ttl{
  font-size:18px;
  font-weight:bold;
}
.h3-block-ttl{
  max-width:365px;
  font-size:18px;
  color:#736357;
  border-top:1px solid #C9CACA;
  border-right:1px solid #C9CACA;
  border-bottom:1px solid #C9CACA;
  padding:8px 8px 8px 65px;
  position:relative;
}
.h3-block-ttl:before{
  content:'';
  width:50px;
  height:100%;
  background:#FBB03B;
  padding:1px 0;
  position:absolute;
  top:-1px;
  left:0;
}
.h3-bar-ttl{
  font-size:24px;
  font-weight:bold;
  border-bottom:3px solid #FBB03B;
  text-align:center;
  margin-bottom:5px;
}
.circle,
.circle-medium{
  display:table;
  width:100%;
  height:100%;
}
.circle-outer.yellow{background:#F9CF1E;}
.circle-outer.pink{background:#ED5AA1;}
.circle-outer.blue{background:#1c9ed1;}
.circle-outer-medium.purple{background:#8965CE;}
.circle-outer{
  width:45px;
  height:45px;
  border-radius:100%;
}
.circle span,
.circle-medium span{
  display:table-cell;
  font-weight:bold;
  text-align:center;
  vertical-align:middle;
  padding-top:3px;
}
.circle span{font-size:12px;}
.circle-medium span{font-size:22px;}
.circle-outer-medium.purple span{color:#fff;}
.circle-outer-medium{
  width:62px;
  height:62px;
  border-radius:100%;
}
.school-p-xxs{
  font-size:10px;
  line-height:1.8;
}
.school-p-xs{
  font-size:12px;
  line-height:1.8;
}
.school-p-small{
  font-size:14px;
  line-height:1.8;
}
.school-p{
  font-size:16px;
  line-height:1.8;
}
.school-p-medium{
  font-size:18px;
  line-height:1.8;
}
.school-p-large{
  font-size:20px;
  font-weight:bold;
}
.school-p-larger{
  font-size:25px;
  font-weight:bold;
}
.school-p-xl{
  font-size:27px;
  font-weight:bold;
}
.school-p-mb{margin-bottom:30px;}
.dashed-box{border:2px dashed #F9CF1E;}
.dashed-box02{border:2px dashed #BD8B4A;}
.dashed-box03{border:3px dashed #FBB03B;}
.box-pd-medium{padding:15px;}
.box-pd-large{padding:25px;}
.chk-list li{
  font-size:20px;
  font-weight:bold;
  line-height:1.8;
  padding-left:1.8em;
  margin-bottom:.3em;
  position:relative;
}
.chk-list li:last-child{margin-bottom:0;}
.chk-list li:before{
  content:'';
  border:1px solid #000;
  padding:.4em;
  position:absolute;
  top:.4em;
  left:0;
}
.double_circle li{
  text-indent:-1em;
  padding-left:1em;
}
.double_circle li:before{content:"\25ce";}
.kentei{
  font-size:18px;
  color:#736357;
  line-height:1.8;
  border:1px solid #C9CACA;
  border-radius:15px;
  padding:25px 50px;
}
.fee-ttl{
  font-size:17px;
  font-weight:bold;
  line-height:1.6;
  padding:13px 0 13px 50px;
  position:relative;
}
.fee-ttl:before{
  content:'';
  width:33px;
  height:46px;
  background:url(../images/fee/icon-ttl.png) 0 0 no-repeat;
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
}
.sp-snav{display:none;}
/* 新着情報 */
.news-ttl{
  font-size:19px;
  font-weight:bold;
  color:#736357;
  padding:8px 0 4px 45px;
  position:relative;
}
.news-ttl:before{
  content:'';
  width:37px;
  height:37px;
  background:url(../images/home/icon-clip.png) 0 0 no-repeat;
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
}
/* システム */
.system-ttl{
  font-size:15px;
  font-weight:bold;
  color:#0A5C4D;
  padding:2px 0 0 25px;
  position:relative;
}
.system-ttl:before{
  content:'';
  width:17px;
  height:23px;
  background:url(../images/primary/icon-system.png) 0 0 no-repeat;
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
}
.system-list h4{
  font-size:15px;
  color:#BD8B4A;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
.system-list li{
  border-bottom:2px dashed #BD8B4A;
  padding:10px 0;
}
.system-list li:nth-child(1) h4:before{content:'01.';}
.system-list li:nth-child(2) h4:before{content:'02.';}
.system-list li:nth-child(3) h4:before{content:'03.';}
.system-list li:nth-child(4) h4:before{content:'04.';}
.system-list p{
  font-size:12px;
  line-height:1.8;
  padding-left:2.05em;
  margin-top:5px;
}
.system-area{
  max-width:470px;
  padding:0 10px;
  margin:auto;
}
/* システム02 */
.system-ttl02{
  font-size:17px;
  font-weight:bold;
  padding:5px 0 5px 40px;
  position:relative;
}
.system-ttl02:before{
  content:'';
  width:24px;
  height:31px;
  background:url(../images/fee/icon-system02.png) 0 0 no-repeat;
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
}
.system-list02 h4{
  font-size:21px;
  color:#BD8B4A;
  text-indent: -1.6em;
  padding-left: 1.6em;
}
.system-list02 li{
  border-bottom:2px dashed #BD8B4A;
  padding:10px 0;
}
.system-list02 li:nth-child(1) h4:before{content:'01.';}
.system-list02 li:nth-child(2) h4:before{content:'02.';}
.system-list02 li:nth-child(3) h4:before{content:'03.';}
.system-list02 li:nth-child(4) h4:before{content:'04.';}
.system-list02 p{
  font-size:14px;
  line-height:1.8;
  padding-left:2.05em;
  margin-top:5px;
}
/* エジソンアカデミー */
.robot-list-outer{
  margin-left:-20px;
  margin-right:-20px;
}
.robot-list{
  border-collapse:separate;
  border-spacing:20px 0;
}
.robot-list figure{
  text-align:center;
}
.robot-list h4{
  text-align:center;
  margin-bottom:15px;
}
.robot01 h4{
  color:#E52F81;
  border-bottom:2px solid #E52F81;
}
.robot01{border-bottom:2px solid #E52F81;}
.robot02 h4{
  color:#F29600;
  border-bottom:2px solid #F29600;
}
.robot02{border-bottom:2px solid #F29600;}
.robot03 h4{
  color:#70BC66;
  border-bottom:2px solid #70BC66;
}
.robot03{border-bottom:2px solid #70BC66;}
.robot-list p{
  font-size:12px;
  padding:15px 10px;
}
/* ホーム */
.kv-area{
  max-width:1000px;
  margin:auto;
}
.home-support-bn{
  max-width:1000px;
  margin:0 auto 25px;
}
/* 幼児教室 */
.baby-list{
  margin-left:-10px;
  margin-right:-10px;
}
.baby-list li{
  width:33.3%;
  padding:0 10px;
}
.baby-course{
  border:20px solid #F9CF1E;
  padding:30px;
}
.baby-box{
  border:10px solid #F9CF1E;
  text-align:center;
  padding:20px;
}
.baby-chart li{
  margin-bottom:65px;
  position:relative;
}
.baby-chart li:before{
  content:'';
  width:0;
  height:0;
  border-top:50px solid #F9CF1E;
  border-left:30px solid transparent;
  border-right:30px solid transparent;
  margin:auto;
  position:absolute;
  left:0;
  right:0;
  top:65px;
}
.baby-chart li:after{
  content:'';
  width:0;
  height:0;
  border-top:38px solid #fff;
  border-left:21px solid transparent;
  border-right:21px solid transparent;
  margin:auto;
  position:absolute;
  left:0;
  right:0;
  top:60px;
}
.educational{
  font-size:24px;
  font-weight:bold;
  line-height:1;
  margin-bottom:85px;
}
/* 小学生 */
.primary-clr{color:#ED5AA1;}
.primary-list li:first-child{width:37.06%;}
.primary-list li:last-child{width:62.94%;}
.primary-en-list{
  margin-left:-20px;
  margin-right:-20px;
}
.primary-en-list li{
  width:25%;
  padding:0 20px;
}
.primary-course{
  border:20px solid #ED5AA1;
  padding:30px;
}
/* 中学生 */
.junior-course{
  border:20px solid #18A829;
  padding:15px;
}
/* 高校生 */
.high-course{
  border:20px solid #1c9ed1;
  padding:30px;
}

.study-list{
  margin-left:-10px;
  margin-right:-10px;
}
.study-list li{
  width:33.3%;
  padding:0 10px;
}
.junior-course-tbl > .col-r{
  width:48%;
  padding-left:10px;
}
.junior-course-tbl-child .col-l{width:170px;}
.junior-course-tbl-child .school-p-xs{line-height:1.4;}
.junor-discount-area{
  border:1px dashed #000;
  border-radius:15px;
  padding:10px;
}
/* 高校生以上 */
.route-list{
  margin-left:-8px;
  margin-right:-8px;
}
.route-list li{
  width:33.3%;
  padding:0 8px;
}
/* 授業料 */
.fee-area{
  background:#FBB03B;
  padding:10px;
}
.fee-tbl01,.fee-tbl02,.fee-tbl03,.fee-tbl04{background:#fff;}
.fee-tbl01 > .col-l,.fee-tbl01 > .col-r,
.fee-tbl02 .col-l,.fee-tbl02 .col-c,.fee-tbl02 .col-r,
.fee-tbl03 > .col-l,.fee-tbl03 > .col-r{border:1px solid #FBB03B;}
.fee-tbl01 > .col-r{
  width:45%;
  padding:10px 15px;
}
.fee-tbl01-child .col-l,.fee-tbl01-child .col-r{padding:5px;}
.fee-tbl01-child .col-l,
.fee-tbl03-child .col-l{border-bottom:2px solid #FBB03B;}
.fee-tbl04-child .col-l,.fee-tbl04-child .col-c{
	border-bottom:2px solid #FBB03B;
    border-right: 2px solid #FBB03B;
}
.fee-tbl01-child .col-r,
.fee-tbl03-child .col-r{
  border-left:2px solid #FBB03B;
  border-bottom:2px solid #FBB03B;
}
.fee-tbl04-child .col-r{
  border-bottom:2px solid #FBB03B;
}
.fee-tbl01-child .col-l.bdr0,
.fee-tbl01-child .col-r.bdr0,
.fee-tbl03-child .col-l.bdr0,
.fee-tbl03-child .col-r.bdr0{border-bottom:none;}
.fee-tbl01-child dt{width:180px;}
.fee-tbl01-child dd{text-align:center;}
.fee-tbl01-child .school-p-xs{line-height:1.4;}
.fee-discount-area{
  background:#FCEDAE;
  padding:10px 15px;
}
.fee-tbl01-child .fee-tbl-child-attention{padding:5px 20px;}
.fee-tbl02 .col-c{text-align:center;}
.fee-tbl02 .col-l,.fee-tbl02 .col-c,.fee-tbl02 .col-r{padding:10px;}
.fee-tbl03 .col-l,
.fee-tbl03-child .col-l,.fee-tbl03-child .col-r{padding:10px;}
.fee-tbl04-child .col-l,.fee-tbl04-child .col-r{padding:10px;}
.fee-tbl03-child .col-l{text-align:center;}
.fee-tbl04-child .col-c{text-align: center;}

.no-wrap{
	display: inline-block;
}

.del{text-decoration: line-through;}

/* 教室案内 */
.rule-list{
  margin-left:-15px;
  margin-right:-15px;
}
.rule-list li{
  width:25%;
  text-align:center;
  padding:0 15px;
}
.guide-link{
  font-size:18px;
  font-weight:bold;
}
.school-p-link,
.souron a{
  display:inline-block;
  color:#0000FF;
  text-decoration:underline;
  position:relative;
}
.school-p-link:hover,
.souron a:hover{text-decoration:none;}
.souron a:before{
  content:'';
  width:0;
  height:0;
  border:10px solid transparent;
  border-left:12px solid #0000FF;
  margin:auto;
  position:absolute;
  top:-.2em;
  right:-1.5em;
  bottom:0;
}
.dashed-box03{
  border-radius:15px;
  padding:30px;
}
.school-name{font-size:25px;}
.school-number{font-size:28px;}
.teacher{font-size:20px;}
.title-list li{
  font-size:16px;
  margin-bottom:8px;
}
.about-tbl .col-r{
  width:39.3%;
  padding-left:15px;
}
/* 入塾 */
.level-tbl{
  width:100%;
  border-collapse:collapse;
}
.level-tbl th{
  width:25%;
  background:#FBB03B;
  vertical-align:top;
}
.level-tbl th,
.level-tbl td{
  border:1px solid #000;
  padding:10px 20px;
}
.attention-area{
  max-width:500px;
  margin-left:auto;
  margin-right:auto;
}
.rank-list{
  margin-left:-18px;
  margin-right:-18px;
}
.rank-list li{
  width:25%;
  padding:0 18px;
}
/* 講習会 */

.concour{
  max-width:535px;
  font-size:18px;
  color:#fff;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  background:#ED1E79;
  padding:12px;
}
.subject-tbl dt.col{width:3em;}
.class-clr{color:#ED1E79;}
.time-schedule-list{
  margin-left:-5px;
  margin-right:-5px;
}
.time-schedule-list li{
  width:50%;
  text-align:right;
  padding:0 5px;
}
/* 保護者からの声 */
.voice-area{margin:70px 0 90px;}
.voice-area li{
  border-bottom:1px dashed #000;
  padding:15px 25px;
  margin-bottom:30px;
}
.voice-tbl > .col:last-child{text-align:right;}
.entering_grade-tbl{font-size:20px;}
.entering_grade-tbl .col:first-child{width:4em;}
.entering_grade-tbl .col{
  line-height:2;
  margin-bottom:10px;
}
.letter-icon{padding-left:20px;}
/* ビリギャル */
.biri-area .school-p{
  max-width:300px;
  color:#ED5AA1;
  line-height:1.2;
  margin-left:auto;
  margin-right:auto;
}
.biri-list li{
  border:1px solid #ED5AA1;
  margin-bottom:35px;
}
.biri-area{
  min-height:98px;
  padding:15px 15px 33px 15px;
  position:relative;
}
.biri-img{
  width:147px;
  min-height:98px;
  background-size:cover;
}
.biri-img span{min-height:98px;}
.biri-img.biri01{background:url(../images/birigirl/biri-img01.png) right center no-repeat;}
.biri-img.biri02{background:url(../images/birigirl/biri-img02.png) right center no-repeat;}
.biri-img.biri03{background:url(../images/birigirl/biri-img03.png) right center no-repeat;}
.biri-img.biri04{background:url(../images/birigirl/biri-img04.png) right center no-repeat;}
.biri-detail{
  text-align:center;
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
}
/* サポート */
.contents-ttl{font-size:25px;}
.contents-txt{font-size:20px;}
.support-ttl{
  font-size:32px;
  color:#808080;
}
/* お問い合わせ */
.contact-icon{
  font-size:16px;
  padding:5px 20px 5px 45px;
  position:relative;
}
.contact-icon:before{
  content:'';
  margin:auto;
  position:absolute;
  top:0;
  left:0;
  bottom:0;
}
.contact-icon.icon-tel:before{
  width:34px;
  height:50px;
  background:url(../images/contact/icon-tel.png) 0 0 no-repeat;
}
.contact-icon.icon-mail:before{
  width:33px;
  height:25px;
  background:url(../images/contact/icon-mail.png) 0 0 no-repeat;
}
.contact-top-area .contact-txt:first-of-type{
  border-bottom:1px dashed #aaa;
  padding-bottom:20px;
  margin-bottom:40px;
}
.form-tbl .col-l,.form-tbl .col-r{
  font-size:16px;
  padding:15px 20px;
}
.form-tbl .col-l{
  color:#fff;
  background:#FBB03B;
  border-top:1px solid #000;
  border-left:1px solid #000;
}
.form-tbl .col-r{
  border-top:1px solid #000;
  border-left:1px solid #000;
  border-right:1px solid #000;
}
.form-tbl .row:last-child .col-l,.form-tbl .row:last-child .col-r{border-bottom:1px solid #000;}
.form-tbl .col-l,.form-tbl .col-r{font-size:16px;}
.form-radio li{display:inline-block;}
input[type="text"],textarea{
  width:100%;
  padding:5px;
  box-sizing:border-box;
}
button[type="submit"]{
  font-size:16px;
  color:#fff;
  background:#FBB03B;
  border:none;
  border-radius:12px;
  padding:5px 60px;
  transition:.2s;
  cursor:pointer;
}
button[type="submit"]:hover{opacity:.8;}

/*プログラミング教室*/

.main-pro{
	max-width: 1000px;
    margin: auto;
	width: 1000px;
}

.main-top{
	margin-bottom: 30px;
	text-align: center;
}

article{
	margin: 0 auto;
	padding: 30px;
}
.pp-text{
	font-size:28px;color:#CB4EB4;font-weight:700;
}

.markar{background: linear-gradient(transparent 60%, #FF7BAC 30%);}


.sub-ttl{
	background: #CB4EB4;/*背景色*/
  padding: 0.5em 1em;/*文字まわり（上下左右）の余白*/
	font-size: 24px;
	font-weight: bold;
	color: #FFF;
}

.prog-outer{
	display: flex;
    justify-content: space-between;
}

.prog-l{
	flex-basis: 65%;
}
.prog-r{
	flex-basis: 35%;
	text-align: right;
}

.tryanderror{
	margin: 20px 0 40px;
}

.t-e-list{
	font-size: 0;
    text-align: center;
}

.t-e-list li{
	display: inline-block;
    width: 50%;
    text-align: center;
    padding: 10px 0;
}

.doctor-outer{
	display: flex;
    justify-content: space-between;
	}

.doctor-l{
	flex-basis: 50%;
	text-align: right;
}
.doctor-r{
	flex-basis: 50%;
	text-align: left;
}

/*おたよりコーナー*/
.otayori {
    text-align: center;
    position: relative;
}

.otayori_btn1 {
    position: absolute;
    left: 14%;
    bottom: 32%;
}

.otayori_btn2 {
    position: absolute;
    left: 14%;
    bottom: 15%;
}

.otayori_btn1:hover{
    bottom: 33%;
}

.otayori_btn2:hover {
    bottom: 16%;
}


/* 未来プランナー */
.youtube_box {
    width: 100%;
    max-width: 620px;
    margin: 0 auto 20px;
}
.side_youtube {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
}

.side_youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* フッター
----------------------------------------- */
footer{
  width:100%;
  height:275px;
  background:url(../images/common/footer-bg.png) 0 0 repeat-x;
  background-size:cover;
  padding:25px 0;
  transition:all .2s;
}
.fnav{margin-bottom:30px;line-height: 2.0;}
.fnav ul{font-size:0;}
.fnav li{
  display:inline-block;
  padding-right:16px;
}
.fnav li:last-child{padding-right:0;}
.fnav li a{
  padding-left:17px;
  position:relative;
}
.fnav li a:before{
  content:'';
  width:15px;
  height:15px;
  background:#736357;
  border-radius:100%;
  position:absolute;
  top:2.5px;
  left:0;
}
.fnav li a{
  font-size:16px;
  color:#736357;
}
.footer-tbl > .col:first-child{text-align:center;}
.footer-tbl > .col:last-child{
  width:34.2%;
  text-align:right;
  padding-left:2%;
}
footer small{
  font-size:16px;
  color:#736357;
  text-align:center;
}
.footer-logo{margin-bottom:15px;}
.footer-info{
  font-size:33px;
  line-height:1;
}
.footer-info a{color:#000;}
.footer-info span{font-size:18px;}
.address{font-size:18px;}
.address span{font-size:15px;}

/*================================================
 *  ノートパソコン向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and   (max-width: 1366px) {

.hokkaido-map{
  max-width:1000px;
  margin:0 auto 25px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

.pc_c { display: block !important; }
.sp_p { display: none !important; }
}


/* =============================================================
   1000px以下
============================================================= */
@media screen and (max-width:1000px){

  /* フッター
  ----------------------------------------- */
  footer{padding:30px 0 5px;}
  .footer-tbl.tbl,
  .footer-tbl .col{
    display:block;
    width:100%;
  }
  .footer-tbl > .col:last-child{
    max-width:340px;
    width:100%;
    text-align:center;
    padding-left:0;
    margin:auto;
  }
  .address{margin-bottom:25px;}



  .pc { display: none !important; }
  .sp { display: block !important; }

    .otayori_btn1,.otayori_btn2{
        width: 70%;
    }
}



/* =============================================================
   960px以下
============================================================= */
@media screen and (max-width:960px){

  .school-h5-ttl{font-size:16px;}
  .school-p-small{font-size:12px;}
  .school-p{font-size:14px;}
  .school-p-medium{font-size:16px;}
  .contents-txt,
  .school-p-large{font-size:18px;}
  .contents-ttl,
  .school-p-larger,
  .school-p-xl{font-size:22px;}
  .box-pd-medium{padding:10px;}
  .box-pd-large{padding:15px;}
  .chk-list li{font-size:16px;}
  .course-list dl,
  .course-list dt,
  .course-list dd{
    display:block;
    width:100%
  }
  .course-list dl{margin-bottom:20px;}
  .course-list dt{padding-right:0;}
  .price{font-size:24px;}
  .course-attention{font-size:12px;}
  .kentei{
    font-size:15px;
    padding:20px;
  }
  .sidebar{
    width:36%;
    padding:0 2% 0 3.6%;
  }
  .dashed-box03{padding:20px;}

  .pc { display: none !important; }
  .sp { display: block !important; }

	.pp-text {font-size: 20px;}
  /* ヘッダー
  ----------------------------------------- */
  .header-txt{font-size:16px;}
  .robot{font-size:14px;}
  .logo-copy{font-size:14px;}
  .header-logo{
    width:176.4px;
    padding-left:0;
  }
  .contact-list li{width:200.7px;}
  .header-info{padding-right:0;}
  .gnav li a{font-size:14px;}

  /* 幼児教室 */
  .baby-box{
    border:5px solid #F9CF1E;
    padding:10px;
  }
  .baby-chart li{
    font-size:12px;
    margin-bottom:45px;
  }
  .baby-chart li:before{
    border-top:25px solid #F9CF1E;
    border-left:15px solid transparent;
    border-right:15px solid transparent;
    top:37px;
  }
  .baby-chart li:after{
    border-top:19px solid #fff;
    border-left:10px solid transparent;
    border-right:10px solid transparent;
    top:34px;
  }
  .baby-course{
    border:10px solid #F9CF1E;
    padding:20px;
  }
  .educational{font-size:18px;}
  /* 小学生教室 */
  .primary-course{
    border:10px solid #ED5AA1;
    padding:20px;
  }

	.high-course{
    border:10px solid #1c9ed1;
    padding:20px;
  }

  /* 中学生 */
  .junior-course-tbl-child .col-l{width:120px;}
  /* 教室案内 */
  .guide-link{font-size:15px;}
  .souron a:before{
    border:7px solid transparent;
    border-left:9px solid #0000FF;
    margin:auto;
    position:absolute;
    top:-.1.5em;
    right:-1.5em;
    bottom:0;
  }
  .school-name{font-size:20px;}
  .school-number{font-size:22px;}
  .teacher{font-size:16px;}
  .title-list li{font-size:14px;}
  /* 授業料 */
  .fee-tbl01-child dt{width:150px;}
  .fee-tbl01 > .col-r{padding:8px 12px;}
  /* 保護者からの声 */
  .h3-bar-ttl{font-size:20px;}
  .entering_grade-tbl{font-size:16px;}
  /* お問い合わせ */
  .form-tbl .col-l{border-right:1px solid #000;}
  .form-tbl .row:last-child .col-l{border-bottom:none;}
  .form-tbl .tbl,
  .form-tbl .col-l,.form-tbl .col-r{
    display:block;
    width:100%;
  }
  .form-tbl .col-l,.form-tbl .col-r{
    font-size:14px;
    padding:15px;
  }
  .form-tbl .col-l,.form-tbl .col-r{font-size:14px;}
  button[type="submit"]{
    font-size:14px;
    padding:5px 50px;
  }
}
/* =============================================================
   768px以下
============================================================= */
@media screen and (max-width:768px){
  .visible768{display:inline-block;}

  .pc { display: none !important; }
  .sp { display: block !important; }

	/* 画面幅が768以下になったら表示切り替えする */
	.pc_view_768 { display: none !important; }
	.sp_view_768 { display: block !important; }

  .main-outer,
  .main,
  .sidebar{
    display:block;
    width:100%;
  }
  .main-outer{
    max-width:610px;
    padding-left:20px;
    padding-right:20px;
    margin:0 auto 50px;
  }
  .main{padding-left:0;}
  .sidebar{padding:0;}
  .snav{
    font-size:0;
    margin:0 -10px;
  }
  .snav li{
    display:inline-block;
    width:50%;
    vertical-align:top;
    padding:0 10px;
  }
  .snav li:nth-child(even){text-align:right;}
  .snav li.pc-movie,
  .snav li.pc-fb{display:none;}
  .sp-snav{display:block;}
  .sp-snav li{
    display:block;
    width:100%;
  }
  .sp-snav li:nth-child(even){text-align:center;}
  .movie{padding-bottom:54% !important;}
  .movie video{max-width:inherit;}
  /* ヘッダー
  ----------------------------------------- */
  .header-txt{
    font-size:13px;
    padding:5px 20px;
  }
  .header-tbl{padding:10px 0;}
  .header-tbl.tbl{
    display:block;
    width:100%;
    text-align:center;
  }
  .header-tbl .col{
    display:inline-block;
    max-width:150px;
  }
  .header-tbl .col:last-child{display:none;}
  .logo-copy{
    font-size:12px;
    text-align:left;
  }
  /* グロナビ */
  header{
    position:relative;
    z-index:999;
  }
  .gnav{
    display:block;
    position:relative;
  }
  .gnav-inner{
    display:none;
    min-width:200px;
    width:30%;
    margin-left:auto;
    background:url(../images/common/gnav-bg.png) 0 0 repeat;
    position:relative;
    top:47px;
    right:-180px;
    transition:0;
  }
  #menu-btn{
    display:block;
    font-size:30px;
    color:#736357;
    line-height:30px;
    padding:5px;
    position:absolute;
    top:4px;
    right:15px;
  }
  .gnav li{
    display:block;
    width:100%;
    border-left:0;
  }
  .gnav li:last-child{border-right:0;}
  .gnav li:last-child a{border-bottom:0;}
  .gnav li a{
    border-bottom:1px dotted #736357;
    padding:15px;
  }
  .contact-list{padding:5px 0;}
  .contact-list li a{
    border-bottom:0;
    padding:10px;
  }
  /* フッター
  ----------------------------------------- */
  .fnav {
    max-width: 300px;
    text-align: left;
    margin: 0 auto 30px;
}
  .fnav li{width:49%;}
  .fnav li{line-height:2;}
  .fnav li a:before{
    width:13px;
    height:13px;
    top:4px;
  }
  .footer-info{font-size:27px;}

.fnav li a{
  font-size:13px;
  color:#736357;
}
  .address{font-size:14px;}
  footer small{font-size:11px;}
}


@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


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

.sub-ttl {
    font-size: 20px;
    }

	.prog-outer{
	display: block;
    justify-content: space-between;
}

.prog-l{
	flex-basis: 100%;
	margin-bottom: 20px;
}
.prog-r{
	flex-basis: 100%;
	text-align: center;
}

article {
    margin: 0 auto;
    padding: 20px;
}

.t-e-list li{
	width: 100%;
    text-align: center;
    padding: 5px;
}

.doctor-outer{
	flex-direction: column;
    justify-content: space-between;
	}

.doctor-l{
	flex-basis: 100%;
	text-align: center;
}
.doctor-r{
	flex-basis: 100%;
	text-align: center;
}

.order1 {
  order: 1;
}
.order2 {
  order: 2;
}

}
/* =============================================================
   480px以下
============================================================= */
@media screen and (max-width:480px){

  .pc { display: none !important; }
  .sp { display: block !important; }

  .pc_c { display: none !important; }
  .sp_p { display: block !important;}

  .sp_p{
	  margin:0 auto;}

  .visible480{display:inline-block;}
  .hidden480{display:none;}
  .sp-tel{
    position:fixed;
    top:62px;
    left:15px;
    z-index:99999;
    width:15%;
  }
  .school-list li{width:50%;}
  .school-list li:nth-child(-n+2){margin-bottom:6px;}
  .snav{margin:0;}
  .snav li{
    width:100%;
    text-align:center;
    padding:0;
  }
  .snav li:nth-child(even){text-align:center;}
  .school-p{font-size:12px;}
  .school-p-medium{font-size:14px;}
  .contents-txt,
  .school-p-large{font-size:16px;}
  .contents-ttl,
  .school-p-larger,
  .school-p-xl{font-size:20px;}
  .chk-list li{font-size:14px;}
  .course-attention-tbl.tbl,
  .course-attention-tbl .col{
    display:block;
    width:100%;
  }
  .course-attention{margin-bottom:20px;}
  .course-attention-img{text-align:center;}
  .kentei{font-size:13px;}
  .mb-small{margin-bottom:20px;}
  .mb-medium{margin-bottom:30px;}
  .mb-large{margin-bottom:50px;}
  .mb-larger{margin-bottom:70px;}
  .h3-block-ttl{
    font-size:15px;
    padding:5px 5px 5px 50px;
  }
  .h3-block-ttl:before{width:40px;}
  /* エジソンアカデミー */
  .robot-list-outer{
    margin-left:0;
    margin-right:0;
  }
  .robot-list.tbl,
  .robot-list .col{
    display:block;
    width:100%;
  }
  .robot-list .col{margin-bottom:40px;}
  /* 幼児教室 */
  .baby-chart li{font-size:11px;}
  .baby-chart li:nth-child(2):before{top:52px;}
  .baby-chart li:nth-child(2):after{top:50px;}
  .educational{margin-bottom:50px;}
  /* 小学生教室 */
  .primary-en-list{
    max-width:320px;
    margin:auto;
  }
  .primary-en-list li{
    width:50%;
    text-align:center;
    padding:0 5px;
    margin-bottom:20px;
  }
  /* 中学生 */
  .study-list li{
    display:block;
    max-width:120px;
    width:100%;
    text-align:center;
    padding:0;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:20px;
  }
  .junior-course{border:10px solid #18A829;}
  .junior-course-tbl.tbl,
  .junior-course-tbl > .col-l,
  .junior-course-tbl > .col-r{
    display:block;
    width:100%;
  }
  .junior-course-tbl > .col-l,
  .junior-course-tbl > .col-r{margin-bottom:20px;}
  .junior-course-tbl-child .col-l,
  .junior-course-tbl-child .col-r{width:50%;}
  /* 高校生以上 */
  .route-list{
    margin-left:0;
    margin-right:0;
  }
  .route-list li{
    display:block;
    max-width:160px;
    width:100%;
    text-align:center;
    padding:0;
    margin-left:auto;
    margin-right:auto;
    margin-bottom:10px;
  }
  .route-list li:last-child{margin-bottom:0;}
  /* 教室案内 */
  .rule-list li{width:50%;}
  .rule-list li:nth-child(-n+2){margin-bottom:40px;}
  .teacher:first-child{margin-bottom:10px;}
  .about-tbl.tbl,
  .about-tbl .col-l,.about-tbl .col-r{
    display:block;
    width:100%;
  }
  .about-tbl .col-r{text-align:center;}
  .teacher-link{margin-bottom:20px;}
  /* 授業料 */
  .guide-link{font-size:13px;}
  .fee-area{padding:5px;}
  .fee-tbl01.tbl,
  .fee-tbl01 > .col-l,
  .fee-tbl01 > .col-r{
    display:block;
    width:100%;
  }
  .fee-tbl01-child dt{width:60%;}
  .system-ttl02{font-size:15px;}
  .system-list02 h4{font-size:18px;}
  .system-list02 p{font-size:12px;}
  /* 入塾 */
  .level-tbl th, .level-tbl td{padding:10px;}
  .rank-list{
    margin-left:-18px;
    margin-right:-18px;
  }
  .rank-list li{
    width:50%;
    text-align:center;
    padding:0 18px;
  }
  .rank-list li:nth-child(-n+2){margin-bottom:40px;}
  /* 保護者からの声 */
  .h3-bar-ttl{font-size:18px;}
  .entering_grade-tbl{font-size:13px;}
  .voice-area{margin:50px 0 90px;}
  .voice-area li{padding:15px 0;}
  /* ビリギャル */
  .biri-area{padding:10px 10px 28px 10px;}
  .biri-img{
    width:100px;
    height:98px;
  }
  .biri-detail{bottom:8px;}
  /* サポート */
  .support-ttl{font-size:25px;}
}