@charset "UTF-8";
/*Theme Name:SAITO PHOTOSTUDIO
Description:SAITO PHOTOSTUDIO様用のテンプレートページです
Version:1.0
Author:K.Saito
*/
/*共通部分*/
.js-fadeinup-trigger,
.js-fadein-trigger {
  opacity: 0;
}
body {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #F9F1FE;
  color: #8C8C8C;
  margin: 0vw;
padding: 0vw;
  margin-left:calc(-50vw + 50%);
  height: 100vh;

 
}
@media screen and (max-width: 850px) {
  body {
    font-size: 1.5vw;
  }
}
body.is-noScroll {
  width: 100%;
  height: 100%;
  position: sticky;
}
main{
  padding-top: 0vw;

}
a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
}
a[target=_blank] {
  text-decoration: underline;
}
p{
  font-size: 1.3vw;
}
h2{
  font-size: 4vw;
}
img {
  max-width: 100%;
  height: auto;
}
li {
    list-style: none;
  }
  
  .grecaptcha-badge {
    visibility: hidden;
  }

  #fixed-header {
    position: sticky;
    z-index: 1000;
    padding-top: 0;
    left: 0;
    right: 0;
    opacity: 1;
    visibility: visible;
    transition: slide 0.5s ease-in-out; /* アニメーションタイミング */
    max-width: 100%;
    box-sizing: border-box;
    align-items: center;

  }
  .fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
  }
  .header{
    max-width: 100%;
    background-color: #FFFFFF;
    height: 5vw;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
    position: sticky;
    align-items: center;
  
    
    
  }
  
  @keyframes slide {
    0% {
      transform: translateY(-100%);
    }
  
    100% {
      transform: translateY(0%);
    }
  }
  
  .main-nav{
    display: flex;
   align-items: center;
    text-transform: uppercase;
   list-style: none;
   align-items: center;
   transition: 0.5s ease;
   margin: 0vw;
   box-sizing: border-box;
   width: 100%;
   justify-content: space-between;


  }
  .main-nav li{
   align-items: center;
   display: flex;
font-size: 1.3vw;

  }
  .main-nav li:hover {
    border-bottom: #525252 1px solid;
    }
    .main-nav li:nth-of-type(6){
      margin-right: -3vw;
      background-color: rgba(242, 155, 236, 0.6);
      border-radius: 0.5vw;
      padding: 1.6vw 3.5vw;
      transition: 1s ease;
    }
  .main-nav li:last-of-type{
    margin-right: 0;
    background-color: rgba(242, 155, 236, 0.6);
    padding: 1.6vw 2vw;
    transition: 1s ease;
    border-radius: 0.5vw;
  }
  .main-nav li:last-of-type:hover{
    background-color:#99AFF2;
    border-bottom: hidden;
  }
  .main-nav li:nth-of-type(6):hover{
    background-color:#99AFF2;
    border-bottom: hidden;
  }

.site-id{

  background-image: url(img/logo.png);
  width: 20vw;
height: 10vw;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 5vw;
  margin-right: 10vw;
  margin-top: 7vw;
  align-items: center;
}
.btn-nav {
  display: none;
}
.inner.is-small{
  padding-bottom: 5vw;

}
.c-breadcrumbs{
  margin-top: 1vw;
  margin-left: 3vw;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.1vw;
    line-height:2vw;

  }

  .c-breadcrumbs > li {
    display: inline-block;
    position: relative;
  }
  .c-breadcrumbs > li:not(:last-of-type)::after {
    content: ">";
    display: inline-block;
    margin-right: 0.5em;
    margin-left: 0.5em;
  }
  .page-title{
    font-size: 4vw;
  letter-spacing: 1vw;
  font-weight: 900;
  padding: 1vw 1vw 5vw 3vw;
  background: linear-gradient(to right,#99AFF2,#99AFF2,#FFF,#9DCCE6,#F9F1FE);
  border-radius: 0.2vw;
  line-height: 4vw;
  text-shadow:rgba(0,0,0,0.2) 0.2vw 0.2vw;
  position: relative;
  margin: 0;
  z-index: 100;
  animation-name:fadeLeftAnime;
  animation-duration:3s;
  animation-fill-mode:forwards;
  opacity:0;
color: #F199E3;

}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}
    .page-title::after {
      content:attr(data-title);
      font-size: 4vw;
      display: block;
      letter-spacing: 2vw;
      color: rgba(212, 212, 212, 0.5);
    position: absolute;
      z-index: 1000;
      text-shadow: #d4d4d4 0.05vw 0.05vw;
    font-weight: 900;
    text-transform: uppercase; 
    animation-name:fadeLeftAnime;
      animation-duration:3s;
      animation-fill-mode:forwards;
      opacity:0;
    }
  @keyframes bg {
    0% {
      opacity: 0;
      transform: scaleX(0) translateX(-5%);
    }
    30% {
      transform: scaleX(1) translateX(0);
    }
    100% {
      transform: scaleX(1) translateX(0);
    }
    30%, 100% {
      opacity: 1;
    }
  }
  #pagetop {
    position: fixed;
    width: 3.5vw;
    height: 3.5vw;
    background-color: #FFF;
    bottom: 1vw;
    right: 1vw;
