@charset "UTF-8";
:root {
  -webkit-font-smoothing: antialiased;
  --clr-facebook: #1877F2;
  --clr-twitter: #1D9BF0;
  --clr-line: #4CC764;
  --fzSP: 1.4rem;
  --fzPC: 1.6rem;
  --fz-headline: 4.6rem;
  --fz-heading: 2.3rem;
  --fz-subhead: 1.6rem;
  --lh: 2;
  --ls: normal;
  --ff-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝ProN W3", HiraMinProN-W3, "ヒラギノ明朝Pro W3", "Hiragino Mincho Pro", "ＭＳ 明朝", "MS Mincho", serif;
  --ff-sans: YakuHanJP, "Roboto", "Noto Sans JP", sans-serif;
}

#firstBnr {
  position: relative;
  padding-left: 4vw;
  padding-right: 4vw;
  padding-bottom: 8.5333333333vw;
}
@media (min-width: 768px) {
  #firstBnr {
    padding: 0 0 44px;
  }
  #firstBnr .swiper-slide {
    width: 1200px;
    height: 500px;
    -webkit-transition: opacity 0.25s cubic-bezier(0.43, 0.05, 0.17, 1) 0s;
    transition: opacity 0.25s cubic-bezier(0.43, 0.05, 0.17, 1) 0s;
  }
  #firstBnr .swiper-slide:hover {
    opacity: 0.7;
  }
  #firstBnr .swiper-slide.dis {
    pointer-events: none;
  }
}
#firstBnr :is(.swiper-button-prev, .swiper-button-next) {
  background: #da340b;
  color: #fff;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 50%;
  margin-top: -5.3333333333vw;
}
#firstBnr :is(.swiper-button-prev, .swiper-button-next) i {
  font-size: 2rem;
}
#firstBnr :is(.swiper-button-prev, .swiper-button-next)::after {
  content: none;
}
#firstBnr :is(.swiper-button-prev, .swiper-button-next):where(.swiper-button-prev) {
  left: 0;
}
#firstBnr :is(.swiper-button-prev, .swiper-button-next):where(.swiper-button-next) {
  right: 0;
}
@media (min-width: 768px) {
  #firstBnr :is(.swiper-button-prev, .swiper-button-next) {
    width: 60px;
    height: 60px;
    margin-top: 0;
    -webkit-transition: background 0.25s ease-out;
    transition: background 0.25s ease-out;
    top: 220px;
  }
  #firstBnr :is(.swiper-button-prev, .swiper-button-next) i {
    font-size: 3rem;
  }
  #firstBnr :is(.swiper-button-prev, .swiper-button-next):where(.swiper-button-prev) {
    left: calc(50% - 640px);
  }
  #firstBnr :is(.swiper-button-prev, .swiper-button-next):where(.swiper-button-next) {
    right: calc(50% - 640px);
  }
  #firstBnr :is(.swiper-button-prev, .swiper-button-next):hover {
    background-color: #0b308e;
  }
}
#firstBnr .swiper-pagination {
  bottom: 0;
  width: calc(100% - 8vw);
  height: 1.8666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4vw;
}
@media (min-width: 768px) {
  #firstBnr .swiper-pagination {
    width: 100%;
    height: 10px;
    gap: 0 12px;
  }
}
#firstBnr .swiper-pagination-bullet {
  background-color: #ccc;
  opacity: 1;
  width: 1.8666666667vw;
  height: 1.8666666667vw;
  margin: 0;
}
@media (min-width: 768px) {
  #firstBnr .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
}
#firstBnr .swiper-pagination-bullet-active {
  background-color: #f9be00;
}

#newitem {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6.6666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.6666666667vw 58px;
}
@media (min-width: 768px) {
  #newitem {
    width: 1200px;
    margin-top: 30px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#newitem a {
  display: block;
  position: relative;
}
@media (hover: hover) {
  #newitem a {
    -webkit-transition: opacity 0.25s ease-in;
    transition: opacity 0.25s ease-in;
  }
  #newitem a:hover {
    opacity: 0.7;
  }
}
#newitem a .label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 9.3333333333vw;
  font-size: 1.8rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #newitem a .label {
    left: 70px;
    font-size: 3.6rem;
  }
}
#newitem a:nth-of-type(2) .label {
  color: #fff;
}

