@charset "utf-8";
/* CSS Document */


/*----------------------------------------------------------

英検®直前対策コース LPページ　2023.7.12

----------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

#eiken a{
  text-decoration: none;
}
/*こちら前回使用なし20251205
#eiken a.btn_blue:after {
  content: "＼ 簡単30秒！まもなく開講につきお早めに！／";
  color: #2A5298;
  position: absolute;
  top: -15px;
  font-weight: bold;
  font-size: 1.4rem;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-shadow: 0 0 4px #fff;
  width: 100%;
}

*/
#eiken{
  width: 100%;
  margin:0 auto;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.4;
  font-size:16px;
}
#visual {
  background: url(/form/eiken_lp/img/main.jpg) right no-repeat;
  background-size: cover;
  height:680px;
  margin: 0;
}
#visual div {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}

#visual div .logo img{
  height: 45px;
  margin: 30px 0;
}
#visual div h1{
  position: relative;
}
/*#visual div h1::before{
  content: "11月\A開講";
  width: 120px;
  height: 120px;
  background: #F95879;
  border-radius: 50%;
  color: #fff;
  left: 520px;
  position: absolute;
  top: -20px;
  white-space: pre;
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}*/
#visual div h1 span{
  font-weight: bold;
  font-size: 2rem;
  margin: 0 0 20px 25px;
  display: inline-block;
  background: linear-gradient(transparent 60%, #FFFAC9 40%);
  line-height: 1.1;
}

/*
#visual div h1::before{
  content: "11月\A開講";
  width: 120px;
  height: 120px;
  background: #F95879;
  border-radius: 50%;
  color: #fff;
  left: 520px;
  position: absolute;
  top: -20px;
  white-space: pre;
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
*/

#visual div .main_txt{
  margin: 20px 20px 50px;
}
#visual div .main_txt img:nth-of-type(1){
  margin: 0 0 15px;
}

#visual div a.btn_blue{
  background: linear-gradient(to right, #1E3C72, #2A5298);
  font-weight: normal;
  max-width: 450px;
  width: 100%;
  padding: 0 40px 0 50px;
  height: auto;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  border: none;
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
  margin: 0 20px;
}
/*検定前バージョン
#visual div a.btn_blue::before {
  content: "＼ 簡単30秒！まもなく開講につきお早めに！／";
  color: #2A5298;
  position: absolute;
  top: -15px;
  font-weight: bold;
  font-size: 1.4rem;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-shadow: 0 0 4px #fff;
  width: 100%;
}検定前バージョン*/

#visual div a.btn_blue:hover {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  color: #FFF;
  border-color: #224D9A;
  opacity: .8;
}
#visual div a.btn_blue:after {
  display: none;
}
#visual div a p.visual_btn{
  font-size: 2rem;
  font-weight: bold;
  padding: 5px 0;
  color: #fff;
  margin: 15px 0;
}
#visual div a p.visual_btn span:nth-of-type(1){
  color: #FFF7B9;
}
#visual div a p.visual_btn span:nth-of-type(2){
  font-size: 1.6rem;
}
#visual .note{
  font-size: 1.1rem;
  color: #fff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.82);
  position: absolute;
  bottom: 20px;
  right: 20px;
}

section{
  padding: 60px 0;
}
section:last-child{
  padding: 100px 0 0;
}
section.bg_gray{
  background-color: #f8f8fa;
}
section.bg_pink {
  background-color: #FEF1F3;
  padding: 100px 0 0;
}
section .inner{
  max-width:1080px;
  width: 100%;
  margin:0 auto;
}
section#counseling{
  padding:60px 0 0;
}
.entry{
  text-align: center;
  margin: 40px auto 0;
  position: relative;
  max-width: 700px;
  width: 100%;
}
/*
.entry::before{
  content: "";
  display: inline-block;
  width: 124px;
  height: 112px;
  background: url(/form/eiken_lp/img/start_month02.png) no-repeat left;
  left: 10%;
  position: absolute;
  top: -50px;
  background-size: 70%;
  z-index: 1;
}
*/
.exam .entry::before{
  left: 0;
}
.entry > p,
.ml_btn > p{
  margin: 0 0 10px;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  color: #2a5298;
}

.entry a.btn_blue{
  background: linear-gradient(to right, #1E3C72, #2A5298);
  font-weight: normal;
  max-width: 450px;
  width: 100%;
  padding: 0 40px 0 50px;
  height: auto;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  border: none;
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
  margin: 0 20px;
}
.entry a.btn_blue:hover {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  color: #FFF;
  border-color: #224D9A;
  opacity: .8;
}
.entry a p.visual_btn{
  font-size: 2rem;
  font-weight: bold;
  padding: 5px 0;
  color: #fff;
  margin: 15px 0;
}
.entry a p.visual_btn span:nth-of-type(1){
  color: #FFF7B9;
}
.entry a p.visual_btn span:nth-of-type(2){
  font-size: 1.6rem;
}

.course{
  border-radius: 20px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
  padding: 80px 60px;
  max-width: 960px;
  width: 100%;
  margin:0 auto;
}
.course h2{
  text-align: center;
  padding: 0 0 20px;
}
.course .course_tit{
  max-width: 530px;
  width: 100%;
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.11);
  padding: 5px 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
}
.course .course_tit > p{
  font-weight: bold;
  font-size: 4.6rem;
  color: #fff;
}
.course .course_tit::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #FB7B8E;
  top: 100%;
}
.course .course_check{
  max-width: 820px;
  width: 100%;
  background: #ffe9eb;
  position: relative;
  margin: 30px auto 60px;
  padding: 60px 0 60px 150px;
}
.course .course_check > p{
  font-weight: bold;
  font-size: 2.4rem;
  margin-top: 20px;
}
.course .course_check > p::before{
  content:"";
	display:inline-block;
	background-size:contain;
	width:20px;
	height:20px;
	background:url(/form/eiken_lp/img/check.png) no-repeat left;
	margin:0 10px 0 -40px;
	vertical-align: middle;
}
.course .course_check > p span{
  color:#F95879;
}

.course h3 {
  font-weight: bold;
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 20px;
}
.course > p {
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 10px;
}
.course table:nth-of-type(1){
  margin-bottom: 40px;
}
.course table th{
  background: #f9748f;
  border: 1px solid #c9c9c9;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  color: #fff;
  vertical-align: middle;
  width: 25%;
}
.course table td {
  border: 1px solid #c9c9c9;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  padding: 10px;
  width: 30%;
}
.course table td:nth-of-type(2){
  font-size: 2.6rem;
  color: #f9748f;
}
.course table td:nth-of-type(2) span{
  font-size: 2rem;
}
.course .note {
  font-weight: normal;
  font-size: 1.4rem;
  margin-top: 10px;
}
.worries h2,
.reason h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 40px 0;
  line-height: 1.4;
}
.worries h2 span,
.reason h2 span{
  font-size: 3.2rem;
}
.worries h2 span:nth-of-type(2) ,
.worries h2 span:nth-of-type(3),
.reason h2 span:nth-of-type(2) {
  color: #F58398;
  font-size: 2rem;
}
.exam h2,
.eiken_flow h2{
  font-weight: bold;
  font-size: 3rem;
  text-align: center;
  margin-bottom:70px;
}
.exam h2 span,
.eiken_flow h2 span{
  position: relative;
  display: inline-block;
}

