#troubles .solution .btn a, #news .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 55px;
  width: 100%;
  max-width: 540px;
  height: 80px;
  border-radius: 50px;
  border: solid 1px #df7a5c;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  color: #df7a5c;
  text-decoration: none;
  background-image: url(../images/btn-icon1.png);
  background-repeat: no-repeat;
  background-position: center right 25px;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

#troubles .solution .btn a:hover, #news .btn a:hover {
  opacity: 0.6;
}

@media (max-width: 999px) {
  #troubles .solution .btn a, #news .btn a {
    max-width: 400px;
    height: 60px;
    font-size: 16px;
    background-size: 22px auto;
  }
}

@media (max-width: 767px) {
  #troubles .solution .btn a, #news .btn a {
    padding: 0 35px;
    max-width: 300px;
    height: 60px;
    font-size: 14px;
    background-position: center right 15px;
    background-size: 18px auto;
  }
}

#training .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 30px;
  width: 100%;
  max-width: 240px;
  height: 50px;
  border-radius: 50px;
  border: solid 1px #df7a5c;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  color: #df7a5c;
  text-decoration: none;
  background-image: url(../images/btn-icon2.png);
  background-repeat: no-repeat;
  background-position: center right 15px;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

#training .btn a:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {
  #training .btn a {
    font-size: 14px;
  }
}

#troubles .top h2, #training h2, #news h2, #contact h2, #troubles .solution h2, #socialization h2 {
  text-align: center;
  font-size: 30px;
  color: #df7a5c;
  line-height: 1.6;
  font-weight: bold;
}

@media (max-width: 999px) {
  #troubles .top h2, #training h2, #news h2, #contact h2, #troubles .solution h2, #socialization h2 {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  #troubles .top h2, #training h2, #news h2, #contact h2, #troubles .solution h2, #socialization h2 {
    font-size: 18px;
  }
}

#troubles .top h2, #training h2, #news h2, #contact h2 {
  margin-bottom: 40px;
  padding-top: 80px;
  background-image: url(../images/h2-icon.png);
  background-repeat: no-repeat;
  background-position: top 0 center;
}

#troubles .top h2 span, #training h2 span, #news h2 span, #contact h2 span {
  margin-bottom: 10px;
  display: block;
  font-size: 16px;
  font-weight: normal;
}

@media (max-width: 999px) {
  #troubles .top h2, #training h2, #news h2, #contact h2 {
    padding-top: 65px;
    background-size: 50px auto;
  }
  #troubles .top h2 span, #training h2 span, #news h2 span, #contact h2 span {
    font-size: 14px;
    margin-bottom: 5px;
  }
}

@media (max-width: 767px) {
  #troubles .top h2, #training h2, #news h2, #contact h2 {
    padding-top: 48px;
    background-size: 35px auto;
  }
  #troubles .top h2 span, #training h2 span, #news h2 span, #contact h2 span {
    font-size: 12px;
  }
}

#troubles .solution .text, #socialization .text, #training .text, #news .text, #topmap .text {
  font-size: 16px;
  line-height: 1.875;
  color: #0f0f0f;
}

@media (max-width: 767px) {
  #troubles .solution .text, #socialization .text, #training .text, #news .text, #topmap .text {
    font-size: 14px;
  }
}

#mainimg .catch h2 {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

/* ----------------------------------------------
mainimg
------------------------------------------------- */
#mainimg {
  margin-bottom: 50px;
  margin-top: 0px;
  position: relative;
  background-image: url(../images/mainimg-bg.png);
  background-repeat: no-repeat;
  background-position: bottom 70px left 25px;
}

#mainimg #mainslider {
  width: 77.6041666666666%;
  margin-left: auto;
}

#mainimg #mainslider img {
  border-radius: 30px 0px 0 30px;
  height: calc(100vh - 228px);
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#mainimg .catch {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
}

#mainimg .catch .inner {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#mainimg .catch h2 {
  font-size: 50px;
  line-height: 1.6;
  color: #0f0f0f;
  text-shadow: 0 0px 5px rgba(255, 255, 255, 0.9), 0 0px 5px rgba(255, 255, 255, 0.9);
}

@media (max-width: 1500px) {
  #mainimg #mainslider img {
    height: calc(100vh - 322px);
  }
  #mainimg .catch h2 {
    font-size: 46px;
  }
}

@media (max-width: 999px) {
  #mainimg {
    background-size: 400px auto;
    background-position: bottom 30px left 15px;
  }
  #mainimg #mainslider img {
    height: 300px;
  }
  #mainimg .catch .inner {
    padding: 20px;
  }
  #mainimg .catch h2 {
    font-size: 36px;
  }
}

@media (max-width: 767px) {
  #mainimg .catch h2 {
    font-size: 26px;
  }
}

@media (max-width: 500px) {
  #mainimg #mainslider {
    width: 100%;
  }
  #mainimg #mainslider img {
    border-radius: 0;
    height: 260px;
  }
  #mainimg .catch h2 {
    font-size: 22px;
  }
}

/* ----------------------------------------------
troubles
------------------------------------------------- */
#troubles .top {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#troubles .top .text {
  margin-bottom: 50px;
  font-size: 16px;
  line-height: 1.875;
  text-align: center;
  color: #0f0f0f;
}

#troubles .bottom {
  padding-top: 70px;
  padding-bottom: 100px;
  background: url(../images/trouble-bg.jpg) no-repeat center/cover;
}

#troubles .troubleslist {
  margin-bottom: 30px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#troubles .troubleslist .block {
  width: 23%;
}

#troubles .troubleslist .block:nth-child(n + 5) {
  margin-top: 20px;
}