#information {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  #information {
    margin-top: 70px;
    width: 1200px;
  }
}
#information .headline {
  font-size: 1.9rem;
  font-weight: 900;
}
#information .headline i {
  margin-right: 2.2666666667vw;
}
@media (min-width: 768px) {
  #information .headline {
    font-size: 3rem;
  }
  #information .headline i {
    margin-right: 8px;
  }
}
#information #informationcontents {
  margin-top: 8vw;
  border-top: 1px solid #e7e7e7;
}
@media (min-width: 768px) {
  #information #informationcontents {
    margin-top: 50px;
  }
}
#information #informationcontents :is(a, span) {
  border-bottom: 1px solid #e7e7e7;
  padding-top: 5.3333333333vw;
  padding-bottom: 4vw;
  display: block;
}
@media (min-width: 768px) {
  #information #informationcontents :is(a, span) {
    padding: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #information #informationcontents :is(a, span):where(a):hover .label {
    text-decoration: underline;
  }
}
#information #informationcontents .time {
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #information #informationcontents .time {
    font-size: 1.6rem;
    width: 130px;
  }
}
#information #informationcontents .label {
  margin-top: 2vw;
  font-size: 1.5rem;
  line-height: 1.33;
  color: #da340b;
}
@media (min-width: 768px) {
  #information #informationcontents .label {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.67;
  }
}
#information #informationcontents .label .ico.pdf {
  margin-left: 8px;
}

#menu {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 13.3333333333vw;
}
@media (min-width: 768px) {
  #menu {
    width: 1200px;
    margin-top: 70px;
  }
}
#menuheader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 768px) {
  #menuheader {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    height: 60px;
  }
}
#menuheader .headline {
  font-size: 2.1rem;
  font-weight: 900;
}
@media (min-width: 768px) {
  #menuheader .headline {
    font-size: 3rem;
  }
}
#menuheader .headline .ico.bento {
  width: 10.1333333333vw;
  height: 7.6vw;
  margin-right: 3.0666666667vw;
}
@media (min-width: 768px) {
  #menuheader .headline .ico.bento {
    width: 41px;
    height: 30px;
    margin-right: 14px;
  }
}
#menuheader div.flyer {
  width: 37.3333333333vw;
}
#menuheader div.flyer .button {
  height: 10.6666666667vw;
}
#menuheader div.flyer .ico.flyer {
  margin-right: 1.4666666667vw;
  position: static;
  border: none;
  border-radius: 0;
}
@media (min-width: 768px) {
  #menuheader div.flyer {
    position: absolute;
    top: 0;
    right: 0;
    width: 193px;
    font-size: 1.6rem;
  }
  #menuheader div.flyer .button {
    height: 60px;
  }
  #menuheader div.flyer .ico.flyer {
    margin-right: 10px;
  }
}
#menucontent {
  margin-top: 6.6666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4.5333333333vw;
}
@media (min-width: 768px) {
  #menucontent {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }
}
#menucontent a {
  width: 43.7333333333vw;
  display: block;
  position: relative;
  background-color: #f9f9f9;
  border-radius: 10px;
  overflow: hidden;
}
@media (min-width: 768px) {
  #menucontent a {
    width: auto;
  }
  #menucontent a::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 10px;
    border: 14px solid rgba(249, 190, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.25s ease-out;
    transition: opacity 0.25s ease-out;
    pointer-events: none;
  }
  #menucontent a:hover::after {
    opacity: 1;
  }
}
#menucontent a .menucatlabel {
  position: absolute;
  bottom: 2.6666666667vw;
  left: 1.3333333333vw;
  width: calc(100% - 2.6666666667vw);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #menucontent a .menucatlabel {
    bottom: 20px;
    left: 0;
    width: 100%;
    font-size: 1.8rem;
  }
}
#menucontent a.serachbtn {
  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: 1.5rem;
  font-weight: 700;
  gap: 1.6vw;
  background-image: url(../images/home/bg_allergy.webp);
  background-image: -webkit-image-set(url(../images/home/bg_allergy.webp) 1x, url(../images/home/bg_allergy@2x.webp) 2x);
  background-image: image-set(url(../images/home/bg_allergy.webp) 1x, url(../images/home/bg_allergy@2x.webp) 2x);
  background-size: 13.3333333333vw auto;
  background-position: right bottom;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  #menucontent a.serachbtn {
    gap: 0 8px;
    font-size: 1.8rem;
    background-size: 84px auto;
  }
}
#menucontent a .ico.search {
  background-color: #f9be00;
  background-size: 4.6666666667vw;
  width: 8vw;
  height: 8vw;
  border-radius: 50%;
}
@media (min-width: 768px) {
  #menucontent a .ico.search {
    width: 50px;
    height: 50px;
    background-size: 30px;
  }
}
#menu > .button {
  margin-top: 13.3333333333vw;
}
@media (min-width: 768px) {
  #menu > .button {
    margin-top: 50px;
    width: 380px;
    margin-left: auto;
    margin-right: auto;
  }
}

