@charset "UTF-8";
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E5EEFB;
  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;
  z-index: 999999;
  -webkit-transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}
#loading-screen.hidden {
  opacity: 0;
  visibility: hidden;
}

#indexWrap {
  opacity: 0;
}

#indexWrap.visible {
  opacity: 1;
}

.loader {
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.scene {
  width: 100%;
  height: 560px;
  position: relative;
  overflow: hidden;
  background-color: #E5EEFB;
}
.scene .background {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 200%;
  background-repeat: repeat-x;
  background-position: 0 bottom;
  -webkit-animation: slide linear infinite;
          animation: slide linear infinite;
}
.scene .bg-back {
  height: 300px;
  background-image: url("../../img/index/illlust_town3.png");
  background-size: contain;
  -webkit-animation-duration: 120s;
          animation-duration: 120s;
  z-index: 1;
}
.scene .bg-middle {
  height: 230px;
  background-image: url("../../img/index/illlust_town2.png");
  background-size: contain;
  -webkit-animation-duration: 90s;
          animation-duration: 90s;
  z-index: 2;
}
.scene .bg-front {
  height: 180px;
  background-image: url("../../img/index/illlust_town1.png");
  background-size: contain;
  -webkit-animation-duration: 60s;
          animation-duration: 60s;
  z-index: 3;
}
.scene .sprite-container {
  position: absolute;
  bottom: 0;
  left: calc(50% + 250px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 6;
}
.scene .sprite {
  width: 370px;
  height: 395px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.scene .sprite img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: none;
}
.scene .sprite img.active {
  display: block;
}
.scene .clouds-container {
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 200px;
  -webkit-animation: slide-clouds 60s linear infinite;
          animation: slide-clouds 60s linear infinite;
  z-index: 0;
}
.scene .cloud {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-animation: float 3s ease-in-out infinite;
          animation: float 3s ease-in-out infinite;
}
.scene .cloud1 {
  width: 100px;
  height: 60px;
  top: 50px;
  left: 10%;
  background-image: url("../../img/index/illust_cloud1.png");
}
.scene .cloud2 {
  width: 120px;
  height: 70px;
  top: 100px;
  left: 40%;
  background-image: url("../../img/index/illust_cloud2.png");
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}
.scene .cloud3 {
  width: 80px;
  height: 50px;
  top: 80px;
  left: 70%;
  background-image: url("../../img/index/illust_cloud3.png");
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}
.scene .static-item {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 5;
  -webkit-animation: float 4s ease-in-out infinite;
          animation: float 4s ease-in-out infinite;
}
.scene .toilet {
  width: 240px;
  height: 240px;
  bottom: 260px;
  left: calc(50% + 20px);
  background-image: url("../../img/index/illust_toilet.png");
}
.scene .kitchen {
  width: 280px;
  height: 240px;
  bottom: 80px;
  left: calc(50% + 275px);
  background-image: url("../../img/index/illust_kitchen.png");
  -webkit-animation-delay: -2s;
          animation-delay: -2s;
}
.scene .logo-container {
  position: absolute;
  top: 100px;
  left: calc(50% - 545px);
  width: 80%;
  text-align: left;
  z-index: 50;
}
.scene .logo-container .logo {
  opacity: 0;
  -webkit-animation: fadeIn 2s ease-in-out forwards;
          animation: fadeIn 2s ease-in-out forwards;
  width: 350px;
}
.scene .text-container {
  position: absolute;
  top: 175px;
  left: calc(50% - 545px);
  width: 80%;
  text-align: left;
  z-index: 50;
}
.scene .text-container .text-line1 {
  font-size: 19.2px;
  font-size: 1.2rem;
  opacity: 0;
  -webkit-animation: fadeIn 2s ease-in-out forwards;
          animation: fadeIn 2s ease-in-out forwards;
  letter-spacing: 0.15em;
  font-weight: bold;
  color: #0267A4;
  margin-bottom: -5px;
}
.scene .text-container .text-dotted {
  font-size: 19.2px;
  font-size: 1.2rem;
  margin-bottom: 0;
  opacity: 0;
  -webkit-animation: fadeIn 2s ease-in-out forwards;
          animation: fadeIn 2s ease-in-out forwards;
  -webkit-animation-name: leFadeInLeft;
          animation-name: leFadeInLeft;
  letter-spacing: 0.27em;
  font-weight: bold;
}
.scene .text-container .text-line2 {
  color: #e74c3c;
  font-weight: bold;
  text-shadow: 3px 3px 1px #ffffff, -3px 3px 1px #ffffff, 3px -3px 1px #ffffff, -3px -3px 1px #ffffff, 3px 0px 1px #ffffff, 0px 3px 1px #ffffff, -3px 0px 1px #ffffff, 0px -3px 1px #ffffff; /* 文字の縁取り */
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="1" /><feOffset dx="2" dy="3" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.6)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
  -webkit-filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, .6));
          filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, .6)); /* ドロップシャドウ */
  font-size: 2.4em;
}
.scene .btn-container {
  position: absolute;
  top: 360px;
  left: calc(50% - 545px);
  z-index: 50;
}
@media (max-width: 1199.98px) {
  .scene .logo-container {
    left: calc(50% - 455px);
  }
  .scene .text-container {
    left: calc(50% - 455px);
    width: 80%;
  }
  .scene .btn-container {
    left: calc(50% - 460px);
  }
}
@media (max-width: 991.98px) {
  .scene .toilet {
    left: calc(50% - 20px);
  }
  .scene .kitchen {
    left: calc(50% + 275px);
  }
  .scene .logo-container {
    left: calc(50% - 390px);
  }
  .scene .text-container {
    left: calc(50% - 390px);
    width: 80%;
  }
  .scene .btn-container {
    left: calc(50% - 390px);
  }
}
@media (max-width: 767.98px) {
  .scene .sprite-container {
    left: 0;
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .scene .sprite-container .sprite {
    width: 370px;
    height: 250px;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .scene .toilet {
    width: 195px;
    height: 195px;
    bottom: 125px;
    left: calc(50% - 200px);
  }
  .scene .kitchen {
    width: 210px;
    height: 180px;
    bottom: 5px;
    left: 50%;
  }
  .scene .btn-container {
    display: none;
  }
  .scene .logo-container {
    top: 30px;
    left: 10px;
  }
  .scene .logo-container .logo {
    width: 295px;
  }
  .scene .text-container {
    top: 115px;
    left: 0;
    width: 100%;
    text-align: center;
  }
  .scene .text-container .text-line1 {
    font-size: 1em;
  }
  .scene .text-container .text-dotted {
    font-size: 1em;
  }
  .scene .text-container .text-line2 {
    font-size: 1.6em;
  }
  .scene .bg-back {
    height: 300px;
    background-size: cover;
  }
  .scene .bg-middle {
    height: 230px;
    background-size: cover;
  }
  .scene .bg-front {
    height: 180px;
    background-size: cover;
  }
}
@media (max-width: 575.98px) {
  .scene .text-container {
    top: 115px;
    left: 0;
    width: 100%;
    text-align: center;
  }
  .scene .text-container .text-line1 {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
  .scene .text-container .text-dotted {
    font-size: 16px;
    font-size: 4.1025641026vw;
  }
  .scene .text-container .text-line2 {
    font-size: 24px;
    font-size: 6.1538461538vw;
  }
}
.scene .leAboundTop span {
  -webkit-animation-name: leAboundTop;
          animation-name: leAboundTop;
}

@-webkit-keyframes leAboundTop {
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
}

@keyframes leAboundTop {
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
}
@-webkit-keyframes leFadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(60px);
            transform: translateX(60px);
  }
  to {
    opacity: 1;
  }
}
@keyframes leFadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(60px);
            transform: translateX(60px);
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
@keyframes slide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
@-webkit-keyframes slide-clouds {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes slide-clouds {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@-webkit-keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes wave {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@keyframes wave {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@-webkit-keyframes leFadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-60px);
            transform: translateX(-60px);
  }
  to {
    opacity: 1;
  }
}
@keyframes leFadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-60px);
            transform: translateX(-60px);
  }
  to {
    opacity: 1;
  }
}
/*
メンテ主任者とは
 */
