/* -------以下、ハンバーガーボタンのスタイリング -------------- */
a {
  text-decoration: none;
  color: #000;
}
p {
  font-family: noto serif jp;
}
h1 {
  font-family: noto serif jp;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::before,
::after {
  box-sizing: inherit;
}

button {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  /* background-color: #f7a102; */
  background-color: #fff;
  /* background-color: #d3d3d3; */
  /* color: #efefef; */
  z-index: 999;
  /* bottom: -60px; */
  transition: bottom 0.5s;
}

/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.btn {
  /* position: fixed; */
  position: absolute;
  top: 10px;
  /* bottom: 10px; */
  right: 21px;
  /* left: 10px; */
  width: 30px;
  height: 30px;
  z-index: 10;
}

/***** 真ん中のバーガー線 *****/
.btn-line {
  display: block;
  position: relative;
  width: 100%;
  height: 4px;
  background-color: #000;
  transition: 0.2s;
  border-radius: 2px;
}

/***** 上下のバーガー線 *****/
.btn-line::before,
.btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000000;
  transition: 0.5s;
  border-radius: 2px;
}

.btn-line::before {
  /* 上の線の位置 */
  transform: translateY(-10px);
}

.btn-line::after {
  /* 下の線の位置 */
  transform: translateY(10px);
}

/***** メニューオープン時 *****/
.btn-line.open {
  /* 真ん中の線を透明に */
  background-color: transparent;
}

.btn-line.open::before,
.btn-line.open::after {
  content: "";
  background-color: #333;
  transition: 0.2s;
}

.btn-line.open::before {
  /* 上の線を傾ける */
  transform: rotate(45deg);
}

.btn-line.open::after {
  /* 上の線を傾ける */
  transform: rotate(-45deg);
}

/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
/* main {
	height: 100vh;
} */

.menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  width: 100%;
  bottom: 0px;
  right: -100%;
  height: 100vh;
  background-color: #fdfdfd;
  color: #000000;
  transition: 0.5s;
  /* opacity: 0; */
  font-family: "Noto Sans JP";
}

/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
  position: absolute;
  /* bottom: 50px; */
  top: 50px;
  /* opacity: 1; */
  right: 0;
}

.menu-list {
  /* メニューテキスト位置をリスト内中心に */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 120px;
  font-family: noto serif jp;
}

.menu-list:hover {
  background-color: rgba(255, 255, 255, 0.5);
  color: #333;
  cursor: pointer;
  transition: 0.3s;
}

/* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 768px) {
  .btn {
    top: 30px;
    width: 40px;
    height: 40px;
  }
  .menu {
    top: 100px;
  }
  .menu.open {
    position: absolute;
    /* bottom: 50px; */
    width: 50%;
    top: 100px;
    right: 0;
    /* opacity: 1; */
  }
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: antiquewhite;
    transition: background-color 0.8s ease-in-out;
    /* color: #efefef; */
    z-index: 999;
  }
}

/**************** ここまで、メニューのスタイリング ****************/

*

/***************** ここから本文　******************/
img {
  vertical-align: bottom;
}
.top-dumy {
  height: 50px;
}
/* .dumy{
	width: 100%;
	height: 50px;
	background-color: #9e9e9e69;
} */
.sp-mode-logo {
  position: fixed;
  width: 26%;
  z-index: 90;
  margin: 4% 6%;
}

#concept ,#shop{
  /* position: relative; */
  /* height: 1000px; */
  background-color: antiquewhite;
}
#patisserie{
  background-color: #fff;
}

.concept-warp {
  position: relative;
  width: 18vw;
  height: 90px;
  margin: 0 auto;
  /* margin-top: 25px; */
  padding-top: 25px;
}
.concept-img {
  text-align: center;
}
.concept-img img {
  width: 100%;
}
.concept-title {
  top: 10px;
  font-size: 4.5vw;
  font-family: "Aguafina Script", cursive;
  color: #b49d71;
  transform: rotate(-30deg);
  padding-top: 15px;
}
.concept-title2 {
  position: absolute;
  bottom: 0;
  left: 10px;
  left: 3vw;
  font-size: 3vw;
  font-family: "Noto Serif JP";
  color: #000000;
}
.concept-text1 {
  padding: 20px;
  text-align: center;
  margin: 0 auto;
  width: 360px;
  line-height: 1.5;
}
/* ******************* footer ******************/
footer {
  height: 100px;
  background-color: #9e9e9e69;
}

footer p {
  font-family: "Taviraj", serif;
  font-weight: 900;
  font-style: italic;
  text-align: center;
  padding: 43px 0;
}

