@charset "utf-8";
/*font-family: 'Karla', sans-serif;*/

html,
body { width:100%; overflow-x: hidden; }
body { height:auto; background:#fff; }


/* フォントの指定 */
html { font-size: 62.5%; }
body,input,select,textarea { 
font-size:16px; font-size:1.6rem; 
line-height:1.8; 
letter-spacing:0.05em;
font-family: 'Noto Sans JP', sans-serif;
font-feature-settings: "palt";
color:#231815;}
	
a {color:#231815; text-decoration: none;}
p {text-align:justify; text-justify:inter-ideograph;}
p a {color:#231815; text-decoration: underline;}

/* セレクト時の色指定 */
::selection {
    background: #1D2088;
    color: #fff;
}
::-moz-selection {
    background: #1D2088; /*Firefox*/
    color: #fff;
}

.inner { width: 94%; margin: 0 auto;}
.mw100 { max-width: 100%;}
.showPc { }
.showSp { display: none;}
.imgTxt { position:relative;}
.imgTxt p { overflow: hidden;position:absolute; top: 0; left: 0; width: 100%; height: 100%; text-indent:-100vw; font-size: 10px!important; }
@media screen and (max-width:768px){
	html { font-size: 50%; }
	.showPc { display: none ; }
	.showSp { display: block ; }
}

/* --------------------------------------------

#Header

---------------------------------------------- */ 
.header {
  position: absolute; top: 0; left: 0; z-index: 80;
  width: 100%;
  transition: 0.5s;
}
.header.is-fixed {
  position: fixed; top: 0; left: 0; z-index: 5;
  width: 100%;
}
.header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
  padding: 10px 0 0;
	background-color: #1D2088;
}
@media screen and (max-width:980px){
.header__inner {
	display: block;
  padding-bottom: 12px;
}
}

.header__logo {
	width: 40%; max-width: 210px;
	margin: 0.25em 0 0.25em 0.5em;
}
.header__logo img {
	display: block;
	width: 100%;
}
@media screen and (max-width:980px){
.header__logo {
	width: 30%; max-width: 140px;
  margin: 0 auto;
}
}

.header__contact {
	box-sizing: border-box;
	width: 80%; max-width: 235px;
  margin: 0 0 0 auto;
	padding: 10px 1.5% 0;
	border-bottom: 7px solid #fff;
	background-color: #090C7D;
}
@media screen and (max-width:980px){
.header__contact {
  position: fixed; bottom: 0; left: 0;
	width: 100%; max-width: none;
  padding: 15px 1.5% 5px;
  text-align: center;
  border: none;
}
}

.contactBox__text {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: -0.02em;
  line-height: 1.4;
	color: #fff;
}
@media screen and (max-width:980px){
.contactBox__text {
	font-size: 13px;
	line-height: 1.2;
  text-align: center;
	letter-spacing: 0.1em;
}
}

.contactBox__text b {
	display: block;
	position: relative;
	padding: 0 0 0.25em 0;
	font-family: 'Oswald', sans-serif;
	font-size: 27px; font-size: 2.7rem;
	vertical-align: middle;
}
.contactBox__text b::before {
	display: inline-block;
	content: "";
	width: 21px;
	height: 26px;
	margin-right: 0.25em;
	background: url("../img/share/header_tel_icon.png") center no-repeat;
	background-size: contain;
}
@media screen and (max-width:980px){
.contactBox__text b {
  display: inline-block;
  margin-left: 10px;
}
}


.header__nav {
  width: 70%; max-width: 750px;
  margin-right: 2.5%;
}
.nav-list {
  display: flex;
  justify-content: space-between;
}
.nav-list__item a {
  display: block;
  font-size: 18px; font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width:980px){
.header__nav {
  display: block;
  position: fixed; top: 0; right: -5px; z-index: 90;
  overflow-y: auto;
  width: 60%;
  height: 100vh;
  margin: 0;
  padding: 8vh 0;
  border-bottom: none;
  transform: translateX(102%);
  transition: all 0.6s;
	background-color: #090C7D;
}
.nav-list {
  display: block;
  width: 90%;
  margin: auto;
}

.nav-list__item {
  border-bottom: 1px solid #fff;
}
.nav-list__item a {
  padding: 1em 0;
  font-size: 18px;
  text-align: center;
}
}
@media screen and (max-width:980px){
.header__nav {
}
/*-- active --*/
.header__nav.active {
  transform: translateX(2%);
}
}

/*
Hamburger
------------------------------------------*/
.hamburger {
  display: none;
  position: fixed; top: 0; right: 0; z-index: 85;
  width: 55px;
  height: 55px;
  text-align: center;
  cursor: pointer;
	background-color: #090C7D;
}

.hamburger span {
  display: block;
  position: absolute; right: 0; left: 0; z-index: 2;
  width: 30px;
  height: 2px;
  margin: auto;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

/*-- position --*/
.hamburger span:nth-of-type(1) {
  top: 15px;
}
.hamburger span:nth-of-type(2) {
  top: 25px;
}
.hamburger span:nth-of-type(3) {
  top: 35px;
}

/*-- active --*/
.hamburger.active span {
  background : #fff;
}
.hamburger.active span:nth-of-type(1) {
  top : 25px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-of-type(2),
.hamburger.active span:nth-of-type(3) {
  top: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
@media screen and (max-width:980px){
.hamburger {
  display: block;
}
}


/*
Overlay
------------------------------------------*/
/*.overlay {
  display: block;
  visibility: hidden;
  position: fixed; top: 0; left: 0; z-index: 6;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.7);
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
/*-- active
.overlay.active {
  visibility: visible;
}*/



/* --------------------------------------------

#Share

---------------------------------------------- */ 
.heading {
	position: relative;
	padding-bottom: 1em;
	font-size: 26px; font-size: 2.6rem;
	text-align: center;
	letter-spacing: 0.26em;
	line-height: 1.4;
	color: #1D2088;
}
@media screen and (max-width:599px){
.heading {
	font-size: 22px; font-size: 2.2rem;
}
}

.heading::after {
	display: block;
	content: "";
	position: absolute; bottom: 0; right: 0; left: 0;
	width: 25px;
	height: 3px;
	margin: auto;
	background-color: #1D2088;
}
@media screen and (max-width:599px){
.heading::after {
	height: 2px;
}
}

.heading span {
	display: block;
	font-family: 'Karla', sans-serif;
	font-size: 60px; font-size: 6rem;
	font-weight: 400;
	text-align: center;
}
@media screen and (max-width:599px){
.heading span {
	font-size: 40px; font-size: 4rem;
}
}

.tel {
	text-decoration: none;
	color: #1D2088;
}
.header .tel {
	color: #fff;
}


/* --------------------------------------------

animation

---------------------------------------------- */ 

.anime2{
	opacity: 0;
}

/* ---------　　fedeIN　　--------- */
.animest.fadeIn {
	animation-name:fade-in1;
	animation-duration: 0.5s;
	animation-timing-function: ease-out;
	animation-iteration-count:1; 
	animation-direction:normal; 
	animation-fill-mode: forwards; 
}

@keyframes fade-in1 {
  0% {opacity: 0}
  100% {opacity: 1}
}


/* --------------------------------------------

#MainVisual

---------------------------------------------- */ 
.mainVisual {
	display: flex;
	align-items: center;
	position: relative;
	box-sizing: border-box;
	height: 100vh;
	padding: 10em 0 8em;
	border: solid #1D2088;
	border-width: 0 13px 7px 13px;
	background: url("../img/share/mainVisual_back.gif");
}
@media screen and (max-width:1356px){
.mainVisual {
	height: inherit;
}
}
@media screen and (max-height:1100px){
.mainVisual {
	height: inherit;
}
}
@media screen and (max-width:599px){
.mainVisual {
	padding: 8em 0;
}
}

.mainVisual__inner {
	position: relative;
	width: 90%; max-width: 1010px;
	margin: auto;
}
.mainVisual__catch {
	position: relative; z-index: 2;
	max-width: 733px;
	margin: 0 auto 3%;
}
.mainVisual__catch img:nth-of-type(1) {
	display: block;
	width: 100%;
  opacity: 0;
  animation-name: main_catch01;
  animation-duration: 1s;
	animation-delay: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes main_catch01 {
0% {
 opacity: 0;
}
100%{
  opacity: 1;
}
}

.mainVisual__catch img:nth-of-type(2) {
	display: block;
  position: absolute; top: 0; left: 0;
	width: 100%;
  opacity: 0;
  animation-name: main_catch02;
  animation-duration: 1s;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes main_catch02 {
0% {
 opacity: 0;
 transform: scale(1);
}
50%{
  opacity: 1;
  transform: scale(1.5);
  left: -10%;
}
100%{
  opacity: 1;
  transform: scale(1);
}
}

.mainVisual__image {
	position: absolute; top: -1.4em; right: 18%; z-index: 1;
	width: 180px;
}
.mainVisual__image img {
	display: block;
	width: 100%;
  opacity: 0;
  animation-name: main_img;
  animation-duration: 0.5s; 
  animation-fill-mode: forwards;
}
@keyframes main_img {
0% {
 opacity: 0;
 transform: translateY(30px);
}
100%{
  opacity: 1;
   transform: translateY(0);
}
}
@media screen and (max-width:980px){
.mainVisual__image {
	position: absolute; right: 5%; z-index: 1;
	width: 140px;
}
}
@media screen and (max-width:768px){
.mainVisual__image {
	width: 140px;
}
}
@media screen and (max-width:599px){
.mainVisual__image {
	width: 100px;
}
}
@media screen and (max-width:320px){
.mainVisual__image {
	width: 90px;
}
}

.mainVisual__lead {
	margin-bottom: 8%;
	font-size: 28px; font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	color: #1D2088;
}
@media screen and (max-width:599px){
.mainVisual__lead {
	font-size: 24px; font-size: 2.4rem;
}
}
@media screen and (max-width:320px){
.mainVisual__lead {
	font-size: 20px; font-size: 2rem;
}
}

.mainVisual__studentBox {
	display: flex;
	justify-content: space-between;
  flex-wrap: wrap;
}
.mainVisual__student {
	width: 33.333%; max-width: 318px;
}
.mainVisual__student-min {
	max-width: 275px;
}
.mainVisual__student img {
	display: block;
	width: 100%;
}
@media screen and (max-width:1024px){
.mainVisual__studentBox {
	justify-content: center;
}

.mainVisual__student {
  box-sizing: border-box;
	width: 50%; max-width: 318px;
  margin-bottom: 15px;
  padding: 0 1%;
}
.mainVisual__student-min {
  max-width: 270px;
}
}

.mainVisual__text {
	position: absolute; bottom: 0; left: 0;
	width: 100%;
	font-size: 33px; font-size: 3.3rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.12em;
	color: #fff;
	background-color: #1D2088;
}
@media screen and (max-width:980px){
.mainVisual__text {
	font-size: 28px; font-size: 2.8rem;
}
}
@media screen and (max-width:768px){
.mainVisual__text {
	padding: 0.5em 0 0.25em;
	line-height: 1.4;
}
}
@media screen and (max-width:599px){
.mainVisual__text {
	font-size: 24px; font-size: 2.4rem;
}
}
@media screen and (max-width:320px){
.mainVisual__text {
	font-size: 20px; font-size: 2rem;
}
}


/* --------------------------------------------

#message

---------------------------------------------- */ 
.message {
	position: relative;
	padding: 6em 0 10em;
	background: url("../img/share/mainVisual_back.gif");
}
@media screen and (max-width:320px){
.message {
	padding: 4em 0 6em;
}
}

.message::before {
	display: block;
	content: "";
	position: absolute; bottom: 0; left: 0;
	width: 52%;
	height: 130px;
	background: url("../img/share/point_back03.png") bottom left no-repeat;
	background-size: contain;
}
.message::after {
	display: block;
	content: "";
	position: absolute; bottom: 0; right: 0;
	width: 53%;
	height: 140px;
	background: url("../img/share/point_back04.png") bottom left no-repeat;
	background-size: contain;
}


.message__heading {
	margin-bottom: 2em;
}

.message-section {
	width: 90%;
	margin: 0 auto 4em;
}
.message-section:nth-of-type(2) {
	margin: 0 auto 8em;
}
.message-section__heading {
	margin-bottom: 0.5em;
	font-size: 23px; font-size: 2.3rem;
	text-align: center;
	letter-spacing: 0.05em;
	color: #1D2088;
}
.message-section__heading span {
	background:linear-gradient(transparent 55%, #FFDC00 55%);
}

.message-section:nth-of-type(2) .message-section__heading {
	margin-bottom: 2.5em;
}
@media screen and (max-width:320px){
.message-section__heading {
	font-size: 20px; font-size: 2rem;
}
}

.message-section__heading-min {
  margin-bottom: 1em;
	font-size: 19px; font-size: 1.9rem;
	text-align: center;
	letter-spacing: 0.05em;
	color: #1D2088;
}
.message-section__heading-min b {
  display: inline-block;
  border-bottom: 2px solid #1D2088;
}

.message-section__text {
	font-size: 18px; font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 2.2;
	color: #1D2088;
}
@media screen and (max-width:599px){
.message-section__text {
	text-align: left;
}
}
@media screen and (max-width:320px){
.message-section__text {
	font-size: 16px; font-size: 1.6rem;
}
}

.message-section__text span {
	padding-bottom: 0.5em;
	background: url("../img/share/message_text_border.gif") bottom center repeat-x;
}

.massage-section__point {
  box-sizing: border-box;
  width: 96%; max-width: 944px;
  margin: 3em auto 0;
  padding: 20px 2.5%;
  border: 3px solid #1D2088;
}
.massage-section__list li {
  padding-left: 1em;
  font-size: 18px; font-size: 1.8rem;
  font-weight: 700;
  text-indent: -0.5em;
  letter-spacing: 0.025em;
  color: #1D2088;
}
.massage-section__list li span {
  display: inline-block;
  color: #E94829;
}

.message-section__content {
  margin-bottom: 2em;
}

.message-section__button {
  display: block;
  position: relative;
  width: 80%; max-width: 200px;
  height: 45px;
  margin: 0 auto 3em;
  padding: 2px 15px 0;
  font-size: 18px; font-size: 1.8rem;
  text-align: left;
  vertical-align: middle;
  color: #fff;
  border: none;
  border-radius: 25px;
  background-color: #1D2088;
  cursor: pointer;
}
.message-section__button::after {
  display: block;
  content: "";
  position: absolute; top: 45%; right: 10%;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #fff;
}

.message-english {
	width: 90%;
	margin: 0 auto 3em;
}

.message-english__heading {
	position: relative;
	margin-bottom: 1.5em;
	padding-bottom: 1em;
	font-size: 26px; font-size: 2.6rem;
	text-align: center;
	letter-spacing: 0.26em;
	color: #1D2088;
}
@media screen and (max-width:320px){
.message-english__heading {
	font-size: 20px; font-size: 2rem;
}
}

.message-english__heading::after {
	display: block;
	content: "";
	position: absolute; bottom: 0; right: 0; left: 0;
	width: 25px;
	height: 4px;
	margin: auto;
	background-color: #1D2088;
}

.message-english__movie {
  position: relative;
	max-width: 628px;
	margin: 0 auto 2em;
}
.message-english__movie::before {
	display: block;
  content: "";
  width: 100%;
  padding-top: 56%;
}
.message-english__movie iframe {
	display: block;
  position: absolute; top: 0; left: 0;
  width: 100%;
  height: 100%;
}

.movie-button {
  display: block;
  width: 100%; max-width: 470px;
  margin: 0 auto 12%;
}
.movie-button img {
  display: block;
  width: 100%;
}

.message__telBox {
	position: relative;
	width: 90%; max-width: 622px;
	margin: auto;
}
.message__telBox::before,
.message__telBox::after {
	display: block;
	content: "";
	width: 42px;
	height: 88px;
}
@media screen and (max-width:599px){
.message__telBox::before,
.message__telBox::after {
	display: none;
}
}

.message__telBox::before {
	position: absolute; top: 0; left: 0; z-index: 1;
	background: url("../img/share/message_tel_border01.gif") bottom left no-repeat;
	background-size: contain;
}
.message__telBox::after {
	position: absolute; top: 0; right: 0; z-index: 1;
	background: url("../img/share/message_tel_border02.gif") bottom left no-repeat;
	background-size: contain;
}

.message__tel {
	width: 95%;
	margin: 0 auto;
	font-size: 31px; font-size: 3.1rem;
	font-weight: 600;
	text-align: center;
	color: #1D2088;
	line-height: 1.5;
}

.message__tel b {
	display: block;
	max-width: 8.5em;
	margin: auto;
	font-size: 40px; font-size: 4rem;
	background:linear-gradient(transparent 70%, #FFDC00 70%);
}
@media screen and (max-width:768px){
.message__tel {
	font-size: 26px; font-size: 2.6rem;
}

.message__tel b {
	font-size: 35px; font-size: 3.5rem;
}
}
@media screen and (max-width:768px){
.message__tel {
	font-size: 22px; font-size: 2.2rem;
}

.message__tel b {
	font-size: 28px; font-size: 2.8rem;
}
}
@media screen and (max-width:320px){
.message__tel b {
	font-size: 26px; font-size: 2.6rem;
}
}


/* --------------------------------------------

#point

---------------------------------------------- */
.point {
	position: relative;
}

.point__headingBox {
	position: relative;
	box-sizing: border-box;
	padding: 4em 0;
	background-color: #1D2088;
}
.point__headingBox::before {
	display: block;
	content: "";
	position: absolute; bottom: 0; left: 0;
	width: 52%;
	height: 130px;
	background: url("../img/share/point_back01.png") bottom left no-repeat;
	background-size: contain;
}

.point__headingBox::after {
	display: block;
	content: "";
	position: absolute; bottom: 0; right: 0;
	width: 53%;
	height: 140px;
	background: url("../img/share/point_back02.png") bottom left no-repeat;
	background-size: contain;
}

.point__heading {
	box-sizing: border-box;
	position: relative;
	max-width: 570px;
	margin: auto;
	font-size: 32px; font-size: 3.2rem;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.24em;
	color: #fff;
}
@media screen and (max-width:768px){
.point__heading {
	font-size: 28px; font-size: 2.8rem;
}
}
@media screen and (max-width:320px){
.point__heading {
	font-size: 24px; font-size: 2.4rem;
}
}

.point__heading::before {
	display: inline-block;
	content: "";
	position: absolute; bottom: 1.2em; left: -0.5em;
	width: 49px;
	height: 69px;
	vertical-align: bottom;
	background: url("../img/share/point_heading_icon1.png") bottom left no-repeat;
	background-size: contain;
}
.point__heading::after {
	display: inline-block;
	content: "";
	position: absolute; top: 0; right: 0;
	width: 49px;
	height: 69px;
	vertical-align: bottom;
	background: url("../img/share/point_heading_icon2.png") bottom left no-repeat;
	background-size: contain;
}
@media screen and (max-width:768px){
.point__heading::before {
	position: absolute; bottom: 0; left: 0.5em;
	width: 39px;
	height: 59px;
}
.point__heading::after {
	position: absolute; top: -1em; right: 0.5em;
	width: 39px;
	height: 59px;
}
}
@media screen and (max-width:599px){
.point__heading::before {
	position: absolute; bottom: -0.5em; left: 0.5em;
	width: 29px;
	height: 49px;
}
.point__heading::after {
	position: absolute; top: -1.2em; right: 1em;
	width: 29px;
	height: 49px;
}
}
@media screen and (max-width:320px){
.point__heading::before {
	position: absolute; bottom: -0.5em; left: 0.5em;
}
.point__heading::after {
	position: absolute; top: -1.6em; right: 1em;
}
}


.point__heading b {
	display: inline-block;
	margin: 0 0.15em;
	font-family: 'Oswald', sans-serif;
	font-size: 65px; font-size: 6.5rem;
}
@media screen and (max-width:320px){
.point__heading b {
	font-size: 45px; font-size: 4.5rem;
}
}

.point__heading span {
	display: block;
	font-family: 'Karla', sans-serif;
	font-weight: 400;
}

.point-section {
	position: relative;
	padding: 6em 0 10em;
}
@media screen and (max-width:320px){
.point-section {
	padding: 4em 0 6em;
}
}

.point-section::before {
	display: block;
	content: "";
	position: absolute; bottom: -2px; left: 0;
	width: 52%;
	height: 130px;
	background: url("../img/share/point_back03.png") bottom left no-repeat;
	background-size: contain;
}
.point-section::after {
	display: block;
	content: "";
	position: absolute; bottom: -2px; right: 0;
	width: 52%;
	height: 130px;
	background: url("../img/share/point_back04.png") bottom left no-repeat;
	background-size: contain;
}
.point-section:nth-last-of-type(1)::before,
.point-section:nth-last-of-type(1)::after {
	display: none;
}

.point-section__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%; max-width: 1100px;
	box-sizing: border-box;
	margin: auto;
}
@media screen and (max-width:980px){
.point-section__inner {
	display: block;
}
}

.point-section__textBox {
	width: 52%; max-width: 555px;
}
@media screen and (max-width:980px){
.point-section__textBox {
	width: 100%; max-width: 555px;
	margin: 0 auto 1em;
}
}

.point-section__heading {
	box-sizing: border-box;
	position: relative;
	margin-bottom: 0.5em;
	padding-bottom: 0.8em;
	font-size: 28px; font-size: 2.8rem;
	line-height: 1.4;
	text-align: center;
	color: #1D2088;
}
@media screen and (max-width:599px){
.point-section__heading {
	font-size: 24px; font-size: 2.4rem;
}
}

.point-section__heading::after {
	display: block;
	content: "";
	position: absolute; bottom: 0; right: 0; left: 0;
	width: 18px;
	height: 2px;
	margin: auto;
	background-color: #1D2088;
}
.point-section__heading b {
	display: block;
	margin-bottom: 0.5em;
	font-family: 'Oswald', sans-serif;
	font-size: 92px; font-size: 9.2rem;
	text-align: center;
	line-height: 1;
	color: #E94829;
}
@media screen and (max-width:599px){
.point-section__heading b {
	font-size: 70px; font-size: 7rem;
}
}

.point-section__heading b > span {
	display: block;
	font-family: 'Karla', sans-serif;
	font-size: 25px; font-size: 2.5rem;
	text-align: center;
	color: #E94829;
}
@media screen and (max-width:599px){
.point-section__heading b > span {
	font-size: 20px; font-size: 2rem;
}
}

.point-section__text {
	font-size: 20px; font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0;
	color: #1D2088;
}
@media screen and (max-width:599px){
.point-section__text {
	font-size: 18px; font-size: 1.8rem;
}
}

.point-section__image {
  position: relative;
	width: 45%; max-width: 488px;
}
.point-section__image img {
	display: block;
	width: 100%;
}
@media screen and (max-width:980px){
.point-section__image {
	width: 80%; max-width: 400px;
	margin: auto;
}
}

.point-section__image02 img:nth-of-type(2),
.point-section__image02 img:nth-of-type(3),
.point-section__image02 img:nth-of-type(4) {
  position: absolute; top: 0; left: 0;
  width: 100%;
  opacity: 0;
}
.point-section__image02.animest img:nth-of-type(2),
.point-section__image02.animest img:nth-of-type(3),
.point-section__image02.animest img:nth-of-type(4) {
  animation-name: point_img;
  animation-duration: 0.5s; 
  animation-fill-mode: forwards;
}

.point-section__image02.animest img:nth-of-type(2) {
  animation-delay: 1s;
}
.point-section__image02.animest img:nth-of-type(3) {
  animation-delay: 1.5s;
}
.point-section__image02.animest img:nth-of-type(4) {
  animation-delay: 2s;
}
@media screen and (max-width:599px){
.point-section__image02.animest img:nth-of-type(2) {
  animation-delay: 0.5s;
}
.point-section__image02.animest img:nth-of-type(3) {
  animation-delay: 1s;
}
.point-section__image02.animest img:nth-of-type(4) {
  animation-delay: 1.5s;
}
}

@keyframes point_img {
0% {
 opacity: 0;
 transform: translateY(30px);
}
100%{
  opacity: 1;
  transform: translateY(0);
}
}

.point-section__image04 img:nth-of-type(2) {
  position: absolute; top: 0; left: 0;
  width: 100%;
  opacity: 0;
}
.point-section__image04.animest img:nth-of-type(2) {
  animation-name: point_img04;
  animation-duration: 1.2s;
  animation-delay: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
@media screen and (max-width:599px){
.point-section__image04.animest img:nth-of-type(2) {
  animation-delay: 0.5s;
}
}

@keyframes point_img04 {
0% {
 opacity: 0;
 transform: translateY(10px);
}
25% {
 opacity: 1;
 transform: translateY(-10px);
}
50% {
 transform: translateY(10px);
}
75% {
 transform: translateY(-10px);
}
100%{
  opacity: 1;
  transform: translateY(0);
}
}


.point-section:nth-child(odd) {
	background-color: #1D2088;
}
.point-section:nth-child(odd)::before {
	background: url("../img/share/point_back01.png") bottom left no-repeat;
	background-size: contain;
}
.point-section:nth-child(odd)::after {
	background: url("../img/share/point_back02.png") bottom left no-repeat;
	background-size: contain;
}

.point-section:nth-child(odd) .point-section__textBox {
	order: 2;
}
.point-section:nth-child(odd) .point-section__heading,
.point-section:nth-child(odd) .point-section__text {
	color: #fff;
}
.point-section:nth-child(odd) .point-section__heading::after {
	background-color: #fff;
}


.point-section:nth-child(odd) .point-section__image {
	order: 1;
}


/* --------------------------------------------

#plan

---------------------------------------------- */ 
.plan {
	position: relative;
	padding: 12em 0 8em;
	background: url("../img/share/mainVisual_back.gif") top left;
}
@media screen and (max-width:599px){
.plan {
	padding: 8em 0 4em;
}
}

.plan::before {
	display: block;
	content: "";
	position: absolute; top: 0; left: 0; z-index: 1;
	width: 50%;
	height: 130px;
	background: url("../img/share/point_back05.png") top left no-repeat;
	background-size: contain;
}
.plan::after {
	display: block;
	content: "";
	position: absolute; top: 0; right: 0; z-index: 1;
	width: 50%;
	height: 130px;
	background: url("../img/share/point_back06.png") top right no-repeat;
	background-size: contain;
}

.plan__heading {
	margin-bottom: 3em;
}

.plan__lead {
	position: relative;
	width: 90%; max-width: 592px;
	margin: 0 auto 2em;
	font-size: 26px; font-size: 2.6rem;
	font-weight: 500;
	text-align: center;
	color: #1D2088;
}
.plan__lead b {
	display: block;
	font-size: 31px; font-size: 3.1rem;
	font-weight: 500;
}
@media screen and (max-width:768px){
.plan__lead {
	font-size: 24px; font-size: 2.4rem;
}
.plan__lead b {
	font-size: 28px; font-size: 2.8rem;
}
}
@media screen and (max-width:320px){
.plan__lead {
	font-size: 20px; font-size: 2rem;
}

.plan__lead b {
	font-size: 24px; font-size: 2.4rem;
}
}

.plan__lead::before,
.plan__lead::after {
	display: block;
	content: "";
	width: 42px;
	height: 88px;
}
.plan__lead::before {
	position: absolute; top: 0; left: 0; z-index: 1;
	background: url("../img/share/message_tel_border01.gif") bottom left no-repeat;
	background-size: contain;
}
.plan__lead::after {
	position: absolute; top: 0; right: 0; z-index: 1;
	background: url("../img/share/message_tel_border02.gif") bottom left no-repeat;
	background-size: contain;
}
@media screen and (max-width:768px){
.plan__lead::before,
.plan__lead::after {
	display: none;
}
}

.plan-price {
	width: 90%; max-width: 1064px;
	margin: 0 auto 7em;
}
.plan-price:nth-last-of-type(1) {
	margin-bottom: 0;
}

.plan-price__heading {
	margin-bottom: 2em;
	font-size: 24px; font-size: 2.4rem;
	text-align: center;
	color: #fff;
	border-radius: 30px;
	background-color: #E94829;
}
@media screen and (max-width:320px){
.plan-price__heading {
	font-size: 20px; font-size: 2rem;
}
}

.plan-price__inner {
	max-width: 972px;
	margin: 0 auto 3em;
}
.plan-price__inner--min {
	max-width: 774px;
	margin: 0 auto 3em;
}
.plan-price__inner > p,
.plan-price__inner--min > p {
  margin-top: 1em;
	text-align: center;
}

@media screen and (max-width:980px){
.plan-price__inner,
.plan-price__inner--min {
	max-width: none;
	margin: 0 auto 3em;
}
}

.plan-price__text {
	width: 95%; max-width: 904px;
	margin: 0 auto 2em;
	font-size: 20px; font-size: 2rem;
	font-weight: 500;
	color: #1D2088;
}
@media screen and (max-width:320px){
.plan-price__text {
	font-size: 16px; font-size: 1.6rem;
}
}

.plan-price__list {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
@media screen and (max-width:980px){
.plan-price__list {
	display: block;
}
}

.plan-price__list dt {
	box-sizing: border-box;
	width: 22%;
	padding-bottom: 0.15em;
	font-size: 17px; font-size: 1.7rem;
	text-align: center;
	color: #1D2088;
	border: 2px solid #1D2088;
	background-color: #fff;
}
@media screen and (max-width:980px){
.plan-price__list dt {
	width: 100%; max-width: 220px;
	margin-bottom: 1em;
}
}

.plan-price__list dt b {
	display: block;
	font-size: 26px; font-size: 2.6rem;
	color: #fff;
	background-color: #1D2088;
}
@media screen and (max-width:980px){
.plan-price__list dt b {
	padding-bottom: 0.25em;
	font-size: 18px; font-size: 1.8rem;
}
}
@media screen and (max-width:320px){
.plan-price__list dt b {
	font-size: 15px; font-size: 1.5rem;
}
}

.plan-price__list dd {
	width: 76.6%;
}
@media screen and (max-width:980px){
.plan-price__list dd {
	width: 100%;
}
}

.plan-price__course {
	table-layout: fixed;
	box-sizing: border-box;
	width: 100%; max-width: 745px;
	border: 2px solid #1D2088;
	background-color: #fff;
}
.plan-price__course--medium {
	max-width: 774px;
}
.plan-price__course--min {
	max-width: 543px;
	margin-top: 1em;
}
@media screen and (max-width:980px){
.plan-price__course,
.plan-price__course--medium,
.plan-price__course--min {
	max-width: none;
}
}

.plan-price__course th {
	font-size: 22px; font-size: 2.2rem;
	text-align: center;
	color: #fff;
	background-color: #1D2088;
}
@media screen and (max-width:768px){
.plan-price__course th {
	padding-bottom: 0.15em;
	font-size: 18px; font-size: 1.8rem;
	vertical-align: middle;
}
}
@media screen and (max-width:320px){
.plan-price__course th {
	font-size: 15px; font-size: 1.5rem;
}
}

.plan-price__course th:nth-of-type(1) {
	width: 113px;
}
@media screen and (max-width:768px){
.plan-price__course th:nth-of-type(1) {
	width: 20%;
}
}

.plan-price__course td {
	font-size: 22px; font-size: 2.2rem;
	text-align: center;
	color: #1D2088;
	border-right: 2px solid #1D2088;
}
@media screen and (max-width:768px){
.plan-price__course td {
	font-size: 18px; font-size: 1.8rem;
	line-height: 1.2;
	vertical-align: middle;
}
}
@media screen and (max-width:320px){
.plan-price__course td {
	padding: 0.25em 0;
	font-size: 16px; font-size: 1.6rem;
}
}


.plan-price__course thead th {
	border-right: 2px solid #fff;
}
.plan-price__course thead th:nth-of-type(1) {
	border-bottom: 2px solid #fff;
}
.plan-price__course thead th:nth-last-of-type(1) {
	border-right: none;
}

.plan-price__course--medium th:nth-of-type(1) {
	width: 164px;
}
@media screen and (max-width:320px){
.plan-price__course--medium th:nth-of-type(1) {
	width: 26%;
}
}


/* --------------------------------------------

#flow

---------------------------------------------- */ 
.flow {
	padding: 8em 0;
	background-color: #1D2088;
}
@media screen and (max-width:599px){
.flow {
	padding: 5em 0 2em;
}
}

.flow__heading {
	margin-bottom: 5em;
	color: #fff;
}
.flow__heading::after {
	background-color: #fff;
}

.flow__inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 90%; max-width: 1285px;
	margin: 0 auto;
}
@media screen and (max-width:599px){
.flow__inner {
	display: block;
}
}

.flow-step {
	box-sizing: border-box;
	position: relative;
	width: 24%; max-width: 301px;
	padding: 5em 0 2em;
	border-radius: 33px 33px 33px 0;
	background-color: #fff;
}
@media screen and (max-width:980px){
.flow-step {
	width: 48%; max-width: none;
	margin-bottom: 5em;
	padding-bottom: 3em;
}
}
@media screen and (max-width:599px){
.flow-step {
	width: 100%; max-width: 301px;
	margin: 0 auto 5em;
}
}

.flow-step__heading {
	width: 90%; max-width: 236px;
	margin: 0 auto 1em;
	text-align: center;
}
.flow-step__heading b {
	display: block;
	box-sizing: border-box;
	position: absolute; top: -1.5em; right: 0; left: 0;
	max-width: 95px;
	margin: auto;
	padding: 16px 0;
	font-family: 'Oswald', sans-serif;
	font-size: 36px; font-size: 3.6rem;
	text-align: center;
	line-height: 1;
	color: #fff;
	border: 3px solid #fff;
	border-radius: 50%;
	background-color: #E94829;
}
@media screen and (max-width:768px){
.flow-step__heading b {
	max-width: 85px;
}
}
@media screen and (max-width:320px){
.flow-step__heading b {
	font-size: 30px; font-size: 3rem;
}
}

.flow-step__heading b > span {
	display: block;
	font-family: 'Karla', sans-serif;
	font-weight: 20px; font-size: 2rem;
}
.flow-step__heading > img  {
	display: block;
	width: 90%; max-width: 155px;
	margin: 0 auto 1em;
}
@media screen and (max-width:768px){
.flow-step__heading > img  {
	width: 60%; max-width: 112px;
}
}

.flow-step__heading > span {
	padding: 0 0.5em;
	font-size: 26px; font-size: 2.6rem;
	letter-spacing: 0.21em;
	color: #1D2088;
	background:linear-gradient(transparent 60%, #FFDC00 60%);
}

.flow-step__text {
	width: 90%; max-width: 246px;
	margin: auto;
	font-size: 17px; font-size: 1.7rem;
	line-height: 1.4;
	color: #1D2088;
}
.flow-step__text span {
	text-decoration: underline;
}
@media screen and (max-width:980px){
.flow-step__text {
	text-align: left;
}
}


/* --------------------------------------------

#interview

---------------------------------------------- */ 
.interview {
	padding: 8em 0;
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(-50deg, transparent, transparent 10px, rgba(240, 250, 254, 1) 10px, rgba(240, 250, 254, 1) 20px );
}
@media screen and (max-width:320px){
.interview {
	padding: 5em 0;
}
}

.interview__heading {
	margin-bottom: 3em;
}
.interview__heading::before {
	display: block;
	content: "";
	width: 78px;
	height: 67px;
	margin: 0 auto 0.5em;
	background: url("../img/share/interview_heading_icon.png") center no-repeat;
	background-size: contain;
}
@media screen and (max-width:599px){
.interview__heading::before {
	width: 58px;
	height: 47px;
}
}

.interview-section {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 90%; max-width: 1182px;
	margin: 0 auto 2em;
	padding: 3em 0;
	border: 5px solid #1D2088;
	border-radius: 20px;
	background-color: #fff;
}

.interview-section__inner {
	position: relative;
	width: 90%; max-width: 1062px;
	margin: auto;
  padding-top: 4em;
}

.interview-section__avatar {
	position: absolute; top: 0; right: 0; left: 0;
  margin: auto;
  border-bottom: 2px solid #1D2088;
}

.interview-section__name {
	font-size: 22px; font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0;
	color: #1D2088;
}
.interview-section__name span {
  display: inline-block;
  margin-left: 0.5em;
	font-size: 18px; font-size: 1.8rem;
}
@media screen and (max-width:980px){
.interview-section__name {
	line-height: 1.4;
}
}

.interview-section__textBox {
	order: 2;
	width: 100%;
}
@media screen and (max-width:980px){
.interview-section__textBox {
	margin: auto;
}
}

.interview-section__heading {
	margin-bottom: 0.5em;
	font-size: 24px; font-size: 2.4rem;
	color: #1D2088;
}
@media screen and (max-width:980px){
.interview-section__heading {
}
}

.interview-section__heading span {
	padding: 0 0.25em;
	background:linear-gradient(transparent 60%, #FFDC00 60%);
}


.interview-section__text {
	font-size: 18px; font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	color: #1D2088;
}

/* --------------------------------------------

#access

---------------------------------------------- */ 
.access {
	padding: 8em 0 0;
}
@media screen and (max-width:599px){
.access {
	padding: 5em 0 0;
}
}

.access__heading {
	margin-bottom: 4em;
}
@media screen and (max-width:599px){
.access__heading {
	margin-bottom: 2em;
}
}

.access__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
@media screen and (max-width:980px){
.access__inner {
	display: block;
}
}

.access-mapBox {
	width: 50%;
	height: 475px;
}
@media screen and (max-width:980px){
.access-mapBox {
	width: 90%;
	height: 320px;
	margin: 0 auto;
}
}

.access-mapBox iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.access-textBox {
	width: 50%;
}
@media screen and (max-width:980px){
.access-textBox {
	width: 90%;
	margin: auto;
	padding: 3em 0 6em;
}
}

.access-textBox p {
	width: 90%;
	margin: auto;
	text-align: center;
}

.access-textBox__address {
	padding-bottom: 0.5em;
	font-size: 21px; font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.6;
	color: #1D2088;
}
@media screen and (max-width:980px){
.access-textBox__address {
	padding-bottom: 0;
	line-height: 1.4;
}
}

.access-textBox__tel {
	font-family: 'Oswald', sans-serif;
	font-size: 53px; font-size: 5.3rem;
	font-weight: bold;
	color: #1D2088;
}
@media screen and (max-width:599px){
.access-textBox__tel {
	font-family: 'Oswald', sans-serif;
	font-size: 43px; font-size: 4.3rem;
	font-weight: bold;
	color: #1D2088;
}
}

.access-textBox__tel::before {
	display: inline-block;
	content: "";
	width: 30px;
	height: 36px;
	margin-right: 0.25em;
	padding-bottom: 0.25em;
	vertical-align: middle;
	background: url("../img/share/access_tel_icon.png") top center no-repeat;
	background-size: contain;
}
@media screen and (max-width:599px){
.access-textBox__tel::before {
	width: 20px;
	height: 26px;
}
}

/* --------------------------------------------

#footer

---------------------------------------------- */
.footer {
	padding: 0.25em 0;
	background-color: #f5f5f5;
}
.footer__copy {
	display: block;
	text-align: center;
}
@media screen and (max-width:980px){
.footer {
	padding-bottom: 70px;
}
}




