/* "boostrap.css"以外のオリジナルの装飾用 */
@charset "UTF-8";
/*--------------------------------------------------------------
共通要素
--------------------------------------------------------------*/


/* 基本設定
--------------------------------------------------------------*/
body{
    font-weight: bolder;
}
li{
    list-style: none;
}

a{
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
p{
  line-height: 2rem;
}

/* 下線装飾
--------------------------------------------------------------*/
hr {
  height: 0;
  margin: 10px;
  padding: 0;
  border: 0;
  border-top: 1px solid rgb(10, 169, 231);
  border-bottom: 1px solid rgb(4, 158, 219);
}

 /* instagram
--------------------------------------------------------------*/
.insta_btn {
  display: inline-block;
  text-align: center;/*中央揃え*/
  color: #2e6ca5;/*文字色*/
  font-size: 20px;/*文字サイズ*/
  text-decoration: none;/*下線消す*/
}

.insta_btn:hover {/*ホバー時*/
  color:#668ad8;/*文字色*/
  transition: .5s;/*ゆっくり変化*/
}

.insta_btn .insta{/*アイコンの背景*/
  position: relative;/*相対配置*/
  display: inline-block;
  width: 50px;/*幅*/
  height: 50px;/*高さ*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  border-radius: 13px;/*角丸に*/

}

.insta_btn .insta:before{/*グラデーションを重ねるため*/
  content: '';
  position: absolute;/*絶対配置*/
  top: 23px;/*ずらす*/
  left: -18px;/*ずらす*/
  width: 60px;/*グラデーションカバーの幅*/
  height: 60px;/*グラデーションカバーの高さ*/
  background: -webkit-radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);/*グラデーション②*/
}

.insta_btn .fa-instagram {/*アイコン*/
  color: #FFF;/*白に*/
  position: relative;/*z-indexを使うため*/
  z-index: 2;/*グラデーションより前に*/
  font-size: 35px;/*アイコンサイズ*/
  line-height: 50px;/*高さと合わせる*/
}
/*　一言装飾
--------------------------------------------------------------*/
.hitokoto{
  background: rgba(172, 255, 151, 0.61);
  margin: 2em 0;
  padding: 25px;
  border-radius: 10px;
}

.hitokoto-circle1{
  font-size: 16px;
  line-height: 1.5;
  position: absolute;
  margin-top: -37px;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle1:after{
  content: "修";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:before{
  content: "";
  position: absolute;
  top: 100%;
  margin-left: -12px;
  border: 5px solid transparent;
  border-top: 10px solid #4caf50;
  -ms-transform: rotate(-20deg);
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}

.hitokoto-circle2{
  position: absolute;
  font-size: 16px;
  line-height: 1.5;
  margin-top: -37px;
  margin-left: 40px;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto-circle2:after{
  content: "校";
  position: absolute;
  margin-top: .2em;
  font-weight: bold;
  color: #fff;
  background-color:#4caf50;
  border-radius: 50%;
  text-align: center;
  width: 24px;
  height: 24px;
}

.hitokoto p{
  margin: 0;
  padding: 0;
}

/*ヘッダー
--------------------------------------------------------------*/
header {
  position: fixed;
  width: 100%;
  height: 80px;
  background: white;
  z-index: 1000;
}
.logo{
  height: 60px;
  width: auto;
  padding-bottom: 10px;
}
#nav{
  overflow-y: scroll;
  position: absolute;
  height: 100vh;
  width: 40%;
  left: -40%;
  top: 0;
  background: white;
  transition: .7s;
}
#nav ul li{
  list-style-type: none;
  font-size: 20px;
}
#nav a{
  display: block;
  text-decoration: none;
  color: #000000;
  margin: 0 15px;
  padding: 10px;
  transition: .5s;
}
#nav li a:hover{
  color: #ffffff;
  background: rgba(102, 177, 241);
  border-bottom: none;
}
#hamburger {
  display: block;
  position: absolute;
  top: 20px;
  left: 30px;
  width: 50px;
  height: 44px;
  cursor: pointer;
  transition: 1s;
}
.inner_line {
  display: block;
  position: absolute;
  left: 0;
  width: 50px;
  height: 3px;
  background-color: rgba(102, 177, 241);
  transition: 1s;
  border-radius: 4px;
}
#line1 {
  top: 0;
}
#line2 {
  top: 20px;
}
#line3 {
  bottom: 0px;
}
h1{
  text-align: center;
  line-height: 80px;
  color: #ffffff;
}
.in{
  transform: translateX(100%);
}
.line_1,.line_2,.line_3{
  background: rgba(102, 177, 241);
}
.line_1 {
  transform: translateY(20px) rotate(-45deg);
  top: 0;
}
.line_2 {
  opacity: 0;
}
.line_3 {
  transform: translateY(-20px) rotate(45deg);
  bottom: 0;
}