#search {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 13.3333333333vw;
  position: relative;
}
@media (min-width: 768px) {
  #search {
    width: 800px;
    margin-top: 70px;
  }
}
#search .dec {
  width: 16.9333333333vw;
  position: absolute;
  right: 0;
}
@media (max-width: 767px) {
  #search .dec {
    top: -6.6666666667vw;
  }
}
@media (min-width: 768px) {
  #search .dec {
    width: 127px;
    bottom: 62px;
    right: -205px;
  }
}
#search .headline {
  font-size: 2.1rem;
  font-weight: 900;
  text-align: center;
}
#search .headline i[class^=fa] {
  color: #da340b;
  font-size: 2.8rem;
}
@media (min-width: 768px) {
  #search .headline {
    font-size: 3rem;
  }
  #search .headline i[class^=fa] {
    font-size: 3rem;
  }
}
#search .prefsearch, #search .keywordsearch {
  background-color: #f9f9f9;
  border-radius: 15px;
  padding: 8vw 4vw;
}
@media (min-width: 768px) {
  #search .prefsearch, #search .keywordsearch {
    padding: 40px;
  }
}
#search .prefsearch h2, #search .keywordsearch h2 {
  font-size: 1.8rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  #search .prefsearch h2, #search .keywordsearch h2 {
    font-size: 2rem;
  }
}
#search .prefsearch h2 .ico, #search .keywordsearch h2 .ico {
  margin-right: 3.2vw;
}
@media (min-width: 768px) {
  #search .prefsearch h2 .ico, #search .keywordsearch h2 .ico {
    margin-right: 10px;
  }
}
#search .prefsearch {
  margin-top: 6.6666666667vw;
}
@media (min-width: 768px) {
  #search .prefsearch {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #search .prefsearch h2 {
    width: 220px;
  }
}
#search .prefsearch .select {
  margin-top: 4.8vw;
  position: relative;
}
@media (min-width: 768px) {
  #search .prefsearch .select {
    margin-top: 0;
    width: calc(100% - 220px);
  }
}
#search .prefsearch .select .ico.arrow {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background-color: #da340b;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 5.3333333333vw);
  right: 2vw;
  pointer-events: none;
}
@media (min-width: 768px) {
  #search .prefsearch .select .ico.arrow {
    width: 50px;
    height: 50px;
    top: calc(50% - 25px);
    right: 10px;
  }
}
#search .prefsearch .select select {
  width: 100%;
  height: 14.9333333333vw;
  border: none;
}
@media (min-width: 768px) {
  #search .prefsearch .select select {
    height: 70px;
  }
}
#search .keywordsearch {
  margin-top: 4.6666666667vw;
}
@media (min-width: 768px) {
  #search .keywordsearch {
    margin-top: 40px;
    position: relative;
  }
  #search .keywordsearch h2 {
    position: absolute;
  }
}
#search .keywordsearch .choice {
  margin-top: 6.6666666667vw;
  font-size: 1.6rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#search .keywordsearch .choice label {
  width: 50%;
}
@media (min-width: 768px) {
  #search .keywordsearch .choice {
    font-size: 1.8rem;
    margin-top: 0;
    margin-left: 245px;
  }
  #search .keywordsearch .choice label {
    width: 170px;
  }
}
#search .keywordsearch .keywordsearchbox {
  margin-top: 4.5333333333vw;
  position: relative;
}
@media (min-width: 768px) {
  #search .keywordsearch .keywordsearchbox {
    margin-top: 25px;
  }
}
#search .keywordsearch .keywordsearchbox input {
  width: 100%;
  height: 14.6666666667vw;
  border: none;
}
@media (min-width: 768px) {
  #search .keywordsearch .keywordsearchbox input {
    height: 70px;
  }
}
#search .keywordsearch .keywordsearchbox button {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background-color: #da340b;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 5.3333333333vw);
  right: 2vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  #search .keywordsearch .keywordsearchbox button {
    width: 50px;
    height: 50px;
    top: calc(50% - 25px);
    right: 10px;
  }
}
#search .button {
  margin-top: 9.3333333333vw;
}
@media (min-width: 768px) {
  #search .button {
    margin-top: 50px;
    width: 380px;
    margin-left: auto;
    margin-right: auto;
  }
}

