@charset "utf-8";
/* CSS Document */


.top-background {
  background: #edfaed ;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto; 
padding-bottom: 30px!important;	
}
	
  
.top-inner {
  width: 100%;
  max-width: 1500px;
  height: auto;
  text-align: center;
  margin: 0 auto;
}  
  
.top-inner img {
  width: 80%;
}
  
@media only screen and (max-width: 768px) {
  
  .top-inner {
    margin: 0 auto;
  } 
  
  .top-inner img {
    width: 100%;
  }
  
}
  
  
.section-background {
  background-color: #fff;
  padding: 4.5em 0;
} 
  
.bk-anotherColor {
  background-color: #edfaed;  
} 
  
.section-firstMargin {
  padding: 0 0 4.5em;
  margin-top: 3.5em;
}    
  
.section-body {
  width: 100%;
  max-width: 950px;
  box-sizing: border-box;
  display: block;
  clear: both;
  margin: 0 auto;
  text-align: left;
  overflow: hidden;  
}
  
.section-body p, .section-body h1 {
  padding: 0;
}  
  
@media only screen and (max-width: 768px) {

  .section-background {
    padding: 2.5em 0.5em;
  }
  
  .section-firstMargin {
    padding: 0 0.5em 2.5em;
    margin-top: 2.15em;
  }   
    
  .section-body {
    padding: 0 1em;
  }
  
}

  
.text-title {
  position: relative;
  font-size: 120%;
  font-weight: bold;
  display: inline-block;
  padding: 1em 3em;
  border-radius: 0 100vh 100vh 0;
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
  line-height: 1.6;
  margin: 0 0 -1.5em -10px;
  background: #3ba138;
  color: #fff;
}
   
.text-title:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 0;
  content: '';
  border-left: 10px solid transparent;
  border-top: 10px solid #266523;
}   
  
.nav {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 2.7em 0 3em;
  background-color: #edfaed;
  border-radius: 3px;
  margin-bottom: 4em;
}
  
.nav-list {
  margin: 0 1.5em;
  line-height: 3;
  border-bottom: 3px dotted #3ba138;
} 
  
.nav-list a {  
  font-weight: bold;
  color: #3ba138;
  font-size: 130%;
}    
  
@media only screen and (max-width: 768px) { 
  
  .text-title {
    font-size: 100%;
    padding: 1.2em 2.2em;
  }
  
  .nav {
    font-size: 80%;
    margin-bottom: 3.5em;
  } 
  
  .nav-list { 
    border-bottom: 2px dotted #3ba138;
  }

} 
  
  
.topText_decoration {
  margin-bottom: 1em;
  text-align: center;
}  
      
.topText_decoration p {
  position: relative;
  display: inline-block;
  padding: 0 1.55em 0 2em;
  font-size: 200%;
} 
      
/*.topText_decoration p:before, .topText_decoration p:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #5aa1d8;
}  
      
.topText_decoration p:before {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
  left: 0;
}  
      
.topText_decoration p:after {
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  right: 0;
} */
  
@media only screen and (max-width: 768px) {
  
  .topText_decoration {
    margin-bottom: 0.8em;
  }  

  .topText_decoration p {
    /*padding: 0 2.45em 0 2.9em;*/
	  padding: 0 ;
    font-size: 110%;
  }

}   
	
  

.section-title {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 1.9em;
}  
  
.polkaDot {
  border-bottom: dotted 6px #5aa1d8;
  font-weight: bold;
  font-size: 230%;
} 
  
.polkaDot span {
	font-size: 82%;
}  
  
.sub-section-title {
  margin: 3em 0 0.9em;
	position: relative;
  font-weight: bold;
	font-size: 220%;
  padding: 0 0 0 0.9em;
}  
  
.sub-section-title:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: #5aa1d8;
}
  
@media only screen and (max-width: 768px) {
  
  .section-title {
    margin-bottom: 1.2em;
  }
  
  .polkaDot {
    font-size: 155%;
    border-bottom: dotted 4px #5aa1d8;
  }
  
  .sub-section-title {
    margin: 2.9em 0 0.9em;
    font-size: 155%;
  } 
  
  .sub-section-title:before {
    width: 8px;
  }

} 
  
  
.emphasized-text {
  font-size: 130%;
  font-weight: bold;
  margin-top: -0.5em;
} 
  
.ticket-banner {
  margin: 1.8em auto 0.1em;
  max-width: 630px;
  width: 100%;
}
  
