body {
  font-family: 'Zen Kaku Gothic New', sans-serif!important;
  background-color: #F3F5F9;
}

.brand-font {
  font-family: 'Zen Kaku Gothic New', sans-serif!important;
}

.top-img {
    height: 450px;
}

.why-python img{
    height: 200px;
}

.brand-text {
  font-size: 30px;
  font-weight: bold;
  color: #110F0F !important;
  text-decoration: none!important;
}

.light-gray-text {
  color: #786C6C;
  font-size: 16px;
}

.dark-blue-text {
    color: #2B4ED6;
}

.motto {
  font-size: 30px;
  color: #FFF;
  font-weight: bold;
}

.motto-black {
  font-size: 30px;
  color: #000;
  font-weight: bold;
}

.motto-black-sm {
  font-size: 25px;
  color: #000;
  font-weight: bold;
}

.btn-origin-yellow-lg {
  font-weight: bold;
  background-color: #F1FF4D;
  color: #110F0F;
  font-size: 22px;
  border-radius: 50px;
  border: 1px solid #838383;
  padding: 15px 50px 15px 50px;
  text-decoration: none!important;
}

@media (max-width: 520px) {
  .btn-origin-yellow-lg {
    font-size: 16px; /* 764px以下の画面でのフォントサイズを小さくする */
    padding: 10px 25px 10px 25px;
  }
}

.btn-origin-blue-lg {
  font-weight: bold;
  background-color: #2B4ED6;
  color: #FFF !important;
  font-size: 26px;
  border-radius: 50px;
  border: 1px solid #838383;
  padding: 8px 40px 8px 40px;
}

@media (max-width: 520px) {
  .btn-origin-blue-lg {
    font-size: 16px; /* 764px以下の画面でのフォントサイズを小さくする */
    padding: 10px 25px 10px 25px;
  }
}


.btn-origin-blue-md {
  font-weight: bold;
  background-color: #2B4ED6;
  color: #FFF !important;
  font-size: 18px;
  border-radius: 50px;
  border: 1px solid #838383;
  padding: 8px 40px 8px 40px;
}

.btn-origin-blue-sm {
  font-weight: bold;
  background-color: #2B4ED6;
  color: #FFF !important;
  font-size: 15px;
  border-radius: 50px;
  padding: 8px 30px 8px 30px!important;
}

.mt-origin-sm {
  margin-top: 5px !important;
}

.del-box-shadow {
  box-shadow: none !important;
}

