@charset "UTF-8";

body { min-width: 320px; }

/*
CONTENTS
================================================ */
main { padding-top: 16vw; }
main .inner { padding: 0 6.25vw; }

/* box common style */
.box {
  border-radius: 5.432vw;
  margin: 0 auto 10.25vw;
  max-width: 100%;
  padding: 6.25vw 4.38vw;
}

/* .section-outline */
.section-outline {
  background-image: url(../img/bg_img_food_sp.svg), url(../img/bg_pattern_dot.svg);
  padding: 16.25vw 0 6.25vw;
}
.box.border-frame {
  border: 1vw solid #8ad0da;
  padding: 4.6875vw 4.6875vw 6.25vw;
}
.box.border-frame h2 {
  display: block;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  top: -4.38vw;
  width: 100%;
}
.box.border-frame h2 span {
  background-color: #8ad0da;
  font-size: 4.38vw;
  width: 85%;
}
.box.border-frame dl { width: 100%; }
.box.border-frame dl div:last-child { padding: 0; }
.box.border-frame dl dt,
.box.border-frame dl dd {
  text-align: center;
  width: 100%;
}
.box.border-frame dl dt {
  font-size: 4.267vw;
  margin-top: .5em;
}
.box.border-frame dl dt:after { display: none; }
.box.border-frame dl dd { font-size: 4.267vw; }
.box.border-frame dl div span {
  font-size: 3.75vw;
  line-height: 1.3;
}
.offical-frame { position: relative; }
.offical-frame:before {
  background-image: url(../img/app_hukidashi.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 28vw;
  position: absolute;
  right: -4vw;
  top: -7vw;
  width: 28vw;
}
.official-application {
  flex-wrap: wrap;
  width: 100%;
}
.official-application figure {
  margin: 0 auto;
  width: 40%;
}
.official-application div { width: 100%; }
.official-application h2,
.official-application h2 + p {
  margin: .5em 0 0;
  text-align: center;
}
.official-application h2 { font-size: 4.267vw; }
.official-application h2 + p {
  font-size: 4.38vw;
  line-height: 1.5;
}
.official-application + img { display: none; }
.official-application ul {
  align-items: center;
  gap: 3.13vw;
  justify-content: center;
  margin: 1em 0 0;
}
.official-application li:nth-child(1) a { width: 30vw; }
.official-application li:nth-child(2) a { width: 36vw; }
.official-application a img {
  display: block;
  height: auto;
  width: 100%;
}
.event-frame {
  margin-bottom: 6.25vw;
  padding: 6.25vw 0 0;
}
.event-information div {
  margin-top: .5em;
}
.event-information dt {
  font-size: 4.38vw;
  text-align: center;
  width: 100%;
}
.event-information dt span { display: inline-block; }
.event-information dd {
  font-size: 4.267vw;
  text-align: center;
  width: 100%;
}
.event-information dd + p {
  font-size: 3.2vw;
  margin-top: 1em;
}
.event-attention {
  border-radius: 0 0 5.432vw 5.432vw;
  bottom: -6em;
}
.event-attention span { font-size: 3.75vw; }
.outline-link ul {
  flex-wrap: wrap;
  gap: 3vw 0;
  margin: 0 auto;
}
.outline-link li {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
.outline-link li a {
  border-width: .7vw;
  font-size: 4.38vw;
  width: 100%;
}
.outline-link li a span:after {
  border-bottom-width: .6vw;
  border-right-width: .6vw;
  height: 1.5vw;
  right: 4vw;
  top: 1.5vw;
  width: 1.5vw;
}

/* .section-goods */
.section-goods { padding: 10.25vw 0 8.13vw; }
.goods-frame { margin-bottom: 10.25vw; }
.goods-frame-wrap { flex-wrap: wrap; }
.goods-frame.goods04 {
  margin-bottom: 10.25vw;
  width: 100%;
}
.goods-frame.goods05 {
  margin-bottom: 0;
  width: 100%;
}
.goods-frame.goods04 .goods-frame-figure,
.goods-frame.goods05 .goods-frame-figure { padding: 0; }
.goods-frame:before {
  height: 25vw;
  left: -2vw;
  top: -7.5vw;
  width: 38vw;
}
.goods-frame-inner { padding-top: 12vw; }
.goods-frame-figure,
.goods-frame-body { width: 100%; }
.goods-frame-body { margin: 1em 0 0; }
.goods-name {
  font-size: 6.133vw;
  letter-spacing: -.1em;
}
.goods-spec {
  flex-wrap: wrap;
  margin-bottom: 1.3em;
}
.goods-spec-title,
.goods-spec-title + span { font-size: 3.75vw; }
.goods-spec dt,
.goods-spec dd { font-size: 3.75vw; }
.goods-spec-sentence {
  font-size: 4.38vw;
  width: 100%;
}
.goods-spec-supplement {
  font-size: 3.2vw;
  line-height: 1.5;
  width: 100%;
}

.section-supplement { font-size: 3.2vw; }

/* about */
.section-about { padding: 9.38vw 0; }
.about-frame-wrap {
  padding: 8.25vw 0;
  width: 100%;
}
.about-frame-figure {
  padding-bottom: 8.25vw;
  text-align: center;
  width: 100%;
}
.about-frame-figure img { width: 60vw; }
.about-frame-body {
  font-size: 4.38vw;
  width: 100%;
}