@charset "UTF-8";
/* ---------------------------------------*/
/* common */
/* ---------------------------------------*/
.button-01 {
  display: inline-block;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  padding: 1.5em 8em 1.5em 1em;
  background: #EF9800;
  border-radius: 20px;
  position: relative;
}
.button-01.is-recommend {
  margin-bottom: 113px;
}
.button-01::after {
  display: block;
  content: "";
  width: 263px;
  height: 229px;
  background: url(../img/point_button_icon.webp) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.button-01.is-feature-01 {
  margin-top: 40px;
}
.button-01.is-feature-02 {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .button-01 {
    font-size: 1.7rem;
    border-radius: 10px;
    padding: 1.5em 6em 1.5em 0.8em;
    border-radius: 7px;
  }
  .button-01::after {
    top: -1.5em;
    bottom: auto;
  }
  .button-01::after {
    width: 124px;
    height: 110px;
    right: -0.5em;
  }
  .button-01.is-feature-01 {
    margin-top: 40px;
  }
  .button-01.is-feature-02 {
    margin-top: -60px;
  }
  .button-01.is-recommend {
    margin-bottom: 54px;
  }
}

.wrapper {
  max-width: 900px;
  padding: 0 50px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrapper {
    max-width: 100%;
    padding: 0 40px;
  }
}

/* ---------------------------------------*/
/* keyvisual */
/* ---------------------------------------*/
#keyvisual {
  padding: 100px 50px 0;
  background: url(../img/keyvisual_bg.webp) no-repeat center/cover;
}
@media screen and (max-width: 1048px) {
  #keyvisual {
    padding: 9.5vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #keyvisual {
    padding: 80px 0 0;
  }
}

.keyvisual-wrapper {
  max-width: 948px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .keyvisual-wrapper {
    max-width: 100%;
  }
}

.keyvisual-maintitle {
  max-width: 65.4%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .keyvisual-maintitle {
    max-width: 82.3%;
  }
}

.keyvisual-image-01 {
  width: 100%;
  margin: -40px auto 0;
}
@media screen and (max-width: 768px) {
  .keyvisual-image-01 {
    margin: -13px auto 0;
  }
}

/* ---------------------------------------*/
/* makuake */
/* ---------------------------------------*/
#makuake {
  padding: 48px 0;
}
@media screen and (max-width: 768px) {
  #makuake {
    padding: 40px 0 37px;
  }
}

.makuake-logo {
  width: 18.7%;
  margin: 0 auto 25px;
}
@media screen and (max-width: 768px) {
  .makuake-logo {
    width: 35.8%;
    margin: 0 auto 18px;
  }
}

.makuake-lead {
  font-size: 3.75vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.04em;
  color: #ED1C24;
  margin: 0 0 25px;
}
.makuake-lead span {
  display: inline-block;
  position: relative;
}
.makuake-lead span::after {
  display: block;
  content: "";
  width: 100%;
  height: 0.43em;
  background: #FFE33F;
  position: absolute;
  bottom: 0.2em;
  left: 0;
  z-index: -1;
}
.makuake-lead em {
  font-style: normal;
  font-size: 160%;
}
@media screen and (max-width: 768px) {
  .makuake-lead {
    font-size: 2rem;
  }
  .makuake-lead span::after {
    bottom: 0.1em;
  }
}

.makuake-banner {
  width: 63.5%;
  margin: 0 auto 25px;
}
@media screen and (max-width: 768px) {
  .makuake-banner {
    width: 95.8%;
    margin: 0 auto 17.5px;
  }
}

.makuake-thanks {
  font-size: 2.421875vw;
  font-weight: 700;
  line-height: 1.77;
  letter-spacing: 0.03em;
  color: #ED1C24;
  margin: 0 0 20px;
}
@media screen and (max-width: 768px) {
  .makuake-thanks {
    font-size: 1.5rem;
    margin: 0 0 15px;
  }
}

.makuake-button-01 {
  display: inline-block;
  font-size: 1.796875vw;
  font-weight: 700;
  letter-spacing: -0.08em;
  color: #fff;
  background: #FB2A79;
  padding: 1.5vw 3.5vw;
  border-radius: 0.859vw;
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .makuake-button-01 {
    font-size: 1.6rem;
    padding: 15px 30px;
    border-radius: 6px;
    margin: 0 auto 6px;
  }
}

.makuake-note {
  display: block;
  font-size: 1.171875vw;
  font-weight: 400;
  letter-spacing: -0.07em;
  color: #aaa;
}
@media screen and (max-width: 768px) {
  .makuake-note {
    font-size: 1.1rem;
  }
}

/* ---------------------------------------*/
/* point */
/* ---------------------------------------*/
#point {
  padding: 0 0 95px;
  background: url(../img/point_bg.webp) repeat-y center/100%;
}
@media screen and (max-width: 768px) {
  #point {
    padding: 0 0 60px;
  }
}

