@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');







.home .header-wrap{
  position: absolute;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 80%);
}
.header-wrap{
  background: #314366;
}
.header-wrap{
  display: none;
  z-index: 100;
  font-family: "Shippori Mincho", serif;
  width: 100%;
  top: 0;
  left: 0;

  padding: 1em 0;
}
.header-inner{
  max-width: 1180px;
  margin: 0 auto;
  width: 95%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-wrap .logo{
  width: 216px;
}
#navArea .header-menus{
  display: block;
}
#navArea .header-menu{
  display: block;
}
.header-menus{
  display: flex;
  justify-content: flex-end;
  align-items:center;
  gap: 0.6em;
}
.header-menus ul{
  padding: 0;
  margin: 0;
}
.header-menus ul li{
  padding: 0;
  margin: 0;
}
.header-menu{
  gap: 0.3em;
  width: fit-content;
  background: transparent;
  display: flex;
  justify-content: flex-start;
}
.header-menu1 a{
  color: #fff;
  padding: 1em 0.35em;
  font-size: 13px;
  white-space: nowrap;
}
.header-menu1 a:hover{
  color: #b07c53;
}
.header-menu2 a{
  border-radius: 3em;
  color: #b07c53;
  background: #fff;
  padding: 0.7em 0.9em;
  font-size: 13px;
  white-space: nowrap;
}
.home .header-menu2 a:hover{
  color: #fff;
  background: #314265;
}
.header-menu2 a:hover{
  color: #fff;
  background: #000;
}
a.header-menu3{
  border-radius: 3em;
  background:#b07c53;
  padding: 0.7em 1.2em;
  display: block;
}
.home a.header-menu3:hover{
  background: #314265;
}
a.header-menu3:hover{
  background: #000;
}
a.header-menu3:hover img{
  opacity: 1;
}

#navArea a.header-menu3{
  margin-top: 30px;
}




/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 100vw;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
  visibility: hidden;
}
.open nav {
  left: 0;
  opacity: 1;
  visibility: visible;
}
nav .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  background: #e4e4e4;
}
@media screen and (max-width: 767px) {
  nav {
    left: -100vw;
    width: 100vw;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 20px;
  right: 5%;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 14px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #111;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}
body.scrolled .toggle_btn span{
  background-color: #111;
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
  visibility: hidden;
}
.open #mask {
  visibility: visible;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}


@media screen and (min-width: 1200px) {
  .toggle_btn{
    display: none;
  }
}








.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:2s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:2s;
  animation-delay: 1.5s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から右*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #b07c53;
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger{
    opacity: 0;
}



@media screen and (min-width: 1200px) {
  .header-wrap{
    display: block;
  }
}




.pre-footer-grid{
  width: 90%;
  margin: 40px auto 0;
  grid-template-columns: 1fr;
  color: #fff;
  display: grid;
  gap: 20px;
}
.pre-footer-contact{
  background: url(./images/top-new/contact-bg.jpg);
  background-size: cover;
  padding: 80px 5%;
  text-align:center;
}
.pre-footer-contact h4{
  text-align: center;
  font-size: font-size: clamp(16px,2vw,20px);
}
.tel-footer{
  max-width: 700px;
  margin: 40px auto;
display: block;
}
.tel-footer img{
  display: block;
}
.contact-footer{
  display: block;
  max-width: 400px;
  margin: 0 auto 0;
}
.contact-footer img{
  display: block;
}







.works-more {
  transition: .5s;
  padding-bottom: 0.1em;
  font-size: 12px;
  padding-right: 2em;
  bottom: 0;
}


.lineArrow {
  width: 90%;
  height: 10px;
  right: 1em;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
   /*傾きを調節*/
  transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: -10px 0 0 -25px;
  position: absolute;
  bottom: 0;
}
/* .works-item:hover .works-more{
  transform: translateX(10px);
} */
.works-item:hover{
  color: #111;
}
.works-item:hover .thum-img{
  transform: scale(1.1);
}


.shippori{
  font-family: "Shippori Mincho", serif !important;
  font-weight: 400;
}


.pre-footer-blog{

  border-radius: 50px 0 0 0;
}
.pre-footer-staff-blog{

  border-radius: 0 0 50px 0;
}
.pre-footer-blog , .pre-footer-staff-blog{
  background: #314265;
  color: #fff;
  padding: 60px 5%;
  display: block;
  position: relative;
}
.pre-footer-blog img , .pre-footer-staff-blog img{
  height: clamp(54px,8vw,80px);
  width: auto;
  display: block;
}
.pre-footer-blog .works-more .lineArrow,.pre-footer-staff-blog .works-more .lineArrow{
  border-color: #fff;
}

.pre-footer-blog .works-more,.pre-footer-staff-blog .works-more{
  color: #fff;
  position: absolute;
  bottom: 40px;
  right: 5%;
}
.pre-footer-blog:hover , .pre-footer-staff-blog:hover{
  background: #b07c53;
}
.pre-footer-blog:hover img , .pre-footer-staff-blog:hover img{
  opacity: 1;
}
@media screen and (min-width: 992px) {
  .pre-footer-blog{
    grid-area: 2 / 1 / 3 / 2;
    border-radius: 50px 0 0 0;
  }
  .pre-footer-staff-blog{
    grid-area: 2 / 2 / 3 / 3;
    border-radius: 0 0 50px 0;
  }
  .pre-footer-contact{

    grid-area: 1 / 1 / 2 / 3;
  }
  .pre-footer-grid{
    grid-template-columns: 1fr 1fr;
  }
  .pre-footer-blog img , .pre-footer-staff-blog img{
    margin: 0 auto;
  }
}






.more-btn{
  position: relative;
  margin: 40px 0 0 auto;
  color: #111;
  display: block;
  width: 200px;
  padding-bottom: 0.1em;
  font-size: 14px;
}
.more-btn::after{
content: '';
width: 102%;
height: 10px;
right: 1em;
border-bottom: 1px solid #111;
border-right: 1px solid #111;
 /*傾きを調節*/
transform: skew(45deg);
position: absolute;
display: block;
right: 0;
bottom: -2px;
}
.more-btn::before{
  content: '';
  width: 30px;
  height: 30px;
  border: 1px solid #111;
  border-radius: 15px;
  position: absolute;
  right: -14px;
  bottom: -11px;
  display: block;
  transition: .5s;
}
.more-btn:hover{
  color: #111;
}
.more-btn:hover::before{
  transform: scale(1.3);
}
.more-btn.more-btn-white{
  color: #fff;
}
.more-btn.more-btn-white::after{
  border-color: #fff;
}
.more-btn.more-btn-white::before{
  border-color: #fff;
}



.home .header-wrap-sp{
  position: absolute;
  background: transparent;
  top: 0;
  left: 0;
  width: 100%;
}
.header-wrap-sp{
  padding: 15px 5%;
  background: #314265;
  width: 100%;
  z-index: 2;

}
.header-wrap-sp .header-logo-sp{
  width:180px;
  display: block;
}
@media screen and (min-width: 1200px) {
  .header-wrap-sp{
    display: none;
  }
}


.pc-hide-br{
		display: none;
	}
@media screen and (max-width: 1000px) {
	.pc-hide-br{
		display: inline;
	}
}