header img {
  width: 15%;
  margin: 10px;
}
.top-view {
  position: relative;
}

.top-view img {
  width: 100%;
}
.top-dumy {
  height: 50px;
}
.main-title {
  position: absolute;
  top: 30%;
  font-size: 4.5vw;
  margin-left: 5%;
  font-family: "Noto Serif JP";
  color: white;
}
.main-title h1 {
  line-height: 1.5;
  text-shadow: 3px 4px 6px #af0703;
}
/* concept section */
.conplexbox-wrap {
padding-bottom: 70px;
}
.complexBox {
  width: 350px;
  margin: 0 auto;
}

.complexBox img {
  width: 100%;
}
#concept .text,#patisserie .text,#shop .text {
  margin: 20px 0;
  width: 100%;
  height: 250px;
  padding: 20px;
  font-size: 1.3rem;
  line-height: 1.5;
  background-color: #80808069;
  border-radius: 20px;
  box-shadow: 8px 6px 4px #808080a1;
}

.fadein {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}

/* ページトップへ戻るボタン */
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top {
  width: 80px;
  padding: 10px;
  display: block;
  border-radius: 90px;
  transition: all .3s ease;
}
/* スクロールして表示する状態 */
#page-top.visible {
  opacity: 1;
  visibility: visible;
}
  #page-top:hover {
    text-decoration: none;
    opacity: .8;
  }
/* activeクラスが付与されたとき */

.page-top img {
  width: 100%;
}
/* デフォルト：479px以下用（スマートフォン用）の記述 */
@media screen and (min-width: 480px) {
  /* 480px以上用（タブレット／スマートフォン用）の記述 */
}

@media screen and (min-width: 768px) {
  /* 768px以上用（タブレット用）の記述 */
  /* .top-view img {
    padding-top: 100px;
} */
 header img {
  width: 20%;
}
  .top-dumy {
    height: 100px;
  }
  .conplexbox-wrap {
    padding-bottom: 0;
}
  .concept-warp {
    height: 140px;
  }
  .concept-title {
    padding-top: 30px;
  }

  .conplexbox-wrap {
    /* width: 80%; */
    margin: 0 auto;
    margin-top: 100px;
}
.photo {
  top: 100px;
  /* position: absolute; */
  width: 400px;
  /* margin-left: -17px; */
}
.complexBox{
  /* width: 700px; */
width: 80%;
}
  .complexBox{
    display: flex; /* 中身をflexboxとして配置する */
		justify-content: center;
  }
  .complexBox:nth-child(2n + 1) {
    flex-direction: row-reverse;
    /* margin-bottom: 130px; */
}
.complexBox:nth-child(2n + 1) .photo {
  position: relative;
  top: -100px;
  left: -20px;
}
.complexBox-shop:nth-child(2n + 1) {
  flex-direction: row;
  /* margin-bottom: 130px; */
}
.complexBox-shop:nth-child(2n + 1) .photo {
  position: relative;
  top: -100px;
  left: 21px;
  /* margin-right: -22px; */
}
  .complexBox:nth-child(2n) {
    flex-direction: row;
  } /* 偶数番目は左から右へ並べる */

  .complexBox:nth-child(2n) .photo {
    position: relative;
    margin-right: -22px;
    top: -100px;
}
  .complexBox {
    padding: 50px 0;
}

#concept .text, #patisserie .text, #shop .text {
  width: 350px;
  height: 190px;
  font-size: 1rem;
  padding: 30px;
}
}

@media screen and (min-width: 1024px) {
  header img {
    width: 15%;
}
  .concept-warp {
    height: 180px;
  }
  .concept-title2 {
    font-size: 2.5vw;
  }

  .complexBox:nth-child(2n + 1) .photo {
    top: -168px;
}
.complexBox:nth-child(2n) .photo {
  top: -150px;
}
}

@media screen and (min-width: 1440px) {
  /* 1440px以上用（PC用）の記述 */
  header img {
    width: 11%;
}
  .concept-warp {
    height: 220px;
  }
  .concept-title {
    padding-top: 40px;
  }
}

@media screen and (min-width: 1920px) {
header img {
    width: 7%;
}
  .concept-warp {
    height: 290px;
  }
  .concept-title {
    padding-top: 50px;
  }
}
@media screen and (min-width: 2560px) {
  .concept-warp {
    height: 350px;
  }
  .concept-title {
    padding-top: 60px;
  }
  .concept-title2 {
    font-size: 2.5vw;
  }
}

