@charset 'UTF-8';

/* common */

body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

h1 {}

.top_img h1 {
  text-align: center;
  font-size: 3em;
  font-weight: 100;
  padding: 1em 0;
}

h2 span {
  display: block;
  font-size: 12px;
  font-weight: normal;
  margin-top: 10px;
  /* color: #ff459d; */
  color: #c0baac;
  line-height: 18px;
}

h3 {}

.about h3 {
  font-size: 18px;
  border-left: 5px solid #ec6500;
  padding: 5px 0 5px 10px;
  margin: 4em 0 2em;
}

.news h2 {
  line-height: 1.7em;
}

.news h3 {
  font-size: 18px;
  border-left: 5px solid #ec6500;
  padding: 5px 0 5px 10px;
  margin: 4em 0 2em;
}

h4 {
  margin: 4em 0 1em;
}

.wf-sawarabimincho {
  font-family: "Sawarabi Mincho";
}

.large {
  font-size: 1.8em;
}

.semi_large {
  font-size: 1.2em;
}

.small {
  font-size: .8em !important;
}

.very_small {
  font-size: .6em !important;
}

.pink {
  color: #ff459d;
}

.red {
  color: #f00;
}

.brown {
  color: #6e1618;
}

.orange {
  color: #ec6600;
}

.gray {
  color: gray;
}

.mgb_0 {
  margin-bottom: 0 !important;
}

.mgb_25 {
  margin-bottom: 25px !important;
}


.mgt_0 {
  margin-top: 0 !important;
}

.mgt_25 {
  margin-top: 25px !important;
}

.mgt_50 {
  margin-top: 50px !important;
}

.mgt_100 {
  margin-top: 100px !important;
}

p.catch {
  font-family: "Sawarabi Mincho";
  font-size: 1.8em;
  color: #ec6500;
  margin-bottom: 1em !important;
  text-align: center;
  border-bottom: 1px solid #333;
  line-height: 1.5em !important;
  padding-bottom: 10px;
}

.delete {
  text-decoration: line-through;
  color: #666;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.clm2 {
  width: 48%;
}

@media screen and (max-width: 768px) {
  .clm2 {
    width: 100%;
  }
}

.clm3 {
  width: 33%;
}

@media screen and (max-width: 768px) {
  .clm3 {
    width: 100%;
  }

  .clm3 .btn_yellow {
    margin: 0 0 10px;
  }
}

.box_white {
  margin: 5% 0;
  padding: 2%;
  border: 1px solid #999;
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #fff;
}

.box_white p:first-child {
  width: 80%;
}

.box_white p:last-child {
  width: 20%;
}

@media screen and (max-width: 768px) {
  .box_white p:first-child {
    width: 100%;
  }

  .box_white p:last-child {
    width: 100%;
  }

  .box_white p:last-child img {
    width: 50%;
    display: block;
    margin: 0 auto;
  }
}

/* toppage */

.top_message {
  width: 40%;
  position: absolute;
  top: 40%;
  left: calc(50% - 20%);
}


.top_msg1 {
  background-color: rgba(255, 242, 59, .85);
}

.top_msg1 h1 {
  text-align: center;
  font-size: 3vw;
  font-weight: 100;
  padding: 4% 0 0;
  color: #210;
}

.top_msg1 p {
  text-align: center;
  font-size: 2vw;
  font-weight: bold;
  padding: 4% 0;
  color: #f10;
}

.top_msg2 {
  /* background-color: rgba(149, 198, 41, .85); */
  background-color: rgba(0, 0, 0, .95);
}

.top_msg2 p {
  text-align: center;
  font-size: 1.5vw;
  font-weight: bold;
  line-height: 1.8vw;
  margin-top: 2%;
  padding: 3% 0;
  color: #fff;
}

@media screen and (max-width: 1300px) {
  .top_message {
    width: 40%;
    position: absolute;
    top: 45%;
    left: calc(50% - 20%);
  }

  .top_msg1 h1 {
    text-align: center;
    font-size: 4vw;
    font-weight: 100;
    padding: 5% 0 0;
    color: #210;
  }

  .top_msg1 p {
    text-align: center;
    font-size: 3vw;
    font-weight: bold;
    padding: 5% 0;
    color: #f10;
  }

  .top_msg2 {
    /* background-color: rgba(149, 198, 41, .85); */
    background-color: rgba(0, 0, 0, .95);
  }

  .top_msg2 p {
    text-align: center;
    font-size: 1.5vw;
    font-weight: bold;
    line-height: 1.8vw;
    margin-top: 2%;
    padding: 3% 0;
    color: #fff;
  }
}

.top_msg2 p a {
  display: block;
  color: #fff;
}

.top_img {
  background-color: #f7f1b5;
}

.top_img_bnr {
  width: 94%;
  max-width: 800px;
  margin: 0 auto;
}

.top_info {
  text-align: center;
  padding: 1em;
  background-color: #f4f0e6;
  /* background-color: #ffe167; */
  background-color: #ffff00;
  font-size: 18px;
  line-height: 1.7em;
}

.top_info a {
  color: #f00;
  text-decoration: underline;
  font-weight: bold;
}

.top_btn {
  width: 94%;
  max-width: 640px;
  margin: 50px auto 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 30px;
}

.top_btn li {
  width: 48%;
}

.top_btn li.clm1 {
  width: 100%;
}

.top_btn li h2 {
  margin: 20px 0;
}

.top_btn li h3 {
  margin: 10px 0;
}

.top_btn li p {
  line-height: 1.7em;
}