.exam h2 span::after,
.eiken_flow h2 span::after{
  content: "";
  position: absolute;
  height: 4px;
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  width: 100%;
  display: block;
}
.exam h2 span .text_color,
.teacher p:nth-of-type(2) span .text_color{
  color: #f78ca0;
  background: -webkit-linear-gradient(0deg, #f78ca0, #fe9a8b);
    background-clip: border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.worries ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 960px;
  width: 100%;
}
.worries ul li p{
  text-align: center;
}
.worries ul li figure{
  max-width: 270px;
  width: 100%;
}
.worries ul li figure img{
  width: 100%;
}
.worries_img {
  text-align: center;
  margin: 0 auto;
}

/*------------------------------
.reason
------------------------------*/
.reason {
  background: url("/form/eiken_lp/img/graph_paper.png") repeat;
  text-align: center;
  padding: 60px 0;
}
.reason .reason_list{
  width: 100%;
  max-width: 960px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 auto;
}
.reason .item{
  margin-bottom: 60px;
}
.reason .reason_inner{
  display: flex;
  align-items: flex-start;
}
.reason .reason_inner .grad-trigger{
  display: none;
}

.reason .item .img_wrap{
  width: 420px;
  flex-shrink: 0;
}
.reason .item .img_wrap img{
  width: 100%;
  height: auto;
  display: block;
}
.reason .item .text_wrap{
  flex-grow: 1;
  padding-left: 30px;
  box-sizing: border-box;
}
.reason .item h3{
  font-size: 2.4rem;
  margin-bottom: 20px;
  color: #333;
  text-align: left;
  font-weight: 700;
  line-height: 150%;
  padding-left:60px; /* 背景画像の分だけ余白 */
  background-repeat: no-repeat;
  background-size: 52px auto;
  background-position: left center;
}
.reason .item:nth-of-type(1) h3 {
  background-image: url('/form/eiken_lp/img/reason01.png');
}
.reason .item:nth-of-type(2) h3 {
  background-image: url('/form/eiken_lp/img/reason02.png');
}
.reason .item:nth-of-type(3) h3{
  background-image: url('/form/eiken_lp/img/reason03.png');
}
.reason .item h3 span{
  color: #F58398;
}
.reason .item .text_wrap p{
  text-align: left;
  font-size: 1.6rem;
  line-height: 150%;
}
/* reverse: 画像が右側にくる場合 */
.reason .item.reverse .reason_inner {
  flex-direction: row-reverse;
}
.reason .item.reverse .text_wrap{
  padding-left: 0;
  padding-right: 30px;
}

/*------------------------------
.eiken_app
------------------------------*/
.eiken_app{
  max-width: 960px;
  border-radius: 10px;
  border: 2px solid #F58398;
  background: #FFF;
  margin: 0 auto;
  padding: 60px;
}
.eiken_app h3{
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  border-bottom: 4px solid #F58398;
  display: inline;
}
.eiken_app .eiken_app_txt {
  color: #F58398;
  font-size: 2rem;
  font-weight: bold;
  margin-top: 30px;
}
/*スライダー*/
.slider_wrap {
  position: relative;
  overflow: hidden;
  margin-top:40px;
}
.slider{
  display: flex;
  transition: transform 0.3s ease;
}
.slide {
  flex: 0 0 100%;
}
.slide img {
  width: 176px;
  display: block;
  margin: 0 auto;
}
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
}
.arrow img {
  width: 40px; /* 適宜調整 */
  height: auto;
}
.arrow.prev {
  left: 10px;
}
.arrow.next {
  right: 10px;
}
/* ▼ PCでは3枚並べる */
@media screen and (min-width: 769px) {
 .slider_wrap{
    max-width: 960px;
    margin: 40px auto;
  }
  .slider {
    transform: none !important; /* JSによるスライドを無効化 */
    max-width: 515px;
  margin: 0 auto;
  width: 100%;
}
  .slider .slide:first-child,
  .slider .slide:last-child {
    display: none; /* クローンを非表示 */
  }
  .slide {
    flex: 0 0 33.3333%;
  }
  .slider {
    transform: none !important; /* JSの移動禁止 */
  }
.slide img {
  width: 100%;
  display: block;
}
  .arrow {
    display: none; /* PCでは矢印非表示 */
  }
}
.app_about{
  max-width: 585px;
  width: 100%;
  margin:0 auto;
}
.app_about .app_about_txt {
  font-size: 1.4rem;
  text-align: left;
  font-feature-settings: 'palt' on;
  margin: 0 0 20px;
}

.app_about .effect{
  background: url(/cinfo/eikaiwa/img/app/effect.png) no-repeat right bottom #fff;
  margin: 0 0 20px;
  width: 100%;
  background-size: 95px;
}
.app_about .effect h3{
  color: #F58398;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  text-align: left;
  border: none;
  position: relative;
  display: inline-block;
  width: 100%;
}

.app_about .effect h3::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 15%;
  margin-left: 0.5em;
  width: 83%;
  height: 1px;
  background-color: #F58398;
  transform: translateY(-50%);
}
.app_about .effect p {
  font-size: 1.6rem;
  font-weight: 700;
  position: relative;
  padding-left: 30px;
  line-height: 2.6;
  text-align: left;
}
.app_about .effect p::before {
  content: "";
  position: absolute;
  width: 20px;
  background: url(/form/eiken_lp/img/check02.png) no-repeat left center;
  top: 0;
  left: 0;
  height: 100%;
}



/*------------------------------
.curriculum
------------------------------*/
.curriculum{
  text-align: center;
  margin: 30px 0 60px;
}
.curriculum div{
  margin-bottom:20px;
}
.curriculum div:nth-of-type(2){
  margin-bottom:60px;
}

.curriculum  p{
  color: #333;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 180%;
  border-bottom: 3px dotted #333;
  display: inline;
}
.curriculum  p span{
  color: #F58398;
}



