@charset "UTF-8";

/**
 * 全体で使うscss用変数
 */

/* 3本のバーそれぞれの座標を設定 */

.navbar-toggler-icon:nth-of-type(1) {
  top: 0px;
}

.navbar-toggler-icon:nth-of-type(2) {
  top: 8px;
}

.navbar-toggler-icon:nth-of-type(3) {
  top: 16px;
}

/* メニューが開いている時の 3本のバーそれぞれの座標および角度を設定 */

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:nth-of-type(1) {
  top: 13px;
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:nth-of-type(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:nth-of-type(3) {
  top: 13px;
  transform: rotate(-45deg);
}

.transform {
  height: 20px;
  position: relative;
  width: 20px;
}

.hamburger_text {
  color: #FFF;
  font-size: 14px;
  top: 30px;
}

header {
  background: #4BB582;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

header .navbar .logo {
  width: 24%;
}

@media screen and (max-width: 599px) {
  header .navbar .logo {
    width: 50%;
  }
}

header .navbar .border {
  padding: 0.5rem 1.5rem;
}

@media screen and (max-width: 599px) {
  header .navbar .border {
    padding: 0.5rem 0.5rem;
  }
}

header .navbar .border .my_font {
  color: #FFF;
}

@media screen and (max-width: 599px) {
  header .navbar .border .my_font {
    font-size: 15px;
  }
}

header .hamburger {
  background: #FFF !important;
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

@media screen and (min-width: 960px) {
  header .hamburger {
    display: none !important;
  }
}

header .hamburger .navbar-nav .nav-link {
  color: #000;
  font-size: 16px;
  display: block;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0.5rem 0;
  width: 100%;
}

header .hamburger .nav-item {
  border-bottom: 1px solid #B3B3B3;
  padding: 0 3%;
}

header .hamburger .header_sns_icons {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 50px 0 30px;
  width: 25%;
}

@media screen and (max-width: 599px) {
  header .hamburger .header_sns_icons {
    padding: 35px 0 20px;
    width: 45%;
  }
}

header .hamburger .header_sns_icons .header_sns_photos {
  display: block;
  margin: 0 auto;
  width: 80%;
}

header .navbar-light .navbar-toggler {
  border: none;
  box-sizing: border-box;
  color: rgba(0, 0, 0, 0.5);
  height: 30px;
  margin-left: 3%;
  padding: 0px;
  position: relative;
  padding-left: 0.2rem;
  width: 30px;
}

header .navbar-light .navbar-toggler .navbar-toggler-icon {
  background-image: none;
  /* この行で背景画像を無効化 */
  background-color: #FFF;
  display: block;
  height: 2px;
  position: absolute;
  transition: ease 0.5s;
  width: 1.5rem;
}

header .navbar-light .navbar-toggler .navbar-toggler-text {
  color: #FFF;
  font-size: 10px;
  left: -2px;
  position: absolute;
  top: 25px;
  width: 40px;
}

header .black {
  color: black;
}

header .small {
  font-size: 10px;
}

footer {
  background: #4BB582;
}

@media screen and (max-width: 599px) {
  footer .contain {
    padding: 0;
  }
}

footer .footer_padding {
  padding: 0.5rem 3%;
}

@media screen and (max-width: 599px) {
  footer .footer_padding {
    padding: 0;
  }
}

footer .footer_padding .footer_menu_box {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}

@media screen and (min-width: 600px) and (max-width: 959px) {
  footer .footer_padding .footer_menu_box {
    padding: 0 30px;
  }
}

@media screen and (max-width: 599px) {
  footer .footer_padding .footer_menu_box {
    display: block;
    margin-top: 0;
    padding: 0;
  }
}

footer .footer_padding .footer_menu_box .footer_menu {
  width: 30%;
}

@media screen and (max-width: 599px) {
  footer .footer_padding .footer_menu_box .footer_menu {
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  footer .footer_padding .footer_menu_box .footer_menu .footer_list {
    border-bottom: 1px solid #FFF;
  }
}

footer .footer_padding .footer_menu_box .footer_menu .footer_list .footer_link {
  color: #FFF;
}

@media screen and (max-width: 599px) {
  footer .footer_padding .footer_menu_box .footer_menu .footer_list .footer_link {
    font-size: 18px;
    padding: 0 3%;
  }
}

footer .footer_padding .logo_img {
  margin: 0 auto;
  width: 25%;
}

@media screen and (max-width: 599px) {
  footer .footer_padding .logo_img {
    width: 35%;
  }
}

footer .footer_padding .sns_icons {
  display: flex;
  justify-content: center;
  margin: 16px auto 0;
  width: 25%;
}

@media screen and (max-width: 599px) {
  footer .footer_padding .sns_icons {
    margin: 25px auto 0;
    width: 35%;
  }
}

footer .footer_padding .sns_icons .sns_photos {
  display: block;
  margin: 0 auto;
  width: 70%;
}

@media screen and (max-width: 599px) {
  footer .footer_padding .copy {
    font-size: 3.6vw;
  }
}

