@charset "utf-8";
/* =================
common
==================== */
html {
    font-size: 62.5%;

}

body {
  font-family:
    "Noto Sans JP",
    sans-serif;
 font-style: normal;
 color:#2f2f2f;
 background-color: #fff;
 line-height: 1.5; 
}

img {
    width: 100%;
    height: auto;
}

.nav active {
    transform: translate(100%);
}

/* =======================
header
========================== */
.header {
    position: relative;
}
/* .nav 初期表示 */

.nav {
    background: #D9043D;
    width: 100%;
    height: 100vh;
    position: fixed;
    left:0;
    top:0;
    z-index: 100;
    padding: 141px 60px 150px 60px;
    text-align: center;
    transform: translateX(-100%);
    transition: transform 0.4s;
    

}



.nav__btn {
    width: 30px;
    height: 30px;
}

.nav__item  {
    color: #fff;
    margin-top: 50px;
    font-size: 2.4rem;
    text-align: center;
    border-bottom: 1px solid #fff;
    font-weight: 200;
}



.nav-btninstagram {
    width: 225px;
    height: 42px;
    display: inline-block;
    background-color: #fff;
    color: #D9043D;
    border-radius: 10px;
    text-align: center;
    

}

.active  {
    transform: translateX(0);
}

ul li:last-child {
    border-bottom: none;
}

/* ボタンのレイアウト設定  */
.header-nav{
    position:absolute;
    top:0;
    right:0;
    z-index:9999;
}

/* ボタンの装飾設定  */
.nav_toggle{
    position: relative;/*ボタン内側の基点となるためrelativeを指定*/
    cursor: pointer;
      width: 50px;
      height:50px;
    border-radius: 5px;
    z-index: 110;
  }
  
  /*ボタン内側*/
  .nav_toggle span{
      display: inline-block;
      transition: all .4s;/*アニメーションの設定*/
      position: absolute;
      left: 14px;
      height: 3px;
      border-radius: 2px;
    background: #fff;
      width: 45%;
    }
  
  .nav_toggle span:nth-of-type(1) {
    top:15px; 
  }
  
  .nav_toggle span:nth-of-type(2) {
    top:23px;
  }
  
  .nav_toggle span:nth-of-type(3) {
    top:31px;
  }
  
  /*activeクラスが付与されると線が回転して×に*/
  
  .nav_toggle.active span:nth-of-type(1) {
      top: 18px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 30%;
  }
  
  .nav_toggle.active span:nth-of-type(2) {
    opacity: 0;/*真ん中の線は透過*/
  }
  
  .nav_toggle.active span:nth-of-type(3){
      top: 30px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 30%;
  }

  span.text
{
    display:none;
}



@media screen and (min-width:769px) {


.hamburger_btn {
    z-index: 100;
}

@media screen and (min-width:769px) {
   .nav__item {
        margin: 5% 360px;
}
}

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400&display=swap');

.scroll_down{
  position:absolute;
  bottom:-10%;
  right:50%;
  animation: arrowmove 1s ease-in-out infinite;
}

.scroll_down a{
  position: absolute;
  left: -24px;
  bottom: 30px;
  color: #000;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  width: 24px;
  height: 24px;
  text-decoration: none;
}

span.text
{
    display:block;
}


.text {
  display: block;
  margin-top: 70px;
  margin-left: -14px;
  font-size: 12px;
  color: #000;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: 2px;
}

.arrow {
  position: absolute;
  width: 28px;
  height: 5px;
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation: move 3s ease-out infinite;
}

.arrow:first-child {
  animation: move 3s ease-out 1s infinite;
}

.arrow:nth-child(2) {
  animation: move 3s ease-out 2s infinite;
}

.arrow:before,
.arrow:after {
  content: ' ';
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #000;
}

.arrow:before {
  left: 0;
  transform: skew(0deg, 30deg);
}

.arrow:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}

@keyframes move {
  25% { opacity: 1; }
  33% { opacity: 1; transform: translateY(30px); }
  67% { opacity: 1; transform: translateY(40px); }
  100% { opacity: 0; transform: translateY(55px) scale3d(0.5, 0.5, 0.5); }
}

}

/* ===============================
access
=================================== */
.section--access {
    position: relative;
    padding-bottom: 10px;
    
}

.ifream__image {
    position: relative;
    
}
.image__access {
    position: absolute;
    left: 70%;
    transform: rotate(270deg);
    width:200px ;
    }


 .map {
    display: block;
    width: 90%;
    height: 200px;
    margin: 200px auto 50px;
 }

 @media screen and (min-width:769px){
    .map {
        height: 600px;
    }

    .ifream__image {
        position: relative;
    }
    .image__access {
       position: absolute;
    left: 70%;
    top: 7%;
    transform: rotate(270deg);
    width: 500px;
 }
 }
 /* ==================================
  footer
 ===================================== */

 .address--image {
    display: block;
   display: none;

 }

 
 
 .address {
    color: #000;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 27px; 
    letter-spacing: 3.2px;
    margin: 10px;
    
 }
 .address_phone {
    color: #000;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2.8px;
    margin: 10px;
 }

 .address__detail {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2.0px;
    margin: 10px;
    line-height: 37px;
 }

 .instagram {
    width: 219px;
    height: 42px;
    display: block;
    background-color: #D9043D;
    color: #fff;
    border-radius: 20px;
    text-align: center;
    margin: 30px auto;
    position: relative;
        
 }

.instagrambtn {
    color: #FFF;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2.08px;
    display: block;
    padding: 8px 20px 8px 38px;
    
}
.instagramBtn-img {
    width: 20px;
    height: 20px;
    position: absolute;
    left: 30px;
    top: 10px;
    
}

.copy {
    background-color: #D9043D;
    margin-top: 70px;
    color: #FFF;
    font-weight: 500;
    text-align: right;
    padding:    10px;
}


@media screen and (min-width:769px) {
    .address ,
    .address_phone ,
    .address__detail{
        color: #000;
        font-family: Inter;
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 27px; /* 135% */
        letter-spacing: 4px;
        margin: 8px 0 ;
        text-align: left;
    }
    
    .access {
        text-align: left;
        margin-left: 30px;
    }
    .footer_access {
        display: flex;
        justify-content: space-around;
        align-items: center;

    } 
    .instagram {
        margin: 0;
    }
    a[herf^="tel:"]{
        pointer-events: none;

    }
    }
    