.aboutWrap p {
  line-height: 2em;
}

@media (max-width: 767.98px) {
  .about-bg {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(221, 234, 247, .8)), to(rgba(221, 234, 247, .8))), url("../../img/index/illust_outline.png");
    background-image: linear-gradient(rgba(221, 234, 247, .8), rgba(221, 234, 247, .8)), url("../../img/index/illust_outline.png");
    background-size: cover;
  }
}
/*
試験案内
 */
.index_guide_tbl dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
}
.index_guide_tbl dl dt {
  font-weight: normal;
  color: #024f7e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
}
.index_guide_tbl dl dt:after {
  content: ":";
  margin: 0 1em 0 auto;
  font-weight: normal;
}

/*
@media (min-width: 991px) {

}

@media (max-width: 992px) {

  .index_guide_tbl {
    dl {
      display: block;
      margin-bottom: 0;

      dt {
        font-weight: normal;
        color: #024f7e;
        margin-bottom: .5em;
      }

      dd {
        margin-bottom: 1.5em;
      }
    }
  }
}*/
/*合格者の声*/
.voiceWrap .splide__pagination {
  bottom: -1.5em;
}
.voiceWrap .splide__arrow {
  top: 70%;
}
.voiceWrap .splide__pagination__page.is-active {
  background: #024f7e;
}
.voiceWrap .balloon {
  position: relative;
  display: inline-block;
  margin: 0 0 1.5em;
  padding: 1.5em;
  width: 100%;
  background: #E5EEFB;
  border-radius: 30px;
}
.voiceWrap .balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #E5EEFB;
}

/*お知らせ*/
.informationWrap {
  border-top: #E5EEFB solid 8px;
  border-bottom: #E5EEFB solid 8px;
  padding: 3em 0;
}
@media (min-width: 991px) {
  .informationWrap dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
  }
  .informationWrap dl dt {
    font-weight: normal;
    color: #024f7e;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
  }
  .informationWrap dl dt:after {
    content: ":";
    margin: 0 1em 0 auto;
    font-weight: normal;
  }
}
@media (max-width: 992px) {
  .informationWrap dl {
    display: block;
    margin-bottom: 0;
  }
  .informationWrap dl dt {
    font-weight: normal;
    color: #024f7e;
    margin-bottom: 0.5em;
  }
  .informationWrap dl dd {
    margin-bottom: 1.5em;
  }
}
.informationWrap #loadMore {
  display: block;
  margin: 20px auto;
  padding: 10px;
  text-align: center;
  color: #007bff;
}
.informationWrap .hidden {
  display: none !important;
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  padding: 20px;
}

.video-item {
  cursor: pointer;
}

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

.popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .7);
  z-index: 1000;
}

.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  font-size: 24px;
}
/*# sourceMappingURL=maps/index.css.map */
