@charset "UTF-8";
* {
  margin: 0px;
  padding: 0px; }

*:focus {
  outline: none; }

html, body {
  height: 100%; }

html {
  min-height: 100%; }

body > .wrap {
  height: auto; }

img {
  width: 100%;
  height: auto; }

a img {
  border: none;
  outline: none; }

.loadingOverlay {
  display: flex;
  width: 100%;
  height: 100vh;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1001;
  color: #000;
  background: #19b8ff url("../img/bg_dot.png") center top repeat;
  background-size: 16px 16px; }

.bgAqua {
  background: #c6e7fa; }

.loadingLogo {
  display: block;
  width: 36vw;
  max-width: 200px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  position: relative; }
  .loadingLogo .loading_logo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0; }

.loader007,
.loader007:before,
.loader007:after {
  border-radius: 50%;
  width: 2.0em;
  height: 2.0em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out; }

.loader007 {
  color: #ffffff;
  font-size: 8px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.loader007:before,
.loader007:after {
  content: '';
  position: absolute;
  top: 0; }

.loader007:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.loader007:after {
  left: 3.5em; }

@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.0em 0 -1.3em; }
  40% {
    box-shadow: 0 2.0em 0 0; } }
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.0em 0 -1.3em; }
  40% {
    box-shadow: 0 2.0em 0 0; } }
/*---ローディングここまで---*/
/*--- wrap ---*/
.wrap {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  flex-wrap: wrap;
  justify-content: center;
  align-content: space-between;
  margin: 0;
  position: relative;
  font-family: "M PLUS 2", sans-serif;
  /*z-index:1;*/ }

.condensed {
  width: 100%; }

.bg_glass {
  background: #d5f0ff url(../img/bg_grassland.webp) center bottom no-repeat;
  background-size: 170% auto; }

@media screen and (max-width: 560px) {
  .condensed {
    transform: scale(0.8, 1);
    transform-origin: 0 0;
    width: 125%; } }
/*--- titleBox ---*/
.islandBox {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  background: url(../img/bg_island.webp) center top no-repeat;
  background-size: 170% auto;
  position: relative; }

.titleWrap {
  display: block;
  width: 100%;
  max-width: 900px;
  height: auto;
  margin: 0 auto;
  padding: 0 0 8% 0;
  position: relative; }

.listWrap {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto 50px auto;
  padding: 40px 0;
  background: #fff;
  border-top: 6px solid #ffd200;
  border-bottom: 6px solid #ffd200;
  position: relative; }

.himitsu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 94%;
  max-width: 600px;
  margin: 0 auto;
  padding: 0;
  position: relative; }
  .himitsu_list li {
    width: 46%;
    max-width: 280px;
    margin: 8px 3px; }
  .himitsu_list a:hover img {
    transition: transform 0.3s ease-out;
    transform: rotate(-4deg) scale(1.08);
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
    z-index: 20; }

/*--- footer ---*/
footer {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 20px 0;
  background: rgba(80, 142, 124, 0.5);
  position: relative; }
  footer .footerLogo {
    display: block;
    width: 64%;
    max-width: 200px;
    margin: auto;
    padding: 0;
    position: relative; }

/*----------
   TABLET
----------*/
@media screen and (min-width: 600px) and (max-width: 799px) {
  .bg_glass {
    background: #d5f0ff url(../img/bg_grassland.webp) center bottom no-repeat;
    background-size: 130% auto; }

  .islandBox {
    background-size: 150% auto; }

  .listWrap {
    width: 94%;
    margin: 0 auto 90px auto;
    padding: 40px 0;
    background: #fff;
    border: 6px solid #ffd200;
    border-radius: 20px;
    position: relative; } }
@media screen and (min-width: 800px) and (max-width: 1023px) {
  .bg_glass {
    background: #d5f0ff url(../img/bg_grassland.webp) center bottom no-repeat;
    background-size: 110% auto; }

  .islandBox {
    background-size: 130% auto; } }
@media screen and (min-width: 800px) {
  .bg_glass {
    background: #d5f0ff url(../img/bg_grassland.webp) center bottom no-repeat;
    background-size: 100% auto; }

  .islandBox {
    background-size: 100% auto; }

  .titleWrap {
    padding: 0 0 4% 0; }

  .listWrap {
    display: block;
    width: 90%;
    max-width: 1300px;
    height: auto;
    margin: 0 auto 160px auto;
    padding: 40px 0;
    background: #fff;
    border: 6px solid #ffd200;
    border-radius: 20px;
    position: relative; } }
/*----------
   PC
----------*/
