  @charset "utf-8";

.header-inner{
  height: 110px;
  margin: 0;
  padding-left: 40px;
  padding-right: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: white;
    z-index: 10;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}


/*ホバーした時に線が出る*/

#g-nav-list li {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: #000;
}

#g-nav-list li::after {
  content: '';
  position: absolute;
  width: 120%;
  height: 1px;
  bottom: -10px;
  left: -10%;
  background-color: #000;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

#g-nav-list li:hover::after {
  transform: scaleX(1);
}

/*ここまで*/


/*imgをホバー時に浮かせる*/

img{
  transition-duration: 0.5s;
}
img{
  cursor: pointer;
}
img:hover{
  transform: translateY(-10px);
  transition-duration: 0.5s;
}

/*ここまで*/



.header-logo{
  display: block;
  width: 200px;
}

.main{
  margin-top: 110px;
}

#g-nav ul {
  display: flex;
}
#g-nav ul li {
  margin-left: 30px;
  margin-right: 30px;
  font-size: large;

}

.footer {
  padding-top: 30px;
  padding-bottom: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer-logo{
  display: block;
  width: 300px;
}

.image {
  display: block;
  background-image: url(../images/1649658498804-Enhanced-2.jpg);
  background-size: 100%;
  max-width: 1200px;
  background-position: 0px 0px;
  background-repeat: no-repeat;
  padding-top: 630px;
  margin: 0 auto;
}


@media (max-width: 800px) {
  .image {
    padding-top: 52%;
  }
  .main{
  margin-top: 0;
  }




}



h1 {
  color: #fff;
}

.top {
  font-size: 20px;
  text-align: center;
  line-height: 1.9;
  font-weight: bolder;
  padding-bottom: 2em;
  margin: 1em;
}

/*〜ご利用いただけるお客様〜*/
.box1 {
  position: relative;
  padding: 1.2em;
  margin: 2em auto;
  border: solid 2px #9ee3ff;
  border-radius: 5px;
  line-height: 1.9;
  max-width: 700px;
  text-align: center;
  width: fit-content;
}

.box1 ul {
  display: inline-block;
  text-align: left;
  padding-left: 1.5em;
}
.box1 h2 {
  position: absolute;
  top: -17px;
  
  left: 0;
  right: 0;
  margin: 0 auto;
  width: fit-content;

  padding-left: 1em;
  padding-right: 1em;
  font-size: 16px;
  background: #fff;
}
aside {
  padding-top: 10px;
  font-size: -5%;
}
/*〜ご利用いただけるお客様〜*/



/*ご利用料金*/
.box2 {
  text-align: center;
  position: relative;
  padding: 1.2em;
  margin: 2em 2em;
  border: solid 2px #9ee3ff;
  border-radius: 5px;
  line-height: 1.9;
}
.box2 h2 {
  position: absolute;
  display: flex;
  top: -17px;
  text-align: center;
  padding-left: 1em;
  padding-right: 1em;
  font-size: 16px;
  background: #fff;
}
.box2 p {
  font-size: 19;
  line-height: 1.7;
  font-weight: bolder;
  padding-top: 8px;
}
.box2 a {
  display: inline-block;
  padding: 8px 30px;
  text-decoration: none;
  color:white;
  background-color: skyblue;
  border-radius:15px;
  font-size: 20px;
  font-weight: bolder;
}

th,td {
  padding: 1px 7px;
  border: 1px solid #4e4e4e;
  border-collapse: collapse;
}
th {
  line-height: 1.4em;
}
td {
  text-align: right;
}
table {
  display: inline-block;
}




/*ご利用料金*/

address {
  text-align: center;
  line-height: 2em;
  font-weight: bold;
  font-size: x-large;
  padding-top: 2em;
  padding-bottom: 15px;
}
.tel {
  color: rgb(44, 128, 255);
  text-decoration: underline;
}


@media (max-width: 800px) {
  .main {
    padding-top: 50px;
  }

  header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: white;
    height: 50px;
    z-index: 10;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  }
  .header-inner {
    padding-left: 20px;
    padding-right: 20px;
    height: 100%;
    position: relative;
  }



/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position:fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
top:-120%;
  left:0;
width:100%;
  height: 100vh;/*ナビの高さ*/
background:rgb(128, 219, 255);
  /*動き*/
transition: all 0.7s;
animation-timing-function: ease;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
  top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999; 
  width: 100%;
  height: 100vh;/*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  flex-flow:column;
}

/*リストのレイアウト設定*/

#g-nav li{
list-style: none;
  text-align: center;
}

#g-nav li a{
color: rgb(255, 255, 255);
text-decoration: none;
padding:17px 0px;
display: block;
font-size: 1.2em;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
}

#g-nav ul li{
  margin: 0px;
}



/*========= ボタンのためのCSS ===============*/
.openbtn{
position:fixed;
  z-index: 9999;/*ボタンを最前面に*/
right: 20px;
cursor: pointer;
  width: 50px;
  height:45px;
  border-radius: 5px;
}

/*ボタン内側*/
.openbtn span{
  display: inline-block;
  transition: all .4s;/*アニメーションの設定*/
  position: absolute;
  left: 13px;
  height: 2.7px;
  border-radius: 5px;
background: rgb(110, 110, 110);
  width: 50%;
}


.openbtn span:nth-of-type(1) {
top:10px;
}

.openbtn span:nth-of-type(2) {
top:17px;
}

.openbtn span:nth-of-type(3) {
top:24px;
}

.openbtn span:nth-of-type(3)::after {
content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
position: absolute;
top:7px;
left:-3.5px;
color: rgb(110, 110, 110);
font-size: 0.6rem;
text-transform: uppercase;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
  top: 14px;
  left: 14px;
  transform: translateY(6px) rotate(-45deg);
  width: 50%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
  top: 26px;
  left: 14px;
  transform: translateY(-6px) rotate(45deg);
  width: 50%;
}

.openbtn.active span:nth-of-type(3)::after {
content:"Close";/*3つ目の要素のafterにClose表示を指定*/
  transform: translateY(0) rotate(-45deg);
top:9px;
left:8px;
}








.box1 {
  margin: 2em auto;
}





  .header-logo {
    width: 100px;
  }
  .footer-logo {
    width: 200px;
  }
  .copyright {
    margin-top: 50px;
    font-size: 80%;
  }

  .top {
    font-size: 15px;
    line-height: 1.6;
    word-break: keep-all;
  }




}