@media only screen and (max-width: 768px) { 
  
  .emphasized-text {
    font-size: 105%;
  } 
  
  .ticket-banner {
    margin: 1em auto 0;
  } 
  
}    

  
.box27 {
  position: relative;
  margin-top: 4em;
  padding: 1.3em 1.5em;
  border: solid 12px #e8fae8;
}  
  
.box27 .box-title {
  position: absolute;
  display: inline-block;
  top: -49px;
  left: -12px;
  height: 34px;
  line-height: 31px;
  border-radius: 5px 5px 0 0;
  padding: 3px 11px 0 12px;
  color: #fff;
  font-weight: bold;
  font-size: 160%;
  background-color: #7dc05c;
}
  
.box27-content {
  width: 100%;
  max-width: 950px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
} 
  
.box27-box01 {
  width: 69%;
  box-sizing: border-box;
}
  
.box27-box02 {
  width: 29%;
  box-sizing: border-box;
}  
  
@media only screen and (max-width: 768px) {
  
  .box27 {
    margin-top: 3.8em;
    padding: 1.2em 1.3em;
    border: solid 10px #e8fae8;
  }
  
  .box27-mt {
    margin-top: 4.2em;  
  }
  
  .box27 .box-title {
    top: -47px;
    left: -10px;
    font-size: 140%;
  }
  
  .box27-box01, .box27-box02 {
    width: 100%;
  }
  
  .box27-box01 {
    margin-bottom: 1em;
  }

}    
  
  
.cp_table *, .cp_table *:before, .cp_table *:after,
.section-table *, .section-table *:before, .section-table *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
  
.cp_table {
	width: 100%;
	border-collapse: collapse;
  margin-bottom: 0.6em;
}
  
.cp_table th, .cp_table td {
	padding: 10px;
	border: 1px solid #7dc05c;
}
  
.cp_table th {
	text-align: left;
	background-color: #7dc05c;
  color: #fff;
  border-bottom: 1px solid #fff;
}
  
.cp_table tr:last-child th {
  border-bottom: 1px solid #7dc05c;
}  
  
.th_1 {
  width: 20%;
} 
  
.th_2 {
  width: 10%;
}   
  
.cp_table td {
	background-color: #fff;
}
  
.cp_table a {
	color: #5aa1d8;
  font-weight: bold;
}  
	
.cp_table_another {
	width: 100%;
	border-collapse: collapse;
  margin-bottom: 0.6em;
}
  
.cp_table_another th, .cp_table_another td {
	padding: 10px;
	border: 1px solid #7dc05c;
}
  
.cp_table_another th {
	text-align: center;
	background-color: #7dc05c;
  color: #fff;
  border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}	
.cp_table_another th:last-child {
	
	border-right: 1px solid #7dc05c;
}		
.cp_table_another td {
	background-color: #fff;
}	
 
.section-table { 
	width: 100%;
	border-collapse: collapse;
  margin: 1.1em 0 0.6em;
}
  
.section-table th, .section-table td {  
  padding: 1em;
}
  
.section-table th {
  background-color: #7dc05c;
  color: #fff; 
  text-align: center;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
} 
  
.section-table td {
  background-color: #fff;
  border: 1px solid #7dc05c;
}  
  
.section-table .center {
  text-align: center;  
}  
  
.section-table .subject {
  background-color: #69c5d4;
  color: #fff;
}
  
.subject span, .questions span, .choice span {
  font-size: 85%;  
} 
  
.subject-text {
  text-align: left !important;
  font-size: 85%;
}  
  
