body {
  margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    color: #444444;
    letter-spacing: .15em;
  }

  * {
    margin: 0px;
    padding: 0px;
    }
    
  a {
    text-decoration: none;
  }
  

@media (min-width: 885px) {
  #top-contents {
    display: flex;
    padding-bottom: 50px;
  }
  #top-contents-text {
    padding-left: 3%;
    flex-grow: 1;
    font-size: 3vw;
  }
  #top-contents-image {
    flex-grow: 1;
    text-align: center;
    width: 50%;
  }
  #company-wrapper {
    display: flex;
  }
  #company-title {
    flex-grow: 2;
  }
  #company-contents {
    flex-grow: 1;
  }
}

@media (min-width: 885px) {
.br-sp {
  display: none;
}
}

#skills-image {
  flex-grow: 1;
  width: 50%;
}

#skills-image img {
  width: 230px;
}

#skills-text {
  flex-grow: 1;
  width: 45%;
  text-align: left;
  padding-top: 7px;
}


li {
  list-style: none;
}

.items {
  width: 65%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  flex-wrap: wrap;
  justify-content: space-between;
  border: 3px solid #444444;
  outline: 3px solid #444444;
  outline-offset: -10px;
  padding:3% 4%;
  border-radius: 10px;
}

.heading-image {
  position: absolute;
  z-index: 9;
  right: 4%;
  height: 300px;
  bottom: -140px;
}

.cloud-image {
  position: absolute;
  z-index: 9;
  right: 21%;
  bottom: -169px;
}

@media (max-width: 600px) {
  .heading-image {
    right: 2%;
  }
}

.item-body p {
  padding-top: 27px;
  font-size: 13px;
  line-height: 22px;
}

.top-wrapper {
  padding-top: 225px;
  color: #323C44;
  text-align: left;
  background-color: #F7F3ED;
}


#top-contents-text {
  padding-top: 100px;
}

#top-contents-image img {
  width: 70%;
}

#skills-wrapper {
  display: flex;
}

.works-wrapper {
  position: relative;
  padding: 20px 40% 76px 25%;
}

.works-text {
  padding-top: 25px;
  font-size: 13px;
  line-height: 21px;
}

.cloud-image img {
  width: 200px;
}

.child-image {
  position: absolute;
  z-index: 9;
  right: 8%;
  height: 300px;
  bottom: -139px;
}

.child-image img {
  width: 200px;
}

.company-wrapper {
  background-color: #D6ECF7;
  padding: 68px 8%;
  position: relative;
}

.company-contents {
  padding: 76px 67px;
  background-color: #fff;
  margin: 10px 10%;
  border-radius: 10px;
}

.company-list {
  margin-left: auto;
  margin-right: auto;
  font-size: 13px;
  }
  @media screen and (max-width: 540px) {
  .List {
  margin-top: 24px;
  }
  }
  .List-Item {
  display: flex;
  margin: 0 0 0 30%;
  }
  .List-Item:first-child {
  border-top: none;
  }
  .List-Item-Title {
  width: 25%;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1.8;
  color: #A2A2A2;
  }
  @media screen and (max-width: 540px) {
  .List-Item-Title {
  display: flex;
  align-items: center;
  }
  }
  .List-Item-Text {
  width: 75%;
  padding: 10px 0 10px 10px;
  line-height: 1.8;
  }
  .List-Item-Ul {
  width: 75%;
  padding: 10px;
  line-height: 1.8;
  list-style: none;
  }
  @media screen and (max-width: 540px) {
  .List-Item-Text {
  display: flex;
  align-items: center;
  }
  }

.bird-image {
  position: absolute;
  z-index: 9;
  left: 12%;
  top: 15px;
}

.bird-image img {
  width: 100px;
}

.text-main {
  font-weight: medium;
  letter-spacing: 5px;
}

.text-maincontents {
  padding-top: 20px;
  padding-left: 4px;
  font-size: 17px;
  line-height: 40px;
}

.top-text {
  margin: 0, 300px;
}

.btn-wrapper p {
  margin: 10px 0;
}

.btn {
  padding: 8px 24px;
  color: white;
  display: inline-block;
  opacity: 0.8;
  border-radius: 4px;
}

.btn:hover {
  opacity: 1;
}

.container {
  padding: 10px 3% 0 3%;
}

header {
  padding: .9375rem 0 ;
  width: 100%;
  height: 110px;

  color: #444444;
  z-index: 99;
}

.sw-Header {
  position: fixed;
  background-color: #F7F3ED;
}

.sw-Header.change-color {
  background-color: rgba(255, 255, 255, 0.95);
}

.sw-Header_inner {
  box-sizing: content-box;
  display: flex;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
  transform: translateY(2.1875rem);
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}

.sw-Header_site {
  display: flex;
  align-items: center;
}

.logo {
  width: 120px;
}

.heading-image img {
  width: 178px;
}

@media (min-width: 48em){
.sm:block {
 display: block;
}
}

.sw-Header_navList {
  display: flex;
  align-items: center;
  font-size: .8rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}

