body{
  padding-bottom:100px;
}

img{
  max-width:100%;
}

a:hover img{
  opacity:0.8;
}

header{
  padding:10px;
}

#logo{
  height:26px;
}

header {
  position: relative;
  padding: 20px;
}

.hamburger {
  position: fixed;
  top: 10px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 68px;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 0px 0 0;
  list-style: none;
  width:100%;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}


footer{
  background:#2c394a;
  padding:30px 0px 25px 0px;
  color:#FFF;
  font-size:10px;
}

footer a{
  color:#FFF;
  text-decoration:non;
  display:inline-block;
  margin-bottom:5px;
}

footer #footerlink{
  border-top:2px solid #FFF;
  margin-top:20px;
  padding-top:20px;
}

#logo_footer{
  max-width:400px;
}

#floatbtn{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  text-align:center;
}

#floatbtn img{
  width:100%;
  max-width:580px;
}

article{
  max-width:600px;
  margin:0px auto;
}

#main{
  text-align:center;
  padding-bottom:30px;
}

#main a{
  display:inline-block;
  width:80%;
}


#section2{
}

#present{
  padding:130px 20px 150px 20px;
  color:#000;
  background-image:url("../img/present_back.webp");
  background-size:100% 100%;
}


.presentslide_outer{
  padding:20px 50px;
}

.presentslide .slick-slide{
  padding:10px;
}

#plan{
  background:#ffed66;
  padding:50px 20px 0px 20px;
}

#plan #plan_inner{
  background:#FFF;
  padding:20px;
}


#equip{
  background:#ffed66;
  padding:10px 20px 20px 20px;
}

.equipmentslide_outer{
  padding:20px 20px;
}
.equipmentslide_outer .slick-slide{
  padding:10px;
}



#time{
  position:relative;
  padding-top:134%;
}

#time1{
  position:absolute;
  right:5%;
  top:5%;
  width:21.33%;
}

#time2{
  position:absolute;
  left:5%;
  top:26%;
  width:21.33%;
}

#time3{
  position:absolute;
  right:0;
  top:26%;
  width:26.66%;
}

#time4{
  position:absolute;
  left:0;
  top:50%;
  width:34.66%;
}

#time5{
  position:absolute;
  right:0;
  bottom:15%;
  width:40%;
}

#time6{
  position:absolute;
  left:22%;
  bottom:0;
  width:26.66%;
}

#time7{
  position:absolute;
  top:10%;
  left: 50%;
  -webkit-transform: translateX(-50%); /* Safari用 */
  transform: translateX(-50%);
  width:30.5%;
}

#timetxt{
  padding:40px 0px 50px 0px;
}

#features{
  background:#d7eef2;
  padding:40px 20px 20px 20px;
}


#voices{
  background:#ffed66;
  padding:20px 20px 50px 20px;
  color:#000;
}

#voice2{
  background:#ffed66;
  color:#000;
}




















[class*="carousel__arrow--"]{
  background-color: #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  aspect-ratio: 1;
  z-index: 2;
  color:#FFF;
}
.carousel__arrow--prev{
  left: -20px;
}
.carousel__arrow--next{
  right: -20px;
}
[class*="carousel__arrow--"]::before{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: '';
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.carousel__arrow--prev::before{
  content: '\f053';
}
.carousel__arrow--next::before{
  content: '\f054';
}
@media (hover: hover){
  [class*="carousel__arrow--"]{
    transition: .3s;
  }
  [class*="carousel__arrow--"]:hover{
    cursor: pointer;
    opacity: 0.7;
  }
}



.facilityslide_outer{
  padding:20px 20px;
}

.facilityslide .slick-slide{
  padding:10px;
}

.flip {
  position : relative;
  width : 100%;
  -webkit-perspective : 1000px;
  perspective : 1000px;
  padding-top: 100%;
}
.flip .front,
.flip .back {
  position : absolute;
  top : 0;
  left : 0;
  width : 100%;
  height : 100%;
  cursor : pointer;
  transition : transform 1s;
  -webkit-backface-visibility : hidden;
  backface-visibility : hidden;
}
.flip .front {
}
.flip .back {
  transform : rotateY(-180deg);
}

.flipped .front {
  transform : rotateY(180deg)
}
.flipped .back {
  transform : rotateY(0);
}

#child{
  background: #ffed66;
}

#map{
  background: #ffed66;
}



#bottom{
  background:#35aabc;
  padding:20px 20px 20px 20px;
}