border-radius: 50vw;
    cursor: pointer;
    box-shadow: rgba(0, 0, 0, 0.25) 0.2vw 0.2vw;
  }
  #pagetop span{
    width: 2.5vw;
    height: 2.5vw;
   display: block;
   margin: 1vw auto;
   
  } 
 /*top page*/
 
 .main-content{
    justify-content: center;
    position: relative;}
    .animation-box {
      opacity: 0;
      transform: translateY(-20px);
      transition: 5s ease;
      padding-bottom: 5vw ;
    }
     
.main-tit{
   font-size: 4vw;
     font-weight: 900;
     letter-spacing: 2vw;
     color: #99AFF2;
     text-shadow: #d4d4d4 0.3vw 0.3vw;
     top: 20vw;
     left: 7vw;
     position: absolute;
     z-index: 2;

 }
.main-text{
     font-size: 2vw;
     font-weight: 700;
     letter-spacing: 1vw;
     top: 33vw;
     left: 7vw;
     color: #8C8C8C;
     position: absolute;
     z-index: 2;
     line-height: 3.5vw;
   }
.big_bg{
     background-repeat: no-repeat;
     background-size:cover;
     margin-top: 0px;
     height: 100vh;
   }
.fadeitem1{
     background-image: url(img/fv/fv.jpg);
     }
.fadeitem2{
     background-image: url(img/fv/fv2.jpg);
   }
   