.different {
  max-width: 1080px;
  width: 100%;
  border: 3px solid #ffe9eb;
  margin: 0 auto;
}
.different_inner{
  border: 20px solid #fff;
  width: 100%;
  background: #ffe9eb;
  text-align: center;
  padding: 60px;
}
.different  h2{
  background: #fff;
  font-weight: bold;
  font-size: 3rem;
  text-align: center;
  display: inline-block;
  margin:0 0  40px;
  padding: 0 10px;
}
.different  h2 span{
  color: #f78ca0;
 background: -webkit-linear-gradient(0deg, #f78ca0, #fe9a8b);
  background-clip: border-box;
 background-clip: border-box;
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
}

.different table th{
  background: #ebebeb;
  border: 1px solid #c9c9c9;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  padding: 15px 10px;
  vertical-align: middle;
}
.different table td{
  background: #fff;
  border: 1px solid #c9c9c9;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  padding: 15px 10px;
  vertical-align: middle;
}
.different table th.pink{
  background: #f9748f;
  font-size: 2.6rem;
  color:#fff;
  border: 3px solid #f9748f;
}
.different table td.light_pink{
  border-left: 3px solid #f9748f;
  border-right: 3px solid #f9748f;
  background: #fef2f5;
}
.different table td.light_pink_b{
  border-left: 3px solid #f9748f;
  border-right: 3px solid #f9748f;
  border-bottom: 3px solid #f9748f;
  background: #fef2f5;
}
.voice{
  text-align: center;
}
.voice h2{
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.11);
  padding: 5px 20px 8px;
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  color: #fff;
  display: inline-block;
  margin:0 0 10px;
}
.voice h2::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #FB7B8E;
  top: 100%;
}
.voice .student{
  max-width: 800px;
  width: 100%;
  margin:20px auto;
  background: #fff;
  padding:40px;
  filter: drop-shadow(1px 2px 5px rgba(0, 0, 0, 0.15));
  border-radius: 10px;
}
.voice .student figure{
  max-width: 575px;
  width: 100%;
  margin:0 auto 40px;
}
.voice .student figure img{
  width: 100%;
}
.teacher_bg{
  background: url(/form/eiken_lp/img/teacher_bg_new.png) no-repeat center #FEF1F3;
  background-size: cover;
  height: 343px;
}
.teacher{
  text-align: center;
  padding: 60px 0 0;
}
.teacher p{
  text-align: center;
  margin-bottom: 20px;
}
.teacher p:nth-of-type(1) span{
  padding: 0 30px;
  font-weight: bold;
  font-size: 2.8rem;
  text-align: center;
  color: #fff;
  line-height: 1.6;
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.15);
}
.teacher p:nth-of-type(2) > span{
  padding: 0 30px;
  font-weight: bold;
  font-size: 2.2rem;
  text-align: center;
  color: #333;
  line-height: 1.6;
  background: #fff;
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.15);
  display: inline-block;
  margin-bottom: 5px;
}

.toggle {
  display: none;
}
.voice_label {
  padding: 10px 40px 10px 60px;
  display: block;
  border-radius: 10px;
  background: #f78ca0;
  font-weight: bold;
  font-size: 1.6rem;
  color: #fff;
  text-align: left;
}
.voice_label::before{
  content: "";
  width: 32px;
  height: 31px;
  background: url(/form/eiken_lp/img/q.png) no-repeat left;
  position: absolute;
  left: 4%;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.voice_label::after{
  content: "＋";
  position: absolute;
  top: calc(50% - 15px);
  right: 20px;
  font-size: 2rem;
  font-weight: bold;
}
.voice_label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.content {
  height: 0;
  margin: -1px 0 20px;
  padding: 0 20px;
  overflow: hidden;
  width: 100%;
  border-radius: 0px 0px 10px 10px;
  background: #fff;
  text-align: left;
}
.toggle:checked + .voice_label + .content { 
  height: auto;
  padding: 20px;
  transition: all .3s;
  border: 1px solid #f78ca0;
}
.toggle:checked + .voice_label{
  border-radius: 10px 10px 0 0;
}

.toggle:checked + .voice_label::after {
  content: "－";
}
.eiken_flow .eiken_step{
  text-align: center;
}
.eiken_flow ul{
  max-width: 960px;
  width: 100%;
  margin: 60px auto 0;
}
.eiken_flow ul li{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.eiken_flow ul li::after{
  content: "";
  display: inline-block;
  width: 99px;
  height: 72px;
  background: url(/form/eiken_lp/img/arrow.png) no-repeat left;
  position: absolute;
  right: 50%;
  bottom: 0;
}
.eiken_flow ul li:nth-child(even)::after{
  transform: scale(-1, 1);
}
.eiken_flow ul li:last-child::after{
  display: none;
}

.eiken_flow ul li figure{
  width: 40%;
}
.eiken_flow ul li .right_area{
  width: 50%;
  padding-left:40px;
  margin-top:70px;
}
.eiken_flow ul li .left_area{
  width: 60%;
  padding-right:40px;
   margin-top:30px;
}
.eiken_flow ul li .step{
  border-radius: 25px;
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.15);
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  color: #fff;
  display: inline-block;
  padding: 0 40px 2px;
  margin-bottom: 20px;
}
.eiken_flow ul li h3 span{
  background: #fff;
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.15);
  font-weight: bold;
  font-size: 2.6rem;
  text-align: center;
  padding: 5px 20px 7px;
  margin-bottom: 10px;
  display: inline-block;
}
.eiken_flow ul li p{
  margin-top:20px;
}
.eiken_flow ul li p a{
  color: #E40057;
  text-decoration: underline !important;
}
#level{
  margin: -60px 0 60px;
}
#level .renewal{
  text-align: center;
  margin-bottom:20px;
}

#level ul.tab{
  display: flex;
  flex-wrap: wrap;
  width: 575px;
  margin: 0 auto 30px;
  justify-content: space-between;
  float: initial;
}
#level ul.tab li{
  cursor: pointer;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 2.6rem;
  width: 270px;
  height: 70px;
  border-radius: 5px;
  background: #8C8C8C;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
  flex: 0 0 270px;
  max-width: 270px;
  opacity: 1;
}
#level ul.tab li.active::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  background: none;
  border: 10px solid transparent;
  border-top: 10px solid #f58398;
  top: 100%;
}
#level ul.tab li:last-child{
    margin: 0;
}
#level ul.tab li:hover {
    color: #fff;
    font-weight: bold;
}
#level ul.tab li.active{
  opacity: 1;
  color: #fff;
  font-size: 2.6rem;
  background: #f58398;
  z-index: 2;
  position: relative;
}
#level div.tab_box{
  clear: both;
  display: none;
  width: 100%;
  margin: -3px auto 0;
  max-width: 1240px;
  border: 3px solid #f58398;
  background: #fff;
  z-index: 1;
  position: relative;
}
#level div.active {
    display: block;
}

.resolution{
  border-radius: 20px;
  background: #FEF1F3;
  border: 1px solid #FEF1F3;
  padding: 60px 0 0;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}
.resolution h2{
  text-align: center;
  font-weight: bold;
  font-size: 2.6rem;
  color: #f9748f;
  width: 100%;
  background: #fff;
  padding: 10px 0;
  margin: 0 auto !important;
  max-width: 860px;
}
.resolution ul{
  width: 100%;
  margin: 40px auto;
  padding: 0 70px;
}
.resolution ul li{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom:40px;
}
.resolution ul li h3{
  width: 100%;
}
.resolution ul li:nth-of-type(2) h3 {
  text-align: right;
}
.resolution ul li h3 span{
  background: linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.11);
  padding: 5px 20px 8px;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  color: #fff;
  display: inline-block;
  margin: 20px 0;
  left: 0;
  position: relative;
}
.resolution ul li h3 span::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 5%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #FB7B8E;
  top: 100%;
}
.resolution ul li:nth-of-type(2) h3 span::before {
  left: initial;
  right: 5%;
  border-top: 10px solid #f58398;
}
.resolution ul li figure{
  width: 45%;
}
.resolution ul li:nth-of-type(2) figure {
  text-align: right;
}
.resolution ul li .text_area{
  width: 55%;
}
.resolution ul li p{
  font-weight: bold;
  font-size: 1.8rem;
}
.resolution ul li p span{
  background: #fff;
  padding: 2px 10px;
  display: inline-block;
  margin-bottom: 5px;
}
#feature h2{
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin: 0 0 50px 0;
    line-height: 1.4;
}