.top_about {
  background: url(../img/top_about_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center bottom;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  padding: 100px 0;
}

h2 {
  width: 100%;
  text-align: center;
  margin-bottom: 50px;
  font-size: 24px;
  line-height: 1.2em;
}

.top_news {
  width: 94%;
  max-width: 640px;
  margin: 50px auto 100px;
  ;
}

.top_news h3 {
  margin-bottom: 20px;
  ;
}

.top_news p {
  line-height: 1.7em;
}

.top_sns_btn {
  display: flex;
  width: 94%;
  margin: 50px auto 100px;
  max-width: 500px;
  justify-content: space-around;
}

.top_sns_btn li {
  width: 20%;

}

.top_about img {
  width: 24%;
  max-width: 237px;
  max-height: 237px;
  margin-right: 60px;
}

.top_about p {
  width: 50%;
  max-width: 500px;
  line-height: 1.7em;
}

.btn_yellow {
  width: 100%;
  margin: 30px 0;
  line-height: 1.5em;
}

.btn_yellow a {
  display: block;
  margin: 0 auto;
  background-color: #ffe167;
  font-size: 24px;
  text-align: center;
  width: 90%;
  max-width: 380px;
  border-radius: 10px;
  padding: 1em;
}

.btn_yellow a {
  color: #000;
}

.btn_yellow.wide a {
  max-width: initial;
  line-height: 1.7em;
}

/* 2nd */

.content_640 {
  width: 94%;
  max-width: 640px;
  margin: 50px auto 100px;
}

.content_740 {
  width: 94%;
  max-width: 740px;
  margin: 50px auto 100px;
}

.content_640 p,
.content_740 p {
  margin-bottom: 2em;
  line-height: 1.7em;
}

.about {
  background: url(../img/bg_bar.jpg);
  background-size: contain;
  padding: 50px 0;
}

.about .content_740 {
  background-color: rgba(255, 255, 255, .9);
  padding: 50px;
  border-radius: 10px;
}

.bg_or {
  background-color: #ffefe3;
  padding: 50px 0;
}

.bg_or_grd {
  background: linear-gradient(#fff, #ffefe3);
  padding: 50px 0;
}

.news_shop_list {
  margin-bottom: 2em;
  padding-left: 2.25em;
  list-style-type: disc;
}

.news_shop_list li {
  line-height: 1.7em;
}

/* shop */
.shop_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.shop_list li {
  width: 49%;
  margin-bottom: 2%;
}

@media screen and (max-width: 768px) {

  .top_message {
    width: 90%;
    position: absolute;
    top: 25%;
    left: calc(50% - 45%);
  }

  .top_msg1 h1 {
    text-align: center;
    font-size: 3em;
    font-weight: 100;
    padding: 5% 0 0;
    color: #210;
  }

  .top_msg1 p {
    text-align: center;
    font-size: 2em;
    padding: 5% 0;
    color: #f10;
  }

  .top_msg2 p {
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5em;
    margin-top: 2%;
    padding: 2% 0;
  }

  .top_info {
    font-size: 16px;
    text-align: left;
  }

  .top_btn {
    margin: 30px auto;
  }

  .top_btn li {
    width: 100%;
    margin-bottom: 3%;
  }

  .top_about {
    background: url(../img/top_about_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center bottom;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    padding: 50px 0;
  }

  .top_news {
    margin-top: 20%;
  }

  .top_news h2,
  .top_about h2 {
    width: 100%;
    text-align: center;
    margin-bottom: 50px;
    font-size: 24px;
  }

  .top_about img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5%;
  }

  .top_about p {
    width: 90%;
  }

  .btn_yellow {
    width: 100%;
    margin: 30px 0;
  }

  .btn_yellow a {
    display: block;
    margin: 0 auto;
    background-color: #ffe167;
    font-size: 18px;
    text-align: center;
    width: 90%;
    max-width: 380px;
    border-radius: 10px;
    padding: 1em;
  }

  .top_about br {
    display: none;
  }

  .about .content_740 {
    padding: 50px 20px;
  }

  /* shop */

  .shop_list li {
    width: 100%;
    margin-bottom: 3%;
  }

}

/* 参加店ページ
============================================== */

/* 各日程へのリンクボタン */

.btn_date_link {
  margin: 10% 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}

.btn_date_link li {
  margin: 0 0 5%;
  width: 30%;
  background-color: #ffe167;
  border-radius: 10px;
}

.btn_date_link li a {
  display: block;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.5em;
  color: #000;
  text-align: center;
  width: 90%;
  max-width: 380px;
  padding: 1em;
}

@media screen and (max-width: 768px) {
  .btn_date_link li {
    width: 100%;
  }
}

/* 手書きメニュー */


.tegaki_menu li {
  width: 30%;
  margin-bottom: 5%;
}

.tegaki_menu li p {
  font-size: .7em;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .tegaki_menu li {
    width: 45%;
    margin-bottom: 5%;
  }
}

.triangle {
  width: 80px;
  height: 30px;
  background-color: #ec6600;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  margin: 0 auto;
}

.madamada {
  text-align: center;
  font-weight: bold;
}

h4.toppage_chiki_title {
  margin: 3em 0 3em;
  padding: 1em;
  background-color: #ffe167;
  line-height: 1.2em;
}

.btn_yellow.orange a {
  background-color: #ec6600;
  color: #fff;
}

.img_haibo {
  max-width: 500px;
}

.haibo_ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.haibo_ul li:first-child {
  width: 13%;
}

.haibo_ul li:last-child {
  width: 80%;
}


/*  */

.ev_photo {
  margin: 0 0 10%;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}

.ev_photo li {
  width: 25%;
  aspect-ratio: 1.66 / 1;
}

.ev_photo li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .ev_photo li {
    width: 50%;
  }
}