@charset "UTF-8";
html,body,header,nav,main,footer,section,div,h1,h2,h3,p,ul,ol,li,dl,dt,dd,span,a,small{
  margin:0;
  padding:0;
}
html{
  height:100%;
  font-size:62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
}
body{
  height:100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size:1.8rem;
  font-weight:400;
  line-height: 1.7;
  text-align: justify;
  color:#333;
}
img{
  max-width:100%;
  height:auto;
  vertical-align: bottom;
}
ul,ol{
  list-style:none;
}
a{
  color:#6b5f48;
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}
body{
  background:url("../images/bg_texture.jpg");
}
.mb20{margin-bottom: 20px!important;}
.mb50{margin-bottom: 50px!important;}
.taR{text-align: right;}

/*-----------------------------------------------------header*/
header{
  box-sizing: border-box;
  position:fixed;
  z-index:99;
  width:  100%;
  display:flex;
  justify-content: space-between;
  align-items: center;
  padding:21px 50px;
  background:#fff;
  font-family: 'Kiwi Maru', serif;
  line-height: 0.8;
}
header h1,header .logo{
  font-size:2.7rem;
  font-weight:500;
}
header h1 span,header .logo span{
  padding-left:1rem;
  font-size:1.8rem;
}
header h1 a,header .logo a{
  color:#000;
}
header h1 a:hover,header .logo a:hover{
  color:#000;
  text-decoration: none;
}
.blockNav>ul{
  display: flex;
	align-items: center;
  font-family: 'Kiwi Maru', serif;
  font-size:1.7rem;
  font-weight: 400;
}
.blockNav>ul li{
  position: relative;
}
.blockNav .home img{
	width:20px;
}
nav li+li{
  margin-left:27px;
}

nav a{
  color:#6b5f48;
  transition:0.2s;
}
nav a:hover{
  color:#28aee9;
}
.blockNav>ul>li>a{
  position: relative;
  z-index: 10;
}
.subNav{
  position: absolute;
  width:150px;
  top:15px;
  left:-10px;
  margin:0;
  padding:0;
}
.subNav li{
  overflow: hidden;
  opacity:0;
  height:0;
  transition:0.3s;
}
.subNav li+li{
  margin-left:0;
}
.blockNav>ul>li:hover .subNav li{
  overflow: visible;
  opacity: 1;
  height:auto;
  background:rgba(255,255,255,0.9);
}
.subNav a{
  display: block;
  padding:10px;
  color:#6b5f48;
  line-height: 1.2;
  transitioni:0.2s;
}
.subNav a:hover{
  background:#eee;
}
.subNav li:first-child a{
  padding-top:10px;
}
.menu{
  display: none;
}