@media (max-width: 885px) {
  .sw-Header_navList {
    display: none;
  }
  .top-wrapper {
    padding-top: 156px;
    text-align: center;
  }
  #top-contents-text {
    padding: 0 0 40px 0;
  }
  .text-main {
    font-size: 6vw;
  }
  .text-maincontents {
    font-size: 15px;
  }
  .items {
    display: flex;
    padding: 20px 20px 47px 20px;
    width: 73%;
    border: thick double #444444;
    outline: none;
  }
  #skills-image {
    width: 45%;
  }
  .List-Item {
    margin: 0;
  }
  .company-contents {
    margin: 10px 0;
    padding: 76px 25px 15px 25px;
  }
  .skills-content {
    padding-bottom: 30px;
  }
  .heading-image {
    bottom: -164px;
  }
  .heading-image img {
    width: 151px;
  }
  .cloud-image {
    right: 15%;
    bottom: -117px;
  }
  .cloud-image img {
    width: 166px;
  }
  .child-image img {
    width: 160px;
  }
  .child-image {
    right: 3%;
    bottom: -51%;
  }
  .bird-image {
    left: 2%;
  }
  .bird-image  img {
    width: 77px;
  }
  .curved-text {
    font-size: 17px;
  }
  #skills-image img {
    width: 170px;
  }
}

.sw-Header_navItem {
  margin-left: 3rem;
}

.sw-Header_navItem a {
  color: #444444;
}

.header-right {
  float: right;
  border: 1px solid #777777;
  border-radius: 26px;
  transition: all 0.5s;
}

.header-right:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.item-body {
  background-color: white;
  margin-right: auto;
  margin-left: auto;
  padding: 20px 20px;
  text-align: justify;
}

.item-title {
 border-bottom: solid 1px #898989;
 padding-bottom: 23px;
 text-align: center;
}

.header-right a {
  line-height: 50px;
  padding: 0 25px;
  color: #444444;
  display: block;
}

.lesson-wrapper {
  position: relative;
  height: 100 px;
  padding-bottom: 60px;
  color: #444444;
  z-index: 30;
}

.cloud-wrapper {
  position: relative;
  height: 100 px;
  color: #444444;
  z-index: 30;
}

.curved {
  position: relative;
  background: #F7F3ED;
}

.curve {
  height: 10px;
  padding-top: 50px;
}

.curved-text {
  width: 100%;
  background-color: #ffffff;
  text-align: center;
  top: 160px;
  z-index: 20;
  font-size: 20px;
  line-height: 40px;
  padding: 44px 0 30px 0;
}

@media (max-width: 885px) {
  .curved-text {
    font-size: 17px;
    line-height: 37px;
  }
  .curve {
    padding-top: 100px;
  }
  .works-wrapper {
    padding-left: 12%;
    padding-right: 12%;
    padding-bottom: 105px;
  }
}

.contents {
  margin: 50px 0;
}

.title-wrapper {
  padding-bottom: 58px;
}

.title-main {
  font-size: 26;
}

.title-sub {
  color: #ADADAD;
  padding-top: 8px;
  font-size: 12px;
  letter-spacing: .1em;
}

.heading h2 {
  font-weight: normal;
}



.lesson {
  float: left;
  width: 33%;
}

.lesson-icon {
  position: relative;
}

.lesson-icon p {
  position: absolute;
  top: 90px;
  width: 80%;
  color: white;
}

.lesson-square {
  width: 80%;
  display: inline-block;
}

.txt-contents {
  width: 80%;

  margin-top: 50px;
  font-size: 12px;
  color: #ffffff;
}

.heading h3 {
  font-weight: normal;
}

.skills-wrapper {
  padding-top: 50px;
  padding-bottom: 40px;
  text-align: center;
  background-color: #F5FAF8;
}

.skills-content {
  float: left;
}

.skills-line {
  height: 1px;
  background-color: #adadad;
  width: 20%;
}

.contents-title {
  padding-top: 25px;
}

.contents-margin {
  margin-right: 4vw;
}

.contents-list {
  padding-top: 25px;
  font-size: 13px;
  line-height: 24px;
}

.message {
  padding: 15px 40px;
  background-color: #5dca88;
  cursor: pointer;
  box-shadow: 0 7px #1a7940;
}

.message:active {
  position: relative;
  top: 7px;
  box-shadow: none;
}

.separation {
  position: relative;
}

.wave img {
  width: 100%;
}

.curve img {
  width: 100%;
}


.cloud {
  position: absolute;
  z-index: 9;
  right: -8%;
  bottom: -123px;
}

.cloud img {
  width: 41%;
}

footer img {
  width: 80px;
}

footer p {
  font-size: 12px;
  text-align: center;
  padding-bottom: 30px;
  letter-spacing: 0.1em;
}

.footer-contents {
  display: flex;
  margin: 20px 8% 50px 8%;
}

.footer-contact {
  color: white;
  font-size: 12px;
  text-align: right;
  margin: 0 0 0 auto;
  border-bottom:solid 1px #707070;
  padding: 0 8px;
  height: 27px;
}

.footer-contact a {
  color: white;
}


footer {
  padding-top: 30px;
  background-color: black;
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
/*========= 流れるテキスト ここまで===============*/

/* 下から */

.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }


  .js-fadein {
    opacity: 0;
    visibility: hidden;
    transform: translateY(40px);
    transition: all 1s;
  }
  
  .js-fadein.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
  }

  .js-fadeleft {
    opacity: 0;
    visibility: hidden;
    transform: translateX(40px);
    transition: all 1s;
  }
  
  .js-fadeleft.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0px);
  }

  .js-faderight {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-40px);
    transition: all 1s;
  }
  
  .js-faderight.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0px);
  }