@charset "utf-8";
.sp {
  display: none
}

.pc {
  display: block
}

.br-sp {
  display: none;
}

.br-pc {
  display: bloc;
}

@media screen and (max-width: 512px) {
  .sp {
    display: block
  }
  .pc {
    display: none
  }
  .br-sp {
    display: block;
  }
  .br-pc {
    display: none;
  }
  body {
    width: 100%;
    min-width: 100%;
    position: relative;
    left: 0;
    overflow-x: hidden;
  }
  .bg_fixed {
    position: fixed;
    position: fixed;
  }
  #main.fixed {}
  .container {
    width: 100%;
  }
  #header {
    width: 100%;
    height: auto;
  }
  #header .header_inner {
    position: relative;
    width: 100%;
    height: 13.04vw;
    padding: 0;
  }
  #header .header_inner #h_logo {
    position: relative;
    float: left;
    width: 21.61vw;
    top: 50%;
    left: 6.28vw;
    margin: 0;
    transform: translateY(-50%);
    text-align: center;
  }
  header .language {
    left: 43.5vw;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  header .language li a {
    font-size: 1.5vw;
    line-height: 6.52vw;
    width: 7.85vw;
  }
  header .btn_contact {
    width: 14.25vw;
    margin-top: 0;
    margin-right: 14.25vw;
  }
  header .btn_contact a {
    height: 13.04vw;
    font-size: 1.1rem;
    font-weight: bold;
    padding-left: 0;
    padding-top: 8.65vw;
    line-height: 1;
    background-position: center 2.65vw;
    background-size: 6.26vw auto;
  }
  /* Toggle Button */
  #nav-toggle {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 14.25vw;
    height: 100%;
    padding: 0;
    cursor: pointer;
    z-index: 101;
    box-sizing: border-box;
    background: #3c3c3c;
  }
  #nav-toggle p {
    position: absolute;
    top: 8.65vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    text-align: center;
    font-weight: bold;
  }
  #nav-toggle span {
    display: block;
    position: relative;
    height: 1.08vw;
    width: 5.34vw;
    background: #fff;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  #nav-toggle span:nth-child(1) {
    top: 2.17vw;
  }
  #nav-toggle span:nth-child(2) {
    top: 3.10vw;
  }
  #nav-toggle span:nth-child(3) {
    top: 4.15vw;
  }
  #panel {
    position: relative;
  }
  #spnav {
    position: fixed;
    /* 開いてないときは画面外に配置 */
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: #3c3c3c;
    overflow: scroll;
    -webkit-transition: .5s ease-in-out;
    /*transitionで動きを*/
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }
  #spnav .head {
    display: table;
    width: 100%;
    height: 14.04vw;
    border-bottom: 1px solid #141414;
  }
  #spnav .head p {
    display: table-cell;
    vertical-align: middle;
    font-size: 2.8rem;
    color: #fff;
    padding: 0 5.43%;
  }
  .open .site-wrap {
    /*position: fixed;*/
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 4.34vw;
    margin-left: -2.67vw;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 2.17vw;
    margin-left: -2.67vw;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #spnav スライドアニメーション */
  .open #spnav {
    display: block;
    top: 0;
  }
  #spnav ul {
    float: none;
    list-style: none;
  }
  #spnav ul li {
    float: none;
  }
  #spnav ul li a {
    display: block;
    position: relative;
    text-decoration: none;
    text-align: left;
    font-size: 1.8rem;
    padding-bottom: 7px;
    line-height: 57px;
    padding-left: 36px;
    color: #fff;
    border-top: 1px solid #565656;
    border-bottom: 1px solid #141414;
  }
  #spnav ul li a::before, #spnav ul li a::after {
    position: absolute;
    content: '';
    display: block;
  }
  #spnav ul li a::before {
    top: 50%;
    left: 5.43%;
    margin-top: -7px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #ff9900;
  }
  #spnav ul li a::after {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7px;
    background: #2f2f2f;
  }
  #spnav .child {
    display: none;
  }
  #spnav ul ul li a {
    display: block;
    background: #ebebeb;
  }
  #spnav .spnav {
    margin: 0;
  }
  #spnav .spnav li {
    border-bottom: 1px solid #fff;
  }
  #footer {
    background: #e0e0e0;
  }
  #footer .page-top {
    z-index: 2;
    top: -20px;
    right: 4.58%;
    width: 40px;
    height: 40px;
  }
  #footer .page-top a {
    width: 40px;
    height: 40px;
  }
  #footer .footer {
    padding: 6.03vw 7.24vw;
  }
  #footer .logo_side {
    float: none;
  }
  #footer .logo {
    float: left;
    width: 21.73vw;
  }
  #footer .address {
    padding-left: 23vw;
    font-size: 2.05vw;
  }
  #footer .contact_side {
    float: none;
  }
  #footer .contact_side .tel {
    font-size: 6.52vw;
    background-size: 5.91vw auto;
    padding-left: 6.0vw;
    margin: 0;
    letter-spacing: -0.02em;
  }
  #footer .contact_side .btn_contact {
    width: 37.80vw;
  }
  #footer .contact_side .btn_contact a {
    background-position: 8.69vw center;
  }
  #footer #fnav {
    padding: 0;
  }
  #fnav ul {
    left: 0;
    float: none;
  }
  #fnav li {
    float: none;
    left: 0;
    margin-bottom: 7px;
  }
  #fnav ul li a {
    display: block;
    font-size: 2.0rem;
    padding-left: 45px;
    background: #fff;
    line-height: 56px;
    border-top: 1px solid #e6e6e6;
  }
  #fnav ul li a::before {
    display: none;
  }
  #fnav ul li a::after {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 20px;
    margin-top: -4px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8px;
    border-color: transparent transparent transparent #ff9900;
  }
  #copyright p {
    font-size: 1.2rem;
  }
}