#feature h2 span{
    font-size: 3.2rem;
}
#feature h2 span:nth-of-type(2){
  font-size:1.6rem;
}
#feature{
    padding:60px 0;
}
#feature ul{
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin: 0 auto;
}
#feature ul li{
    flex: 0 0 100%;
    margin:0 auto;
    padding:40px 0;
    text-align: center;
    border-bottom:1px dotted #e65973;
}
#feature ul li:last-child{
    border-bottom:none;
}

#feature ul li img {
    float: left;
    width: 180px;
    margin: 0 60px 0 20px;
}
#feature ul li img:nth-of-type(2) {
    float: right;
    width: 150px;
    margin: 0;
}
#feature ul li p{
    float: left;
    text-align: left;
    font-weight: bold;
    width: 50%;
}
#feature ul li p span{
    font-size: 1.6rem;
}
.worries h2 sup,
.reason h2 sup,
#recom h2 sup,
#level h2 > sup,
.exam_tit sup,
#about sup,
#point sup,
#feature sup,
#recom_eiken sup{
    top: 1.4em;
}
.exam{
  text-align: center;
  background-color: #FEF1F3;
  padding: 60px 0;
  max-width: 1240px;
  margin: 0 auto;
  width: 100%;
}
.exam_tit{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.4;
}
.exam_tit span{ 
  font-size: 3.2rem;
}

.exam h2 {
  font-weight: bold;
  font-size: 3rem;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.4;
}
.exam h2 span{
  position: relative;
  display: inline-block;
}
.exam h2 span.text_color{
  color: #f58398;
}
.exam h2 span::after {
  content: "";
  position: absolute;
  height: 4px;
  background:#f9748f;
  width: 100%;
  display: block;
}
.exam .lead{
  font-weight: bold;
  font-size: 1.6rem;
  width: 100%;
  margin: 0 auto 60px;
  max-width: 960px;
  text-align: left;
}
.exam figure{
  margin: 0 0 40px;
}
.exam .entrance_exam ul{
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.exam .entrance_exam ul li{
  max-width: 945px;
  width: 100%;
  background:url("/form/eiken_lp/img/ex01_bg.png") bottom 15px right 15px no-repeat, linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  position: relative;
  padding: 40px 20px 40px 40px;
  margin-bottom: 40px;
}
.exam .entrance_exam ul li:nth-of-type(2){
  background:url("/form/eiken_lp/img/ex02_bg.png") bottom 15px right 15px no-repeat, linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  width: 100%;
  max-width: 540px;
}
.exam .entrance_exam ul li:nth-of-type(3){
  background:url("/form/eiken_lp/img/ex03_bg.png") bottom 15px right 15px no-repeat, linear-gradient(to right, #f78ca0 0%, #f9748f 34.72%, #fd868c 72.38%, #fe9a8b 100%);
  max-width:360px;
  width: 100%;
  margin-right: 15px;
}
.exam .entrance_exam ul li::after{
  content: '';
  width: 100%;
  max-width: 943px;
  border: 2px solid #ffd4ce;
  position: absolute;
  top:12px;
  left:12px;
  height: 100%;
}
.exam .entrance_exam ul li:nth-of-type(2)::after{
  max-width: 538px;
}
.exam .entrance_exam ul li:nth-of-type(3)::after{
  max-width: 358px;
}
.exam .entrance_exam ul li h3{
  font-weight: bold;
  font-size: 2.2rem;
  text-align: left;
  color: #fff;
  margin-bottom: 20px;
}
.exam .entrance_exam ul li h3 span{
  border-bottom: 1px solid #fff;
}
.exam .entrance_exam ul li p{
  font-weight: bold;
  font-size: 1.6rem;
  text-align: left;
  color: #fff;
}
.exam .uni_list{
  width: 770px;
  border: 1px solid #f58398;
  margin: 60px auto 100px;
  padding: 35px 50px;
}
.exam .uni_list h3{
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  border-bottom: 1px solid #f58398;
  display: inline-block;
  color: #333;
}
.exam .uni_list p{
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  margin-top: 30px;
}
.exam .uni_list p span{
  font-size: 1.2rem;
}
.exam .accreditation h3{
  font-weight: bold;
  text-align: center;
  font-size: 2.3rem;
  line-height: 1.4;
}
.exam .accreditation h3 .s_txt{
  font-size: 2rem;
}
.exam .accreditation h3 span.blue_txt{
  color:#f58398;
}
.exam .accreditation h3 span.blue_txt span{
  font-size:3.2rem
}
.exam .accreditation ul{
  width: 100%;
  max-width: 960px;
  margin: 40px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.exam .accreditation ul li{
  width: 100%;
  padding-left: 290px;
}
.exam .accreditation ul li:nth-of-type(1){
  background: url("/form/eiken_lp/img/exam_bg02.png") no-repeat left center;
  height: 290px;
}
.exam .accreditation ul li:nth-of-type(2){
  background: #fff;
  padding: 30px 0;
  max-width: 730px;
  width: 100%;
  margin: 60px auto 20px;
  position: relative;
}
.exam .accreditation ul li:nth-of-type(2)::before{
  position: absolute;
  content: "";
  border: 1px solid #ffd4ce;
  top:5px;
   left:5px;
  width: 100%;
  height: 100%;
}
.exam .accreditation ul li h4{
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  color: #f58398;
  margin-bottom:10px;
}
.exam .accreditation ul li div{
  background: #fff;
  border-top: 2px solid #f58398;
  border-bottom: 2px solid #f58398;
  padding: 30px 20px;
  width: 85%;
  margin: 40px auto 0;
}
.exam .accreditation ul li p{
  font-size: 1.4rem;
  text-align: left;
  line-height: 1.8;
}
.exam .accreditation ul li:nth-of-type(2) p{
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
}
.exam .entry p{
  font-weight: bold;
  font-size: 1.6rem;
  color: #f58398;
  margin-top: 30px;
}
.exam .ml_btn {
  margin: 10px 0;
  text-align: center;
}
.ml_btn a.btn_blue {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  font-weight: normal;
  padding: 13px 80px;
  height: auto;
  line-height: 1.2;
  text-decoration: none;
  color: #fff;
  text-align: center;
  cursor: pointer;
  border: none;
  position: relative;
  display: inline-flex;
  border-radius: 100px;
  font-size: 1.8rem;
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}
.ml_btn {
  margin: 60px 0;
  text-align: center;
}
.ml_btn a p.visual_btn {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 5px 0;
}
.ml_btn a p.visual_btn span:nth-of-type(1) {
  font-size: 1.8rem;
  color: #FFD8D8;
}

#exam_course{
  border-radius: 20px;
  padding: 40px 60px;
  max-width: 960px;
  width: 100%;
  margin:0 auto;
}

.level_tit {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 40px 0;
  line-height: 1.4;
}
.level_tit span{
  font-size: 3.2rem;
}

#about{
  background-color: #E7F0F9;
  padding: 60px 0 20px;
}
#about h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px 0;
  line-height: 1.4;
}
#feature h2{
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin: 0 0 50px 0;
    line-height: 1.4;
}

