/**
 *  breakpoint
 */
@media print, screen and (min-width:768px) {
  body.first_loading.page-template-top._header_menu_hide #gnavi,
  body.loaded.page-template-top._header_menu_hide #gnavi {
    top: calc(35.7142857143vw + 8.125em);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  body.loaded._header_menu_hide header .header_top::before {
    background-color: #f7f6f2;
  }
}
#firstview {
  line-height: 0;
}
#firstview img {
  width: 100%;
}

#top_gnavi {
  background-color: #FFF;
}
#top_gnavi .gnavi_main ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 2.3076923077em 1.6153846154em;
  padding-bottom: 0.3846153846em;
}
#top_gnavi .gnavi_main ul li {
  width: 33.3333333333%;
  text-align: center;
  margin-bottom: 1.9230769231em;
}
#top_gnavi .gnavi_main ul li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  height: 6.875em;
}
#top_gnavi .gnavi_main ul li a .icon {
  margin: auto;
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#top_gnavi .gnavi_main ul li a .icon .i::before, #top_gnavi .gnavi_main ul li a .icon .i::after {
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#top_gnavi .gnavi_main ul li a .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#top_gnavi .gnavi_main ul li a .txt .en {
  font-size: 1em;
  line-height: 1.35;
  letter-spacing: 0.1em;
  -webkit-transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#top_gnavi .gnavi_main ul li a .txt .jp {
  font-size: 0.6875em;
  line-height: 1.35;
  letter-spacing: 0.1em;
  color: #b3b3b3;
  -webkit-transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#top_gnavi .gnavi_main ul li._off {
  opacity: 0.3;
}
#top_gnavi .gnavi_main ul li:not(._off) a:active .icon .i::before, #top_gnavi .gnavi_main ul li:not(._off) a:hover .icon .i::before {
  opacity: 0;
}
#top_gnavi .gnavi_main ul li:not(._off) a:active .icon .i::after, #top_gnavi .gnavi_main ul li:not(._off) a:hover .icon .i::after {
  opacity: 1;
}
#top_gnavi .gnavi_main ul li:not(._off) a:active .txt .en,
#top_gnavi .gnavi_main ul li:not(._off) a:active .txt .jp, #top_gnavi .gnavi_main ul li:not(._off) a:hover .txt .en,
#top_gnavi .gnavi_main ul li:not(._off) a:hover .txt .jp {
  color: #bb2c25;
}

#about {
  position: relative;
  overflow: hidden;
}
@media print, screen and (min-width:768px) {
  #about::before, #about::after {
    content: "";
    display: block;
    padding-top: 60.7142857143%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #about::before {
    z-index: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../img/top/top_about_bg@2x.jpg);
  }
  #about::after {
    z-index: 1;
    backdrop-filter: blur(3px);
  }
}
#about .about_main {
  position: relative;
  z-index: 2;
}
#about .about_main .about_head {
  text-align: center;
}
#about .about_main .about_content {
  background-color: #FFF;
  padding: 4.375em 6.25em;
}
#about .about_main .about_content .logo img {
  width: 7.5em;
}
#about .about_main .about_content .map {
  position: relative;
  line-height: 0;
}
#about .about_main .about_content .map .i {
  position: absolute;
  top: -2.875em;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
@media screen and (max-width:767px) {
  #about::before {
    display: none;
  }
  #about .about_main {
    position: relative;
    z-index: 1;
  }
  #about .about_main .about_head {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../img/top/top_about_bg.jpg?v=20230824);
    position: relative;
  }
  #about .about_main .about_head::before {
    content: "";
    backdrop-filter: blur(3px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  #about .about_main .about_head > h3,
  #about .about_main .about_head > div {
    position: relative;
    z-index: 5;
  }
  #about .about_main .about_content {
    padding: 2.3076923077em 0;
    padding-bottom: 4.2307692308em;
  }
  #about .about_main .about_content .logo img {
    width: 5.7692307692em;
  }
  #about .about_main .about_content .map .i {
    right: 2em;
  }
  #about .about_main .about_content .under .more {
    text-align: center;
    margin-top: 2.3076923077em;
  }
}

#contact {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/top/top_contact_bg@2x.jpg?v=20230824);
  height: 22.8571428571vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#contact .wrapper {
  width: 100%;
}
#contact .contact_main {
  color: #FFF;
  text-align: center;
}
#contact .contact_main > .ttl {
  margin-bottom: 1.25em;
}
#contact .contact_main > .ttl .en {
  font-size: 1.4375em;
  letter-spacing: 0.1em;
}
#contact .contact_main > .txt01 {
  font-size: 0.8125em;
  letter-spacing: 0.1em;
}
#contact .contact_main > .more {
  margin-top: 1.875em;
}
@media screen and (max-width:767px) {
  #contact {
    height: 18.4615384615em;
  }
  #contact .contact_main > .ttl {
    margin-bottom: 0.3846153846em;
  }
  #contact .contact_main > .ttl .en {
    font-size: 1.8461538462em;
  }
  #contact .contact_main > .txt01 {
    font-size: 0.9230769231em;
  }
  #contact .contact_main > .more {
    margin-top: 1.9230769231em;
  }
}/*# sourceMappingURL=top.css.map */