.bg-gradient {
  background: linear-gradient(to bottom right, #3E3AFE 85%, #1664ff);
}

.bg-light-gray {
  background-color: #F3F5F9!important;
}

.height-70 {
  height: 70% !important;
}

.width-60 {
  width: 60% !important;
}

.z-index-10 {
  z-index: 10;
}

.translate-y {
  transform: translateY(-55%);
  z-index: 0;
  position: relative;
}

.mt-120 {
  margin-top: 120px;
}

.mb-120 {
  margin-bottom: 120px;
}

.bg-white {
  background-color: #FFF !important;
}

.bg-skyblue {
  background-color: #83F8FF !important;
}

.bg-blue {
  background-color: #3E3AFE !important;
}

.bg-light-yellow {
  background-color: #F1FF4D !important;
}

.plan {
  border-radius: 10px;
  box-shadow: 5px 5px 5px #dbdada;
  border: 1px solid #dbdada;
}

.right {
  margin-left: auto;
}

.card-header-rounded {
  border-radius: 10px 10px 0px 0px !important;
}

.card-rounded {
  border-radius: 15px;
}

.essay {
  font-size: 20px;
  text-align: center;
}


@media (min-width: 768px) {
  .py-8 {
    padding: 4rem 0rem 4rem 0rem
  }
}


.top-img {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .text-center-responsive {
      text-align: center;
  }

  .py-8 {
    padding: 2rem 0rem 2rem 0rem
  }
}

.bg-svg1 {
  background-image: url("../img/front/circle-scatter-haikei-light-gray.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-svg2 {
  background-image: url("../img/front/circle-scatter-haikei-white.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.main-bg-svg {
  background-image: url("../img/front/circle-scatter-haikei-vertical.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.main-bg-svg-2 {
  background-image: url("../img/front/wave-haikei.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.top-bg-svg {
  background-image: url("../img/front/blurry-gradient-haikei-3.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}


.font-bold {
  font-weight: 700;
}


/* TOPのCSS */

@import url('https://fonts.googleapis.com/css?family=Exo:400,700');

*{
    margin: 0px;
    padding: 0px;
}

body{
    font-family: 'Exo', sans-serif;
}


.context {
    width: 100%;
    position: absolute;
    top:40vh;
    z-index: 20;
}

@media (max-width: 500px) {
  .context {
    top:30vh;
  }
}

.context h1{
    text-align: center;
    color: #fff;
    font-size: 50px;
}

.area{
    background-image: url("https://secureinc.co.jp/aioffice/media/wp-content/uploads/2021/06/AdobeStock_248645369-2048x1208.jpeg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);  
    width: 100%;
    height:100vh;
    z-index: 0;
}

.circles{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    animation: animate 10s linear infinite;
    bottom: -150px;
    z-index: 10;
}

.circles li:nth-child(1){
    left: 5%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
    /* background: rgba(12, 101, 255); */
}


.circles li:nth-child(2){
    left: 10%;
    width: 150px;
    height: 150px;
    animation-delay: 2s;
    animation-duration: 12s;
    /* background: rgba(255, 58, 222); */
}

.circles li:nth-child(3){
    left: 15%;
    width: 60px;
    height: 60px;
    animation-delay: 4s;
    animation-duration: 12s;
    /* background: rgba(43, 255, 146); */
}

.circles li:nth-child(4){
    left: 20%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
    /* background: rgba(248, 203, 20); */
}

.circles li:nth-child(5){
    left: 25%;
    width: 40px;
    height: 40px;
    animation-delay: 0s;
    /* background: rgba(254, 254, 5); */
}

.circles li:nth-child(6){
    left: 30%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
    /* background: rgba(43, 255, 146); */
}

.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
    /* background: rgba(43, 255, 145); */
}

.circles li:nth-child(8){
    left: 40%;
    width: 50px;
    height: 50px;
    animation-delay: 14s;
    animation-duration: 45s;
    /* background: rgb(252, 90, 14); */
}

.circles li:nth-child(9){
    left: 45%;
    width: 30px;
    height: 30px;
    animation-delay: 2s;
    animation-duration: 35s;
    /* background: rgba(2, 255, 124); */
}

.circles li:nth-child(10){
    left: 50%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
    /* background: rgba(250, 10, 254); */
}

.circles li:nth-child(11){
  left: 55%;
  width: 50px;
  height: 50px;
  animation-delay: 15s;
  animation-duration: 40s;
  /* background: rgb(252, 90, 14); */
}

.circles li:nth-child(12){
  left: 60%;
  width: 30px;
  height: 30px;
  animation-delay: 1s;
  animation-duration: 30s;
  /* background: rgba(2, 255, 124); */
}

.circles li:nth-child(13){
  left: 65%;
  width: 150px;
  height: 150px;
  animation-delay: 2s;
  animation-duration: 15s;
  /* background: rgba(250, 10, 254); */
}

.circles li:nth-child(14){
  left: 70%;
  width: 60px;
  height: 60px;
  animation-delay: 6s;
  animation-duration: 35s;
  /* background: rgb(232, 255, 26); */
}

.circles li:nth-child(15){
  left: 75%;
  width: 150px;
  height: 150px;
  animation-delay: 13s;
  animation-duration: 11s;
  /* background: rgb(8, 140, 255); */
}

.circles li:nth-child(16){
  left: 80%;
  width: 50px;
  height: 50px;
  animation-delay: 10s;
  animation-duration: 15s;
  /* background: rgb(8, 140, 255); */
}

.circles li:nth-child(17){
  left: 85%;
  width: 50px;
  height: 35px;
  animation-delay: 4s;
  animation-duration: 10s;
  /* background: rgb(8, 140, 255); */
}

.circles li:nth-child(18){
  left: 90%;
  width: 70px;
  height: 70px;
  animation-delay: 6s;
  animation-duration: 8s;
  /* background: rgb(8, 140, 255); */
}

.circles li:nth-child(19){
  left: 95%;
  width: 50px;
  height: 50px;
  animation-delay: 8s;
  animation-duration: 6s;
  /* background: rgb(8, 140, 255); */
}

.circles li:nth-child(20){
  left: 100%;
  width: 100px;
  height: 100px;
  animation-delay: 2s;
  animation-duration: 20s;
  /* background: rgb(8, 140, 255); */
}

@keyframes animate {

    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100%{
        transform: translateY(-1000px) rotate(180deg);
        opacity: 0;
        border-radius: 50%;
    }

}
/*
ul {
  list-style: none;
}
*/
.ECM_CheckboxInput {
  padding: 12px 8px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}

.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  background: #2B4ED6;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 4px;
  border-radius: 2px;
  transform: translate(-6px, 5px) rotateZ(-135deg);
  transform-origin: 2px 2px;
  background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 76%;
  height: 4px;
  border-radius: 2px;
  transform: translate(-6px, 5px) rotateZ(-45deg);
  transform-origin: 2px 2px;
  background: #FFFFFF;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 32px;
  height: 32px;
  border: solid 2px transparent;
  background: rgba(0,0,0, .1);
  border-radius: 4px;
}
.ECM_CheckboxInput-LabelText {
  margin-left: 12px;
  font-size: 16px;
}

.footer-img {
  width: 50%;
  transform: translateY(-50px);
}

@media (max-width: 768px) {
  .footer-img {
    width: 100%;
  }
}


/*アニメーション用CSS*/
.updown{
  /* アニメーションの名前 */
  animation-name:UpDown;
  /* アニメーションの１回分の長さ */
  animation-duration: 3.0s;
  /* アニメーションの回数 */
  animation-iteration-count: infinite;
  /* アニメーションの進行具合 */
  animation-timing-function: ease-in-out;
  /* アニメーション再生の向き */
  animation-direction: alternate;
  }
  /* アニメーションの設定 */
  @keyframes UpDown{
  /* 開始地点 */
  0%{
  /* Y軸0px */
  transform: translateY(-70px);
  }
  /* 終了地点 */
  100%{
  /* Y軸50px */
  transform: translateY(-50px);
  }
}

ol li {
  margin-left: 2.5em;
}
ol > ol > li {
	list-style-type: none;
	counter-increment: cnt;
}
ol > ol > li::before {
	content: counter(cnt) ") ";
}