@media screen and (max-width: 748px) {
  #nav ul li {
    font-size: 14px;
  }
  .logo{
    /* padding-left: 100px; */
  }
}
.trial_box{
  width: 100%;
  height: auto;
  padding: 0.5em 1em;
  background: -moz-linear-gradient(rgba(102, 177, 241), rgb(64, 166, 255));
  background: -webkit-linear-gradient(rgb(102, 232, 241), rgb(77, 64, 255));
  background: linear-gradient(to right, rgb(144, 102, 241), rgb(64, 255, 207));
  color: #FFF;
}
.trial_box p {
  font-size: 20px;
  text-align: center;
  margin: 0; 
  padding: 0;
}
.document_box{
  padding: 0.5em 1em;
  background: -moz-linear-gradient(rgb(255, 244, 145), rgb(252, 236, 95));
  background: -webkit-linear-gradient(rgb(255, 251, 0), rgb(255, 230, 0));
  background: linear-gradient(to right, rgb(198, 250, 9), rgb(230, 253, 99));
  color: #FFF;
}
.document_box p {
  width: 100%;
  height: auto;
  font-size: 20px;
  text-align: center;
  margin: 0; 
  padding: 0;
}
.pamph_box{
  width: 100%;
  height: auto;
  padding: 0.5em 1em;
  background: -moz-linear-gradient(rgb(34, 255, 27), rgb(124, 255, 64));
  background: -webkit-linear-gradient(rgb(102, 241, 132), rgb(80, 255, 64));
  background: linear-gradient(to right, rgb(107, 241, 102), rgb(156, 255, 64));
  color: #FFF;
}
.pamph_box p {
  font-size: 18px;
  text-align: center;
  margin: 0; 
  padding: 0;
}
/* ヘッダー分余白
--------------------------------------------------------------*/
.padding-top{
    padding-top: 80px
}
@media (max-width:768px){
  .padding-top{
    padding-top: 80px;
  }
}
/*フッター
--------------------------------------------------------------*/
.footer_banar{
	text-align: center;
}
.footer_banar img{
	width: 100%;
	height: auto;
}
.footer_banar ul{
	display: flex;
	justify-content: center;
}
.footer_banar li{
	width: 50%;
	height: auto;
	margin: 20px;
}
#footer04 {
  background: linear-gradient(90deg, rgba(102, 177, 241), rgba(102, 177, 241));
}
 
#footer04 .cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0;
}
 
#footer04 .cont-item {
  display: block;
  width: calc(100% / 4);
}
 
#footer04 .navi a {
  display: block;
  color: rgb(255, 255, 255);
}
 
#footer04 .navi .ttl {
  display: block;
  margin: 30px 0 6px;
  font-size: 20px;
  color: rgb(255, 255, 255);
}
 
#footer04 .navi .ttl:first-child {
  margin-top: 0;
}
 
#footer04 .navi .ttl + .ttl {
  margin-top: 10px;
}
 
#footer04 .navi ul {
  display: block;
  font-size: 14px;
  line-height: 2;
}
 
#footer04 .navi li {
  display: block;
  font-size: 14px;
  line-height: 2;
}
 
#footer04 .navi li:first-child {
  margin-top: 0;
}
 
#footer04 .navi li ul {
  margin: 0 0 0 2em;
}
 
#footer04 .navi li li {
  position: relative;
}

#footer04 .navi li li:before {
  position: absolute;
  top: 50%;
  left: -10px;
  content: "";
  display: block;
  width: 4px;
  height: 1px;
  background-color: #fff;
}
 
#footer04 .company {
  display: block;
  margin-top: 30px;
}
 
.company img{
  width: 90%;
}
 
#footer04 .address {
  display: block;
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 2;
  color: rgb(255, 255, 255);
}

/* グル―プリンク
--------------------------------------------------------------*/
.group{
  margin-top: 10px;
	text-align: center;
}
.group ul{
	display: flex;
	justify-content: center;
}
.group li{
	text-align: center;
	margin: 5px,20px,5px,20px;
	padding-left: 10px;
	padding-right: 10px;
}
.group_logo{
	width: 100%;
	height: auto;
}
/*コピーライト
--------------------------------------------------------------*/
#copyright{
  clear: both;
  text-align: center;
  margin-top: 10px;
  padding: 20px 0;
  background: linear-gradient(90deg, rgb(96,171,248), rgb(46, 150, 255));
  color: #fff;
  font-weight: bold;
}

