@charset "utf-5";

*,
html,
body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-family:  "Reggae One", "Noto Sans JP", sans-serif;
  font-size: 16px;
  width: 100%;
  /* max-width: 1280px; */
  background-color: #fffff0;
  scroll-behavior: smooth;
  width: 100%;
}

body {
  width: 100%;
}
 
a {
  color: #000;
}

p,
ul {
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: #000;
}



a {
  cursor: pointer;
}

br.sp {
  display: none;
}

@media screen and (max-width: 1024px){
br.sp {
  display: block;
  }
}

.reggae-one-regular {
  font-family: "Reggae One", system-ui;
  font-weight: 400;
  font-style: normal;
}

.wrapper {
  max-width: 1024px;
  margin: 40px auto;
}

@media screen and (max-width: 1024px) {
  .wrapper{
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .wrapper{
    width: 100%;
  }
}

#header {
  width: 100%;
  height: 80px;
  background-image: url('/img/maru_line.png');
  background-size: contain;
  background-repeat: repeat-x;
  overflow: hidden;
  position: fixed;
  top: -5px;
  left: 0;
  z-index: 100;
  transition: transform 0.3s ease-in-out;
}

#header.hidden {
  transform: translateY(-80px);
}

@media screen and (min-width: 430px) and (max-width: 767px) {
  #header {
   width: 100%;
   height: 50px;
  }
}

/* link----------------------------------------------------------------------------- */
.link {
  text-align: center;
  padding: 40px 0 20px;
}

.link a {
  text-decoration: none;
  margin: 0 20px;
}

@media screen and (max-width: 768px) {
  .link {
  width: 100%;
  padding: 0 20px 10px;
  }

  .link a {
  margin: 0 10px;
}

}

/* トップに戻る----------------------------------------------------------------- */
#pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: block;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s, visibility 0.6s;
  width: 80px;
  height: 80px;
  text-align: center;
}

#pagetop.show {
  opacity: 1;
  visibility: visible;
}


#pagetop img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


#pagetop:hover img {
  animation: tilt2 0.1s ease-in-out infinite alternate;
}

@keyframes tilt2 {
  0% {transform: rotate(0deg);}
  100% {transform: rotate(3deg);}
}

#pagetop.hidden {
  opacity: 0;
  visibility:hidden;
}


@media screen and (max-width: 768px) {
 #pagetop {
  right: 10px;
  bottom: 20px;
  }

}

/* footer------------------------------------------------------------------------ */

#footer {
  width: 100%;
  height: 50px;
  background-image: url('/img/square_line.png');
  background-size: contain;
  background-repeat: repeat-x;
  text-align: center;
  position: relative;
}

.fixed_footer{
  width: 100%;
  height: 50px;
  background-image: url('/img/square_line.png');
  background-size: contain;
  background-repeat: repeat-x;
  text-align: center;
  position: absolute;
  bottom: 0;
}

@media screen and (min-width: 430px) and (max-width: 767px) {
  #footer {
   width: 100%;
   height: 40px;
  }
}
