@charset utf-8;

@viewport {
  zoom:1.0;
}

a:link, a:active, a:hover, a:visited {
  text-decoration:none;
  color:#000;
}

em {
  font-style:normal;
  font-weight:bold;
}

body {
  font-family:"Hiragino Kaku Gothic ProN", sans-serif ;
  margin:0;
  color:#333333;
}

main {
  display: block;
}

figure img {
  max-width:100%;
}

header .heading_group {
  background-color:#d9f1f4;
}

h1 {
  margin:0;
  position: relative;
  z-index: 200;
}
header nav ul {
  padding:0 30px;
  display:flex;
  justify-content: space-between;
  max-width:1020px;
  height:45px;
  margin:65px auto;
}

header nav ul li {
  list-style-type:none;
  margin-left:0;
  padding-left:0;
  height:100%;
  position:relative;
}
header nav ul li img {
  height:100%;
  width:auto;
  margin-right:10px;
}

#navi_bottom {
  margin-top:150px;
    margin-bottom:1em;
}
#navi_bottom ul {
  display:flex;
  justify-content: center;
  padding:0;
  margin:0;
}
#navi_bottom li {
  border-right:solid 1px #000;
  margin:0px;
  padding:0 10px;
  list-style-type:none;
  font-size:15px;
  line-height: 1;
}

#navi_bottom li a:link, 
#navi_bottom li a:active, 
#navi_bottom li a:hover, 
#navi_bottom li a:visited {
  color:#666;
}

footer {
  background:#568c87;
  color:#fff;
}
.footer-inner {
  max-width:1020px;
  margin:auto;
  padding: 38px 0 28px;
}
footer address {
  font-style:normal;
  background:url('../img/logo_white.svg') no-repeat left top;
  background-size:145px;
  padding-left: 170px;
  padding-top: .5em;
  margin:auto;
}
footer p {
  text-align:center;
  margin-bottom: 0;
  margin-top: 3.5em;
}

a.linktotop {
  color: #fff;
  width: 50px;
  height: 50px;
  font-size: 25px;
  text-align: center;
  position: fixed;
  bottom: 80px;
  right: 10px;
  z-index:200;
}

@media screen and (-webkit-min-device-pixel-ratio:2),(min-resolution: 2dppx){

}
@media screen and (-webkit-min-device-pixel-ratio:3),(min-resolution: 3dppx){

}

@media print, screen and (min-width: 601px) {
  main {
    line-height:2;
  }
  .sp {
    display:none;
  }
  
  .menu_toggle {
    display:none;
  }
  h2 img[src*="sp_"]  {
    display:none;
  }
  #navi_bottom li:last-of-type {
    border-right:none;
  }
  header nav ul li.current::before {
    content: url(../img/i_bird.svg);
    width: 40px;
    height: 40px;
    position: absolute;
    top: -25px;
    left: -30px;
  }
}

@media screen and (max-width: 600px) {
  img {
    max-width:100%;
  }
  h2 img.pc  {
    display:none;
  }
  
  .pc {
    display:none;
  }
  .menu_toggle {
    width:14vw;
    height:14vw;
    position:fixed;
    top:5vw;
    right:5vw;
    z-index:500;
  }
  .menu_toggle img {
    width:100%;
    height:auto;
  }
  .topnav {
    display:none;
  }
  #topnav:not(.close) {
    display:block;
    position:fixed;
    top:0;
    left0;
    width:100vw;
    height:100vh;
    background:#d1ebf2;
    z-index:1000;
    animation: fadeIn .5s ease 0s 1 normal;
    text-align:center;
  }
  @keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
  }
  #topnav.close {
    display:none;
  }
  #topnav.menu_toggle {
    position:fixed;
  }
  #topnav ul {
    display: inline-block;
    padding: 0;
    margin-top: 8vh;
    width: 70vw;
  }
  #topnav li {
    list-style-type: none;
    height: 12vw;
    text-align: center;
    margin-bottom: 2vh;
    border-bottom: dotted #aaa 1px;
    padding-bottom: 2vh;
  }
  #topnav li img {
    height:100%;
  }
  #topnav li:nth-of-type(6) img, #topnav li:nth-of-type(7) img {
    height:108%;
  }
  
  #navi_bottom {
    margin-top:150px;
      margin-bottom:1em;
  }
  #navi_bottom ul {
    display:flex;
    justify-content: center;
    padding:0;
    margin:0;
  }
  #navi_bottom li {
    border-right:solid 1px #000;
    margin:0px;
    padding:0 10px;
    list-style-type:none;
    font-size:15px;
    line-height: 1;
  }

  #navi_bottom li a:link, 
  #navi_bottom li a:active, 
  #navi_bottom li a:hover, 
  #navi_bottom li a:visited {
    color:#666;
  }
  
  #navi_bottom {
    margin:0 5% 0;
  }
  #navi_bottom ul {
    flex-wrap:wrap;
    align-content: space-between;
    justify-content:flex-start;
    margin-bottom:1em;
  }
  #navi_bottom li {
    box-sizing:border-box;
    width:30%;
    padding:2px;
    margin-bottom:1em;
  }
  .footer-inner {
    margin:0 5%;
  }
  footer address {
    padding-left: 0px;
    padding-top: 100px;
  }
  a.linktotop {
    width: 14vw;
    height: 14vw;
    font-size: 16px;
    bottom: 10vw;
    right: 5vw;
  }
  a.linktotop img {
    width:100%;
    height:auto;
  }
}


@media print {
  a.linktotop {
    display:none;
  }
}