#troubles .troubleslist .block:not(:nth-child(4n + 1)) {
  margin-left: 2.66666666666%;
}

#troubles .troubleslist .block:first-child {
  margin-left: 0;
}

#troubles .troubleslist .image {
  margin-bottom: 15px;
  width: 100%;
  padding-top: 100%;
  position: relative;
}

#troubles .troubleslist .image img {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#troubles .troubleslist .title {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.66667;
  color: #0f0f0f;
}

#troubles .arrow {
  margin-bottom: 30px;
  height: 75px;
  width: 100%;
  background-image: url(../images/trouble-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
}

#troubles .solution {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#troubles .solution h2 {
  margin-bottom: 50px;
}

#troubles .solution .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#troubles .solution .image {
  width: 40%;
}

#troubles .solution .image img {
  width: 100%;
  border-radius: 6px;
}

#troubles .solution .txtbox {
  width: 54.5%;
}

#troubles .solution .btn {
  margin-top: 40px;
}

#troubles .solution .btn a {
  margin: 0 auto;
}

@media (max-width: 999px) {
  #troubles .troubleslist .title {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  #troubles .top .text {
    font-size: 14px;
  }
  #troubles .bottom {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #troubles .troubleslist .block {
    width: 31.333333333333%;
  }
  #troubles .troubleslist .block:nth-child(n + 5) {
    margin-top: 0px;
  }
  #troubles .troubleslist .block:not(:nth-child(4n + 1)) {
    margin-left: 0;
  }
  #troubles .troubleslist .block:nth-child(n + 4) {
    margin-top: 20px;
  }
  #troubles .troubleslist .block:not(:nth-child(3n + 1)) {
    margin-left: 3%;
  }
  #troubles .troubleslist .block:first-child {
    margin-left: 0;
  }
  #troubles .troubleslist .title {
    font-size: 14px;
  }
  #troubles .solution h2 {
    margin-bottom: 40px;
  }
  #troubles .solution .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #troubles .solution .image {
    margin-bottom: 30px;
    width: 100%;
    max-width: 300px;
  }
  #troubles .solution .txtbox {
    width: 100%;
  }
}

@media (max-width: 500px) {
  #troubles .troubleslist .title {
    font-size: 12px;
  }
}

/* ----------------------------------------------
socialization
------------------------------------------------- */
#socialization {
  margin-bottom: 80px;
  padding-top: 80px;
  padding-bottom: 80px;
  background: url(../images/socialization-bg.jpg) no-repeat center/cover;
}

#socialization .contents {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#socialization h2 {
  margin-bottom: 30px;
  color: #0f0f0f;
}

#socialization .text {
  text-align: center;
}

@media (max-width: 767px) {
  #socialization {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

/* ----------------------------------------------
training
------------------------------------------------- */
#training {
  margin-bottom: 60px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#training .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#training .block {
  width: 46%;
}

#training .block + .block {
  margin-left: 8%;
}

#training .image {
  margin-bottom: 20px;
  width: 100%;
  padding-top: 60.869565217391%;
  position: relative;
}

#training .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#training .title {
  margin-bottom: 25px;
  text-align: center;
  color: #0f0f0f;
  font-size: 18px;
  line-height: 1.66667;
  font-weight: bold;
}

#training .title:after {
  display: block;
  content: "";
  margin: 5px auto auto;
  width: 180px;
  height: 10px;
  background-color: #5bade1;
}

#training .btn {
  margin-top: 20px;
}

#training .btn a {
  margin: 0 auto;
}

@media (max-width: 767px) {
  #training .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #training .block {
    width: 100%;
    max-width: 460px;
  }
  #training .block + .block {
    margin-top: 50px;
    margin-left: 0;
  }
  #training .title {
    font-size: 16px;
  }
  #training .title:after {
    width: 160px;
    height: 5px;
  }
}

/* ----------------------------------------------
news
------------------------------------------------- */
#news {
  margin-bottom: 70px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f4f1ed;
}

#news .inner {
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#news .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#news .block {
  width: 28%;
}

#news .block + .block {
  margin-left: 8%;
}

#news .image {
  margin-bottom: 10px;
  width: 100%;
  padding-top: 71.428571428%;
  position: relative;
}

#news .image a {
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

#news .image a:hover {
  opacity: 0.6;
}

#news .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

#news time {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 1.875;
  color: #0f0f0f;
}

#news .text {
  font-weight: bold;
  line-height: 1.625;
}

#news .btn {
  margin-top: 50px;
}

#news .btn a {
  margin: 0 auto;
}

@media (max-width: 767px) {
  #news .contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #news .block {
    width: 100%;
    max-width: 280px;
  }
  #news .block + .block {
    margin-top: 40px;
    margin-left: 0;
  }
  #news time {
    font-size: 14px;
  }
}

/* ----------------------------------------------
contact
------------------------------------------------- */
#contact {
  margin-bottom: 100px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

@media (max-width: 767px) {
  #contact {
    margin-bottom: 70px;
  }
}

/* ----------------------------------------------
topmap
------------------------------------------------- */
#topmap {
  margin-bottom: 100px;
}

#topmap .map iframe {
  width: 100%;
  height: 500px;
}

#topmap .text {
  margin-bottom: 30px;
  width: 100%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#topmap .text strong {
  color: #5bade1;
}

@media (max-width: 999px) {
  #topmap .map iframe {
    height: 350px;
  }
}

@media (max-width: 767px) {
  #topmap {
    margin-bottom: 70px;
  }
  #topmap .map iframe {
    height: 250px;
  }
}

/* ----------------------------------------------

------------------------------------------------- */
/* ----------------------------------------------

------------------------------------------------- */
/*# sourceMappingURL=index.css.map */