@charset "UTF-8";
*, ::after, ::before {
  box-sizing: border-box
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block
}
html {
  font-size: 62.5%
}
body {
  margin: 0;
  font: normal 1.8rem/1.7 'Open Sans', 'Hiragino Kaku Gothic Pro', '繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3', '繝｡繧､繝ｪ繧ｪ', Meiryo, '�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け', sans-serif;
  color: #222;
  background-color: #fff;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}
[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: .5rem
}
p {
  margin-top: 0;
  margin-bottom: 1rem
}
h2 {
  margin-bottom: 2rem;
  font-size: 5vw;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  line-height: 1.4;
}
h3 {
  font-size: 5vw;
  margin-bottom: 3rem;
}
.m-4 {
  margin-bottom: 4rem
}
@media (min-width:768px) {
  h2 {
    font-size: 4rem
  }
  h3 {
    font-size: 4rem
  }
}
dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem
}
ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0
}
dt {
  font-weight: 700
}
dd {
  margin-bottom: .5rem;
  margin-left: 0
}
small {
  font-size: 80%
}
a {
  color: #fff;
  text-decoration: none;
  background-color: transparent
}
a:hover {
  color: #fffd;
  text-decoration: none
}
a:not([href]) {
  color: inherit;
  text-decoration: none
}
a:not([href]):hover {
  color: inherit;
  text-decoration: none
}
img {
  vertical-align: middle;
  border-style: none
}
svg {
  overflow: hidden;
  vertical-align: middle
}
strong {
  background-color: #ffc
}
b {
  color: #22a7f0
}
.lead {
  font-size: 2rem
}
.img-fluid {
  max-width: 100%;
  height: auto
}
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width:1092px) {
  .container {
    max-width: 1060px
  }
}
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px
}
@media (min-width:768px) {
  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    text-align: left
  }
}
/* Footer */
footer {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #333;
  color: #aaa;
  font-size: 1.4rem
}
footer a {
  color: #fff
}
/* Button */
.button-simple {
  position: relative;
  font-weight: bold;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin: 0px 5px;
  border-radius: 60px;
  font-size: 1.8rem;
  background-color: #22a7f0;
  color: #fff;
  display: block;
  width: 100%;
  text-shadow: 0px 0px 8px #3a539b;
  animation: pekopeko 2s infinite;
  box-shadow: 0 3px 0 #3a539b;
  text-align: center
}
a:hover .button-simple {
  opacity: .8;
  box-shadow: 0 0px 0 #3a539b;
  animation-play-state: paused;
  top: 3px;
}
@keyframes pekopeko {
  0% {
    box-shadow: 0 3px 0 #3a539b;
    top: 0px;
  }
  10% {
    box-shadow: 0 0 0 #3a539b;
    top: 3px;
  }
  20% {
    box-shadow: 0 3px 0 #3a539b;
    top: 0px;
  }
  30% {
    box-shadow: 0 0 0 #3a539b;
    top: 3px;
  }
  40% {
    box-shadow: 0 3px 0 #3a539b;
    top: 0px;
  }
}
.svg-icon {
  fill: #fff;
  position: absolute;
  top: 1.8rem;
  right: 1rem;
  width: 24px;
  height: 24px
}
@media (min-width:768px) {
  .svg-icon {
    top: 2.8rem;
    right: 3rem;
    width: 42px;
    height: 42px
  }
}
section {
  padding-bottom: 6rem
}
.hero {
  padding: 1rem;
  height: 100vh;
  text-align: left;
  display: flex;
  align-items: center;
  background: url("../img/hero11.jpg") no-repeat center right;
  background-size: cover;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 2em), 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 2em), 0% 100%);
}
.hero2 {
  margin-bottom: 6rem;
  padding: 2rem 1rem 18rem;
  text-align: left;
  /* display: flex; */
  /* align-items: center; */
  background: url(../img/hero11m.jpg) no-repeat bottom center;
  background-size: 100% auto;
  position: relative;
}
.catch1-wrap {
  margin-bottom: 2rem
}
.catch1 {
  margin-bottom: 1rem;
}
.catch1 img {
  width: 100%;
  height: auto
}
.catch12 {
  padding-top: 60%
}
@media (min-width:768px) {
  .hero2 {
    padding: 2rem 1rem 4rem;
    text-align: left;
    display: flex;
    align-items: center;
    background: url("../img/hero11.jpg") no-repeat center right;
    background-size: auto 100%;
  }
  .hero {
    padding: 3rem
  }
  .catch1 img {
    width: 70%
  }
}
.jumbotron {
  position: relative
}
.catch11, .catch12 {
  height: 50%
}
.catch11 {
  display: flex;
  align-items: center;
  background-color: #22a7f0;
  position: relative
}
.catch11-inner {
  padding-top: 2rem;
  padding-bottom: 2rem;
  height: 100%;
}
.catch11 img {
  width: 100%;
  height: auto
}
.catch12 {
  padding-top: 60%;
  background: url("../img/hero.jpg") no-repeat center;
  background-size: cover
}
@media (min-width:768px) {
  .jumbotron {
    height: 100vh
  }
  .jumbotron {
    display: flex
  }
  .jumbotron-inner {
    display: flex
  }
  .catch11 img {
    width: 92%
  }
  .catch11, .catch12 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    text-align: left;
    height: 100%
  }
  .catch11-inner {
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
    background: #22a7f0;
    height: 100%;
    width: 111%;
    position: absolute;
    z-index: 999;
    display: flex;
    align-items: center;
  }
  .catch12 {
    padding: 0
  }
}
.scroll-down {
  position: absolute;
  bottom: 30px;
  left: 50%;
  margin-left: -30px;
  display: block;
  width: 60px;
  height: 60px;
  border: 2px solid #FFF;
  background-size: 14px auto;
  border-radius: 50%;
  z-index: 1000;
  -webkit-animation: bounce 2s infinite 2s;
  animation: bounce 2s infinite 2s;
  -webkit-transition: all .2s ease-in;
  transition: all .2s ease-in;
  transform: scale(1)
}
.scroll-down:before {
  position: absolute;
  top: calc(50% - 14px);
  left: calc(50% - 11px);
  transform: rotate(-45deg);
  display: block;
  width: 22px;
  height: 22px;
  content: "";
  border: 2px solid white;
  border-width: 0px 0 2px 2px;
}
@keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}
.bg-gold {
  background: url("../img/bg.jpg") repeat;
}
.bg-glay {
  background-color: #EFFAFD
}
.text-center {
  padding: 3rem 1rem;
  text-align: center !important
}
.profile {
  text-align: left
}
.list-study {
  margin-top: 4rem;
  padding: 0;
  text-align: left;
  list-style: none;
  font-size: 1.6rem
}
.list-study li {
  padding-left: 3rem;
  position: relative;
}
.list-study li::before {
  position: absolute;
  content: "";
  top: .8rem;
  left: 0;
  width: 16px;
  height: 16px;
  margin-top: -5px;
  background: url("../img/check.svg") top left no-repeat;
  background-size: 16px 16px;
}
@media (min-width:768px) {
  .text-center {
    padding: 3rem
  }
  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }
  .list-study {
    margin-top: 0
  }
}
.list-now {
  margin-bottom: 2rem;
  background-color: #fff;
  display: flex;
  font-size: 3vw;
  text-align: left
}
.list-now1 {
  padding: 1rem;
  background-color: #22a7f0;
  color: #fff;
  font-weight: 700;
  text-shadow: rgba(0, 0, 0, 0.3) 1px 1px 0px;
  white-space: nowrap;
}
.list-now2 {
  padding: 1rem;
  font-weight: 700
}
@media (min-width:992px) {
  .list-now {
    font-size: 2rem;
  }
  .list-now1, .list-now2 {
    padding: 2rem 1rem
  }
}
.x-nsj {
  margin-bottom: 6rem;
  display: flex;
  align-items: center;
  width: 90%;
}
.x-nsj span {
  display: block;
  margin: 0 2rem;
  height: 10px;
  width: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #22a7f0
}
.x-nsj::before, .x-nsj::after {
  content: '';
  display: block;
  height: 1px;
  width: auto;
  flex-grow: 1;
  background-color: #22a7f0
}
.btn-area {
  border-radius: 1rem;
  border: 4px solid #22a7f0;
  font-size: 3vw;
  max-width: 800px;
  width: 100%;
}
.btn-area-head {
  padding: .5rem;
  background-color: #22a7f0;
  color: #fff
}
.btn-area-head strong {
  background-color: #fff;
  color: #22a7f0;
}
.special {
  margin-top: 4rem;
  border: 1px solid #000;
  font-size: 2rem
}
.special h4 {
  margin-bottom: 1rem;
  padding: 1rem;
  border-bottom: 1px solid #000;
  display: block;
  font-size: 2.2rem;
}
.special p {
  padding: 1rem;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.cross {
  background: radial-gradient(circle, transparent 20%, #fff 20%, #fff 80%, transparent 80%, transparent), radial-gradient(circle, transparent 20%, #fff 20%, #fff 80%, transparent 80%, transparent) 25px 25px, linear-gradient(#e4f1fe 4px, transparent 4px) 0 -2px, linear-gradient(90deg, #e4f1fe 4px, #fff 4px) -2px 0;
  background-size: 50px 50px, 50px 50px, 25px 25px, 25px 25px;
}
@media (min-width:768px) {
  .btn-area {
    font-size: 2rem
  }
  .btn-area-head {
    padding: 1rem
  }
  .special {
    margin-top: 0
  }
}
.video-wrap {
  margin-bottom: 6rem;
  max-width: 800px;
  width: 100%
}
.video {
  margin-bottom: 4rem;
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.mb-1 {
  margin-bottom: 1rem
}
.profile-img {
  margin-bottom: 3rem;
  text-align: center
}
.profile-img img {
  margin: auto;
  border-radius: 200px;
  width: 200px;
  border: 6px solid #d8ecf1
}
@media (min-width:768px) {
  .profile-img img {
    width: 260px;
  }
}
.slide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}
.slide .inner {
  padding: 10rem 0;
}
@media (min-width:768px) {
  .slide {
    background-attachment: fixed;
  }
}
.profile {
  max-width: 63rem;
  margin: auto;
}
.profile p {
  margin-bottom: 2rem
}