@charset "UTF-8";

/* CSS Document */



* {
    margin: 0px;
    padding: 0px;
}

body {
  color: #252525;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 1px;
  line-height: 1.4;
}

/* フェードイン(初期値) */
.js-fadeUp {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(30px); /* 下に30pxの位置から */
  transition: opacity .6s, transform .6s; /* 透過率と縦方向の移動を0.6秒 */
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .3s; /* フェード開始を0.3秒遅らせる */
}


a {text-decoration: none;}

li{list-style: none;}

@media screen and (min-width: 481px){
.br-sp {display: none; }
}

img {
  width: 100%;
}


.container{
  width: 1000px;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  padding-top: 80px;
  padding-bottom: 80px;
}

.container p{
  font-size: 18px;	
  line-height: 1.5;	
  letter-spacing: 0.03em;	
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

.container h2{
  color:#B7400B;
  font-size: 32px;	
  line-height: 1.4;	
  letter-spacing: 0.03em;	
  font-weight: 400;
  margin-bottom: 30px;
}

.container h3{
  font-size: 32px;	
  line-height: 1.4;	
  letter-spacing: 0.03em;	
  font-weight: 500;
}


@media screen and (max-width: 1000px){
  .container{
    width: 90%;
  }

  .container h3{
    font-size: 24px;	
  }
}

.twoColumn {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

header {
  width: 100%;
  height: 80px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  background-color: #F7F5F2;

}

@media screen and (max-width: 1000px){
  header {
    height: 60px;
    position: fixed;
    z-index: 400;
    box-shadow: 0 -7px 15px 0 #252525;
    }

  /*　上に上がる動き　*/

  header.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
}

header a{
  color: #252525;
  transition: 0.3s;
}

header a:hover{
  color: #909090;
}


header h1{
font-size: 24px;	 
line-height: 1.5;	
letter-spacing: 0.03em;	
font-weight: 500;
position: absolute;
left: 25px;
top: 22px;
}

@media screen and (max-width: 1000px){
  header h1{
    font-size: 18px;	
    left: 15px;
    top: 15px;
    }  
}

@media screen and (max-width: 1000px){
  .headNav {
    display: none;	
  }
}


.headNav ul{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  position: absolute;
  right: 25px;
  top: 25px;
}

.headNav li{
  margin-left: 30px;
}

.headNav a{
  font-size: 18px;	
}

.number a{
  color:#B7400B;
  font-family: 'Roboto', sans-serif;
  font-size: 24px;	
  line-height: 1.2;	
  letter-spacing: 0.03em;	
  transition: 0.3s;
}

.number a:hover{
  opacity: 60%;
  color:#B7400B;
}



.dropmenu li ul{
  width:200px;
  background-color: #F7F5F2;
  position: absolute;
  z-index: 100;
  top: 55px;
  right: 300px;
}

.dropmenu li ul li{
  overflow: hidden;
  height: 0px;
  transition: .3s;
}

.dropmenu li:hover ul li{
  overflow: visible;
  height: 35px;
  }

  .dropmenu li:hover ul li:nth-child(1){
    padding-top: 10px;
    }

 

  .menu__child li {
    height: 0;
    overflow: hidden;
    transition: 0.3s;
    }

    .menu ul {
    padding: 0;
    }
    
    .menu li:hover > ul > li {
    height: 3.2rem;
    overflow: visible;
    }
  


.contactBar{
   width: 100%;
   height: 50px;
   position: fixed;
   bottom: 0;
   background-color: #F7F5F2;
   z-index: 100;
   box-shadow: 0 9px 12px 0 #252525;
}    

.contactBar p{
  font-size: 16px;
  color:#B7400B;
  position: absolute;
  left: 10px;
  top:15px;
} 

.contactBar a{
  font-size: 22px;
  color:#B7400B;
  font-family: 'Roboto', sans-serif;
  position: absolute;
   right: 10px;
   top:13px;
} 

.contactBar a svg{
  width: 18px;
  position: relative;
  top:2px;
  left: 5px;
} 



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

}




@media screen and (max-width: 1000px){
  .slide{
    height: 450px
  }
  .slide img {
    height: 100vh;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    width: 100%;
  }

}






.topCopyWrap .container{
  padding-top: 50px;
  padding-bottom: 0px;
}

.topCopyWrap p{
  font-size: 34px;	
  line-height: 1.6;	
  letter-spacing: 0.03em;	
  font-family: 'Noto Serif JP', serif;
}



.twoColumn-left{
  width: 480px;
  text-align: left;
}

.twoColumn-right {
  width: 480px;
}

.topAbout .twoColumn-left{
  margin-top: 100px;
}

@media screen and (max-width: 1000px){
  .topCopyWrap .container{
    padding-top: 25px;
    
  }
  
  .topCopyWrap p{
    font-size: 18px;
  }

  .twoColumn-left{
    width: 100%;
  }
  
  .twoColumn-right {
    width: 100%;
  }
  
}



.topAbout h2{
  font-family: 'Roboto', sans-serif;
  font-size: 24px;	
  line-height: 1.5;	
  letter-spacing: 0.03em;	
}

.topAbout p{
  margin-bottom: 20px;
  margin-top: 15px;
}

@media screen and (max-width: 1000px){
  .topAbout .twoColumn-left{
    margin-top: 0;
    margin-bottom: 30px;
  }

  .topAbout p{
    margin-bottom: 15px;
  }

}

.Button1 {
  display: inline;
  background-color: #fff;
  color: #252525;
  padding-top: 15px;
  padding-bottom: 15px;
  border: solid 1px #252525;
  width: 100%;
  border-radius: 0;
  font-size: 24px;	
  line-height: 1.5;	
  letter-spacing: 0.03em;	
  transition: 0.3s;
  font-family: 'Noto Serif JP', serif;
}



.Button1:hover {
     background-color: #252525;
     color: #fff;
     }

.Button2 {
  display: inline;
  background-color: #B7400B;
  color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  border: none;
  width: 100%;
  max-width: 600px;
  border-radius: 0;
  font-size: 24px;	
  line-height: 1.5;	
  letter-spacing: 0.03em;	
  transition: 0.3s;
  font-family: 'Noto Serif JP', serif;
  margin-top: 40px;
  box-shadow: 0 5px 7px 0 #b3b3b3;
}

.Button2:hover {
  background-color: #892A00;
  box-shadow: 0 2px 7px 0 #b3b3b3;
  }
   


.rightHoverWrap{
  overflow: hidden;
}

.rightHoverWrap img{
  transition: 0.3s;
}

.rightHoverWrap:hover img{
  transform: scale(1.05);
}

@media screen and (max-width: 1000px){

  .Button1 {
    font-size: 20px;	
  }

  
  .rightHoverWrap{
    height: 300px;
  }

  .rightHoverWrap img{
    transform: translateY(-0.9in);
  }

  
}

.serviceWrap{
  background-color: #F7F5F2;
}     

.serviceContentWrap{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}


.serviceContent{
  position: relative;
  width: 480px;
  overflow: hidden;
  margin-bottom: 40px;
}

.serviceContent:before {
  content: "";
  display: block;
  padding-top: 66.5%;
}


.serviceContent h3{
  position: absolute;
   top:40%;
   left:50%;
   transform: translate(-50%,-70%);
   color: #fff;
   font-size: 30px;
   width:100%;
}


.serviceContent p{
  position: absolute;
  top:60%;
  left:50%;
  transform: translate(-50%,-45%);
   color: #fff;
   font-family: 'Noto Serif JP', serif;
   font-size: 20px;
   padding-top: 10px;
   padding-bottom: 10px;
   border: solid 1px #fff;
   width: 200px;
   text-align: center;
   margin-right: auto;
   margin-left: auto;
   transition: 0.3s;
}

@media screen and (max-width: 1000px){
  .serviceContent{
    width: 100%;
    margin-bottom: 30px;
  }
  .serviceContent p{
     width: 300px;
  }
}

@media screen and (max-width: 480px){
  .serviceContent p{
     width: 60%;
  }
}



.serviceContent a img{
  transition: 0.3s;
  position: absolute;
  top:0;
  left:0;
}

.serviceContent a:hover img{
  transform:scale(1.1);
}

.serviceContent a:hover p{
   color: #252525;
   background-color:#fff;
}

.access iframe{
  width: 100%;
  height: 500px;
}



.access .container h3{
  text-align: left;
  font-size: 24px;	
  line-height: 1.3;	
  letter-spacing: 0.03em;	
  margin-top: 15px
}

.access .container p img{
  width: 20px;
  position: relative;
   top: 3.5px;
}

.access .container p{
  text-align: left;
  margin-top: 5px
}

@media screen and (max-width: 1000px){
  .access iframe{
    width: 100%;
    height: 300px;
  }

  .access .container h3{
    font-size: 22px;	
  }
}



.contact{
  background-color: #F7F5F2;
}   

.contactButtonWrap{
  margin-top: 30px;
  margin-bottom: 20px;
}

.contact .Button1{
  background-color: #F7F5F2;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 600px;
  font-size: 30px;
  margin-bottom: 	15px;
}

.contact .Button1:hover{
  background-color: #252525;
  color: #F7F5F2;
}
.exContact li{
margin-bottom: 10px;
}

.exContact a{
  color: #252525;
  transition: 0.3s;
  font-size: 20px;
}

.exContact a:hover{
  color: #909090;
}

@media screen and (max-width: 1000px){
  .contact .Button1{
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
    font-size: 24px;
    margin-bottom: 10px;
  }
}



footer{
  background-color: #252525;
  color: #fff;
}

footer h1{
  font-size: 30px;
  font-weight: 400;
}



footer a{
  color: #fff;
  transition: 0.3s;
}

footer a:hover{
  color: #575757;
}


.footerLeft{
  width: 520px;
  text-align: left;
}

.footerLeft p{
  margin-top: 15px;
  font-size: 16px;
}



.footerRight{
  text-align: left;
}

@media screen and (max-width: 1000px){
  footer h1{
    font-size: 26px;
  }

  .footerLeft{
    width: 100%;
  }

  .footerRight{
    display: none;
  }
}

.footerRight a{
  font-size: 18px;
}

.footerRight li{
  margin-bottom: 5px;
}

.copywright{
  width: 100%;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 30px;
}

.copywright p{
  font-size: 16px;
}

@media screen and (max-width: 480px){
  .copywright{
    padding-bottom: 70px;
  }
}






/*　ハンバーガーボタン　*/


.hamburgerCursor {
  display : block;
  position: fixed;
  z-index : 200;
  right : 20px;
  top   : 7px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
}

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

.hamburgerCursor span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #252525;
}

