@charset "utf-8";
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFE8j75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFCMj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFM8k75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFPYk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFLgk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs13FvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs169vgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1y9ogUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUE.ttf) format('truetype');
}
.layout-base {
  position: relative;
  box-sizing: border-box;
}
.layout-base-a {
  position: absolute;
  box-sizing: border-box;
}
/* FM
--------------------------------------------------------------------------*/
#always_wrap .allergy_area img {
  width: 100%;
}
#always_wrap .allergy_area .allergy_title {
  position: relative;
  box-sizing: border-box;
}
#always_wrap .allergy_area .allergy_title figure.main-ttl {
  position: relative;
  box-sizing: border-box;
  width: 60%;
  margin: auto;
}
#always_wrap .allergy_area .allergy_title figure.main-ttl picture {
  position: relative;
  box-sizing: border-box;
}
#always_wrap .allergy_area .allergy_title figure.main-ttl figcaption {
  position: absolute;
  box-sizing: border-box;
  top: 7.8rem;
  right: 4.3%;
  color: #FFF;
  font-family: 'Oswald', sans-serif;
  font-size: 4rem;
  line-height: 4rem;
  margin: 0;
  font-weight: 500;
}
#always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 86%;
  max-width: 800px;
  margin: 0 auto 1.5rem auto;
}
#always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl .fm-ttl-p1 {
  position: absolute;
  box-sizing: border-box;
  width: 25%;
  left: 0;
  bottom: -1.5rem;
  z-index: 3;
}
#always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl .fm-ttl-p2 {
  position: absolute;
  box-sizing: border-box;
  width: 10%;
  left: 20%;
  top: -2rem;
  z-index: 2;
}
#always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl figcaption {
  position: relative;
  box-sizing: border-box;
  width: 76%;
  margin-left: 24%;
  display: block;
  background: url("../img/point.svg") no-repeat;
  background-position: center;
  background-origin: border-box;
  background-size: 100% 100%;
  padding: 4.5rem 2rem 5.5rem 3.5rem;
  font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
  font-size: 3.5rem;
  line-height: 4rem;
  font-weight: 700;
  text-align: center;
  z-index: 1;
}
#always_wrap .allergy_area .allergy_cnt {
  position: relative;
  box-sizing: border-box;
  background: url("../img/bg.webp") 0 0 repeat-y;
  background-size: 100% auto;
  padding-bottom: 5rem;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp {
  position: relative;
  box-sizing: border-box;
  width: 88%;
  display: block;
  margin: auto;
  background: #f5a948;
  border-radius: 1.4rem;
  padding: 4.5rem 4%;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 6.5rem 8% 3rem 8%;
  background: #FFF;
  border-radius: 1rem;
  box-shadow: 4px 4px #c18537;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/bbd.webp") top left no-repeat;
  background-size: 100%;
  width: 400px;
  height: 300px;
  left: 50%;
  transform: translateX(-50%);
  top: -4.5rem;
  z-index: 4;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/chara3.webp") bottom left no-repeat;
  background-size: 100%;
  width: 23rem;
  height: 21rem;
  right: -10%;
  bottom: -9.5rem;
  z-index: 5;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 900px;
  margin: auto;
  display: block;
  text-align: left;
  color: #333;
  background: url("../img/point.svg") no-repeat;
  background-position: center center;
  background-origin: border-box;
  background-size: 80% 100%;
  padding: 3rem 14% 3rem 14%;
  font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
  font-size: 3rem !important;
  font-weight: 700 !important;
  text-align: center;
  z-index: 1;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/icon-a.webp") top left no-repeat;
  background-size: 100%;
  width: 8rem;
  height: 8rem;
  left: 5rem;
  top: 0;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/chara2.webp") top left no-repeat;
  background-size: 100%;
  width: 12rem;
  height: 10rem;
  right: 5rem;
  top: 3rem;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl ruby {
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #333;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl ruby rt {
  color: #333;
  font-size: 1rem;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx {
  --lh: 5rem;
  --dot-y: 4.5rem;
  font-size: 2.2rem !important;
  line-height: var(--lh);
  font-weight: 500 !important;
  padding-bottom: 0.5rem;
  background-image: radial-gradient(circle at 1px 1px, #f7b86d 1px, transparent 1.2px);
  background-size: 5px var(--lh);
  background-repeat: repeat;
  background-position: left var(--dot-y);
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx ruby {
  font-size: 2.2rem !important;
  font-weight: 500;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx ruby rt {
  font-size: 0.9rem;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a figure {
  width: 100%;
  margin: 0 0 2rem 0 !important;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a .grd-2w {
  display: flex;
}
#always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a .grd-2w dd {
  margin-left: 1rem;
}
@media only screen and (max-width: 1919px) {
  #always_wrap .allergy_area .allergy_title figure.main-ttl figcaption {
    position: absolute;
    box-sizing: border-box;
    top: 4vw;
    font-size: 2.1vw;
    line-height: 2.1vw;
  }
}
@media only screen and (max-width: 1249px) {
  #always_wrap .allergy_area .allergy_title figure.main-ttl figcaption {
    position: absolute;
    box-sizing: border-box;
    top: 4.9rem;
    font-size: 2.8rem;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 767.98px) {
  #always_wrap .allergy_area .allergy_title figure.main-ttl {
    width: 80%;
    margin: auto;
  }
  #always_wrap .allergy_area .allergy_title figure.main-ttl picture {
    position: relative;
    box-sizing: border-box;
  }
  #always_wrap .allergy_area .allergy_title figure.main-ttl figcaption {
    top: 10.9vw;
    right: 8.1%;
    font-size: 7vw;
    line-height: 7vw;
  }
  #always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl {
    width: 92%;
    margin: 0 auto 3vw auto;
  }
  #always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl .fm-ttl-p1 {
    width: 25%;
    bottom: -3vw;
  }
  #always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl .fm-ttl-p2 {
    width: 12%;
    left: 20%;
    top: -2vw;
  }
  #always_wrap .allergy_area .allergy_title .allergy_q .fm-ttl figcaption {
    padding: 4.5vw 2vw 5.5vw 3.5vw;
    font-size: 5vw;
    line-height: 6vw;
  }
  #always_wrap .allergy_area .allergy_cnt {
    position: relative;
    box-sizing: border-box;
    padding-bottom: 5vw;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp {
    width: 88%;
    border-radius: 2vw;
    padding: 3vw 4%;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a {
    padding: 8.5vw 6% 3vw 6%;
    border-radius: 1.5vw;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a:before {
    background: url("../img/bbd.webp") top left no-repeat;
    background-size: 100%;
    width: 40vw;
    height: 11vw;
    top: -3.2vw;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a:after {
    background: url("../img/chara3.webp") bottom left no-repeat;
    background-size: 100%;
    width: 26vw;
    height: 24vw;
    right: -12%;
    bottom: -8vw;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl {
    background: url("../img/point.svg") no-repeat;
    background-position: center center;
    background-origin: border-box;
    background-size: 100% 100%;
    padding: 5vw 18% 5vw 18%;
    font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
    font-size: 4.5vw !important;
    line-height: 5vw !important;
    text-align: left;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl:before {
    background: url("../img/icon-a.webp") top left no-repeat;
    background-size: 100%;
    width: 10vw;
    height: 10vw;
    left: 0;
    top: 0;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl:after {
    background: url("../img/chara2.webp") top left no-repeat;
    background-size: 100%;
    width: 16vw;
    height: 13vw;
    right: -5%;
    top: 50%;
    transform: translateY(-50%);
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl ruby {
    font-size: 4.5vw !important;
    line-height: 5vw !important;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a h3.alg-a-ttl ruby rt {
    font-size: 1.2vw;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx {
    --lh: 3.8rem;
    --dot-y: 7.1rem;
    font-size: 1.7rem !important;
    line-height: var(--lh);
    padding-bottom: 1vw;
    background-image: radial-gradient(circle at 1px 1px, #f7b86d 1px, transparent 1.2px);
    background-size: 5px var(--lh);
    background-repeat: repeat;
    background-position: left var(--dot-y);
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx ruby {
    font-size: 1.7rem !important;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a p.alg-a-tx ruby rt {
    font-size: 0.9rem;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a figure {
    margin: 0 0 3vw 0 !important;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a .grd-2w {
    display: block;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a .grd-2w dt {
    font-weight: bold;
  }
  #always_wrap .allergy_area .allergy_cnt .allergy_a_wp .allergy_a .grd-2w dd {
    margin-left: 0;
  }
}
