@charset "utf-8";

.sp_area {
 width: 375px;
 height: auto;
 border: 5px solid #4C3C31;
 margin: 0 auto;
 background-color: #FBF9F8;
 text-align: center;
 margin-right: 0;
}

/* ヘッダー */
header{
  background-color: rgba(239, 216, 215, 0.5);
}

header img{
  max-width: 70px;
  height: auto;
}

header .nav{
  display: flex;
  padding: 10px 0 0 10px;
  justify-content: space-between;
}

header .nav h1{
  padding: 10px 0 0 0;
}

header p{
 font-family: 'Kiwi Maru', serif;
 font-size: 13px;
}

h1{
  font-family: 'Courgette', cursive;
  font-size: 25px;
  height: 50px;
}
/* ／ヘッダー */

/* ファーストビュー */
.fastview img{
  width: 261px;
  height: 300px;
  object-fit: cover;
  display: block;
  margin: 0 0 0 auto;
}

.fastview h2{
  font-size: 40px;
  font-family: 'Courgette', cursive;
  position: relative; top: -100px; left: 18px;
  text-align: left;
  width: 300px;
}

.fastview p{
  font-size: 14px;
  font-family: 'Kiwi Maru', serif;
}
/* ／ファーストビュー */

/* ACCESS */
.access h2, .contact h2{
  font-family: 'Josefin Sans', sans-serif;
  font-size: 16px;
  text-decoration: underline #4C3C31;
  text-underline-offset: 3px;
  margin-bottom: 30px
}

.access p, .contact p{
  display: table;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  list-style: none;
  padding: 0;
  line-height: 2em;
}

.access p{
  margin-bottom: 10px;
  margin-left: 0;
}

.left{
  display: table;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  list-style: none;
  padding: 0;
}

.access iframe{
  margin-top: 30px;
}
/* ／ACCESS */

/* CONTACT */
.contact{
  background-color: rgba(224, 235, 243, 0.8);
  padding-top: 25px;
  padding-bottom: 65px;
  background-image: url("../images/sozai_1.png");
  background-repeat: no-repeat;
  background-size: 100px;
  background-position: 90% 100%;
  margin-bottom: 75px;
}
/* ／CONTACT */

/* フッター */
footer{
  background-color: rgba(239, 216, 215, 0.5);
  padding-top: 25px;
  padding-bottom: 5px;
  position: relative;
}

footer img{
 width: 292px;
 height: auto;
 object-fit: cover;
 position: absolute;
 top: -25px;
 left: 40px;
}

h3{
  font-family: 'Courgette', cursive;
  font-size: 25px;
  height: 50px;
  margin-bottom: 20px;
}

h3 p{
 font-family: 'Kiwi Maru', serif;
 font-size: 13px;
}

small{
 font-family: 'Kiwi Maru', serif;
 font-size: 13px;
}
/* ／フッター */

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #4C3C31;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background-color: rgba(239, 216, 215, 0.9);
  transition: .5s;
}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
  font-family: 'Kiwi Maru', serif;
  font-size: 14px;
  line-height: 3em;
  text-align: left;
  width: 200px;
  margin: 50px auto;
  text-underline-offset: 5px;
}

.nav_item a:hover{
  text-decoration: underline dashed;
}


/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 20px;
  bottom:40px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(150px);
}

/*　上に上がる動き　*/
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}

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

/*　下に下がる動き　*/
#page-top.DownMove{
  animation: DownAnime 1s forwards;
}

@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(150px);
  }
}

/*画像の切り替えと動き*/
#page-top a {
    /*aタグの形状*/
  display: block;
  width: 50px;
  height: 50px;
  color: #4C3C31;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:11px;
    /*背景画像の指定*/
  background: url("../images/top.png") no-repeat center;
  background-size: contain;
}

@keyframes floatAnime {
  0% { transform: translateX(0); opacity: 0; }
  25% { transform: translateX(-6px);opacity: 1; }
  50% { transform: translateX(0) }
  100% { transform: translateX(6px);opacity: 1; }
}

/*Page Topと書かれたテキストの位置*/
#page-top span{
    position: absolute;
    bottom: -13px;
    right: 11px;
  color: #4C3C31;
}

/* PC用 */
@media screen and (max-width:500px) {
  .pc-bg-area {
    display: none;
 }
}

.pc-bg-area {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10000;
}

.pc-bg-area img {
  background-size: contain;
  height: 100vh;
  width: auto;
}
/* ／PC用 */