.hamburgerCursor span:nth-child(1) {
  top: 10px;
}
.hamburgerCursor span:nth-child(2) {
  top: 20px;
}
.hamburgerCursor span:nth-child(3) {
  top: 30px;
}




.hamburgerCursor span:nth-of-type(1) {
  animation: menu07-bar01 .75s forwards;
}
@keyframes menu07-bar01 {
  0% {
    transform: translateY(10px) rotate(45deg);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.hamburgerCursor span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.hamburgerCursor span:nth-of-type(3) {
  animation: menu07-bar03 .75s forwards;
}
@keyframes menu07-bar03 {
  0% {
    transform: translateY(-10px) rotate(-45deg);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.hamburgerCursor.active span:nth-of-type(1) {
  animation: active-menu07-bar01 .75s forwards;
}
@keyframes active-menu07-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(10px) rotate(0);
  }
  100% {
    transform: translateY(10px) rotate(45deg);
  }
}
.hamburgerCursor.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburgerCursor.active span:nth-of-type(3) {
  animation: active-menu07-bar03 .75s forwards;
}
@keyframes active-menu07-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-10px) rotate(0);
  }
  100% {
    transform: translateY(-10px) rotate(-45deg);
  }
}













.hamburger{
  display: none;
  background: #F7F5F2;
}

