@charset "UTF-8";
/*=======================================
アレルギー検索
=========================================*/
.p-allergy {
  background: #fff;
  padding-top: 9.47917vw;
  padding-bottom: 6.77083vw;
  border-radius: 0 0 5.20833vw 0;
}
.p-allergy.is-search {
  padding-top: 5.20833vw;
  padding-bottom: 5.20833vw;
}
.p-allergy.is-search-before {
  border-radius: 0;
  padding-bottom: 13.54167vw;
}
.p-allergy__lead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4.84375vw;
}
.p-allergy__lead .lead {
  width: 42.8125vw;
}
.p-allergy__lead .note {
  background: #A27535;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 1.77083vw 2.08333vw;
  border-radius: 2.08333vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 42.8125vw;
}
.p-allergy__search .block1 {
  margin-bottom: 6.45833vw;
}
.p-allergy__search .list ul {
  display: flex;
  flex-wrap: wrap;
}
.p-allergy__search .list li {
  width: 19.0476%;
  margin-left: 1.1905%;
  margin-bottom: 1.04167vw;
}
.p-allergy__search .list li:nth-child(5n+1) {
  margin-left: 0;
}
.p-allergy__search .list label {
  cursor: pointer;
  display: flex;
  align-items: center;
  background: #F7F7F7;
  border-radius: 0.52083vw;
  height: 4.16667vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0.9375vw 1.04167vw;
}
.p-allergy__search .list label:has(input:checked) {
  background: #E50012;
  color: #fff;
}
.p-allergy__search .list label:has(input:checked) .img img {
  filter: brightness(30);
}
.p-allergy__search .list label:has(input:checked) .check:after {
  opacity: 1;
}
.p-allergy__search .list input[type="checkbox"],
.p-allergy__search .list input[type="radio"] {
  width: 0;
  height: 0;
  outline: 0;
  border: 0;
}
.p-allergy__search .list .img {
  width: 2.29167vw;
  text-align: center;
  line-height: 1;
  margin-right: 0.9375vw;
}
.p-allergy__search .list .name-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.83333vw;
  width: 100%;
}
.p-allergy__search .list .check {
  width: 1.66667vw;
  height: 1.66667vw;
  background: #fff;
  border-radius: 100%;
  position: relative;
  margin-left: auto;
}
.p-allergy__search .list .check:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/common/icon_check.svg) no-repeat center;
  background-size: contain;
  width: 0.83333vw;
  height: 0.625vw;
  opacity: 0;
}
.p-allergy__search .list.center ul {
  justify-content: center;
}
.p-allergy__search .list.li-w480 li {
  width: 25vw;
  margin-left: 2.08333vw;
}
.p-allergy__search .list.type2 li {
  width: 23.8690%;
  margin-left: 1.508%;
  margin-bottom: 1.5625vw;
}
.p-allergy__search .list.type2 li:nth-child(5n+1) {
  margin-left: 1.508%;
}
.p-allergy__search .list.type2 li:nth-child(4n+1) {
  margin-left: 0;
}
.p-allergy__search .list.type2 label {
  flex-direction: column;
  height: auto;
  padding-top: 1.04167vw;
  padding-bottom: 1.04167vw;
}
.p-allergy__search .list.type2 label:has(input:checked) .img img {
  filter: grayscale(0);
  box-shadow: 0.52083vw 0.3125vw 1.04167vw rgba(0, 0, 0, 0.15);
}
.p-allergy__search .list.type2 .img {
  width: 100%;
  margin-right: 0;
}
.p-allergy__search .list.type2 .img img {
  width: 100%;
  aspect-ratio: 330/202;
  object-fit: cover;
  filter: grayscale(100);
  border-radius: 0.52083vw;
}
.p-allergy__search .c-search-btn {
  margin-top: 3.4375vw;
}
.p-allergy__term .wrap {
  display: flex;
  justify-content: center;
  width: 41.66667vw;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.p-allergy__term input[type="text"] {
  width: calc(100% - 8.64583vw);
  height: 5.20833vw;
  padding: 1.45833vw 2.23958vw;
  font-size: clamp(17px, 1.25vw, 31px);
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  border: 1px solid #E50012;
  border-radius: 5.20833vw 0 0 5.20833vw;
}
@media screen and (max-width: 767px) {
  .p-allergy__term input[type="text"] {
    font-size: clamp(17px, 6.4vw, 31px);
  }
}
.p-allergy__term button {
  width: 8.64583vw;
  height: 5.20833vw;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #E50012;
  font-size: clamp(17px, 1.25vw, 31px);
  font-weight: 700;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  border: 0;
  outline: 0;
  color: #fff;
  border-radius: 0 5.20833vw 5.20833vw 0;
}
@media screen and (max-width: 767px) {
  .p-allergy__term button {
    font-size: clamp(17px, 6.4vw, 31px);
  }
}
.p-allergy__term button span {
  background: url(../img/common/icon_search-white.svg) no-repeat left center;
  background-size: 1.30208vw;
  padding-left: 1.82292vw;
}

/*=======================================
アレルギー検索 検索結果
=========================================*/
.p-allergy-result {
  padding-top: 8.90625vw;
  padding-bottom: 16.82292vw;
}
.p-allergy-result .title {
  text-align: center;
  margin-bottom: 4.47917vw;
  font-size: clamp(28px, 2.08333vw, 52px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-allergy-result .title {
    font-size: clamp(28px, 10.66667vw, 52px);
  }
}
.p-allergy-result .title em {
  color: #E50012;
  font-size: clamp(42px, 3.125vw, 78px);
}
@media screen and (max-width: 767px) {
  .p-allergy-result .title em {
    font-size: clamp(42px, 16vw, 78px);
  }
}
.p-allergy-result .content ul {
  display: flex;
  flex-wrap: wrap;
}
.p-allergy-result .content li {
  width: 22.6190%;
  margin-left: 3.174666%;
  margin-bottom: 3.125vw;
  text-align: center;
}
.p-allergy-result .content li:nth-child(4n+1) {
  margin-left: 0;
}
.p-allergy-result .content li a {
  display: block;
  text-decoration: none;
  color: #101010;
}
.p-allergy-result .content .img1 {
  background: #fff;
  border-radius: 1.04167vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.30208vw;
  padding: 1.04167vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-allergy-result .content .img1 img {
  aspect-ratio: 1/1;
  object-fit: contain;
}

/* ----------------------------- スマホ（～767px） */
@media screen and (max-width: 767px) {
  .p-allergy {
    padding-top: 8vw;
    padding-bottom: 26.66667vw;
    border-radius: 0 0 5.33333vw 0;
  }
  .p-allergy.is-search {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .p-allergy.is-search-before {
    border-radius: 0;
    padding-bottom: 42.66667vw;
  }
  .p-allergy__lead {
    display: block;
    margin-bottom: 24.8vw;
  }
  .p-allergy__lead .lead {
    width: 100%;
    margin-bottom: 8vw;
  }
  .p-allergy__lead .note {
    font-size: clamp(10px, 3.73333vw, 18px);
    padding: 5.33333vw 8vw;
    border-radius: 2.66667vw;
    width: 100%;
  }
  .p-allergy__search .block1 {
    margin-bottom: 16vw;
  }
  .p-allergy__search .list ul {
    display: flex;
    flex-wrap: wrap;
  }
  .p-allergy__search .list li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 2.66667vw;
  }
  .p-allergy__search .list li:nth-child(5n+1) {
    margin-left: 3%;
  }
  .p-allergy__search .list li:nth-child(2n+1) {
    margin-left: 0;
  }
  .p-allergy__search .list label {
    border-radius: 1.33333vw;
    height: 18.66667vw;
    padding: 2.13333vw 2.13333vw;
  }
  .p-allergy__search .list input[type="checkbox"],
  .p-allergy__search .list input[type="radio"] {
    margin: 0;
  }
  .p-allergy__search .list .img {
    width: 6.4vw;
    margin-right: 1.33333vw;
  }
  .p-allergy__search .list .img img {
    width: auto;
    max-height: 6.4vw;
  }
  .p-allergy__search .list .name {
    font-size: clamp(10px, 3.73333vw, 18px);
    line-height: 1.5;
    width: calc(100% - 18.66667vw);
  }
  .p-allergy__search .list .name-wrap {
    margin-top: 2.66667vw;
  }
  .p-allergy__search .list .check {
    width: 5.33333vw;
    height: 5.33333vw;
  }
  .p-allergy__search .list .check:after {
    width: 2.66667vw;
    height: 1.6vw;
  }
  .p-allergy__search .list.center ul {
    justify-content: center;
  }
  .p-allergy__search .list.li-w480 li {
    width: 48.5%;
    margin-left: 3%;
  }
  .p-allergy__search .list.li-w480 li:nth-child(2n+1) {
    margin-left: 0;
  }
  .p-allergy__search .list.li-w480 .name {
    width: calc(100% - 8vw);
  }
  .p-allergy__search .list.type2 li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 2.66667vw;
  }
  .p-allergy__search .list.type2 li:nth-child(2n+1) {
    margin-left: 0;
  }
  .p-allergy__search .list.type2 label {
    padding-top: 2.66667vw;
    padding-bottom: 2.66667vw;
  }
  .p-allergy__search .list.type2 label:has(input:checked) .img img {
    box-shadow: 1.33333vw 0.8vw 2.66667vw rgba(0, 0, 0, 0.15);
  }
  .p-allergy__search .list.type2 .name {
    width: calc(100% - 8vw);
  }
  .p-allergy__search .list.type2 .img img {
    width: auto;
    max-height: initial;
    border-radius: 1.33333vw;
  }
  .p-allergy__search .c-search-btn {
    margin-top: 17.6vw;
  }
  .p-allergy__term .wrap {
    margin-left: 5.33333vw;
    margin-right: 5.33333vw;
    width: auto;
  }
  .p-allergy__term input[type="text"] {
    width: calc(100% - 26.66667vw);
    height: 16vw;
    padding: 5.33333vw 5.33333vw;
    font-size: clamp(13px, 4.8vw, 23px);
    border-radius: 13.33333vw 0 0 13.33333vw;
  }
  .p-allergy__term button {
    width: 26.66667vw;
    height: 16vw;
    font-size: clamp(11px, 4.26667vw, 21px);
    border-radius: 0 13.33333vw 13.33333vw 0;
  }
  .p-allergy__term button span {
    background-size: 5.33333vw;
    padding-left: 8vw;
  }

  .p-allergy-result {
    padding-top: 26.66667vw;
    padding-bottom: 53.33333vw;
  }
  .p-allergy-result .title {
    text-align: center;
    margin-bottom: 13.33333vw;
    font-size: clamp(18px, 6.66667vw, 33px);
  }
  .p-allergy-result .title em {
    font-size: clamp(25px, 9.33333vw, 46px);
  }
  .p-allergy-result .content li {
    width: 48.5%;
    margin-left: 3%;
    margin-bottom: 6.66667vw;
  }
  .p-allergy-result .content li:nth-child(2n+1) {
    margin-left: 0;
  }
  .p-allergy-result .content .img1 {
    border-radius: 2.66667vw;
    margin-bottom: 2.66667vw;
    padding: 2.66667vw 4vw;
  }
}
