@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

#header, #breadChumbs {
  background-color: #fff;
}

#contents {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-stretch: normal;
  font-style: normal;
  color: #222;
}

.bg {
  background-color: #F1EEE3;
}

#contents .inner {
  position: relative;
  width: 100vw;
  padding: 0;
}

#contents .inner .main-visual > img {
  position: relative;
  width: 100vw;
  height: auto;
  z-index: 2;
}

#contents .inner .campaign-text-image {
  position: relative;
  width: 57.3vw;
  margin: 0 auto 4vw;
  z-index: 3;
}

#contents .inner .campaign-text-image > img {
  width: 100%;
}

#contents .inner .special-contents {
  width: 80vw;
  margin: -7.5vw auto 0;
  padding-bottom: 2.5vw;
  background-color: #FAFAFA;
}

#contents .inner .special-contents::after{
  content:"";
  display: block;
  width: 31.7vw;
}

#contents .inner .special-contents .special-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 67.3vw;
  margin: 0 auto;
}

#contents .inner .special-contents .special {
  width: 31.7vw;
  height: 31.7vw;
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 0 3vw;
}

#contents .inner .special-contents .special-text-area {
  display: flex;
  flex-direction: column;
  position: relative;
  top: 50%;
  width: 90%;
  height: 50%;
  margin: 0 auto;
}

#contents .inner .special-contents .special-title {
  font-family: "Noto Serif JP", serif;
  margin: calc(40 * 100vw / 1500) auto calc(30 * 100vw / 1500);
  font-weight: bold;
  font-size: calc(28 * 100vw / 1500);
  line-height: calc(32 * 100vw / 1500);
  letter-spacing: calc(2 * 100vw / 1500);
  font-feature-settings: 'palt' on;
}

#contents .inner .special-contents .special-text {
  font-size: calc(16 * 100vw / 1500);
  line-height: calc(28 * 100vw / 1500);
  text-align: center;
  letter-spacing: calc(1 * 100vw / 1500);
  font-feature-settings: 'palt' on;
}

#contents .inner .special-contents .special-1 {
  background-image: url('../img/campaign_img01.png');
}

#contents .inner .special-contents .special-2 {
  background-image: url('../img/campaign_img02.png');
}

#contents .inner .special-contents .special-3 {
  background-image: url('../img/campaign_img03.png');
}

#contents .inner .special-contents .special-4 {
  background-image: url('../img/campaign_img04.png');
}

#contents .inner .special-contents .special-5 {
  background-image: url('../img/campaign_img05.png');
}

#contents .inner .button-area {
  width: 100%;
  padding: 60px 0 0;
  margin: 24px auto 0;
}

#contents .inner .button-area .button-caption {
  font-weight: bold;
  font-size: 16px;
  line-height: 180%;
  text-align: center;
  letter-spacing: 5px;
  margin: 0 auto 32px;
}

#contents .inner .button-area .entry-button {
  display: inline-block;
  width: 60%;
  max-width: 800px;
  height: 66px;
  background: linear-gradient(90deg, rgba(113, 69, 3, 0.8) 16%, rgba(204, 147, 62, 0.8) 62.42%, rgba(196, 159, 67, 0.8) 89.24%), linear-gradient(0deg, #FFFFFF, #FFFFFF);
  border-radius: 40px; 
  font-weight: 500;
  font-size: 22px;
  line-height: 66px;
  letter-spacing: 5px;
  color: #FFF;
  text-decoration: none;
}

#contents .inner .button-area .entry-button:hover {
  opacity: 0.7;
}

#ftContents::before {
  background: #CAB181;
}

#ftNav {
  background: #CAB181;
}

@media screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }

  #contents {
    width: 100%;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 1px;
    margin-top: -14px;
  }

  #contents .inner {
    width: 100vw;
  }

  #contents .inner .campaign-text-image {
    top: 0;
    width: 86.7vw;
  }

  #contents .inner .special-contents {
    margin-top: -28vw;
    width: 94.6vw;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
  }

  #contents .inner .special-contents::after{
    display: none;
  }

  #contents .inner .special-contents .special-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 84vw;
    margin: 0 auto;
  }

  #contents .inner .special-contents .special {
    width: 84vw;
    height: 84vw;
    margin-bottom: 5vw;
  }

  #contents .inner .special-contents .special-title {
    margin: calc(30 * 100vw / 375) auto calc(20 * 100vw / 375);
    font-size: calc(18 * 100vw / 375);
    line-height: calc(24 * 100vw / 375);
    letter-spacing: calc(2 * 100vw / 375);
  }

  #contents .inner .special-contents .special-text {
    font-size: calc(13 * 100vw / 375);
    line-height: calc(18 * 100vw / 375);
    letter-spacing: calc(1 * 100vw / 375);
  }

  #contents .inner .button-area {
    padding-top: 12px;
  }

  #contents .inner .button-area .button-caption {
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 3px;
  }

  #contents .inner .button-area .entry-button {
    width: 80%;
    min-width: 315px;
    height: 46px;
    font-size: 14px;
    line-height: 46px;
    letter-spacing: 3px;
  }
}

@media screen and (min-width: 901px) {
  .sp {
    display: none !important;
  }
}