.point-image-01 {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .point-image-01 {
    margin: 0 0 34px;
  }
}

.point-wrapper {
  padding: 0 50px;
}
@media screen and (max-width: 768px) {
  .point-wrapper {
    padding: 0 20px;
  }
}

.point-section_heading {
  font-size: 4.1rem;
  font-weight: 700;
  line-height: 1.4;
  color: #603813;
  margin: 0 0 45px;
}
@media screen and (max-width: 768px) {
  .point-section_heading {
    font-size: 1.9rem;
    line-height: 1.57;
    margin: 0 0 20px;
  }
}

.point-list {
  margin: 0 0 98px;
}
@media screen and (max-width: 768px) {
  .point-list {
    margin: 0 0 58px;
  }
}

.point-list__item {
  margin: 0 0 35px;
}
.point-list__item:last-child {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .point-list__item {
    margin: 0 0 30px;
  }
}

.point-list-heading {
  display: inline-block;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #603813;
  padding: 0.5em 3em;
  border-radius: 99px;
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .point-list-heading {
    font-size: 1rem;
    padding: 0.3em 2em;
    margin: 0 auto 7px;
  }
}

.point-list-desc {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.625;
}
@media screen and (max-width: 768px) {
  .point-list-desc {
    font-size: 1.6rem;
  }
}

/* ---------------------------------------*/
/* features */
/* ---------------------------------------*/
#features {
  padding: 0 0 108px;
  background: url(../img/point_bg.webp) repeat-y top/100%;
}
@media screen and (max-width: 768px) {
  #features {
    padding: 0 0 60px;
  }
}

.features-image-01 {
  margin: 0 0 58px;
}
@media screen and (max-width: 768px) {
  .features-image-01 {
    margin: 0 0 40px;
  }
}

.feature-lead {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.95;
  text-align: justify;
  margin: 0 0 75px;
}
.feature-lead em {
  font-weight: 700;
  color: #603813;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .feature-lead {
    font-size: 1.2rem;
    letter-spacing: -0.07em;
    margin: 0 0 35px;
  }
}

.features-image-02 {
  margin: 0 0 28px;
}
@media screen and (max-width: 768px) {
  .features-image-02 {
    margin: 0 0 24px;
  }
}

.features-heading {
  font-size: 4.3rem;
  font-weight: 700;
  line-height: 1.39;
  text-align: left;
  color: #603813;
  margin: 0 0 0.76em;
}
@media screen and (max-width: 768px) {
  .features-heading {
    font-size: 2.3rem;
    letter-spacing: -0.04em;
    margin: 0 0 18px;
  }
}

.feature-desc {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.58;
  text-align: justify;
  margin: 0 0 2em;
}
.feature-desc:last-of-type {
  margin: 0 0 100px;
}
.feature-desc em {
  font-weight: 700;
  color: #603813;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .feature-desc {
    font-size: 1.2rem;
    line-height: 1.75;
  }
}

.features-image-03 {
  margin: 95px 0 35px;
}
@media screen and (max-width: 768px) {
  .features-image-03 {
    margin: 60px 0 24px;
  }
}

.features-image-04 {
  margin: 0 0 50px;
}
@media screen and (max-width: 768px) {
  .features-image-04 {
    margin: 0 0 35px;
  }
}

.features-image-05 {
  margin: 0 0 32px;
}
@media screen and (max-width: 768px) {
  .features-image-05 {
    margin: 0 0 24px;
  }
}

/* ---------------------------------------*/
/* eat */
/* ---------------------------------------*/
#eat {
  padding: 55px 0 0;
  background: url(../img/eat_bg.webp) repeat-y top/100%;
}
@media screen and (max-width: 768px) {
  #eat {
    padding: 36px 0 0;
  }
}

.eat-section_heading {
  margin: 0 0 58px;
}
@media screen and (max-width: 768px) {
  .eat-section_heading {
    margin: 0 0 25px;
  }
}

.eat-section-desc {
  width: 92.5%;
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .eat-section-desc {
    width: 100%;
  }
}

.eat-heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-align: left;
  margin: 0 0 15px;
  position: relative;
}
.eat-heading::after {
  display: block;
  content: "";
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.eat-heading.is-tabekata::after {
  width: calc(100% - 5.5em);
}
.eat-heading.is-timing::after {
  width: calc(100% - 10.5em);
}
@media screen and (max-width: 768px) {
  .eat-heading {
    font-size: 1.2rem;
    margin: 0 0 7px;
  }
}

.eat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 40px;
  padding: 0 0 0 0.5em;
}
.eat-list.is-timing {
  width: 40em;
  margin: 0 0 58px;
}
@media screen and (max-width: 768px) {
  .eat-list.is-tabekata {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .eat-list.is-timing {
    width: 18em;
    margin: 0 0 36px;
  }
  .eat-list.is-timing .eat-list__item:nth-child(odd) {
    width: 10em;
  }
  .eat-list.is-timing .eat-list__item:nth-child(even) {
    width: 12em;
  }
}

.eat-list__item {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
  letter-spacing: 0.022;
  padding: 0 0.8em 0 1em;
  position: relative;
}
.eat-list__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .eat-list__item {
    font-size: 1.2rem;
  }
}

