@charset "utf-8";
/* ------------------------------------------------------------ common */
.gradation_btn {
  text-align: center;
  margin: 70px auto 100px;
}
.patternbox {
  position: relative;
}
.patternbox img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.patternbox .textbox {
  width: 550px;
  padding: 70px 0;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 0 0 auto;
}
.patternbox .textbox h4 {
  font-size: 27px;
  font-weight: 500;
  line-height: 49px;
  padding: 0 0 30px;
}
.patternbox .textbox p {
  line-height: 36px;
}
.patternbox .textbox p span {
  background: linear-gradient(transparent 70%, #fff100 0%);
  display: inline;
}
/* ------------------------------------------------------------ fv */
/* ------------------------------------------------------------ about */
#about {
  padding: 70px 0;
}
#about .inner > h3 span {
  font-weight: 700;
  font-size: 37px;
  line-height: 54px;
}
#about .inner > h4 {
  font-size: 27px;
  font-weight: 700;
  text-align: center;
  padding: 0 0 40px;
}
#about .inner > strong {
  display: block;
  text-align: center;
  position: relative;
  font-size: 27px;
  font-weight: 700;
  color: #d80000;
  line-height: 90px;
  margin: 0 auto 60px;
}
#about .inner > strong::before {
  position: absolute;
  content: "";
  border-top: 90px solid #fff100;
  border-right: 150px solid transparent;
  border-left: 150px solid transparent;
  width: 300px;
  height: 90px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  display: block;
  top: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
}
/* ------------------------------------------------------------ eisai_style */
#eisai_style {
  background: #e5f0f9;
  padding: 0 0 160px;
}
#eisai_style .ribbon h3 {
  max-width: 1000px;
  box-sizing: border-box;
}
#eisai_style .ribbon h3:before {
  content: '';
  position: absolute;
  background: url('../images/feature/eisai_deco1.svg') no-repeat;
  background-size: 100%;
  width: 213px;
  height: 244px;
  top: -78px;
  left: 0;
  z-index: 1;
}
#eisai_style .ribbon h3:after {
  content: '';
  position: absolute;
  background: url('../images/feature/eisai_deco2.svg') no-repeat;
  background-size: 100%;
  width: 201px;
  height: 233px;
  top: -66px;
  right: 0;
  z-index: 1;
}
#eisai_style .ribbon + p {
  line-height: 36px;
  text-align: center;
  padding: 80px 0 40px;
}
#eisai_style .styles {
  width: 955px;
  margin: 0 auto;
}
#eisai_style .styles article {
  float: left;
  width: 465px;
  background: #fff;
  margin: 0 0 0 25px;
}
#eisai_style .styles article:nth-of-type(2n+1) {
  clear: both;
  margin: 0 auto;
}
#eisai_style .styles article img {
  width: 100%;
  height: auto;
}
#eisai_style .styles article .textbox {
  background: #fff;
  padding: 20px 30px 30px;
}
#eisai_style .styles article .textbox .tag {
  text-align: center;
  padding: 0 0 25px;
}
#eisai_style .styles article .textbox .tag span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 18px;
  background: #004bb2;
  color: #fff;
  padding: 8px 35px;
  border-radius: 100px;
  -webkit-border-radius: 100px;
}
#eisai_style .styles article .textbox p {
  line-height: 32px;
  padding: 0 0 20px;
}
#eisai_style .styles article .textbox h4 {
  background: #fff100;
  font-size: 18px;
  color: #004bb2;
  text-align: center;
  padding: 10px;
  margin: 0 auto 15px;
}
#eisai_style .styles article .textbox ul li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  border: solid 1px #004bb2;
  color: #004bb2;
  text-align: center;
  padding: 10px 20px;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  margin: 0 5px 12px 0;
}
/* ------------------------------------------------------------ charge */
#charge{
	margin-bottom: 155px;
}
#charge .ribbon h3 {
  max-width: 1000px;
  box-sizing: border-box;
}
#charge .ribbon h3:before {
  content: '';
  position: absolute;
  background: url('../images/feature/charge_deco1.svg') no-repeat;
  background-size: 100%;
  width: 140px;
  height: 150px;
  top: -29px;
  left: 0;
  z-index: 1;
}
#charge .ribbon h3:after {
  content: '';
  position: absolute;
  background: url('../images/feature/charge_deco2.svg') no-repeat;
  background-size: 100%;
  width: 152px;
  height: 148px;
  top: -29px;
  right: 0;
  z-index: 1;
}
#charge .ribbon + p {
  line-height: 36px;
  text-align: center;
  padding: 70px 0 80px;
}
#charge .patternbox img {
  width: 490px;
  height: auto;
}
#charge .patternbox .textbox{
	min-height: 484px;
	padding: 0;
}
/* ------------------------------------------------------------ curriculum */
#curriculum .ribbon h3 {
  max-width: 1000px;
  box-sizing: border-box;
}
#curriculum .ribbon h3:before {
  content: '';
  position: absolute;
  background: url('../images/feature/curriculum_deco1.svg') no-repeat;
  background-size: 100%;
  width: 140px;
  height: 171px;
  top: -29px;
  left: -20px;
  z-index: 1;
}
#curriculum .ribbon h3:after {
  content: '';
  position: absolute;
  background: url('../images/feature/curriculum_deco2.svg') no-repeat;
  background-size: 100%;
  width: 144px;
  height: 180px;
  top: -29px;
  right: 0;
  z-index: 1;
}
#curriculum .ribbon + p {
  line-height: 36px;
  text-align: center;
  padding: 75px 0 60px;
}
#curriculum ul.cfx {
  padding: 0 0 70px;
}
#curriculum ul.cfx li {
  float: left;
  width: 204px;
  margin: 0 0 0 20px;
}
#curriculum ul.cfx li:nth-child(5n+1) {
  clear: both;
  margin: 0 auto;
}
#curriculum ul.cfx li h4 {
  text-align: center;
  font-size: 18px;
  color: #254595;
  background: #E5EDF8;
  padding: 54px 0;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  font-weight: 500;
}
#curriculum ul.cfx li h4 img {
  display: block;
  width: auto;
  height: 60px;
  margin: 0 auto;
}
#curriculum ul.cfx li p {
  padding: 15px 0 0;  
  line-height: 26px;
}
#curriculum .closing_box {
  background: #FEFCEF;
  padding: 53px 30px 42px;
  box-sizing: border-box;
}
#curriculum .closing_box h3 {
  font-size: 28px;
  line-height: 45px;
  text-align: center;
  padding: 0 0 38px;
}
#curriculum .sns_link{
	margin: 0 auto;
	max-width: 904px;
}
#curriculum .sns_link li{
	width: 444px;
}
#curriculum .sns_link .btn-global a{
	height: 72px;
	border-radius: 36px;
	padding: 0 0 0 20px;
	max-width: inherit;
}
#curriculum .sns_link .btn-global a:before{
	right: 16px;
}
#curriculum .sns_link .btn-global a p{
	width: 100%;
	text-align: center;
}
#curriculum .sns_link .btn-global a i{
	width: 33px;
	position: absolute;
	left: 20px;
}
#curriculum .sns_link .btn-global a i img{
	width: 100%;
}
/* ------------------------------------------------------------ support */
#support{
	margin: 103px 0 69px;
}
#support .ribbon{
	margin-bottom: 80px;
}
#support .ribbon h3 {
  max-width: 1124px;
  box-sizing: border-box;
}
#support .ribbon h3:before {
  content: '';
  position: absolute;
  background: url('../images/feature/support_deco1.svg') no-repeat;
  background-size: 100%;
  width: 258px;
  height: 186px;
  top: -12px;
  left: -20px;
  z-index: 1;
}
#support .ribbon h3:after {
  content: '';
  position: absolute;
  background: url('../images/feature/support_deco2.svg') no-repeat;
  background-size: 100%;
  width: 265px;
  height: 186px;
  top: -16px;
  right: 0;
  z-index: 1;
}
#support .patternbox {
  margin-top: 112px;
}
#support .patternbox .textbox {
  padding: 0;
  min-height: 443px;
}
/* ------------------------------------------------------------ schedule */
#schedule {
  background: #e5f0f9;
  padding-bottom: 40px;
}
#schedule .ribbon + p {
  line-height: 36px;
  text-align: center;
  padding: 62px 0 54px;
}
#schedule .table {
  display: table;
  padding: 0 0 30px;
}
#schedule .table .table_cell {
  display: table-cell;
  vertical-align: middle;
}
#schedule .table .img {
  width: 420px;
}
#schedule .table .textbox {
  width: 680px;
  background: #fff;
  padding: 60px 40px;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#schedule .table .textbox h4 {
  padding: 0 0 30px;
  font-size: 29px;
  color: #1c5ea7;
}
#schedule .table .textbox h4 span {
  background: linear-gradient(transparent 70%, #fff100 0%);
  display: inline;
}
#schedule .table .textbox p {
  line-height: 32px;
}
#schedule .moviebox {
  background: #fff;
  padding: 60px;
  margin: 0 auto 30px;
}
#schedule .moviebox h4 {
  padding: 0 0 60px;
  font-size: 29px;
  color: #1c5ea7;
  text-align: center;
}
#schedule .moviebox h4 span {
  background: linear-gradient(transparent 70%, #fff100 0%);
  display: inline;
}
#schedule .moviebox ul li {
  float: left;
  width: 460px;
  margin: 0 0 0 60px;
}
#schedule .moviebox ul li:nth-child(2n+1) {
  clear: both;
  margin: 0 auto;
}
#schedule .moviebox ul li .movie {
  margin: 0 auto 30px;
}
#schedule .moviebox ul li p {
  line-height: 32px;
}
/* ------------------------------------------------------------ other_links */
#other_links {
  padding: 87px 0 0;
}
#other_links a {
  float: left;
  display: block;
  width: 530px;
  margin: 0 0 0 40px;
  background-color: #fff;
  box-shadow: 11px 11px 0 #E5F0F9;
}
#other_links a p{
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	position: relative;
	height: 67px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#other_links a p:before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 25px;
    display: block;
    width: 9px;
    height: 9px;
    border-top: solid 1px #254595;
    border-right: solid 1px #254595;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: '';
}
#other_links a:nth-of-type(2n+1) {
  clear: both;
  margin: 0 auto;
}
#other_links a img {
  width: 100%;
  height: auto;
}
/* ------------------------------------------------------------ mobile */
@media only screen and (max-width:640px) {
  /* ------------------------------------------------------------ common */
  .gradation_btn {
    width: 90%;
    margin: 0 auto 50px;
  }
  .patternbox {}
  .patternbox img {
    width: 100%;
    height: auto;
    right: 0;
    top: -15vw;
    bottom: inherit;
    margin: 0 auto;
    position: static;
  }
  .patternbox .textbox {
    width: 100%;
    padding: 13% 0 8%;
    margin: 0 auto;
  }
  .patternbox .textbox h4 {
    font-size: 18px;
    line-height: 30px;
    padding: 0 0 10px;
  }
  .patternbox .textbox p {
    font-size: 14px;
    line-height: 27px;
  }
  .patternbox .textbox p span {
    background: linear-gradient(transparent 70%, #fff100 0%);
    display: inline;
  }
  /* ------------------------------------------------------------ fv */
  /* ------------------------------------------------------------ about */
  #about {
    padding: 40px 0;
  }
  #about .inner > h3 span {
    font-size: 24px;
    line-height: 36px;
  }
  #about .inner > h4 {
    font-size: 17px;
    line-height: 30px;
    padding: 0 0 20px;
  }
  #about .inner > strong {
    font-size: 18px;
    line-height: 70px;
    margin: 0 auto 12vw;
  }
  #about .inner > strong::before {
    position: absolute;
    content: "";
    border-top: 60px solid #fff100;
    border-right: 100px solid transparent;
    border-left: 100px solid transparent;
    width: 200px;
    height: 60px;
    margin: 0 auto;
    display: block;
    top: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
  }
  /* ------------------------------------------------------------ eisai_style */
  #eisai_style {
    padding: 0 0 80px;
  }
  #eisai_style .inner {
    width: 95%;
  }
  
  #eisai_style .ribbon h3:before {
		width: 73px;
		height: 94px;
		top: 50%;
		left: 5px;
		z-index: 1;
		transform: translateY(-50%);
	}

  #eisai_style .ribbon h3:after {
		width: 65px;
		height: 80px;
		top: 50%;
		right: 5px;
		transform: translateY(-50%);
	}
  #eisai_style .ribbon + p {
    font-size: 13px;
    line-height: 26px;
    text-align: center;
    padding: 55px 0 40px;
  }
  #eisai_style .styles {
    width: 100%;
    margin: 0 auto;
  }
  #eisai_style .styles article {
    float: left;
    width: 49%;
    margin: 0 0 30px 2%;
    min-height: 627px;
  }
  #eisai_style .styles article:nth-of-type(2n+1) {
    clear: inherit;
    margin: 0 auto 30px;
  }
  #eisai_style .styles article img {
    width: 100%;
    height: auto;
  }
  #eisai_style .styles article .textbox {
    padding: 5%;
  }
  #eisai_style .styles article .textbox .tag {
    text-align: center;
    padding: 0 0 20px;
  }
  #eisai_style .styles article .textbox .tag span {
    font-size: 12px;
    padding: 8px 20px 10px;
  }
  #eisai_style .styles article .textbox p {
    font-size: 13px;
    line-height: 23px;
    padding: 0 0 20px;
  }
  #eisai_style .styles article .textbox h4 {
    font-size: 16px;
    padding: 10px;
    margin: 0 auto 15px;
  }
  #eisai_style .styles article .textbox ul li {
    padding: 8px;
    font-size: 11px;
    margin: 0 5px 5px 0;
    display: block;
  }
  /* ------------------------------------------------------------ charge */
  #charge{
	margin-bottom: 40px;
  }
  #charge .ribbon h3:before {
		width: 73px;
		height: 94px;
		top: 50%;
		left: 5px;
		z-index: 1;
		transform: translateY(-50%);
	}

  #charge .ribbon h3:after {
		width: 65px;
		height: 80px;
		top: 50%;
		right: 5px;
		transform: translateY(-50%);
	}
  #charge .ribbon + p {
    font-size: 14px;
    line-height: 30px;
    text-align: left;
    padding: 40px 20px;
  }
  #charge .patternbox img {
    width: 100%;
    height: auto;
  }
  #charge .patternbox .textbox {
    padding: 13% 0 8%;
  }
  /* ------------------------------------------------------------ curriculum */
    #curriculum .ribbon h3:before {
		width: 73px;
		height: 94px;
		top: 50%;
		left: 5px;
		z-index: 1;
		transform: translateY(-50%);
	}

  #curriculum .ribbon h3:after {
		width: 65px;
		height: 80px;
		top: 50%;
		right: 5px;
		transform: translateY(-50%);
	}
  #curriculum .ribbon + p {
    font-size: 14px;
    line-height: 30px;
    text-align: left;
    padding: 40px 20px;
  }
  #curriculum ul.cfx {
    padding: 0 0 10px;
  }
  #curriculum ul.cfx li {
    width: 100%;
    margin: 0;
    padding: 0 0 20px;
  }
  #curriculum ul.cfx li:nth-child(5n+1) {
    clear: inherit;
    margin: 0;
  }
  #curriculum ul.cfx li:nth-child(2n+1) {
    clear: both;
    margin: 0;
  }
  #curriculum ul.cfx li h4 {
    width: 120px;
    font-size: 12px;
    padding: 32px 0;
    float: left;
  }
  #curriculum ul.cfx li h4 img {
    height: 30px;
  }
  #curriculum ul.cfx li p {
    padding: 15px 0 0 140px;
    font-size: 14px;
    line-height: 24px;
  }
  #curriculum .closing_box {
    padding: 7% 5%;
	width: 100%;
  }
  #curriculum .closing_box h3 {
    font-size: 16px;
    line-height: 30px;
    text-align: left;
    padding: 0 0 20px;
  }
  #curriculum .sns_link li{
	width: 100%;
  }
  /* ------------------------------------------------------------ support */
