@charset "UTF-8";

/*全て共通：hideエリアをはじめは非表示*/
.hide-area {
  display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666;
}

body {
  color: #2d2d2d;
  font-family: "Jost", sans-serif;

  font-size: 1rem;

  min-height: 100vh;
  position: relative;

  padding-bottom: 50px;
  box-sizing: border-box;

}

a {
  color: #000;
  text-decoration: none;
}

img {
  vertical-align: bottom;
  object-fit: cover;
  width: 100%;
}

li {
  list-style: none;
}


/* header */
header {
  margin: 0 5%;
  display: flex;
  justify-content: flex-end;
}

.header-nav {
  width: 340px;
  font-size: 1.5rem;
  font-weight: 600;
  display: flex;
  justify-content: space-between;

  /* border: 1px red solid; */
}

.header-nav a {
  transition: color .5s;

}

.header-nav a:hover {
  color: #808080;
}

.sns a {
  padding-left: 5px;
}

.sns a:first-child {
  padding-left: 0;
}

.sns ul {
  display: flex;
}

.sns li {
  margin-right: 10px;
}

.sns li:last-child {
  margin-right: 0;
}

/* main */
.container {
  margin: 0 3% ;
  /* border: 1px green solid; */
}

.section-title {
  margin: 0 8% 20px;
  /* border: 1px green solid; */
}

.logo img {
  width: 100%;
  margin: 15px 0 0;
}

/*  footer  */

footer {
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding: 30px 0 0;

  position: absolute;
  bottom: 0;
  left: 0;
}


/* index */
h1 {
  font-size: 2.25rem;
  font-weight: 650;
  text-align: center;
  margin-bottom: 20px;
}

.photos {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap:20px;

  /* border: 1px red solid; */
}


.thumbnail {
  display: inline-block;
  
}


.thumbnail img {
  height: 100%;
  transition: 1s;
}

.thumbnail img:hover {
  opacity: 0.5;

}

/*==================================================
パタッ
===================================*/

/* 左へ */
.flipLeft {
  animation-name: flipLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  perspective-origin: left center;
  opacity: 0;
}

@keyframes flipLeftAnime {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }

  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.flipLeftTrigger {
  opacity: 0;
}

/* about */
.contents {
  max-width: 1200px;
  display: flex;
  margin: 0 auto;

  /* border: 1px solid red; */
}

.content1 img {
  width: 55%;
  margin: 0 auto;
  text-align: center;
  width: 300px;
  border-radius: 10%;

  /* border: 1px solid blue; */
}

.content2 {
  width: 45%;
  margin: 0 auto;

  /* border: 1px solid blue; */
}

h2 {
  font-size: 2.25rem;
  margin: 0 0 20px;
}

.content2 p {
  font-size: 1.5rem;
  margin-bottom: 20px;
}

/*==================================================
  ふわっ
  ===================================*/

/* 下から */

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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


/*contact*/

#contact {
  max-width: 1000px;
  margin: 0 auto 50px;
  padding: 0 40px;

}

#contact dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

#contact dt {
  width: 15%;
}

#contact dd {
  width: 85%;
  margin-bottom: 10px;
}

#contact dd input,
#contact dd textarea {
  width: 100%;
  border: solid 1px #c8c8c8;
  padding: 10px;
}

#contact dd textarea {
  height: 10rem;
}

#contact .submit-btn {
  text-align: center;
}

#contact .submit-btn input {
  width: 200px;
  background-color: #24292e;
  color: #fff;
  padding: 15px 0;
  border: solid 1px #24292e;
  transition: background-color .5s;
}

#contact .submit-btn input:hover {
  background: #fff;
  color: #24292e;
}


/* responsive */
@media (max-width:900px) {

 /* main  */
  .container {
    margin: 0 ;
  
    /* border: 1px green solid; */
  }
  
.section-title {
  margin: 0 3%;
}

  /* index */
h1 {
  font-size: 1.5rem;
  font-weight: 650;
  text-align: center;
  margin-bottom: 15px;
}

  .photos {
    max-width: 650px;
    width: 90%;
    margin: 0 auto;
    grid-template-columns: repeat(2,1fr);
    gap:20px;

    /* border: 1px blue solid; */
  }

  .thumbnail img {
    width: 100%;
  }


/* about */

.contents {
  max-width: 100%;
  display: flex;
  margin: 0 auto;

  /* border: 1px solid red; */
}

.content1  {
  width: 45%;
  padding: 3%;
  align-items: center;

}

.content1  img{
  margin: 0 auto;
  width: 100%;
  text-align: center;
  border-radius: 10%;

  /* border: 1px solid blue; */
}

.content2 {
  width: 55%;
  margin: 0 auto;

  /* border: 1px solid yellow; */
}

h2 {
  font-size: 1.5rem;
  margin: 20px 0 ;
}

.content2 p {
  font-size: 1.125rem;
  margin-bottom: 20px;
}

/* contact */
#contact h2 {
  margin: 30px 0;
}


}

@media (max-width:500px) {

  .header-nav {
    width: 250px;
    font-size: 0.875rem;
    font-weight: 400;

    /* border: 1px red solid; */
  }

  h1 {
    font-size: 1rem;
    font-weight: 600;
  }

.photos {
  grid-template-columns: repeat(1,1fr);
}

  /* about */
.contents {
  flex-direction: column;

}

.content1 {
  margin: 20px auto 0;
}

  .content2 {
    width: 60%;
  }

  .content2 h2 {
    font-size: 1.5rem;
  }

  .content2 p {
    font-size: 1rem;
  }

/*contact*/

#contact dt {
  width: 20%;
}

#contact dd {
  width: 80%;
}

}