#about h2 span,
#feature h2 span,
#about h2 span,
#feature h2 span{
    font-size: 3.2rem;
}

#feature h2 span:nth-of-type(2){
  font-size:1.6rem;
}
#about {
  background-color: #ffe9eb;

}
#about ul{
    display: flex;
    flex-wrap: wrap;
    width: 730px;
    margin: 0 auto;
}

#about ul li{
      flex: 0 0 30%;
      margin:0 auto;
      padding:0 0 20px;
      text-align: center;
}
#about ul li figure {
    position: relative;
}

#about ul li figure img{
    width: 100%;
}
#about ul li figure figcaption{
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-\ transform: translateY(-50%) translateX(-50%);
    font-size: 1.8rem;
    font-weight: bold;
    width: 100%;
    line-height: 1.4;
}
#about ul li figure figcaption sup{
    top: 0;
}
#about .about_merit{
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 50px;
}
#about .about_merit span{
  color: #f58398;
}
#about .about_merit sup{
  top: 0.3em;
}
#recom{
  padding: 80px 0 20px;
  background-color: #ffe9eb;
  margin-bottom: 80px;
}
#recom h2,
#system h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.4;
}
#level h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.4;
}

 #recom h2 span,
#level h2 span,
#system h2 span {
  font-size: 3.2rem;
}
#recom ul{
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin: 0 auto;
}
#recom ul li{
      flex: 0 0 24%;
      margin:0 auto;
      padding:0 0 20px;
      text-align: center;
}
#recom ul li figure img{
    width: 100%;
}
#recom ul li figure figcaption{
    font-weight: bold;
    margin-top: 10px;
}
#system{
  padding: 60px 0;
}
#system ul{
  max-width: 800px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
#system ul li {
  flex: 0 0 100%;
  margin: 0 auto 10px;
  text-align: center;
  border: 3px solid #224D9A;
  border-radius: 8px;
  display: block;
  padding: 20px;
  text-decoration: none;
}
#system ul li .system_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 85%;
  margin: 30px auto;
}
#system ul li .course_name {
  background: #E7F0F9;
  padding: 5px 40px;
  border-radius: 50px;
  margin: 0 auto 20px;
  font-size: 1.8rem;
  color: #224D9A;
  font-weight: bold;
  width: 350px;
}
#system ul li figure{
  width: 290px;
}
#system ul li figure img{
  border-radius: 10px;
}
#system ul li .rightTxt{
  max-width: 320px;
  width: 100%;
}
#system ul li p{
  font-size: 1.8rem;
  margin: 0 0 10px;
  text-align: left;
  font-weight: bold;
  line-height: 1.4;
  margin-left: 1em;
  text-indent: -1.6em;
}
#system ul li p span.teacher_s{
  font-size: 1.4rem;
}

 #system ul li p::before {
  content: "";
  display: inline-block;
  background-size: 100%;
  width: 20px;
  height: 20px;
  background-image: url(/cinfo/img/checkbox.png);
 margin: 0 10px 0 0;
  vertical-align: middle;
  background-repeat: no-repeat;
}
#system .note{
  max-width: 800px;
  width: 100%;
  margin:0 auto;
  
}
#system ul li .btn_blue,
#system ul li .btn_blue:hover {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  color: #FFF;
  border-color: #224D9A;
  max-width: 380px;
  width: 100%;
}
.btn_blue {
  position: relative;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  min-width: 225px;
  height: 45px;
  padding: 0 20px;
  border-style: solid;
  border-width: 2px;
  border-radius: 100px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  outline: none;
  transition: all .3s;
  cursor: pointer;
}
#system ul li .btn_blue,
#system ul li .btn_blue:hover {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  color: #FFF;
  border-color: #224D9A;
}

.merit_list{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 960px;
  margin:0 auto 80px;
}

.school_list{
  width: 860px;
  margin:0 auto;
}
.school_list h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.4;
}
.school_list h2 span{
  font-size: 3.2rem;
}
.school_list table {
    border-top:1px solid #bbb;
    border-left:1px solid #bbb;
}
.school_list table th {
    padding:15px;
    font-weight:bold;
    vertical-align:middle;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
    color:#fff;
    background: #f58398;
}
.school_list table th.area{
    width:20%;
}
.school_list table th.level{
    width:20%;
}
.school_list table th.school_name{
    width:60%;
}
.school_list table td {
    padding:15px;
    vertical-align:middle;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
  font-weight: bold;
}
.school_list table td p{
    text-align: center;
}
#search{
  padding: 60px 0;
}
#search h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 80px;
  line-height: 1.4;
}
#search h2 span {
  font-size: 3.2rem;
}

@media screen and (max-width: 740px) {
#eiken img{
    width: 100%;
  display: inline-block;
  }
#eiken a.btn_blue:after {
  font-size: 1.3rem;
}
.ml_btn a.btn_blue {
  background: linear-gradient(to right, #1E3C72, #2A5298);
  font-weight: normal;
  padding: 13px 20px;
  height: auto;
  line-height: 1.2;
  text-decoration: none;
  color: #fff;
  text-align: center;
  cursor: pointer;
  border: none;
  position: relative;
  display: inline-flex;
  border-radius: 100px;
  font-size: 1.8rem;
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
  width: 100%;
}

#visual {
  background: url(/form/eiken_lp/img/main_sp02.png) top no-repeat;
  background-size: contain;
  margin: 0;
  height: auto;
  padding-top: 130%;
  position: relative;
}

#visual > div {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 0;
  height:100%;
}
#visual div .logo img{
  height: 25px;
  margin: 20px 0 20px 20px;
  width: auto;
}

#visual div h1{
    text-align: center;
    top: 25%;
  }
#visual div h1 span{
  font-size: 1.6rem;
  margin: 0;
  display: inline;
  background: linear-gradient(transparent 60%, #FFFAC9 40%);
}
  
#visual div h1::before {
    left: initial;
    top: -20px;
    background-size: 60%;
    right: 10px;
    width: 70px;
    height: 70px;
    font-size: 1.8rem;
  }

#visual div h1 img{
  width: 90%;
  display: inline-block;
}
#visual div .main_txt{
    margin: 0 auto;
    bottom: 2%;
    position: absolute;
    text-align: center;
    width: 100%;
    padding: 0 20px;
  }
#visual div .main_txt img:nth-of-type(1){
  margin: 0 0 20px;
  max-width: 334px;
}

#visual .note{
    font-size: 0.8rem;
    bottom: -20px;
   /*bottom: 0;　通常バージョン*/
    right: 10px;
    color: #000;
    text-shadow: none;
  }
.entry {
  text-align: center;
  margin: 40px 0 0;
}
#entry_sp {
  text-align: center;
  margin: 60px 0 30px;
}
#entry_sp a.btn_blue:after {
  display: none;
}
/*　検定前バージョン
#entry_sp a.btn_blue::before {
  content: "＼ 簡単30秒！まもなく開講につきお早めに！／";
  color: #2A5298;
  position: absolute;
  top: -15px;
  font-weight: bold;
  font-size: 1.4rem;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-shadow: 0 0 4px #fff;
  width: 100%;
}
検定前バージョン*/


