@charset "UTF-8";
/* @PC Point Min 1300px~ calclate font-size
================================================*/
.is--bold {
  font-weight: bold;
}

.section:last-child {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
@media screen and (max-width: 639px) {
  .section:last-child {
    margin: 0 0 20px 0;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .section:last-child {
    margin: 0 0 50px 0;
  }
}
@media print, screen and (min-width: 960px) {
  .section:last-child {
    margin: 0 0 50px 0;
  }
}

.section-block__txt {
  margin-top: 25px;
  color: #ff1815;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 50px 0 0;
}

.heading-2 {
  font-size: 1.375rem;
  font-size: 1.625rem;
  text-align: center;
  color: #231815;
  text-align: left;
  padding: 11px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin: 50px 0 0;
}
.heading-2 .notice {
  font-size: 0.9375rem;
  font-weight: normal;
  display: inline-block;
  padding: 0 0 0 20px;
}

.heading-2:first-of-type {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
@media screen and (max-width: 639px) {
  .heading-2:first-of-type {
    margin: 30px 0 0;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .heading-2:first-of-type {
    margin: 50px 0 0;
  }
}
@media print, screen and (min-width: 960px) {
  .heading-2:first-of-type {
    margin: 50px 0 0;
  }
}

.heading-3 {
  text-align: center;
  margin: 70px 0 0;
  font-size: 1.25rem;
}

.lead-txt {
  margin: 20px 0 0;
}

.notice-txt {
  color: #ff1815;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 50px 0 0;
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
}
@media screen and (max-width: 639px) {
  .notice-txt {
    margin: 30px 0 0;
  }
}

.food {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
.food .food__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.food .item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #e6f0f0;
  width: 32%;
  text-align: center;
  padding: 20px 20px 0px;
  margin: 30px 1% 0 1%;
}
.food .item.send {
  background: #f6f3d9;
}
.food .item em {
  vertical-align: -0.3em;
  line-height: 1;
}
.food .item .item__ttl {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 24px;
  margin: 10px 0 0;
}
.food .item .item__text {
  font-size: 0.9375rem;
  margin: 15px 0 15px;
}
.food .item .item__shop {
  font-size: 0.8125rem;
  text-align: right;
  margin: auto 0 15px auto;
}
.food .item .item__sub {
  font-size: 0.75rem;
  position: relative;
  text-align: left;
  margin: 10px 0 0;
  padding: 0 0 0 10px;
}
.food .item .item__sub:before {
  position: absolute;
  top: 0;
  left: -5px;
  content: "※";
}
@media screen and (max-width: 639px) {
  .food .item {
    width: 48%;
    padding: 10px 10px 0px;
  }
  .food .item .item__ttl {
    font-size: 1rem;
    line-height: 18px;
  }
  .food .item .item__text {
    margin: 5px 0 5px;
  }
  .food .item .item__shop {
    margin: auto 0 5px auto;
  }
  .food .item:nth-child(2n-1) {
    margin: 5% 1% 0 0;
  }
  .food .item:nth-child(2n) {
    margin: 5% 0 0 1%;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .food .item:nth-child(3n-2) {
    margin: 30px 1% 0 0;
  }
  .food .item:nth-child(3n) {
    margin: 30px 0 0 1%;
  }
}
@media print, screen and (min-width: 960px) {
  .food .item:nth-child(3n-2) {
    margin: 30px 1% 0 0;
  }
  .food .item:nth-child(3n) {
    margin: 30px 0 0 1%;
  }
}

.other {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
}
.other .food__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.other .item {
  background: #e6f0f0;
  width: 40%;
  text-align: center;
  padding: 20px;
  margin: 30px 3% 0 3%;
}
.other .item em {
  vertical-align: -0.3em;
  line-height: 1;
}
.other .item .item__ttl {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 24px;
  margin: 10px 0 0;
}
.other .item .item__text {
  font-size: 0.9375rem;
  margin: 15px 0 0;
}
.other .item .item__sub {
  font-size: 0.75rem;
  position: relative;
  text-align: left;
  margin: 10px 0 0;
  padding: 0 0 0 10px;
}
.other .item .item__sub:before {
  position: absolute;
  top: 0;
  left: -5px;
  content: "※";
}
.other p:last-child {
  margin: 20px 0 70px;
}
@media screen and (max-width: 639px) {
  .other .item {
    width: 47%;
    padding: 10px;
  }
  .other .item .item__ttl {
    font-size: 1rem;
    line-height: 18px;
  }
  .other .item .item__text {
    margin: 5px 0 0;
  }
  .other .item:nth-child(2n-1) {
    margin: 5% 1% 0 0;
  }
  .other .item:nth-child(2n) {
    margin: 5% 0 0 1%;
  }
  .other p:last-child {
    margin: 20px 0 40px;
  }
}

#omotenashi-festa {
  margin: -50px 0 0 0;
  padding: 50px 0 0 0;
}

.festa {
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* @SP BreakPoint Min 320px */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
  /* @TAB BreakPoint Min 640px */
  /* ================================================================================
  	Tablet  CSS 960px-
  ================================================================================ */
  /* @SMALLPC BreakPoint Min 960px */
}
.festa h3 span.sub__ttl {
  font-size: 60%;
}
.festa .festa__photo {
  width: 80%;
  margin: 30px auto 0;
}
.festa p {
  margin: 30px 0 0;
}
.festa table {
  width: 100%;
  margin: 30px 0 0;
}
.festa table tr {
  vertical-align: top;
}
.festa table tr td:nth-child(1) {
  width: 19%;
}
.festa table tr td:nth-child(2) {
  width: 5%;
}
.festa table tr td:nth-child(3) {
  width: 76%;
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .festa table tr td:nth-child(1) {
    width: 11%;
  }
  .festa table tr td:nth-child(2) {
    width: 4%;
  }
}
@media print, screen and (min-width: 960px) {
  .festa table tr td:nth-child(1) {
    width: 10%;
  }
  .festa table tr td:nth-child(2) {
    width: 4%;
  }
}
.festa .festa__old {
  font-size: 80%;
  text-align: center;
}
.festa .festa__photo-list {
  font-size: 1.375rem;
  margin: 20px 0 0;
}
.festa .festa__ttl {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  margin: 20px 0 0;
}
.festa .festa__desc {
  font-size: 1rem;
  text-align: center;
  margin: 0;
}
.festa .festa__lead {
  font-size: 0.9375rem;
  text-align: center;
  margin: 0;
}
.festa .festa__shop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 40px 0 0;
  padding: 20px;
  background: #e6e6e6;
}
.festa .festa__shop .festa__shop-textarea .festa__shop-ttl {
  font-size: 1.125rem;
  font-weight: bold;
}
.festa .festa__shop .festa__shop-textarea .festa__shop-text {
  font-size: 0.9375rem;
}
.festa .festa__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 60px;
}
.festa .festa__list.list-type01 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 65%;
}
.festa .festa__list.list-type01 .item {
  width: 48%;
}
.festa .festa__list.list-type01 .item:nth-child(2n-1) {
  margin: 30px 1% 0 0;
}
.festa .festa__list.list-type01 .item:nth-child(2n) {
  margin: 30px 0 0 1%;
}
.festa .festa__list.list-type01 .item__ttl {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.festa .festa__list.list-type02 {
  /* ================================================================================
  	SP Default CSS 320px-639px
  ================================================================================ */
  /* ================================================================================
  	LARGETABLET Default CSS 640px-
  ================================================================================ */
}
@media screen and (max-width: 639px) {
  .festa .festa__list.list-type02 {
    display: block;
    margin-top: 1em;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .festa .festa__list.list-type02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.festa .festa__list.list-type02 .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 0.5em;
}
.festa .festa__list.list-type02 .item__ttl-txt {
  margin-left: 0.25em;
}
.festa .festa__list .item {
  background: #e6f0f0;
  text-align: center;
  padding: 12px;
  width: calc(25% - 4px);
}
.festa .festa__list .item .item__ttl {
  height: 2.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  font-weight: bold;
  line-height: 24px;
  margin: 10px 0 0;
}
.festa .festa__list .item .item__ttl-num {
  font-size: 1.25rem;
}
.festa .festa__list .item .item__ttl-txt {
  text-align: left;
}
.festa .festa__list .item .item__ttl .is--small {
  display: block;
  margin-top: 10px;
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 1.3;
}
.festa .festa__list .item .item__shop {
  font-size: 0.8125rem;
  text-align: center;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  margin-top: 2em;
  padding: 1em 0 0 0;
}
@media screen and (max-width: 639px) {
  .festa .festa__shop {
    display: block;
    padding: 10px;
  }
  .festa .festa__shop-photo {
    width: 100%;
  }
  .festa .festa__shop-textarea {
    width: 100%;
    padding: 0;
  }
  .festa .festa__shop-textarea .festa__shop-ttl {
    margin: 20px 0 0;
  }
  .festa .festa__shop-textarea .festa__shop-text {
    margin: 5px 0 0;
  }
  .festa .festa__list .item {
    width: 100%;
  }
  .festa .festa__list .item .item__ttl {
    line-height: 18px;
  }
  .festa .festa__list.list-type01 {
    width: 100%;
  }
  .festa .festa__list.list-type01 .item:nth-child(2n-1) {
    margin: 5% 1% 0 0;
  }
  .festa .festa__list.list-type01 .item:nth-child(2n) {
    margin: 5% 0 0 1%;
  }
}
@media screen and (min-width: 640px) and (max-width: 959px) {
  .festa .festa__shop .festa__shop-photo {
    width: 20%;
  }
  .festa .festa__shop .festa__shop-textarea {
    width: 80%;
    padding: 0 0 0 20px;
  }
  .festa .festa__shop .festa__shop-textarea .festa__shop-ttl {
    margin: 0;
  }
  .festa .festa__shop .festa__shop-textarea .festa__shop-text {
    margin: 10px 0 0;
  }
}
@media print, screen and (min-width: 960px) {
  .festa .festa__shop .festa__shop-photo {
    width: 20%;
  }
  .festa .festa__shop .festa__shop-textarea {
    width: 80%;
    padding: 0 0 0 20px;
  }
  .festa .festa__shop .festa__shop-textarea .festa__shop-ttl {
    margin: 0;
  }
  .festa .festa__shop .festa__shop-textarea .festa__shop-text {
    margin: 10px 0 0;
  }
}
.festa__map {
  max-width: 600px;
  margin: 0 auto;
}
.festa__about {
  margin-top: 30px;
}
.festa__about p {
  max-width: 600px;
  margin: 20px auto 0;
}
.festa__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.festa__img img {
  width: 45%;
}