.section-table .questions {
  background-color: #cdeaee;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
   
.section-table .choice {
  background-color: #fffee2;
}  
  
.br-green {
  border-right: 1px solid #7dc05c !important;   
}  
  
.bb-blue {
  border-bottom: 1px solid #69c5d4 !important;   
}  
  
.bb-lightBlue {
  border-bottom: 1px solid #cdeaee !important;   
}
  
.bb-green {
  border-bottom: 1px solid #7dc05c !important;   
}   
  
@media only screen and (max-width: 768px) {
	
	.cp_table_another .td_1{width: 20%}
  
  .cp_table th {
    border-bottom: 1px solid #7dc05c;
  }
	
  .cp_table th, .cp_table td {
		width: 100%;
		display: block;
		border-top: none;
	}
	
  .cp_table tr:first-child th {
		border-top: 1px solid #7dc05c;
	}
  
  .section-table { 
    margin: 0.5em 0 0.6em;
  }
  
  .scroll {
    display: block;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  
  .scroll table {
   max-width: 1500px;
   width: 950px
  } 
 
} 
  
  
.table-box {
  width: 100%;
  max-width: 950px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 0.5em;
} 
  
.table-box .table-box01 {
  width: 14%;
  box-sizing: border-box;
}
  
.table-box-box01 img {
  width: 100%;
}  
  
.table-box .table-box02 {
  width: 85%;  
  box-sizing: border-box;
}  
  
@media only screen and (max-width: 768px) {
  
  .table-box {
    justify-content: center;
  } 
  
  .table-box .table-box01 {
    width: 30%;
    margin-bottom: 0.5em;
  }
  
  .table-box .table-box02 {
    width: 100%;
  }

} 
  
  
.btn-01, .btn-02, .btn-03 {
  border-radius: 6px;  
  max-width: 680px;
  width: 100%;
  box-sizing: border-box;
  transition: .3s;
  margin: 2em auto 6px;
}
  
.btn-01 {
  -webkit-box-shadow: 0px 6px 0px 0px #a67b29;
  box-shadow: 0px 6px 0px 0px #a67b29;
  background-color: #f8b73d;
}
      
.btn-02 {
  -webkit-box-shadow: 0px 6px 0px 0px #3a6c8b;
  box-shadow: 0px 6px 0px 0px #3a6c8b;
  background-color: #5aa1d8;
}
  
.btn-03 {
  -webkit-box-shadow: 0px 6px 0px 0px #a54630;
  box-shadow: 0px 6px 0px 0px #a54630;
  background-color: #ed6745;
}  
   
.btn-01 a, .btn-02 a, .btn-03 a {
  color: #fff;
  font-weight: bold;
  display: block;
  font-size: 220%;
  padding: 1em 1.2em;
}
  
.btn-01 span, .btn-02 span, .btn-03 span {
  font-size: 80%;
}  
      
.btn-01:hover {
  box-shadow: 0px 1px 0px 0px #f8b73d;
  transform: translate(0px, 5px);
}
      
.btn-02:hover {
  box-shadow: 0px 1px 0px 0px #5aa1d8;
  transform: translate(0px, 5px);
} 
  
.btn-03:hover {
  box-shadow: 0px 1px 0px 0px #ed6745;
  transform: translate(0px, 5px);
}   
  
.btn-box {
  width: 100%;
  max-width: 580px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
  
.btn-box .btn-box01 {
  width: 90%;
  box-sizing: border-box;
  line-height: 1.4;
}
  
.btn-box .btn-box02 {
  width: 10%;
  box-sizing: border-box;
}
  
.btn-margin01 {
  margin: 2.3em auto 6px;  
}  
  
.btn-margin02 {
  margin: 1.7em auto 6px;  
}  
  
@media only screen and (max-width: 768px) {
  
  .btn-01, .btn-02, .btn-03 {
    margin: 1.2em auto 6px;
  }
  
  .btn-margin01, .btn-margin02 {
    margin: 1.3em auto 6px;  
  }  
  
  .btn-01 a, .btn-02 a, .btn-03 a {
    font-size: 150%;
  }
 
}     
  
  
.asterisk ul, .application-1 ol, .application-2 ol, .application-3 ol, .application-l ol {
  list-style-type: none;
  padding: 0;
  margin: 0;
  counter-reset: li;
} 
  
.asterisk ul li {
  position: relative;
  padding: 0 0 0 1.2em;
  margin: 0;
}  
  
.asterisk ul li:before {
  counter-increment: li;
  display: inline;
  content: "※";
  position: absolute;
  left: 0;
  top: 12px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}    
  
.application-1 ol li, .application-2 ol li {
  text-indent: -1.4em;
  padding: 0 0 5px 1.4em;
} 
  
.application-3 ol li {
  text-indent: -1.3em;
  padding: 0 0 5px 1.3em;
}   
  
.application-1 ol li:before, .application-2 ol li:before {
  font-weight: bold;
  counter-increment: li;
  content: counter(li) ". ";
}
  
.application-1 ol li:before {
  color: #5aa1d8;
}
  
.application-2 ol li:before {
  color: #ed6745;
}  
  
.application-l ol li {
  text-indent: -2.2em;
  padding: 0 0 15px 2.2em;
  font-size: 110%;
}   
  
.application-l ol li:before {
  color: #5aa1d8;
  font-size: 150%;
  font-weight: bold;
  counter-increment: li;
  content: counter(li) ". ";
} 
  
@media only screen and (max-width: 768px) {
  
  .asterisk ul li {
    padding: 0 0 0 1em;
  }
  
  .asterisk ul li:before {
    top: 9.5px;
  }
  
  .application-1 ol li, .application-2 ol li {
    text-indent: -1.1em;
    padding: 0 0 5px 1.1em;
  } 
  
  .application-l ol li {
    text-indent: -1.4em;
    padding: 0 0 12px 1.4em;
    font-size: 100%;
  }
  
  .application-l ol li:before {
    font-size: 120%;
  } 
 
}
  
    
.ribbon-title h1 {
  position: relative;
  margin: 0 1.5em;
  text-align: center;
}

.ribbon-title h1:before, .ribbon-title h1:after {
  position: absolute;
  z-index: 0;
  bottom: -10px;
  display: block;
  content: '';
  border: 1em solid #31872f;
}

.ribbon-title h1:before {
  left: -25px;
  border-left-width: 15px;
  border-left-color: transparent;
}

.ribbon-title h1:after {
  right: -25px;
  border-right-width: 15px;
  border-right-color: transparent;
}

.ribbon-title h1 span {
  position: relative;
  z-index: 1;
  display: block;
  padding: 1em;
  color: #fff;
  background: #3ba138;
  font-size: 150%;
  line-height: 1.6;
}

.ribbon-title h1 span:before, .ribbon-title h1 span:after {
  position: absolute;
  bottom: -20px;
  display: block;
  width: 1px;
  height: 10px;
  content: '';
  border-style: solid;
  border-color: #21551e transparent transparent transparent;
}

.ribbon-title h1 span:before {
  left: 0;
  border-width: 10px 0 0 10px;
}

.ribbon-title h1 span:after {
  right: 0;
  border-width: 10px 10px 0 0;
} 
  
.benefits-box {
  width: 100%;
  max-width: 950px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 3em 0 1em;
}  
  
.benefits-box .benefits-box01 {
  width: 8%;
  box-sizing: border-box;
}
  
.benefits-box .benefits-box02 {
  width: 89%;
  box-sizing: border-box;
  font-size: 230%;
  font-weight: bold;
  margin-top: 0.5em;
}
  
.benefits-box .benefits-box02 span {
  font-size: 80%;
} 
  
.benefits-box_mt {
  margin: 2.5em 0 0;   
}  
  
.benefits-messageBox {
  background: #5aa1d8;
  padding: 1em 1.2em;
  color: #fff;
  font-weight: bold;
}
  
.benefits-messageBox span {
  font-size: 130%;
} 
  
.course-box {
  width: 100%;
  max-width: 950px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1.5em;
} 
  
.course-box .course-box01 {
  width: 28.5%;
  box-sizing: border-box;
}
  
.course-box .course-box02 {
  width: 3%;
  box-sizing: border-box;
} 
  
.course-box .course-box03 {
  width: 35%;
  box-sizing: border-box;
}   
  
.arrow01 {
  width: 0;
  height: 0;
  border-left: 15px solid #5aa1d8;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  margin: 0 auto;
  text-align: center;
} 
  
.price-comment {
  font-size: 230%;
  font-weight: bold;
  text-align: center;
} 
  
.price-comment .comment-l {
  font-size: 200%;
  color: #3ba138;
}
  
.price-comment .comment-s {
  font-size: 80%;
  color: #3ba138;
}  
   
@media only screen and (max-width: 680px) {
  
  .ribbon-title h1:before {
    left: -22px;
  }

  .ribbon-title h1:after {
    right: -22px;
  }
  
  .ribbon-title h1 span {
    padding: 1em 0.5em;
    font-size: 95%;
  }
  
  .benefits-box {
    margin: 1.4em 0 1em;
  }
 
  .benefits-box .benefits-box01 {
    width: 100%;
    text-align: center;
  }
  
  .benefits-box .benefits-box01 img {
    width: 20%;
  }
  
  .benefits-box .benefits-box02 {
    width: 100%;
    font-size: 120%;
    margin-top: 0.5em;
    text-align: center;
  }
  
  .benefits-box_mt {
    margin: 2em 0 1em;   
  }
  
  .benefits-messageBox span {
    font-size: 120%;
  }
  
  .course-box {
    margin-top: 1.5em;
  } 
  
  .course-box .course-box01, .course-box .course-box02, .course-box .course-box03 {
    width: 100%;
  }
  
  .course-box .course-box02 {
    margin: 1.2em 0 1em;    
  }

  .arrow01 {
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #5aa1d8;
    border-bottom: none;
  }
  
  .course-line {
    border: 1px solid #5aa1d8;
    margin-top: 1.6em;
  }
  
  .price-comment {
    font-size: 150%;
  } 
  
  .price-comment .comment-l {
    font-size: 160%;
  }
  
} 
  
  
.application-text {
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 1em;
  color: #ed6745;
}
   
@media only screen and (max-width: 768px) {
  
  .application-text {
    font-size: 120%;
  }
    
}  
  
  
.call-center {
  padding: 2em 1em;
  text-align: center;
  background-color: #fff;
  margin-top: 3em;
}   

.call-center_text {
  font-size: 130%;
  font-weight: bold;
}
  
.call-center_text_2 {
  font-size: 110%;
}  
  
.call-center_phone {
  font-size: 250%;
  font-weight: bold;
  color: #3ba138;
}
   
.call-center_phone a {
  color: #3ba138;
}  
  
@media only screen and (max-width: 768px) { 
  
  .call-center {
    margin-top: 2.1em;
  }
  
  .call-center_text {
    font-size: 120%;
  }
  
  .call-center_text_2 {
    font-size: 100%;
  } 
  
  .call-center_phone {  
    font-size: 235%;
  }

}  

  
.pc {
  display: block;
}
  
.sp { 
  display: none;
}
  
.red-1, .red-1_bold, .red-1l_bold, .red-1ll_bold {
  color: #ed6745;
} 
  
.red-1_bold, .red-1l_bold, .red-1ll_bold {
  font-weight: bold;
}
  
.red-1l_bold {
  font-size: 120%
}
  
.red-1ll_bold {
  font-size: 150%
}  

.green-1_bold, .green-1l_bold {
  color: #3ba138;
  font-weight: bold;
}   
  
.green-1l_bold {
  font-size: 120%;
}
  
.blue-1, .blue-1_bold, .blue-1l_bold {
  color: #5aa1d8;
}
  
.blue-1_bold, .blue-1l_bold {
  font-weight: bold;
}
  
.blue-1l_bold {
  font-size: 150%;  
}   
  
@media only screen and (max-width: 768px) {
  
  .pc { 
    display: none;
  }
  
  .sp { 
    display: block;
  }
  
  .red-1l_bold {
    font-size: 110%;
  } 
  
  .red-1ll_bold {
    font-size: 120%
  } 
  
  .green-1l_bold {
    font-size: 110%;
  }
  
  .blue-1l_bold {
    font-size: 120%;  
  }
  
  .mb05em_sp {
    margin-bottom: 0.5em;
  }
    
}      
.schedule_ttl{
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
}
/*.schedule_ttl_box01{width: 60%;}
.schedule_ttl_box02{width: 40%;}*/
.zyukou_ttl{font-size: 20px;font-weight: bold}
.zyukou{
	background: rgba(241,191,141,1.00);
	font-size: 22px;
	padding: 8px 30px;
	border-radius: 30px;
	font-weight: bold;
	
}

.catch_area{
	background: #2449F4;
	padding: 30px;
	color: #fff;
	text-align: center;
	font-size: 20px;
	margin: 20px 0
}
@media only screen and (max-width: 768px) {
	.schedule_ttl{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
}
.schedule_ttl_box01{width: 100%;}
.schedule_ttl_box02{width: 100%;margin: 0 auto;text-align: center;}
	.zyukou_ttl{font-size: 18px;font-weight: bold;text-align: center;}
	.zyukou{
		font-size: 19px;
	padding: 8px 30px;
	
	margin: 0 auto;
	}
.catch_area{
	
	font-size: 18px;
	
	
}	
	.zyukou_ttl{
		text-align: center;
	}

}
table.schedule{
	width: 100%;
	border: solid 1px rgba(55,53,53,1.00);
	border-collapse: separate;
	
    border-spacing: 0;
}

/*table.schedule th,table.schedule td{
	padding: 10px;
	border: dotted 1px rgba(55,53,53,1.00);
	
}*/


table.schedule th{
	background: rgba(10,25,95,1.00);
	color: #fff;
	text-align: center;
	padding: 10px;
	border-right: dashed 1px #fff;
	
	
}
table.schedule th:last-child{border-right: none;}

table.schedule td{
	padding: 10px;
	border-right: dashed 1px rgba(55,53,53,1.00);
	border-bottom: dashed 1px rgba(55,53,53,1.00);
}
.btmtd{border-bottom:none!important}
.righttd{border-right:none!important;}


@media only screen and (max-width: 768px) {
	table.schedule{
	
	overflow-x: auto;
    display: block;
}
	table.schedule th,table.schedule td{
	
	 white-space: nowrap;
}
	
}	