#sublinks {
  width: 92vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 13.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.6666666667vw 45px;
}
@media (min-width: 768px) {
  #sublinks {
    width: 1200px;
    margin-top: 70px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#sublinks a {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.42;
  height: 36vw;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 4vw;
  text-align: left;
  padding: 0 6.6666666667vw;
}
#sublinks a i.ico {
  position: static;
}
@media (min-width: 768px) {
  #sublinks a {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 2.4rem;
    height: 240px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px 0;
    text-align: center;
    padding: 0;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
  }
  #sublinks a:hover {
    background-color: #f9be00;
  }
}

#contentsfooter {
  margin-top: 16vw;
  background-color: #f9f9f9;
  padding-top: 16vw;
  padding-bottom: 16vw;
}
@media (min-width: 768px) {
  #contentsfooter {
    margin-top: 60px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
#contentsfooter .snsfeed {
  margin-left: 4vw;
  margin-right: 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10.6666666667vw 0;
}
@media (min-width: 768px) {
  #contentsfooter .snsfeed {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 60px;
  }
}
#contentsfooter .instagramfeed, #contentsfooter .twitterfeed {
  background-color: #fff;
  padding: 10.6666666667vw 5.3333333333vw 12vw;
  border-radius: 15px;
}
@media (min-width: 768px) {
  #contentsfooter .instagramfeed, #contentsfooter .twitterfeed {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 67px 40px;
  }
}
#contentsfooter .snsheader {
  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: 1.8rem;
  font-weight: bold;
}
#contentsfooter .snsheader i.logo {
  margin-right: 3.2vw;
}
@media (min-width: 768px) {
  #contentsfooter .snsheader {
    font-size: 3rem;
  }
  #contentsfooter .snsheader i.logo {
    margin-right: 22px;
  }
}
#contentsfooter .snscontents {
  margin-top: 5.0666666667vw;
}
@media (min-width: 768px) {
  #contentsfooter .snscontents {
    margin-top: 30px;
  }
}
#contentsfooter .instagramfeed .snscontents {
  border: 1px solid #e7e7e7;
  height: 600px;
}

#bannerarea {
  position: relative;
  margin-top: 10.6666666667vw;
}
@media (min-width: 768px) {
  #bannerarea {
    margin-top: 60px;
    width: 780px;
    margin-left: auto;
    margin-right: auto;
  }
  #bannerarea .swiper-wrapper {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#bannerarea .swiper-slide.x2 {
  width: 48vw;
}
#bannerarea .swiper-slide.x1 {
  width: 21.3333333333vw;
}
@media (min-width: 768px) {
  #bannerarea .swiper-slide.x2 {
    width: 360px;
  }
  #bannerarea .swiper-slide.x1 {
    width: 160px;
  }
  #bannerarea .swiper-slide a {
    -webkit-transition: opacity 0.25s ease-out;
    transition: opacity 0.25s ease-out;
  }
  #bannerarea .swiper-slide a:hover {
    opacity: 0.7;
  }
}
#bannerarea .swiper-button-prev,
#bannerarea .swiper-button-next {
  background-color: #da340b;
  color: #fff;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border-radius: 50%;
  margin: 0;
  top: calc(50% - 2.6666666667vw);
}
#bannerarea .swiper-button-prev::after,
#bannerarea .swiper-button-next::after {
  content: none;
}
@media (min-width: 768px) {
  #bannerarea .swiper-button-prev,
  #bannerarea .swiper-button-next {
    display: none;
  }
}
#bannerarea .swiper-button-prev {
  left: 19.3333333333vw;
}
#bannerarea .swiper-button-next {
  right: 19.3333333333vw;
}