/*
.entry::before {
  left: 0;
  top: -40px;
  background-size: 50%;
}
*/
#entry_sp::before {
  display: none;
}
.course .entry::before{
  left: -30px;
  top: -10px;
  background-size: 50%;
}

.resolution .entry::before{
  left: -10px;
  top: -10px;
  background-size: 50%;
}
.exam .entry::before{
  left: -35px;
  top: -10px;
  background-size: 50%;
}

.entry > p {
  font-size: 1.2rem;
}
.entry a.btn_blue {
  width: 90%;
  padding: 0 20px 0 30px;
  margin: 0 auto;
}

.course .entry a.btn_blue {
  width: 100%;
}
.exam .entry a.btn_blue {
  width: 100%;
}
.entry a p.visual_btn {
  font-size: 1.6rem;
}
.entry a p.visual_btn span:nth-of-type(2) {
  font-size: 1.4rem;
}
section {
  padding: 30px 0;
}
section:last-child {
  padding: 30px 0 0;
}
section.bg_pink {
  padding: 30px 0 0;
}
section .inner {
  width: 90%;
}
.course {
  padding: 30px 20px;
}
.course h2 img{
  width: 70% !important;
  display: inline-block;
}

.course .course_check {
    margin: 20px auto 40px;
    padding: 20px 20px 20px 30%;
  }
.course .course_tit {
  width: 80%;
}
.course .course_tit > p {
  font-weight: bold;
  font-size: 2rem;
  color: #fff;
}
.course .course_check > p{
  font-size: 1.4rem;
  text-indent: 0.8em;
  margin-left: -15px;
}
.course h3 {
  font-size: 1.8rem;
}
.course > p {
  font-size: 1.6rem;
}
.course table th {
    font-size: 1.2rem;
    width: 15%;
  }
 .course table td {
  font-size: 1.4rem;
  width: auto;
}
.course table td:nth-of-type(2) {
  font-size: 1.6rem;
}
.course table td:nth-of-type(2) span {
  font-size: 1.2rem;
}
.course .note {
  font-size: 1.1rem;
}
.exam h2, 
.eiken_flow h2{
  font-size: 2rem;
  margin-bottom: 40px;
}
.exam h2 span .text_color::after{
  display: none;
}
.worries ul {
  display: block;
  margin: 0 auto;
  width: 100%;
}
.worries ul li{
  text-align: center;
  margin-bottom: 40px;
}
.worries ul li figure{
  max-width: 80%;
  margin: 0 auto;
  padding-left: 20px;
}
  
  /*------------------------------
  .reason 
------------------------------*/
  .reason {
  background: url("/form/eiken_lp/img/graph_paper.png") repeat;
  padding: 30px 20px;
  background-size: 11%;
}

.reason .reason_inner{
  display: block;
  position: relative;
}
.reason .reason_inner .grad-trigger{
  display: none;
}
  
.reason .reason_inner .grad-btn{
    position: absolute;
    width: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    background-size: cover;
    height: 60px;
  bottom: 120px;
}

.reason .reason_inner .grad-btn::before{
    position: absolute;
    display: inline-block;
    background: url(/form/eiken_lp/img/reason_more.png) no-repeat center;
    background-size: auto;
    content: "";
    padding: 2px 10px;
    text-align: center;
    cursor: pointer;
    width: 80%;
    bottom: -250px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    z-index: 1;
    background-size: auto;
    height: 60px;
  }
.reason .reason_inner .grad-trigger{
  display: none;
}
.reason .reason_inner .grad-trigger:checked ~ .grad-btn::before {
  content: "";
  background: url(/form/eiken_lp/img/reason_close.png) no-repeat center;
  background-size: auto;
}
.reason .reason_inner .text_wrap{
  position: relative;
  overflow: hidden;
  height: 45px;
  margin-bottom: 100px;
}
.reason .reason_inner .text_wrap::before{
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0.1));
  content: "";
  z-index: 1;
}
.reason .reason_inner .grad-trigger:checked ~  .text_wrap{
  height: auto; 
}
.reason .reason_inner .grad-trigger:checked ~  .text_wrap::before{
  display: none; 
}

.reason .item{
  margin-bottom: 0;
}
.reason .item .img_wrap{
  width: 100%;
  margin-bottom: 20px;
}
.reason .item .text_wrap{
  padding-left: 0;
}
.reason .item h3{
  font-size: 1.6rem;
  background-size: 40px auto;
  padding-left: 50px;
}
.reason .item .text_wrap p{
  font-size: 1.4rem;
} 
.reason .ml_btn{
  margin: 40px 0 20px;
}
 /*------------------------------
.eiken_app
------------------------------*/
.eiken_app {
  width: 100%;
  padding: 30px 20px;
}
.eiken_app h3 {
  font-size: 2rem;
}
.app_about .effect h3 {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.app_about .effect h3::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 25%;
  width: 70%;
}
.app_about .effect p {
  font-size: 1.4rem;
  margin-bottom: 20px;
  line-height: 1.2;
}  
.app_about .effect {
  background: none;
}
.slide img {
  width: 176px !important;
}
  
  /*------------------------------
.curriculum
------------------------------*/
.curriculum div:nth-of-type(2) {
  margin-bottom:30px;
}
.curriculum div img{
  width: auto;
}

.curriculum p{
  font-size: 2.2rem;
  line-height: 180%;
}

  
.different_inner{
  border: 10px solid #fff;
  padding: 20px;
}
.different h2{
  font-size: 2rem;
  text-align: center;
  padding: 10px 15px;
}
.different ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.different ul li{
  width:28%;
  padding-top:20px;
}
.different ul li:nth-of-type(2){
  width:40%;
  padding-top:0;
}

.different table th{
  font-size: 1.2rem;
  padding: 10px 5px;
}
.different table td{
  font-size: 1.2rem;
  padding: 10px 0;
}
.different table td p{
  font-size: 1.1rem;
  font-weight: normal;
}

