html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  font-weight: 500;
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important;
  line-height: 2;
  color: #231815;
}

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.grecaptcha-badge { visibility: hidden; }
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    border: none !important;
}

div.wpcf7-mail-sent-ok {
    border: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
	border:none !important;
}
.wpcf7 form.sent .wpcf7-response-output　{
	border:none !important;
}

img{
  max-width: 100%;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}

a {
  color: #f65c23;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.fc-or {
  color: #f75c23;
}


/*
* PC のみ適応させるためのclass
*/
.sp {
  display: none;
}
.pc {
  display: block;
}


/*
* 基本ブレイクポイントは835px
*/
@media screen and (max-width:835px){
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.menu,
.menu span {
  display: inline-block;
  -webkit-transition:all .4s;
  transition: all .4s;
  box-sizing: border-box;
}
.menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  z-index: 999;
  cursor: pointer;
  border: none;
  background: #231815;
  outline:none;
}
.menu.active {
  background: none;
}
.menu span {
  position: absolute;
  left: 15px;
  width: 30px;
  height: 2px;
  background-color: #FFF;
  z-index: 10;
}
.menu span:nth-of-type(1) {
  top: 18px;
}
.menu span:nth-of-type(2) {
  top: 28px;
}
.menu span:nth-of-type(3) {
  bottom: 20px;
}
.menu.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}
.menu.active span:nth-of-type(2) {
  opacity: 0;
}
.menu.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}
#nav {
  position: fixed;
  z-index: 99;
  top: 0;
  padding-top: 80px;
  right: -100%;
  width: 35%;
  height: 100vh;
  background: #a4b5a8;
  opacity: 0;
}
#nav .nav-menu-link {
  position: absolute;
  top: 50px;
  left: 10%;
}
.nav-menu-link li {
  font-size: 1.8rem;
  margin: 0 0 15px;
}
#nav .nav-menu-link li a {
  color: #231815;
  text-decoration: none;
}
#nav .nav-menu-link li a:hover {
  color: #231815;
  text-decoration: underline;
}
#nav .nav-menu-link .nav-sns {
  overflow: hidden;
  margin-top: 30px;
}
#nav .nav-menu-link .nav-sns li {
  float: left;
}
#nav .nav-menu-link .nav-sns li a{
  transition: 0.3s ease-in-out;
}
#nav .nav-menu-link .nav-sns li a:hover{
  opacity: 0.7;
}
#nav .nav-menu-link .nav-sns li.nav-twitter {
  margin-right: 20px;
}
#nav .nav-menu-link .nav-sns li.nav-fb {
  margin-right: 20px;
}
#nav .nav-menu-link .nav-sns li.nav-inst {
  margin-right: 20px;
}
#nav .nav-menu-link .nav-sns li.nav-note {
  width: 75px;
  padding-top: 9px;
}
#nav .nav-menu-link .nav-sns li.nav-note img{
  vertical-align: top;
  
}
#nav .nav-menu .nav-add {
  position: absolute;
  top: 40%;
  right: 140px;
  font-size: 1.8rem;
}
#nav .nav-menu .nav-add a {
  position: relative;
  color: #FFF;
}
#nav .nav-menu .nav-add a .arrow {
  position: absolute;
  top: 5px;
  right: -25px;
  display: block;
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
}
/*
  border-top: solid 1px #231815;
  border-right: solid 1px #231815;
  width: 25px;
  height: 25px;
  transform: rotate(45deg);
*/
#nav .nav-menu .nav-lang {
  position: absolute;
  top: 580px;
  right: 140px;
  color: #231815;
}
#nav .nav-menu .nav-lang a {
  color: #231815;
}
#nav .nav-menu .nav-lang span {
  text-decoration: underline;
}

@media screen and (max-width:835px){
  #nav {
    width: 100%;
  }
  #nav .nav-menu-link {
    position: absolute;
    top: 60px;
    left: 30px;
  }
  .nav-menu-link li {
    font-size: 1.6rem;
    margin: 0 0 5px;
  }
  #nav .nav-menu-link .nav-sns li.nav-note {
   padding-top: 7px;
  }
  #nav .nav-menu .nav-lang {
    position: absolute;
    top: 400px;
    right: 30px;
    color: #231815;
  }
  #nav .nav-menu .nav-add {
    position: absolute;
    top: 60px;
    right: 30px;
    font-size: 1.6rem;
  }
  #nav .nav-menu .nav-add a {
    position: relative;
    color: #FFF;
  }
  #nav .nav-menu .nav-add a .arrow {
    position: absolute;
    top: 9px;
    right: -15px;
    width: 10px;
    height: 10px;
  }
}