.fadeitem3{
    background-image: url(img/fv/fv3.jpg);
  }
 
   .wrapper{
     max-width: 1440px;
     margin: 0 auto;
     padding: 0 auto;
   }
 .menu-tit{
  letter-spacing: 1vw;
  font-weight: 900;
  padding: 2vw 8vw;
  background: linear-gradient(to top,#F9F1FE,#99AFF2,#99AFF2,#9DCCE6,#F9F1FE);
  border-radius: 0.2vw;
  line-height: 4vw;
  text-shadow:rgba(0,0,0,0.2) 0.2vw 0.2vw;
  position: relative;
color: #F199E3;
z-index: -1;
margin-top: 3vw;
width: 100%;
 } 
 .menu-tit::before {
  content:'';
  background-image: url(img/minilogo.png);
  width: 3.25vw;
  height: 3.25vw;
  display: inline-block;
position: absolute;
  z-index: 1000;
  top:0;
  left: 0;
}
.menu-content{
margin: 8vw 5vw;

}

.menu-container{
  margin: 3vw 5vw;
  display: grid;
  background-color: rgba(153,175,242,0.2);
border-radius: 1vw;
padding: 5vw 0;
grid-template-columns: 1fr 1fr;
justify-content: center;
box-shadow: rgba(0,0,0,0.2) 0.3vw 0.3vw;
}

.menu-box{
display: block;
margin-top: 3vw;
justify-content: center;
}

.menu-text{
  letter-spacing: 0.2vw;
  color: #8C8C8C;
  text-decoration: underline;
  text-align: center;
  margin-top: 1vw;
}
.menu-subtit{
  font-size: 1.8vw;
  color: #99AFF2;
  letter-spacing: 0.2vw;
  font-weight: 900;
  text-decoration: underline;
  text-align: center;
  margin: 1vw auto;
}
.menu-img{
  width: 24.6vw;
  height: 18.6vw;
  margin: 0 auto;
  box-shadow: rgba(0,0,0,0.2) 0.2vw 0.2vw;
}
.content-btn{
  text-align: center;
  background-color: #F199E3;
  padding: 1vw 3vw;
  letter-spacing: 0.3vw;
  font-weight: 900;
  margin: 3vw auto;
  box-shadow: #d4d4d4 0.2vw 0.2vw;
  border-radius: 0.2vw;
justify-self: center;
  position: relative;
  display: block;
  transition: ease .2s;
  color: #FFF;
  width: 20vw;
  margin-bottom: 0vw;
  
}
.content-btn span{
  position: relative;
  z-index: 3;
}
.content-btn:hover span{
z-index: 100;
}
.bgleft:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background:#99AFF2;/*背景色*/
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.bgleft:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
.wrapper{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 auto;
}

/*gallaly*/
.gallaly-content{
  width: 100%;
  justify-content: center; 
}

.gallaly-container{
  padding: 5vw;
  background-image: url(img/gallaly/gallaly-back.jpg);
  margin: 0 auto;
}
.gallaly-box1{
  padding: 2vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.gallaly-box2{
  padding: 2vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.gallaly-box1 img{
  width: 24.3vw;
  border-radius: 1vw;
  object-fit: contain;
}
.gallaly-box2 img{
  width: 15vw;
  height: 23.8vw;
  object-fit: contain;
  border-radius: 1vw;
}
.wrapper{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 auto;
}
.information-content{
  width: 100%;
  justify-content: center; 
}
.shop-img{
  width: 30vw;
  height: 20vw;
}
.information-container{
  margin: 5vw 8vw;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
/*reserved*/
.reserved-content{
  width: 100%;
  justify-content: center; 
}
.reserved-container{
padding: 5vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  animation: bg 10s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  background:linear-gradient(to right,#99AFF2,#99AFF2,#99AFF2,#fff,#9DCCE6,#fff);
}
.net-reserved-box{
  box-shadow:rgba(0,0,0,0.2) 0.2vw 0.2vw;
  align-items: center;
  background: #fff;
  padding: 3vw;
  margin: 1vw;
  width: 40vw;
  height: 30vw;

}
  .reserved-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
      
  }
  .net-reserved{
  width: 15vw;
  height: 18vw;

  padding: 3vw;
  }
  
  .net-reserved-tit{
    color: #8C8C8C;
    font-size: 2.4vw;
    letter-spacing: 0.2vw;
    text-align: center;
  }
  .net-reserved-text{
    color: #99AFF2;
    font-size: 2.4vw;
    font-weight: 700;
    letter-spacing: 0.2vw;
    line-height: 3vw;
   margin: 0 auto;
   text-align: center;
   display: block;
  }
  .reserved-phone-box{
    align-items: center;
    background: #fff;
    padding: 3vw;
    box-shadow:rgba(0,0,0,0.2) 0.2vw 0.2vw;
    width: 40vw;
  height: 30vw;
  }
  .phone-reserved{
    width: 15vw;
    height:15vw;
    background: #fff;
    padding: 3vw;
  }
  .pnohe-reserved-box{
    display: flex;
    justify-content: space-around;
    align-items: center;
    
  }
  .phone-reserved-tit{
    color: #8C8C8C;
    flex-wrap: nowrap;
    font-size: 2.8vw;
    letter-spacing: 0.2vw;

  }
  .phone-reserved-tit-text{
    color: #F199E3;
    font-size: 2.4vw;
    font-weight: 700;
    letter-spacing: 0.2vw;
    text-align: center;
    margin: 1vw auto;
  }
  .phone-reserved-text{
   color: #8C8C8C;
   letter-spacing: 0.2vw;
   text-align: center;
   margin: 1vw auto;
  }



.wrapper{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 auto;
}

/*footer*/
.footer-content{
  box-sizing: border-box;
  width:100%;
  background: linear-gradient(#F9F1FE,#F199E3);
  text-align: center;
  margin: 8vw auto;
}
.footer-logo{
  width: 28vw;
  object-fit: contain;
  padding-bottom: 3vw;
  margin: 0 auto;
}
.footer-nav{
  display: flex;
  justify-content: space-around;
  text-decoration: none;
  color: #8C8C8C;
}
.wrapper{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 auto;
}

/*menuページ*/
.price-container{
  text-align: center;
  margin: 5vw;
  background-color: rgba(241,153,227,0.35);
  padding-bottom: 5vw;
  border-radius: 1vw;
  box-shadow: rgba(0,0,0,0.2) 0.3vw 0.3vw;

}
.price-tit{
  font-size: 3.4vw;
  font-weight: 900;
  letter-spacing: 1vw;
  text-shadow: rgba(0,0,0,0.2) 0.2vw 0.2vw;
  padding-top: 3vw;
  border-bottom: 0.2vw solid #99AFF2;
  color: #99AFF2;
  margin: 0 5vw;
  }
  .slider-container{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-top: 2vw;
  }
  .price-img{
    width: 13.8vw;
  }
 .price-text1{
  color: #99AFF2;
  font-size: 2.8vw;
  font-weight: 900;
  text-shadow: rgba(0,0,0,0.2) 0.2vw 0.2vw;
  letter-spacing: 0.3vw;
  padding-top: 3vw;
 }
 .price-text2{
  color: #8C8C8C;
  letter-spacing: 0.2vw;
padding-top: 3vw;
  text-align: center;
  
 }

  /*productページ*/
  
  .product-content{
    background-image: url(img/product-html/product-bg.jpeg);
  padding-top: 5vw;
  }
  .product-container{
    display: block;
    margin: 5vw;
    padding: 3vw;
    box-shadow: #d4d4d4 0.2vw 0.2vw;
    background-color: #fff;
    border-radius: 1vw;
    height: 20vw;
  }
  .product-container1{
    display: flex;
    margin: 5vw;
    justify-content: space-between;
    padding: 3vw;
    align-items: center;
    box-shadow: #d4d4d4 0.2vw 0.2vw;
    background-color: #fff;
    border-radius: 1vw;
  }
 .product-container-img{
  width: 25vw;
  height: 15vw;
  border-radius: 1vw;
  align-items: center;
  position:absolute;

 }
 .product-container-text{
  margin-left: 45vw;
  align-items: center;
  margin-top: 2vw;
  
 }
 .product-container-text-tit{
  font-size: 3.4vw;
  color: #99AFF2;
  font-weight: 700;
  letter-spacing: 0.2vw;

 }
 .product-container-text-price{
  color: #8C8C8C;
  letter-spacing: 0.2vw;
  font-size: 2.8vw;
  font-weight: 700;
 }
/*informationページ*/

.shop-container{
 display: flex;
 justify-content: space-around;
 margin: 5vw;
}
.shop-box{
  display: block;
  
}
.shop-logo{
  width: 28vw;
  object-fit: contain;
  margin:auto;
}
.shop-name{
  color: #8C8C8C;
  font-size: 2.4vw;
  font-weight: bold;
  letter-spacing: 0.5vw;
  line-height: 4vw;
  padding-bottom: 3vw;
  text-align: center;
}
.shop-date{
  text-align: center;
  line-height: 3vw;
  letter-spacing: 0.5vw;
}
.shop-mail{
  display: ruby-text;
  text-decoration: underline;
 
}
iframe{
  width: 40vw;
  height: 40vw;
  margin-top: 7vw;
}

/*gallalyページ*/
.page-box{
  margin: 2vw;
  padding: 3vw;
  background-color: #F6F8FB;
}

.gallally-title{
  color: #99AFF2;
  font-weight: 700;
  border-bottom: 0.2vw solid #d4d4d4;
 padding-top: 5vw;
  letter-spacing: 0.5vw;
  font-size: 2.8vw;
  margin: 0vw 5vw;
  text-align: center;
}
.cat-list li{
  display: none;
}
.date{
  margin-left: 70vw;
    margin-top: 5vw;
    display: inline-block;
}

.title{
  font-size: 1.8vw;
  letter-spacing: 0.2vw;
  margin-left: 10vw;
  align-items: center;
  margin-top: -2.5vw;
}
.text{
  border-bottom: #d4d4d4 0.1vw solid;
  margin: 3vw 5vw;
}
.news-title{
  font-size: 1.8vw;
}
.item{
  margin-bottom: 3vw;
}

/*reservedページ*/
.form{
  margin: 3vw 5vw;
  padding: 3vw;
  border: #d4d4d4 0.2vw solid;
  border-radius: 1vw;
}
.form-text{
  margin-bottom: 3vw;
  text-align: center;
  line-height: 3vw;
  letter-spacing: 0.3vw;
}
.form-box{
  margin: 0 auto;
}
dl{
  display: flex;
  margin: 2vw auto;
  border-bottom: #d4d4d4 0.1vw solid;
  padding-bottom: 2vw;
  align-items: center;
}
dt{
  width: 25vw;
  position:relative;
  margin-left: 5vw;

}
dt span{
  color: red;
  margin: 0vw 2vw;
}
dd{
  margin-left: 3vw;
  display: block;
  width: 40vw;

  
}
input{
  padding: 0.5vw;
  color: #8C8C8C;

}
#your-name{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
#child-name{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
#your-tel{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
#your-mail{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
#your-age{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
#your-question{
  border: #8C8C8C 0.1vw solid;
  border-radius: 0.5vw;
}
.privacy-check{
  text-align: center;
}
.submit-btn{
  font-size: 1.8vw;
  display: block;
  width: 12vw;
  padding: 0.5vw 2vw;
  background-color: #99AFF2;
  border-radius: 0.5vw;
  margin: 3vw auto;
  height: 5vw;
  text-align: center;
}
.radio{
  width: 1vw;
height: 1vw;
}
/*プライバシーポリシー*/

.privacy-content-container{
  width: 80%;
  padding-top: 20px;
  margin: 0 auto  ;
  background-color: #fff

}
.privacy-container-tit{
  color: #99AFF2;
  border-left: 5px solid #F199E3;
  padding:0px 20px;
  margin: 10px 0px;

}
.privacy-container-text{
  font-size: 14px;
  color: #8C8C8C;
  line-height: 20px;
}
.not-found-main-container{
  background-color: #c2e3f5;
  padding: 30px 200px;
}
.not-found-main-tit{
  color: #8C8C8C;
  letter-spacing: 10px;
  text-align: center; 
}
.not-found-main-text{
  color: #8C8C8C;
  letter-spacing: 10px;
  text-align: center;
}
.not-container{
  margin: 100px auto;
  color: #8C8C8C;
  text-align: center;
}

/*スマホデザイン*/
@media screen and (max-width: 768px) {
  p{
    font-size: 1.6vw;
  }
  #fixed-header{
    height: 10vw;
  }
  .btn-nav {
    position: relative;
    display: block;
    width: 8vw;
    height: 8vw;
    margin: 0 5vw 0 auto;
    border: #F199E3 0.5vw solid;
    border-radius: 0.5vw;
    padding: 1vw;


 }
 .btn-nav span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 1vw;
  height: 3px;
  border-radius: 2px;
background: #F199E3;
  width: 80%;
}

.btn-nav span:nth-of-type(1) {
top:1vw; 
}

.btn-nav span:nth-of-type(2) {
top:3vw;
}

.btn-nav span:nth-of-type(3) {
top:5vw;
}

.main-nav {
  z-index: 1;
  position: fixed;
  top:0;
  right: 13vw;
  height: 50vh;
  display: block;
  width: 100%;
  background-color:rgba(242, 155, 236, 0.6);
  transition: all .2s ease-in-out;
  opacity: 0;
  transform: translateY(-100%);
}
.main-nav ul {
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.main-nav li {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 2.8vw;
  text-align: center;
  border-bottom: none;
  text-align: center;
}
.main-nav li:nth-of-type(6) {
  background-color:rgba(242, 155, 236, 0.6);
padding: 1vw;
margin: 0;
}
.main-nav li:last-of-type {
  background-color:rgba(242, 155, 236, 0.6);
}
.main-nav li span {
  font-size: 15px;
  color: #fff;
}
.main-nav li a, .main-nav li span {
  display: block;
  padding: 20px 0;
}
.main-nav .close {
  position: relative;
  padding-left: 20px;
}
/*バツ印線1*/
.btn-nav.active{
  transform: rotate(360deg);
}

.btn-nav.active span:nth-of-type(1){
  top: 1.7vw;
  left: 0.8vw;
    transform: translateY(6px) rotate(-45deg);
    width: 6vw;
}

.btn-nav.active span:nth-of-type(2){
  opacity: 0;
}

.btn-nav.active span:nth-of-type(3){
  top: 5vw;
  left: 1vw;
    transform: translateY(-6px) rotate(45deg);
    width: 6vw;
}
.toggle {
  transform: translateY( 0 );
  opacity: 1;
}
.site-id{
  width: 40vw;
    margin-top: 1vw;
}
.main-tit{
  top:30vw;
}
.main-text{
  top:45vw;
}
.content-btn{
  width: 25vw;
}

}