.different table th.pink{
  font-size: 2rem;
  padding: 5px 0;
}
.different table td.light_pink,
.different table td.light_pink_b{
  font-size: 1.4rem;
  padding: 12px 0;
}
.voice h2 {
  font-size: 1.6rem;
  margin: 0 0 10px;
}
.voice .student {
  width: 100%;
  padding: 20px 20px;
  margin: 20px auto 0;
}
.voice_label {
  font-size: 1.4rem;
  padding: 10px 40px 10px 50px;
  line-height: 1.4;
}
.voice_label::before{
  content: "";
  width: 32px;
  height: 31px;
  background: url(/form/eiken_lp/img/q.png) no-repeat left;
  position: absolute;
  left: 8%;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.voice_label::after {
  right: 15px;
  font-size: 1.8rem;
}
.content {
  font-size: 1.4rem;
}
.teacher {
  padding: 25px 0 0;
}
.teacher_bg {
  background: url(/form/eiken_lp/img/teacher_bg_sp_new.png) no-repeat center #FEF1F3;
  background-size: 100%;
  height: 300px;
}
.teacher p {
  margin-bottom: 0;
}
.teacher p:nth-of-type(1) span {
  padding: 0 5px;
  font-size: 2rem;
  display: inline;
}
.teacher p:nth-of-type(2) span {
  padding: 0 5px;
  font-size: 1.4rem;
}
.eiken_flow ul {
  width: 100%;
  margin: 30px auto 0;
}
.eiken_flow ul li{
  display: block;
  position: relative;
}
.eiken_flow ul li:nth-child(odd){
 flex-direction: column;
 display: flex;
}

.eiken_flow ul li::after,
.eiken_flow ul li:nth-child(even)::after,
.eiken_flow ul li:last-child::after{
  display: none;
}

.eiken_flow ul li:nth-child(odd) figure{
  order:2;
}
.eiken_flow ul li figure{
  width: 100%;
  text-align: center;
  padding-left: 30px;
}
.eiken_flow ul li figure img{
  width: auto !important;
}


.eiken_flow ul li .right_area{
  width: 100%;
  padding-left: 0;
  margin-top: 0;
  order:1;
}
.eiken_flow ul li .left_area{
  width: 100%;
  padding-right: 0;
  margin-top: 15px;
}
.eiken_flow ul li .step{
  font-size: 1.8rem;
  display: inline-block;
  padding: 5px 25px 7px;
}
.eiken_flow ul li h3 span{
  font-size: 1.8rem;
}
.eiken_flow ul li p{
  font-size: 1.4rem;
  margin: 0 0 20px;
}
#level{
    margin: -60px 0 0;
  padding: 60px 0 0;
  }
#level h2 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 30px auto 50px;
  line-height: 1.4;
  width: 90%;
}
#level .renewal{
  text-align: center;
  margin-bottom:10px;
}

#level .renewal img {
  width: 90%;
}

#level ul.tab{
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  justify-content: space-between;
}
#level ul.tab li {
    cursor: pointer;
    text-align: center;
    opacity: 0.5;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
    width: 48%;
    height:45px;
    border-radius: 5px;
    background: #8C8C8C;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 0;
    flex: 0 0 48%;
    margin: 0;
  }
#level ul.tab li:last-child{
    margin: 0;
}
#level ul.tab li.active{
  opacity: 1;
  color: #fff;
  font-size: 1.6rem;
  background: #f58398;
  z-index: 2;
}
#level ul.tab li.active::after {
  left: 45%;
}
#level div.tab_box{
  clear: both;
  display: none;
  width: 100%;
  margin: -3px auto 40px;
  border: 3px solid #f58398;
  padding: 40px 0 0;
  background: #fff;
  z-index: 1;
  position: relative;
}
#level div.active {
    display: block;
}
#level .resolution .al_center img{
  width: 90%;
}
#level .exam .al_center img{
  width: 95%;
}
#level .ml_btn{
  width: 90%;
  margin: 0 auto;
}
.resolution{
  border-radius: 20px;
  padding: 40px 0 20px;
  width: 90%;
  margin: 0 auto 60px;
}
.resolution h2{
  font-size: 2rem;
  background: none;
}
.resolution h2 span{
 background: #fff;
  margin: 0 auto 5px;
  padding: 0 10px;
  font-size: 2rem !important;
  display: inline-block;
}
.resolution ul{
  width: 100%;
  margin: 20px auto;
  padding: 0 20px;
}
.resolution ul li{
  flex-direction: column;
  display: flex;
  margin-bottom: 0;
}
.resolution ul li h3{
  width: 100%;
  order: 1;
  text-align: center;
}

.resolution ul li h3 span{
  box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.11);
  padding: 5px 20px 8px;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  color: #fff;
  display: inline-block;
  margin: 20px 0;
  left: 0;
  position: relative;
}
.resolution ul li h3 span::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  margin-left: -10px;
  top: 100%;
}
.resolution ul li:nth-of-type(2) h3 span::before {
  left: 50%;
  right: initial;
}
.resolution ul li figure,
.resolution ul li figure img{
  width: 100%;
  order: 2;
}
.resolution ul li .text_area{
  order: 3;
  width: 100%;
}
.resolution ul li p{
  font-weight: bold;
  font-size: 1.4rem;
  background: #fff;
  padding: 10px;
  margin: 10px 0 20px;
}
#feature{
  padding: 0;
}

#feature h2{
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  line-height: 1.4;
}
#feature h2 span{
    font-size: 2.6rem;
}
#feature h2 span:nth-of-type(2){
  font-size:1.4rem;
}
#feature ul{
    display: flex;
    flex-wrap: wrap;
    padding:0 20px;
  width: 100%;
}
#feature ul li{
    flex: 0 0 100%;
    margin:0 auto;
    padding:40px 0;
    position: relative;
}
#feature ul li img{
  width: 55%;
  margin-bottom: 40px;
}

#feature ul li img:nth-of-type(2){
    width: 35%;
    position: absolute;
    top: 40px;
    right: 0;
}
#feature ul li p{
    text-align: left;
    font-weight: bold;
  width: 100%;
}
#feature ul li p span{
    font-size: 1.6rem;
}
.exam {
    text-align: center;
    padding: 30px 20px;
    margin-top: 40px;
  }
.exam h2 {
  font-weight: bold;
  font-size: 2rem !important;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 30px;
}

.exam h2 span{
  position: relative;
  display: inline-block;
  font-size: 2rem !important;
}

.exam h2 span.text_color{
  color: #f58398;
}