@media screen and (max-width: 1000px){
  .hamburger{
    display: block;
    background: #F7F5F2;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    transform: translateX(100%);
    z-index: 200;
    transition: all 0.6s;
  }
}

/* このクラスを、jQueryで付与・削除する */
.hamburger.active {
  transform: translateX(0%);
}


.hamburger .container{
  padding-top: 0;
  padding-bottom: 0;
}

.hamburger .container h2{
  font-size: 24px;	
  margin-bottom: 0;
}

.hamburger .contactButtonWrap{
  margin-top: 15px;
  margin-bottom: 20px;
}


.hamburgerMenu{
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-bottom:40px;
  margin-top: 90px;
}

.hamburgerMenu ul{
  background-color: #F7F5F2;
}

.hamburgerMenu li{
  margin-bottom: 15px;
}

.hamburgerMenu a{
  font-size: 20px;
  transition: 0.3s;
  color: #252525;
}

.hamburgerMenu a:hover{
  color: #909090;
}


.hamburger .exContact li{
margin-bottom: 8px;
}

.hamburger .exContact a{
  font-size: 20px;
}



.List{
  margin-bottom: 15px;
}


.List-Item {
  color: #838383;
  display: inline;
  font-size: 14px;
  transition: .3s;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

.List-Item:hover {
 opacity: 50%;
}

.List-Item::after {
  content: '＞';
  padding: 0;
}

.List-Item:last-child::after {
  content: '';
}

.List-Item-Link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

@media screen and (max-width: 1000px){
  .singleHead {
    padding-top: 60px;
    }
  }

  .singleWrap{
    margin-top: 30px;
  }


.singleWrap .container{
  text-align: left;
  margin-bottom: 120px;
  padding-top: 0;
}

@media screen and (min-width: 1001px){
  .singleWrap .container h2{
    text-align: center;
  }

  .singleWrap .twoColumn-left{
    padding-top: 100px;
  } 
  }




.singleWrap .container h3{
  font-size: 24px;
  margin-bottom: 20px;
}


.singleWrap .container img{
  margin-top: 30px;
  margin-bottom: 30px;
}

.singleWrap .twoColumn:nth-child(2n){
  flex-direction:row-reverse;
}