@media screen and (max-width:768px) {
  .footer_banar{
    text-align: center;
  }
  .footer_banar img{
    width: 95%;
    height: auto;
  }
  .footer_banar ul{
    display: inline;
    justify-content: center;
  }
  .footer_banar li{
    width: 95%;
    height: auto;
    margin: 10px;
  }
  .footer_link{
  
  }
  .group{
  
    text-align: center;
  }
  .group ul{
    display: inline;
    justify-content: center;
  }
  .group li{
    text-align: center;
    margin: 5px,20px,5px,20px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .group_logo{
    width: 30%;
    height: auto;
  }
  #footer04 .cont {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
  }
  #footer04 .cont-item {
    display: block;
    width: 48%;
  }
  #footer04 .cont-item:nth-child(n+3) {
    margin-top: 30px;
  }
  #footer04 .nav ul {
    margin: 0;
    font-size: 10px;
  }
  #footer04 .nav ul + .ttl {
    margin-top: 10px;
  }
  #footer04 .nav li {
    font-size: 10px;
  }
  #footer04 .company {
    margin-top: 30px;
  }
  #footer04 .address {
    margin: 10px 0 0;
    font-size: 10px;
  }
}

/*--------------------------------------------------------------
学校紹介ページ
--------------------------------------------------------------*/
.box17{
  text-align: center;
  width: auto;
  height: auto;
  margin:2em 0;
  position: relative;
  padding: 0.5em 1.5em;
  border-top: solid 2px rgba(102, 177, 241);
  border-bottom: solid 2px rgba(102, 177, 241);
}
.box17:before, .box17:after{
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: -webkit-calc(100% + 20px);
  height: calc(100% + 20px);
  background-color: rgba(102, 177, 241);
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 h4 {
  margin: 0; 
  padding: 0;
}

.box5 {
  padding: 0.5em 1em;
  margin: 2em 0;
  border: double 5px #4ec4d3;
}
.box5 p {
  margin: 0; 
  padding: 0;
}

.box27 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: solid 3px #62c1ce;
}
.box27 .box-title {
  position: absolute;
  display: inline-block;
  top: -27px;
  left: -3px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 17px;
  background: #62c1ce;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
.box27 p {
  margin: 0; 
  padding: 0;
}
/* タイトルバックカラー
--------------------------------------------------------------*/
.title-bg{
    padding: 1rem 3rem;
    -webkit-transform: skew(-15deg);
    transform: skew(-15deg);
    color: #fff;
    background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
    background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
    background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
}
.headmaster{
  width: 80%;
}

/*--------------------------------------------------------------
学校の魅力
--------------------------------------------------------------*/

.list-gtab{
  display: flex;
  margin: 0 -2px;
  border-bottom: 3px solid #5bbee5;
}
.list-gtab > li{
  display: block;
  padding: 0.5em 1em;
  margin: 0 2px;
  width: 100%;
  color: #fff;
  text-align: center;
  background: #ccc;
  box-sizing: border-box;
  cursor: pointer;
}

.list-gtab .active{
  background: #5bbee5;
}

.gtab-content{
  display: none;
  padding: 1em;
  border-bottom: 1px solid #5bbee5;
  border-left: 1px solid #5bbee5;
  border-right: 1px solid #5bbee5;
}
.gtab-content.active{
  display: block;
}

.other {
  text-align: left;
  position: relative;
  color: #333;
  text-shadow: 0 0 2px white;
}
.other:before {
  content: "";
  position: absolute;
  background: #9de5ff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: 50%;
  /* border: dashed 1px white; */
  left: -15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}

h3{
  border-bottom: 3px solid #00B0FF;
  padding-bottom: 20px;
  padding-left: 50px;
  position: relative;
}
h3::before{
  content: "";
  width: 20px;
  height: 20px;
  background: #B7DEED;
  position: absolute;
  left: 10px;
  bottom: 25px;
}
h3::after{
  content: "";
  width: 20px;
  height: 20px;
  border: #00B0FF 1px solid;
  position: absolute;
  left: 15px;
  bottom: 30px;
}

@media (max-width: 768px) {
  .list-gtab{
    width:100%;
    height:auto;
    overflow:hidden;
    overflow-x:scroll;
  }
}
.wrap-tab{
  overflow: hidden;
}

.timetable th {
  border: solid 1px; 
  background:  #9de5ff;
  width: 120px;
  height: 60px;
  text-align: center;      
}
.timetable td {
  border: solid 1px;
  text-align:center;
}

.timetable {
  border : solid;
  border-collapse:collapse;
}

.box13 {
  position: relative;
  margin: auto;
  padding: 2em 1em 1em;
  width: 90%;
  background: #fffff9; /* ボックス背景色 */
  border: 5px solid #f7cc88; /* 枠の色 */
  border-radius: 3px;
  box-shadow: 0 0 8px #333, 0 0 2px #555 inset; /* 影の色 */
}

/* 会話吹き出し
--------------------------------------------------------------*/
.balloon{
  display: flex;
  margin: 0 0 1.5em 0;
}
.balloonR{
 flex-direction: row-reverse;
}
.balloon-img{
  width: 100px;
  height: auto;
  flex-shrink: 0;
}
.balloon-text{
  padding: 1em;
  border-radius: 6px;
  position: relative;
  display: flex;
}
.balloon-text-inner{
  margin: auto;
}
.balloon-text::before,.balloon-text::after{
  content: '';
  position: absolute;
  top: 19px;
  font-size: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.balloonL .balloon-text{
  margin: 0 0 0 15px;
  background: #dbffb7;
}
.balloonR .balloon-text{
  margin: 0 15px 0;
  background: #ddbcff;
}
.balloonL .balloon-text::before{
  left: -16px;
  border-right: 16px solid #dbffb7;
}
.balloonR .balloon-text::before{
  right: -16px;
  border-left: 16px solid #ddbcff;
}

/* ポップアップウィンドウ
--------------------------------------------------------------*/

.bg_onetime_popup {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}

body.open_popup .bg_onetime_popup {
  opacity: 1;
  visibility: visible;
}

.onetime_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 50%;
  min-width: 500px;
  background-color: #fff;
}

.onetime_popup_title {
  position: relative;
  padding: 1em 80px;
  margin: 0px;
  background-color: #00B0FF;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.5;
}

.onetime_popup_title_close {
  position: absolute;
  top: 50%;
  right: 30px;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  cursor: pointer;
}
.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: 4px;
  background-color: #fff;
  content: "";
}
.onetime_popup_title_close::before {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.onetime_popup_content {
  padding: 60px 30px;
  text-align: center;
  font-size: 20px;
}

/*--------------------------------------------------------------
体験授業
--------------------------------------------------------------*/
ul.advice{
  font: 14px/1.6 'arial narrow', sans-serif;
  padding: 10px;
  color: #448ccb;
  background: #ecf3fa;
  border: dashed 2px #adcce8;
  border-radius: 20px;
  list-style: none;
}
ul.advice li{
  position: relative;
  line-height: 25px;
  padding-left: 30px;
  font-weight: bold;
}
ul.advic li:before{
  content: "・";
  position: absolute;
  left: 7px;
  font-size: 20px;
}

/*フローチャート
--------------------------------------------------------------*/
.step-wrap1 {
  counter-reset:count;
  margin: 2em 0;
  position: relative;
 }
 .step-content1 {
  padding: 0 0 1.3em 2em;
  margin: 0;
  position: relative;
 }
 .step-content1::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  background: #79c1dd;
  border: solid 3px #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 3px;
  left: 3px;
  box-shadow: 0 0 0 2px #6a97b5;
 }
 .step-content1::after {
  content: "";
  display: block;
  height: calc(100% - 35px);
  border-left: dotted 5px #768888;
  position: absolute;
  top: 30px;
  left: 10px;
 }
 .step-title1 {
  font-weight: bold;
  font-size: 120%;
 }
 .step-label1 {
  color: #00B0FF;
  font-weight: bold;
 }
 .step-label1::after {
  counter-increment:count;
  content:counter(count);
  position: relative;
  left: .3em;
 }
 .step-body1 {
  margin-top: .5em;
  padding: 0 0 1em;
  border-bottom: dotted 2px #ddd;
 }
 .step-wrap1 > :last-of-type::after {
  display: none;
 }
 