.exam h2 span:nth-of-type(2)::after {
  content: "";
  position: absolute;
  height: 3px;
  width: 100%;
  display: block;
}
.exam figure img{
  width: 100%;
  max-width: 335px;
}
.exam .lead{
  font-weight: bold;
  font-size: 1.2rem;
  width: 100%;
  margin: 0 auto 60px;
  max-width: 960px;
  text-align: left;
}
.exam figure{
  margin: 0 0 40px;
}
.exam .entrance_exam{
  width: 95%;
  margin: 0 auto;
}
.exam .entrance_exam ul{
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.exam .entrance_exam ul li{
  width: 100%;
  position: relative;
  padding: 30px;
  margin-bottom: 40px;
  background-size: 35%,100%;
}
.exam .entrance_exam ul li:nth-of-type(2){
  width: 100%;
  background-size: 35%,100%;
}
.exam .entrance_exam ul li:nth-of-type(3){
  width: 100%;
  background-size: 30%,100%;
}

.exam .entrance_exam ul li::after{
  content: '';
  width: 100%;
  max-width: 943px;
  position: absolute;
  top:12px;
  left:12px;
  height: 100%;
}
.exam .entrance_exam ul li h3{
  font-weight: bold;
  font-size: 1.8rem;
  text-align: left;
  color: #fff;
  margin-bottom: 20px;
}
.exam .entrance_exam ul li h3 span{
  border-bottom: 1px solid #fff;
}

.exam .entrance_exam ul li p{
  font-weight: bold;
  font-size: 1.4rem;
  text-align: left;
  color: #fff;
}

.exam .uni_list{
  width: 100%;
  border: 1px solid #f58398;
  margin: 40px auto;
  padding: 20px;
}

.exam .uni_list h3 {
  font-weight: bold;
  font-size: 1.4rem;
  border-bottom: 1px solid #f58398;
  position: relative;
  width: 100%;
  text-align: left;
}
.exam .uni_list h3::after{
  position: absolute;
  top: -10px;
  right: -30px;
  content: "＋";
  font-size: 1.6rem;
  padding: 5px 20px 10px;
  text-align: center;
  cursor: pointer;
}
.exam .uni_list h3.active::after {
  content: "－";
}

.exam .uni_list p{
  display:none;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.8;
  text-align: left;
  margin-top: 30px;
}
.exam .uni_list p span{
  font-size: 1.1rem;
}
.exam .accreditation h3{
  font-weight: bold;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.4;
}
.exam .accreditation h3 .s_txt{
  font-size: 1.6rem;
}
.exam .accreditation h3 span.blue_txt{
  color:#f58398;
}

.exam .accreditation h3 span.blue_txt span{
  font-size:2.6rem
}
.exam .accreditation ul{
  width: 100%;
  max-width: 960px;
  margin: 40px auto 0;
  display: block;
}
.exam .accreditation ul li{
  width: 100%;
  padding-top: 65%;
  padding-left: 0;
  margin-bottom: 30px;
}
.exam .accreditation ul li:nth-of-type(1){
  background: url("/form/eiken_lp/img/exam_bg02_sp.png") no-repeat top;
  background-size: contain;
  height: auto;
}
.exam .accreditation ul li:nth-of-type(2){
  background: #fff;
  padding: 30px 0 25px;
  width: 100%;
  margin: 30px auto 20px;
  position: relative;
}
.exam .accreditation ul li:nth-of-type(2)::before{
  position: absolute;
  content: "";
  top:5px;
   left:5px;
  width: 100%;
  height: 100%;
}
.exam .accreditation ul li h4{
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  color: #f58398;
  margin-bottom:10px;
}
.exam .accreditation ul li div{
  background: #fff;
  border-top: 2px solid #f58398;
  border-bottom: 2px solid #f58398;
  padding: 20px;
  width: 90%;
  margin: -40px auto 0;
}
.exam .accreditation ul li p{
  font-size: 1.4rem;
  text-align: left;
}

.exam .accreditation ul li:nth-of-type(2) p{
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 0 20px;
}
.exam .entry p{
  font-weight: bold;
  font-size: 1.6rem;
  color: #f58398;
  margin-top: 30px;
}
.exam .ml_btn{
  margin: 10px 0;
  text-align: center;
}
.bg_gray {
  background-color: #f8f8fa;
  padding: 30px 20px;
}
.bg_gray .inner {
    width: 100%;
  }
#exam_course {
  padding: 30px 20px;
  margin: 0 auto 20px;
}

#about{
  padding: 60px 0 20px;
}

  #about ul {
  width: 100%;
  margin: 0 auto;
}

#about ul li{
    flex: 0 0 47%;
    margin: 0 auto 10px;
    text-align: center;
}
#about ul li figure{
    position: relative;
}
#about ul li figure img{
    width: 100%;
}
#about ul li figure figcaption{
    position: absolute;
    top: 68%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-\ transform: translateY(-50%) translateX(-50%);
    font-size: 1.5rem;
    font-weight: bold;
    width: 100%;
}
#about ul li figure figcaption sup{
    top: 0;
}
#about .about_merit{
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  margin: 0 auto 30px;
  width: 90%;
}
#about .about_merit span{
  color: #f58398;
}
#about .about_merit sup{
  top: 0.2em;
}
#recom{
  padding: 50px 20px;
  margin-bottom: 60px;
}
#recom ul{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
}
#recom ul li{
      flex: 0 0 48%;
      margin:0 auto;
      padding:0 0 20px;
      text-align: center;
}
#recom ul li figure img{
    width: 100%;
}
#recom ul li figcaption{
    font-size: 1.2rem;
    font-weight: bold;
}
#point ul li p {
    text-align: left;
}
#point div.ml_btn {
    background: none;
}
#recom_eiken .inner {
    background:none;
}
#system{
  padding: 60px 0 30px;
}
#system ul{
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}
#system ul li .system_inner {
  width: 100%;
}
#system ul li figure{
  max-width: 290px;
  width: 100%;
      margin-bottom: 20px
}
#system ul li figure img{
  border-radius: 10px;
}
#system ul li .course_name{
  background: #E7F0F9;
  padding: 5px 0;
  border-radius: 50px;
  margin: 0 auto 20px;
  font-size: 1.8rem;
  color: #224D9A;
  font-weight: bold;
  width: 90%;
}
#system ul li .rightTxt{
  max-width: 320px;
  width: 100%;
}
#system ul li p {
  font-size: 1.6rem;
  margin: 0 0 10px;
  text-align: left;
  font-weight: bold;
  line-height: 1.4;
  margin-left: 1.8em;
  text-indent: -2em;
}
#system .note{
  width: 90%;
  margin:0 auto;
}
.merit_list {
  display: block;
  margin: 0 auto 40px;
}
.merit_list li{
  margin-bottom: 20px;
}

.school_list{
  width: 90%;
  margin:0 auto;
}
.school_list h2{
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px 0;
  line-height: 1.4;
}
.school_list h2 span{
  font-size: 3.2rem;
}
.school_list ul.school_tab{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  justify-content: space-between;
  border-radius: 25px;
background: #ececec;
}
.school_list ul.school_tab li {
  cursor: pointer;
  text-align: center;
  opacity: 0.5;
  color: #666;
  font-weight: bold;
  font-size: 1.2rem;
  width: 32%;
  border-radius: 5px 5px 0px 0px;
  padding: 10px 0;
  line-height: 1.2;
  display: flex;
  justify-content: center;
  align-items: center;
}
.school_list ul.school_tab li:last-child{
    margin: 0;
}
.school_list ul.school_tab li:hover {
    color: #224D9A;
    font-weight: bold;
}
.school_list ul.school_tab li.active{
  font-size: 1.2rem;
  z-index: 2;
  width: 30%;
  border-radius: 50px;
  background: #f58398;
  opacity: 1;
  color: #fff;
  line-height: 1.2;
}
.school_list div.school_tab_box{
  clear: both;
  display: none;
  width: 100%;
  margin: -0 auto;
  padding:20px 0 0;
  background: #fff;
}
.school_list .school_tab_box.active {
    display: block;
}
.school_list table {
    border-top:1px solid #bbb;
    border-left:1px solid #bbb;
}
.school_list table th {
    padding:15px;
    font-weight:bold;
    vertical-align:middle;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
    color:#fff;
    background: #f58398;
}
.school_list table th.area{
    width:20%;
}
.school_list table th.level{
    width:20%;
}
.school_list table th.school_name{
    width:60%;
}
.school_list table td {
    padding:15px;
    vertical-align:middle;
    border-right:1px solid #bbb;
    border-bottom:1px solid #bbb;
  font-weight: bold;
}
.school_list table td p{
    text-align: center;
}
.ml_btn {
  margin: 30px 0;
  text-align: center;
}
.ml_btn > p{
  font-size: 1.4rem;
  text-align: center;
  color: #2a5298;
}

.ml_btn a p.visual_btn {
  font-size: 1.6rem;
  font-weight: 600;
  padding: 0;
}
#search{
  padding: 30px 0;
}
#search h2{
  margin: 0 0 40px;
  line-height: 1.4;
}

}