@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通
===================================================================== */
html {
  font-size: calc(10 / 750 * 100vw);
  overflow-x: hidden;
}

.gDef-top-banner {
  background-color: #000;
}

.gDef-contents {
  background-color: #fff;
  color: #343333;
  font-family: YakuHanJP, "Noto Sans JP",  "ヒラギノ角ゴ Pro W3", "Meiryo", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 2.6rem;
  line-height: 1;
}

.gDef-contents img {
  width: 100%;
  height: auto;
  display: block;
}

.gDef-contents a {
  display: block;
}

.gDef-contents p {
  line-height: 1.75;
}

.inner {
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
}

a[href^="tel:"] {
  display: inline;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1200 * 100vw);
  }
  .gDef-contents {
    font-size: 1.6rem;
  }
  .gDef-contents a {
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
  }
  .inner {
    width: 100%;
    max-width: 1200px;
    padding: 0 calc(40 / 1200 * 100%);
  }
  .sp {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  html {
    font-size: 10px;
  }
  .inner {
    padding: 0 40px;
  }
}

/* =====================================================================
*    nav
* =================================================================== */
.fixed .header_nav {
  position: fixed;
  top: 0;
  width: 100%;
}

.header_nav {
  width: 100%;
  z-index: 100;
  background-color: #fff;
  padding: 1.1rem 0;
}

.header_nav .inner {
  width: 100%;
}

.header_nav .inner .nav_ttl {
  width: 10.2rem;
  margin: 0 0 0 1.5rem;
  z-index: 11;
}

.header_nav .inner .menu_btn {
	width: 9rem;
  height: 9rem;
  background: url(../images/common/btn_menu.png) no-repeat center/4.7rem #aa160e;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  z-index: 12;
}

.header_nav .active + .menu_btn {
  background: url(../images/common/btn_close.png) no-repeat center/4.7rem #aa160e;
  width: 9rem;
  height: 9rem;
}

.header_nav nav {
  width: 100%;
  height: 0;
  background-color: #1f1d1d;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  overflow: hidden scroll;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  margin-top: 9rem;
}

.header_nav nav.active {
  height: 100vh;
}

.header_nav nav .nav_menu {
  padding: 20rem 0;
}

.header_nav nav .nav_menu li {
  width: 50rem;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.header_nav nav .nav_menu li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.header_nav nav .nav_menu li a {
  font-size: 2.8rem;
  font-weight: 700;
  padding: 3.3rem 0;
  text-align: center;
  color: #fff;
  letter-spacing: .1em;
}

.header_nav nav .nav_menu li.nolink a {
  opacity: 0.4;
  pointer-events: none;
  /*color: #ccc; */
	color: #fff;
}

.header_nav nav .nav_menu li.is-hidden {
  display: none;
}

@media screen and (min-width: 768px) {
  .header_nav {
    width: 100%;
    z-index: 100;
    background-color: #fff;
    padding: 0;
  }
  .header_nav::after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: -webkit-gradient(linear, left top, right top, from(#a16200), color-stop(50%, #c79e50), to(#a16200));
    background: linear-gradient(90deg, #a16200 0%, #c79e50 50%, #a16200 100%);
  }
  .header_nav .inner {
    width: 100%;
  }
  .header_nav .inner .nav_ttl {
    width: 13.8rem;
    margin: 0.6rem 0 0;
    position: absolute;
  }
  .header_nav .inner .menu_btn {
    display: none;
  }
  .header_nav nav {
    width: 100%;
    height: auto;
    background-color: transparent;
    position: relative;
    z-index: 10;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    margin-top: 0;
  }
  .header_nav nav .nav_menu {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .header_nav nav .nav_menu li {
    width: calc(220/1120 *100%);
    margin: 0;
    border-top: none;
  }
  .header_nav nav .nav_menu li:last-of-type {
    border-bottom: none;
  }
  .header_nav nav .nav_menu li a {
    font-size: 2rem;
    padding: 1.5em 0;
    color: #343333;
    position: relative;
  }
  .header_nav nav .nav_menu li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 4px;
    background: #aa160e;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  .header_nav nav .nav_menu li a:hover {
    color: #aa160e;
  }
  .header_nav nav .nav_menu li a:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .header_nav nav .nav_menu li.nolink a {
    opacity: 0.4;
    pointer-events: none;
    color: #363535;
    }
}

/* =====================================================================
*    footer
* =================================================================== */
#footer {
  position: relative;
}

#footer .inner {
  background: url(../images/common/ballmark.png) no-repeat right bottom/auto;
}

#footer .footer_box {
  background: #1f1d1d;
  padding: 6rem 0;
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
}

#footer .footer_box .bnr_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 4rem;
}

#footer .footer_box .bnr_box li {
  width: calc(260/670 *100%);
  margin: 0 1em;
}

#footer .footer_box p {
  line-height: 2;
}

#footer .copy {
  position: relative;
  background-color: #aa160e;
  padding: 1em 0;
}

#footer .copy p {
  font-size: 2rem;
  line-height: 1.8;
  margin: 0 auto;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #footer .footer_box {
    padding: 6rem 0 4rem;
    font-size: 1.4rem;
  }
  #footer .footer_box .bnr_box li {
    width: calc(260/1120 *100%);
    margin: 0 2em;
  }
  #footer .footer_box .bnr_box li a:hover {
    opacity: .7;
  }
  #footer .copy p {
    font-size: 1.2rem;
  }
}
/*# sourceMappingURL=base.css.map */