/* 体験授業申込み内容確認
--------------------------------------------------------------*/
.confirmation{
  width: 70%;
  height: auto;
  background-color: rgb(231, 231, 231);
}
.confirmation label+p{
  margin: auto;
}

/*--------------------------------------------------------------
コース紹介
--------------------------------------------------------------*/
.box22{
  padding: 0.5em 1em;
  margin: 1em 0;
  background: #f4f4f4;
  border-left: solid 6px #5bb7ae;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
}
.box22 p {
  margin: 0; 
  padding: 0;
  font-size: 20px;
}

.box26 {
  position: relative;
  margin: 2em 0;
  padding: 0.5em 1em;
  border: solid 3px rgb(10,169,231);
  border-radius: 8px;
}
.box26 .box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #FFF;
  color: rgb(10,169,231);
  font-weight: bold;
}
.box26 p {
  margin: 0; 
  padding: 0;
}
.pencil{

  height: 80px;
  background:linear-gradient(to left,
  white 5%, rgb(10,169,231) 5%); 
}
.triangle {
  position: relative;
  top:-110%;
  left: 95%;
  width: 80px;
  height: 80px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background:linear-gradient(to left,
  black 25%, rgb(255, 242, 206) 25%, rgb(255, 242, 206) 50%, rgb(255, 242, 206) 50%, rgb(255, 242, 206) 75%, rgb(255, 242, 206) 75% );
}

.required{
  color: red;
}