@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Noto+Sans:wght@400;700&family=Noto+Serif+JP:wght@300;400;500;600;700&family=Pinyon+Script&display=swap&amp;subset=japanese");
.emufree {
  font-family: "Noto Serif JP", serif;
}
.emufree .map-shop {
  background: #F7F7F7;
}
@media (max-width: 750px) {
  .emufree .emufree-kv {
    position: relative;
  }
  .emufree .emufree-kv::after {
    content: "";
    background: url("/images/brand/emufree/sec1_bg_left_sp.png") no-repeat center top/100% auto;
    width: 34.1333333333vw;
    height: 57.6vw;
    left: 0;
    bottom: -37.8666666667vw;
    position: absolute;
    z-index: 0;
  }
}
.emufree .emufree-kv img {
  width: 100%;
  height: auto;
}
.emufree1 {
  background: url("/images/brand/emufree/sec1_bg.webp") no-repeat center top/100% auto;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 750px) {
  .emufree1 {
    background: url("/images/brand/emufree/sec1_bg_sp.webp") no-repeat center top/100% auto;
    margin-top: 0;
    padding-top: 9.6vw;
  }
}
@media (max-width: 750px) {
  .emufree1 .wrapper {
    padding: 0;
  }
}
.emufree1_inner {
  position: relative;
  z-index: 0;
  padding-top: min(84px, 5.25vw);
  padding-bottom: min(85px, 5.3125vw);
}
@media (max-width: 750px) {
  .emufree1_inner {
    padding-top: 0;
    padding-bottom: 22.4vw;
  }
}
@media (min-width: 751px) {
  .emufree1_inner::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: max(-591px, -36.9375vw);
    width: min(760px, 47.5vw);
    height: min(560px, 35vw);
    background: url("/images/brand/emufree/sec1_bg_left.webp") no-repeat center top/100% auto;
    z-index: -1;
  }
}
.emufree1_inner::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: max(-693px, -43.3125vw);
  width: min(853px, 53.3125vw);
  height: min(695px, 43.4375vw);
  background: url("/images/brand/emufree/sec1_bg_right.webp") no-repeat center top/100% auto;
  z-index: -1;
}
@media (max-width: 750px) {
  .emufree1_inner::after {
    background: url("/images/brand/emufree/sec1_bg_right_sp.png") no-repeat center top/100% auto;
    width: 51.4666666667vw;
    height: 59.7333333333vw;
    right: 0;
    bottom: -0.2666666667vw;
  }
}
.emufree1-ttl {
  text-align: center;
}
.emufree1-ttl img {
  width: 100%;
  max-width: min(664px, 41.5vw);
}
@media (max-width: 750px) {
  .emufree1-ttl img {
    max-width: 100%;
    width: 80vw;
  }
}
.emufree1-img {
  text-align: center;
  margin-top: min(39px, 2.4375vw);
  position: relative;
  max-width: min(908px, 56.75vw);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 750px) {
  .emufree1-img {
    margin-top: 4.2666666667vw;
    max-width: 100%;
    padding-bottom: 4.5333333333vw;
  }
}
.emufree1-img img {
  width: 100%;
  margin-left: max(-54px, -3.375vw);
}
@media (max-width: 750px) {
  .emufree1-img img {
    margin-left: 0;
  }
}
.emufree1-img-txt {
  font-size: min(16px, 1vw);
  line-height: 1.625;
  text-align: left;
  width: min(271px, 16.9375vw);
  position: absolute;
  bottom: 18.9%;
  right: 14.2%;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (max-width: 750px) {
  .emufree1-img-txt {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    width: 100%;
    right: auto;
    left: 4.8vw;
    bottom: 1.8666666667vw;
  }
}
.emufree1 .comfort {
  width: 100%;
  padding: 0 min(68px, 4.25vw) min(82px, 5.125vw);
  margin-top: min(88px, 5.5vw);
  position: relative;
  z-index: 0;
}
@media (max-width: 750px) {
  .emufree1 .comfort {
    padding: 0 4.8vw 6.4vw;
    margin-top: 19.2vw;
  }
}
.emufree1 .comfort::after {
  content: "";
  width: 100%;
  height: 75%;
  bottom: 0;
  left: 0;
  background-color: #EEF6FC;
  z-index: -1;
  position: absolute;
}
@media (max-width: 750px) {
  .emufree1 .comfort::after {
    height: 165.3333333333vw;
  }
}
.emufree1 .comfort-ttl {
  text-align: center;
}
.emufree1 .comfort-ttl img {
  width: 100%;
  max-width: min(366px, 22.875vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-ttl img {
    max-width: 100%;
    width: 66.1333333333vw;
  }
}
.emufree1 .comfort-img {
  width: 37.6%;
}
@media (max-width: 750px) {
  .emufree1 .comfort-img {
    width: 100%;
    text-align: center;
  }
  .emufree1 .comfort-img img {
    width: 55.2vw;
  }
}
.emufree1 .comfort-txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: min(26px, 1.625vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt {
    width: 100%;
    padding-left: 0;
    margin-top: 4.8vw;
  }
}
.emufree1 .comfort-txt ol {
  background-color: #fff;
  width: 100%;
  border: 1px solid #D9D9D9;
}
.emufree1 .comfort-txt ol li {
  padding: min(13px, 0.8125vw) min(20px, 1.25vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li {
    padding: 2.6666666667vw 2.6666666667vw 2.4vw 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.emufree1 .comfort-txt ol li + li {
  border-top: 1px solid #D9D9D9;
}
.emufree1 .comfort-txt ol li .comfort_num {
  width: 100%;
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort_num {
    width: 27.7333333333vw;
    text-align: center;
    padding-right: 2.6666666667vw;
  }
}
.emufree1 .comfort-txt ol li .comfort_num img {
  width: 100%;
}
.emufree1 .comfort-txt ol li .comfort_num.comfort_num1 img {
  width: min(184px, 11.5vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort_num.comfort_num1 img {
    width: 18.4vw;
  }
}
.emufree1 .comfort-txt ol li .comfort_num.comfort_num2 img {
  width: min(172px, 10.75vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort_num.comfort_num2 img {
    width: 15.7333333333vw;
  }
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort_num.comfort_num3 {
    padding: 0;
  }
}
.emufree1 .comfort-txt ol li .comfort_num.comfort_num3 img {
  width: min(201px, 12.5625vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort_num.comfort_num3 img {
    width: 21.6vw;
  }
}
.emufree1 .comfort-txt ol li .comfort-dec {
  font-size: min(14px, 0.875vw);
  line-height: 1.5714285714;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  padding-left: min(50px, 3.125vw);
  padding-top: min(1px, 0.0625vw);
  letter-spacing: 0.1em;
}
@media (max-width: 750px) {
  .emufree1 .comfort-txt ol li .comfort-dec {
    font-size: 3.4666666667vw;
    padding-left: 0;
    padding-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 1.5384615385;
  }
}
.emufree1 .comfort-imgtxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: min(36px, 2.25vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-imgtxt {
    display: block;
    margin-top: 3.2vw;
  }
}
.emufree1 .comfort-box {
  background-color: #E87F58;
  position: relative;
  margin-top: min(19px, 1.1875vw);
  padding: min(24px, 1.5vw) min(20px, 1.25vw) min(20px, 1.25vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-box {
    margin-top: 4vw;
    padding: 5.3333333333vw 5.3333333333vw 6.4vw;
  }
}
.emufree1 .comfort-box::before {
  content: "";
  width: min(50px, 3.125vw);
  height: min(48px, 3vw);
  background: url("/images/brand/emufree/comfort_box_top.png") no-repeat left top/100% 100%;
  position: absolute;
  top: min(11px, 0.6875vw);
  left: min(12px, 0.75vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-box::before {
    top: 2.1333333333vw;
    left: 2.1333333333vw;
    width: 8.5333333333vw;
    height: 8.2666666667vw;
  }
}
.emufree1 .comfort-box::after {
  content: "";
  width: min(50px, 3.125vw);
  height: min(48px, 3vw);
  background: url("/images/brand/emufree/comfort_box_bottom.png") no-repeat left top/100% 100%;
  position: absolute;
  bottom: min(11px, 0.6875vw);
  right: min(12px, 0.75vw);
}
@media (max-width: 750px) {
  .emufree1 .comfort-box::after {
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
    width: 8.5333333333vw;
    height: 8.2666666667vw;
  }
}
.emufree1 .comfort-box p {
  font-size: min(14px, 0.875vw);
  line-height: 1.8571428571;
  font-family: "Noto Sans", sans-serif;
  font-weight: 500;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .emufree1 .comfort-box p {
    font-size: 3.2vw;
    line-height: 2.1666666667;
  }
}
.emufree1 .comfort-box p span {
  position: relative;
  display: inline-block;
  z-index: 0;
}
.emufree1 .comfort-box p span::after {
  content: "";
  width: 96%;
  height: min(9px, 0.5625vw);
  background-color: #fff;
  position: absolute;
  bottom: min(5px, 0.3125vw);
  left: 2%;
  z-index: -1;
  opacity: 0.2;
}
@media (max-width: 750px) {
  .emufree1 .comfort-box p span::after {
    height: 2.1333333333vw;
    bottom: 1.6vw;
  }
}
.emufree2 {
  background: linear-gradient(135deg, rgba(218, 237, 247, 0.62) 0%, rgba(239, 212, 217, 0.62) 100%);
  padding-block: min(42px, 2.625vw) min(79px, 4.9375vw);
  position: relative;
}
@media (max-width: 750px) {
  .emufree2 {
    padding-block: 10.6666666667vw 10.4vw;
    background: url("/images/brand/emufree/sec2_bg_sp.png") no-repeat center top/100% 100%;
  }
}
@media (max-width: 750px) {
  .emufree2 .wrapper {
    padding: 0;
  }
}
.emufree2-ttl {
  text-align: center;
  width: 100%;
}
.emufree2-ttl img {
  width: 100%;
  max-width: min(400px, 25vw);
  margin-left: max(-8px, -0.5vw);
}
@media (max-width: 750px) {
  .emufree2-ttl img {
    max-width: 100%;
    width: 61.8666666667vw;
    margin-left: -1.6vw;
  }
}
.emufree2-img {
  text-align: center;
  margin: 0 max(-15px, -0.9375vw) 0;
  padding-top: min(32px, 2vw);
}
@media (max-width: 750px) {
  .emufree2-img {
    margin: 0;
    padding-top: 7.4666666667vw;
  }
}
.emufree2-img img {
  width: 100%;
  max-width: min(1090px, 68.125vw);
}
@media (max-width: 750px) {
  .emufree2-img img {
    max-width: 100%;
    width: 97.6vw;
  }
}
.emufree2-txt {
  text-align: center;
  margin-top: min(43px, 2.6875vw);
  padding-right: min(12px, 0.75vw);
}
@media (max-width: 750px) {
  .emufree2-txt {
    margin-top: 8vw;
    padding-right: 0;
  }
}
.emufree2-txt img {
  width: 100%;
  max-width: min(560px, 35vw);
}
@media (max-width: 750px) {
  .emufree2-txt img {
    max-width: 100%;
    width: 60.8vw;
  }
}

.step {
  position: relative;
  background-color: #C6D9EA;
  padding-top: 62px;
  padding-bottom: 93px;
}
.step-head {
  width: 100%;
  text-align: center;
}
.step-head .step-title {
  font-size: 23px;
  font-weight: bold;
  line-height: 30px;
  letter-spacing: 0.1em;
  color: #A82E6D;
  margin-top: 20px;
}
.step-head .step-title--2 {
  font-size: 30px;
  font-weight: bold;
  line-height: 30px;
  letter-spacing: 0.1em;
  color: #311303;
  margin-top: 15px;
}
.step-head .step-desc {
  font-family: "Hiragino Sans CNS", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 35px;
  letter-spacing: 0.05em;
  color: #311303;
  margin-top: 42px;
}
.step-inner {
  width: 100%;
  max-width: 1377px;
  margin: 57px auto 0;
  padding: 0 20px;
}
@media (max-width: 750px) {
  .step-inner {
    margin: 8.8vw auto 0;
    padding: 0;
    text-align: center;
  }
}
.step-img {
  width: 100%;
  margin-left: -6px;
}
@media (max-width: 750px) {
  .step-img {
    margin-left: -4vw;
    width: 92.8vw;
  }
}
.step-video {
  position: relative;
  margin: 105px auto 0;
  width: 626px;
}
.step-video .video-img {
  width: 100%;
}
.step-video .video-title {
  position: absolute;
  font-size: 19px;
  line-height: 30px;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: #000;
  text-align: center;
  top: 61px;
  left: 0;
  width: 100%;
}
.step-video .video-play-icon {
  width: 48px;
  height: 48px;
  position: absolute;
  bottom: 99px;
  right: 117px;
  background: no-repeat center center;
  background-size: contain;
}
@media (min-width: 751px) {
  .step-video .video-play-icon {
    background-image: url("/images/brand/emufree/video-play-icon.png");
    cursor: pointer;
  }
}
.step-video .video-frame-focus {
  position: absolute;
  top: 147px;
  left: 90px;
  width: 440px;
  height: 257px;
}

.store {
  padding-top: 0;
  padding-bottom: 0;
}
.store .wrapper {
  padding-bottom: 76px;
}
@media (min-width: 751px) {
  .store .wrapper {
    max-width: 1280px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .wrapper {
    max-width: 98.4615385vw;
    padding: 2.69230769vw 1.53846154vw 5.84615385vw;
  }
}
@media (max-width: 750px) {
  .store .wrapper {
    margin-top: 0;
    padding-bottom: 66px;
  }
}
.store .map-shop {
  background-color: #F7F7F7;
}
@media (min-width: 751px) {
  .store .map-shop {
    padding: 49px 0 49px;
  }
}
@media (max-width: 750px) {
  .store .map-shop {
    padding: 5.3333333333vw 4.8vw 2.9333333333vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .wrapper {
    min-height: 124.2666666667vw;
  }
}
.store .map-shop .ttl-top-sec02 {
  padding-top: 54px;
  padding-left: 214px;
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .ttl-top-sec02 {
    padding-top: 4.30769231vw;
    padding-left: 16.4615385vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .ttl-top-sec02 {
    padding: 1.0666666667vw 2.6666666667vw 5.3333333333vw;
  }
}
.store .map-shop .ttl-top-sec02 .txt {
  font-size: 28px;
  line-height: 1.7857142857;
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .ttl-top-sec02 .txt {
    font-size: 2.15384615vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .ttl-top-sec02 .txt {
    font-size: 20px;
    line-height: 1.5;
  }
}
.store .map-shop .wrapper .img {
  pointer-events: none;
}
@media (min-width: 751px) {
  .store .map-shop .wrapper .img {
    -webkit-transform: translate(25px);
            transform: translate(25px);
    margin-top: -130px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .wrapper .img {
    -webkit-transform: translate(1.92307692vw);
            transform: translate(1.92307692vw);
    margin-top: -10.2307692vw;
  }
  .store .map-shop .wrapper .img img {
    width: 81.5384615vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor {
    font-size: 18px;
    font-family: "Noto Serif JP", serif;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor {
    font-size: 1.38461538vw;
    padding: 0.384615385vw 0.769230769vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--01 {
    top: 139px;
    right: 401px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--01 {
    top: 10.6923077vw;
    right: 30.8461538vw;
    width: 16.9230769vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--01 {
    top: 47vw;
    right: 2vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--02 {
    top: 316px;
    left: 390px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--02 {
    top: 24.3076923vw;
    left: 30vw;
    width: 14.3076923vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--02 {
    top: 70vw;
    left: 9.4vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--03 {
    top: 318px;
    right: 358px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--03 {
    top: 24.4615385vw;
    right: 27.5384615vw;
    width: 11.3846154vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--03 {
    top: 74vw;
    right: 3vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--04 {
    bottom: 198px;
    right: 646px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--04 {
    bottom: 15.2307692vw;
    right: 49.6923077vw;
    width: 10vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--04 {
    bottom: 29.3333333333vw;
    right: 41vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--05 {
    bottom: 198px;
    right: 461px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--05 {
    bottom: 15.2307692vw;
    right: 35.4615385vw;
    width: 10vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--05 {
    bottom: 25.8666666667vw;
    right: 14.1333333vw;
  }
}
@media (min-width: 751px) {
  .store .map-shop .button-anchor--06 {
    bottom: 103px;
    left: 269px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
  .store .map-shop .button-anchor--06 {
    bottom: 7.92307692vw;
    left: 20.6923077vw;
    width: 15.1538462vw;
  }
}
@media (max-width: 750px) {
  .store .map-shop .button-anchor--06 {
    bottom: 10.6666666667vw;
    left: 3.2vw;
  }
}

@media screen and (min-width: 751px) and (max-width: 1599px) {
  .step {
    padding-top: 3.875vw;
    padding-bottom: 5.8125vw;
  }
  .step .step-head .step-title {
    font-size: 1.4375vw;
    line-height: 1.875vw;
    margin-top: 1.25vw;
  }
  .step .step-head .step-title--2 {
    font-size: 1.875vw;
    line-height: 1.875vw;
    margin-top: 0.9375vw;
  }
  .step .step-head .step-desc {
    font-size: 1.125vw;
    line-height: 2.1875vw;
    margin-top: 2.625vw;
  }
  .step .step-video {
    margin-top: 6.25vw;
    width: 39.125vw;
  }
  .step .step-video .video-title {
    font-size: 1.1875vw;
    line-height: 1.875vw;
    top: 3.8125vw;
  }
  .step .step-video .video-play-icon {
    width: 3vw;
    height: 3vw;
    bottom: 6.1875vw;
    right: 7.3125vw;
  }
  .step .step-video .video-frame-focus {
    top: 9.1875vw;
    left: 5.625vw;
    width: 27.5vw;
    height: 16.0625vw;
  }
}
@media (max-width: 750px) {
  .step {
    padding-top: 5.3333333333vw;
    padding-bottom: 0;
  }
  .step .step-head .step-title {
    font-size: 4.8vw;
    line-height: 8vw;
    margin-top: 6.6666666667vw;
  }
  .step .step-head .step-title--2 {
    font-size: 6.9333333333vw;
    line-height: 10.6666666667vw;
    margin-top: 2.4vw;
  }
  .step .step-head .step-desc {
    font-size: 3.4666666667vw;
    line-height: 5.8666666667vw;
    margin-top: 7.7333333333vw;
  }
  .step .step-video {
    margin-top: 12.5333333333vw;
    width: 100%;
  }
  .step .step-video .video-title {
    font-size: 3.7333333333vw;
    line-height: 5.8666666667vw;
    top: 9.8666666667vw;
  }
  .step .step-video .video-play-icon {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    bottom: 15.2vw;
    right: 18.4vw;
    background-image: url("/images/brand/emufree/video-play-icon-sp.png");
  }
  .step .step-video .video-frame-focus {
    top: 24.5333333333vw;
    left: 14.1333333333vw;
    width: 70.9333333333vw;
    height: 41.6vw;
  }
}