/* ---------------------------------------*/
/* recommend */
/* ---------------------------------------*/
#recommend {
  padding: 70px 0 0;
  background: url(../img/recommend_bg.webp) repeat-y top/100%;
}
@media screen and (max-width: 768px) {
  #recommend {
    padding: 42px 0 0;
  }
}

.recommend-heading {
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .recommend-heading {
    margin: 0 0 25px;
  }
}

.recommend-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 95px;
}
@media screen and (max-width: 768px) {
  .recommend-list {
    margin: 0 0 34px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.recommend-list__item {
  width: 50%;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.15;
  text-align: left;
  letter-spacing: -0.1em;
  position: relative;
  padding: 0 0 0 1em;
}
.recommend-list__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .recommend-list__item {
    width: 100%;
    font-size: 1.2rem;
  }
  .recommend-list__item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .recommend-list__item:nth-child(2) {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .recommend-list__item:nth-child(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .recommend-list__item:nth-child(4) {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
  .recommend-list__item:nth-child(5) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .recommend-list__item:nth-child(6) {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }
  .recommend-list__item:nth-child(7) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .recommend-list__item:nth-child(8) {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
  .recommend-list__item:nth-child(9) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .recommend-list__item:nth-child(10) {
    -webkit-box-ordinal-group: 14;
        -ms-flex-order: 13;
            order: 13;
  }
  .recommend-list__item:nth-child(11) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .recommend-list__item:nth-child(12) {
    -webkit-box-ordinal-group: 15;
        -ms-flex-order: 14;
            order: 14;
  }
  .recommend-list__item:nth-child(13) {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .recommend-list__item:nth-child(14) {
    -webkit-box-ordinal-group: 16;
        -ms-flex-order: 15;
            order: 15;
  }
  .recommend-list__item:nth-child(15) {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
}

.recommend-02-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 193px 0 136px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .recommend-02-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 25px 0 54px;
  }
}

.recommend-02-content__text {
  width: 49%;
}
@media screen and (max-width: 768px) {
  .recommend-02-content__text {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.recommend-heading-02 {
  width: 100%;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.41;
  text-align: left;
  color: #6A3906;
  margin: 0 0 40px;
  position: absolute;
  top: -4em;
}
@media screen and (max-width: 768px) {
  .recommend-heading-02 {
    font-size: 1.7rem;
    margin: 0 0 20px;
    position: relative;
    top: 0;
  }
}

.recommend-02-desc {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.65;
  text-align: justify;
  letter-spacing: -0.018em;
  margin: 0 0 2em;
}
.recommend-02-desc:last-of-type {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .recommend-02-desc {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

.recommend-02-content__image {
  width: 43.7%;
}
@media screen and (max-width: 768px) {
  .recommend-02-content__image {
    width: 63.5%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 auto 26px;
  }
}

.recommend-02-photo figcaption {
  text-align: left;
  margin: 10px 0 0;
}
.recommend-02-photo figcaption small {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.012em;
  margin: 0 0 1em;
}
.recommend-02-photo figcaption span {
  display: block;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.07;
  letter-spacing: 0.022;
}
@media screen and (max-width: 768px) {
  .recommend-02-photo figcaption {
    margin: 5px 0 0;
  }
  .recommend-02-photo figcaption small {
    font-size: 1rem;
    letter-spacing: 0.01em;
    margin: 0 0 0.5em;
  }
  .recommend-02-photo figcaption span {
    font-size: 1.8rem;
    line-height: 1.16;
  }
}

/* ---------------------------------------*/
/* message */
/* ---------------------------------------*/
#message {
  padding: 77px 0 106px;
  background: url(../img/message_bg.webp) repeat-y top/100%;
}
@media screen and (max-width: 768px) {
  #message {
    padding: 45px 0 60px;
  }
}

.message-heading {
  margin: 0 0 62px;
}
@media screen and (max-width: 768px) {
  .message-heading {
    margin: 0 0 18px;
  }
}

.message-image-01 {
  margin: 0 0 42px;
}
@media screen and (max-width: 768px) {
  .message-image-01 {
    margin: 0 0 20px;
  }
}

.message-desc {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.58;
  text-align: justify;
  margin: 0 0 116px;
}
@media screen and (max-width: 768px) {
  .message-desc {
    font-size: 1.2rem;
    line-height: 1.91;
    letter-spacing: -0.08em;
    margin: 0 0 50px;
  }
}