#reserve {
  display: block;
  position: fixed;
  text-decoration: none;
  z-index: 9;
  top: 0;
  right: 60px;
  text-align: center;
  width: 165px;
  line-height: 60px;
  font-size: 1.8rem;
  color: #FFF;
  /*background: #f75c23;*/
  background:rgba(247,92,35,1.0);
  transition: 0.3s ease-in-out;
}
#reserve:hover{
  background:rgba(247,92,35,0.7);
}
#reserve a{
  color: #FFF;
}


@media screen and (max-width:835px){
  #reserve {
    width: 130px;
    font-size: 1.4rem;
  }
}


#acMenu {
  position: fixed;
  top: 60px;
  right: 0;
  z-index: 9;
}

#acMenu dt{
  position: relative;
  width:60px;
  height:30px;
  line-height:30px;
  padding-left: 15px;
  cursor:pointer;
  background:rgba(164,181,168,1.0);
}
#acMenu dd{
  width:60px;
  height:60px;
  display:none;
}
#acMenu dd a{
  display: block;
  text-decoration: none;
  width:60px;
  height:30px;
  padding-left: 15px;
  color: #231815;
  background:rgba(164,181,168,1.0);
  transition: 0.3s ease-in-out;
}

#acMenu dd a:hover {
  background:rgba(164,181,168,0.7);
}
#acMenu .arrow {
  position: absolute;
  top: 8px;
  right: 8px;
  display: block;
  border-bottom: solid 1px #231815;
  border-right: solid 1px #231815;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
}

@media screen and (max-width:835px){
  #acMenu {
    font-size: 1.3rem;
  }
}

#footer .footer_logo {
  margin: 0 auto 30px;
}
#footer .footer_logo a{
  transition: 0.3s ease-in-out;
}
#footer .footer_logo a:hover{
  opacity: 0.7;
}
#footer .footer_box {
  text-align: center;
  padding: 60px 0 60px;
}
#footer .copyright {
  text-align: center;
  background: #231815;
  color: #FFF;
  width: 100%;
  line-height: 60px;
  font-size: 1.3rem;
}
#footer .footer_sns {
  display: flex;
  justify-content: space-between;
  width: 230px;
  margin: 0 auto 10px;
}
#footer .footer_sns a{
  color: #231815;
  transition: 0.3s ease-in-out;
}
#footer .footer_sns a:hover{
  opacity: 0.7;
}
#footer .footer_sns li {
  margin-right: 10px;
}

#footer .footer_sns li:last-child {
  margin-right: 0;
  padding-top: 4px;
}
#footer .footer_sns li:last-child img{
  vertical-align: top;
  width: 93px;
}

@media screen and (max-width:835px){
  #footer .footer_logo {
    margin: 0 auto 20px;
    width: 95px;
  }
  #footer .footer_box {
    padding: 30px 0 30px;
  }
  #footer .copyright {
    width: 100%;
    line-height: 60px;
    font-size: 1.0rem;
  }
  #footer .footer_sns {
    display: flex;
    width: 150px;
    margin: 0 auto 5px;
  }
	#footer .footer_sns li {
	  width: 20%;
	}
	#footer .footer_sns li:last-child {
	  width: 60%;
	padding-top: 6px;
	}
  #footer .footer_info {
    font-size: 1.2rem;
  }

}

#pagetop {
  display: none;
  padding: 25px 0 0 20px;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: #231815;
  -webkit-transition: all 0.5s ease;
  transition: all  0.5s ease;
}
#pagetop:hover {
  opacity: 0.7;
}
#pagetop .arrow {
  width: 20px;
  height: 20px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: inline-block;
  transform: rotate(-45deg);
}

@media screen and (max-width:768px){
  #pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    padding: 15px 0 0 18px;
    width: 50px;
    height: 50px;
  }
  #pagetop .arrow {
    width: 13px;
    height: 13px;
  }
}