@media(max-width:1080px){
  header{
    flex-direction:column;
  }
  header h1,header .logo{
    margin-bottom:40px;
  }
}
@media(max-width:768px){
  header{
    padding:21px 0 0;
  }
  header h1,header .logo{
    margin-bottom:20px;
  }
  header h1 span,header .logo span{
    line-height: 2;
  }
  header h1 span::after,header .logo span::after{
    content: "\A" ;
	  white-space: pre ;
  }
  /*nav*/
  nav.active{
    height:100vh;
  }
.blockNav>ul{
    flex-direction: column;
	align-items:stretch;
  }
  .menu , .menu span{
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .menu {
    position: fixed;
    top: 20px;
    left: 25px;
    width: 35px;
    height: 22px;
    z-index: 10;
    background: #fff;
    border: none;
  }
  .menu span {
    position: absolute;
    left:0;
    width: 100%;
    height: 2px;
    background-color: #000;
    z-index: 10;
    transition:.2s;
  }
  .menu span:nth-of-type(1) {
    top:0;
  }
    .menu span:nth-of-type(2){
      top:10px;
    }
    .menu span:nth-of-type(3){
      bottom:0;
    }
    .menu.active span:nth-of-type(1) {
      transform:translateY(10px) rotate(45deg);
    }
    .menu.active span:nth-of-type(2) {
      opacity: 0;
    }
  .menu.active span:nth-of-type(3) {
    transform: translateY(-10px) rotate(-45deg);
    }
  .blockNav {
    position: fixed;
    top:105px;
    right:0;
    z-index: 10;
    width:100%;
    height: 0vh;
    opacity: 0;
    background:#fff;/*
    visibility: hidden;
    transition:.2s;*/
  }
  .blockNav.active {
    right:0;/*
    height:90%;*/
    height:85vh;
    opacity: 1;
    transform: translateX(0);
    overflow: scroll;
  }
  .blockNav ul{
    padding:0;
    margin: 0;
    list-style: none;
  }
  .blockNav>ul {
    visibility: hidden;
    transition:.2s;
  }
  .blockNav.active>ul{
    visibility: visible;
  }
    .blockNav li{
      margin-left:0;
      border-bottom:1px solid #ccc;
    }
    .blockNav a {
      display: block;
      padding:15px 0 15px 60px;
      text-align: left;
      color:#333;
    }
    .subNav li:first-child a{
      padding:15px 0 15px 100px;
    }
    .subNav{
      position: inherit;
      top:0;
      left:0;
      width:100%;
      margin:0;
      padding:0;
    }
    .subNav li{
      overflow:visible;
      opacity:1;
      height:auto;
      transition:none;
    }
    .subNav li:first-child{
      border-top:1px solid #ccc;
    }
    .subNav li:last-child{
      border-bottom:none;
    }
    .subNav a{
      padding-left:100px;
      background:url("../images/icn_arrow02.png") no-repeat 80px 50%;
      line-height:inherit;
    }
}

/*-----------------------------------------------------footer*/
footer{
  position: relative;
  padding-top:77px;
  background:#fff;
}
footer .pagetop{
  position: absolute;
  top:-45px;
  right:20px;
}
footer .pagetop a{
  opacity: 1;
  transition: 0.2s;
}
footer .pagetop a:hover{
  opacity:0.8;
}
.innerFooter{
  display: flex;
  justify-content:space-around;
  max-width:1200px;
  margin:0 auto 115px;
}
.innerFooter h2{
  display:inline-block;
  margin-bottom:1rem;
  font-family: 'Kiwi Maru', serif;
  font-size:3rem;
  font-weight:500;
  line-height: 1.3;
}
.innerFooter h2 span{
  padding-left:1rem;
  font-size:2rem;
}
.ftAddress address{
  font-style:normal;
}
.ftAddress address span{
  display: inline-block;
  margin-top:10px;
}
.ftNav{
  display: flex;
}
.ftNav ul+ul{
  margin-top:10px;
}
.blockFtNav+.blockFtNav{
  margin-left:80px;
}
footer small{
  display:block;
  text-align: center;
}

@media(max-width:1080px){
  .innerFooter{
    flex-direction:column;
  }
  .innerFooter h2{
    text-align: center;
    line-height: 1.2;
  }
  .ftAddress{
    display: flex;
    justify-content: center;
    width:calc(100% - 32px);
    margin:50px 16px 0;
  }
  .ftAddress h2{
    margin-right:50px;
  }
  .ftNav{
    justify-content: center;
    width:calc(100% - 32px);
    margin:50px 16px 0;
  }
  .ftNav h3{
   font-size:1.8rem; 
  }
}
@media(max-width:768px){
  .innerFooter{
    margin-bottom:30px;
  }
  .innerFooter h2{
    margin-bottom:30px;
  }
  .innerFooter h2 span{
    padding-left:0;
  }
  .ftNav{
    flex-direction: column;
    align-items: center;
    width:100%;
    margin:0;
    border-bottom:1px solid #6b5f48;
  }
  .blockFtNav{
    width:100%;
    text-align: center;
  }
  .blockFtNav+.blockFtNav{
    margin-left:0;
  }
  .blockFtNav h3{
    display: block;
    background:#fff;
    border-top:1px solid #6b5f48;
    font-size:1.6rem;
  }
  .blockFtNav h3 a{
    display:block;
    padding:10px 0 10px;
  }
  .blockFtNav ul{
    display:none;
  }
  footer small{
    font-size:1.2rem;
  }
  .ftAddress{
    flex-direction: column;
    align-items: center;
    padding:0 0 30px 0;
    text-align:center;
  }
  .ftAddress h2{
    margin-right:0;
  }
}