#support{
	margin: 100px 0 0;
}
#support .ribbon{
	margin-bottom: 45px;
}
#support .ribbon h3{
	padding: 30px 0;
}
    #support .ribbon h3:before {
		width: 105px;
		height: 78px;
		top: 28px;
		left: 5px;
		z-index: 1;
		transform: translateY(-100%);
	}

  #support .ribbon h3:after {
		width: 107px;
		height: 76px;
		top: 28px;
		right: 5px;
		transform: translateY(-100%);
	}
  #support .ribbon + img {
    width: 100%;
    height: auto;
  }
  #support .patternbox {
    padding: 0;
    margin: 11vw auto 0;
  }
  #support .patternbox .textbox {
    padding: 13% 0 8%;
  }
  #support .s_images {
    width: 100%;
    height: auto;
  }
  /* ------------------------------------------------------------ schedule */
  #schedule {
    padding: 0 0 30px;
  }
  #schedule .ribbon + p {
    font-size: 14px;
    line-height: 30px;
    text-align: left;
    padding: 40px 20px;
  }
  #schedule .table {
    display: block;
    padding: 0 0 30px;
  }
  #schedule .table .table_cell {
    display: block;
  }
  #schedule .table .img {
    width: 100%;
    height: 50vw;
  }
  #schedule .table .textbox {
    width: 100%;
    padding: 5%;
  }
  #schedule .table .textbox h4 {
    padding: 0 0 10px;
    font-size: 18px;
    line-height: 32px;
  }
  #schedule .table .textbox p {
    font-size: 14px;
    line-height: 27px;
  }
  #schedule .moviebox {
    padding: 7% 5%;
    margin: 0 auto 30px;
  }
  #schedule .moviebox h4 {
    padding: 0 0 30px;
    font-size: 18px;
    line-height: 32px;
    text-align: left;
  }
  #schedule .moviebox ul li {
    float: none;
    width: 100%;
    margin: 0 auto 30px;
  }
  #schedule .moviebox ul li:nth-child(2n+1) {
    clear: inherit;
    margin: 0 auto 30px;
  }
  #schedule .moviebox ul li:last-child {
    margin: 0 auto;
  }
  #schedule .moviebox ul li .movie {
    margin: 0 auto 10px;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  #schedule .moviebox ul li .movie iframe {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
  #schedule .moviebox ul li p {
    font-size: 14px;
    line-height: 27px;
  }
  /* ------------------------------------------------------------ other_links */
  #other_links {
    padding: 50px 0;
  }
  #other_links a {
    float: none;
    width: 100%;
    margin: 0 auto 15px;
  }
  #other_links a:nth-of-type(2n+1) {
    clear: inherit;
    margin: 0 auto 35px;
  }
  #other_links a p{
	font-size: 16px;
	height: 55px;
  }
}