@media screen and (min-width: 769px), print {
  .spa {
    padding: 0 0 81px;
  }
  .spa .sec_ttl__jp {
    margin-top: 30px;
  }
  .spa .sec_ttl__catch {
    margin-top: 50px;
  }
  .spa .slick-dotted.slick-slider {
    margin-bottom: 0;
  }
  .spa_gallery {
    margin-top: 82px;
    padding: 0 0 48px;
  }
  .spa_gallery figure img {
    width: 100%;
    height: auto;
  }
  .spa_gallery .slick-dots {
    bottom: 0;
    font-size: 0;
  }
  .spa_gallery .slick-dots li {
    width: 12px;
    height: 12px;
    -moz-border-radius: 50%;
         border-radius: 50%;
    background: #6c6b6b;
    margin-left: 0;
  }
  .spa_gallery .slick-dots li:not(:last-child) {
    margin-right: 20px;
  }
  .spa_gallery .slick-dots li button::before {
    display: none;
  }
  .spa_gallery .slick-dots li.slick-active {
    background: #acacac;
  }
  .spa_detail {
    margin-top: 58px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .spa_detail dl {
    width: 580px;
  }
  .spa_detail dl dt {
    font-size: 1.6rem;
    line-height: 1;
    padding: 16px 0 15px 20px;
    background: #f7f7f7;
  }
  .spa_detail dl dd {
    margin-top: 25px;
  }
  .spa_detail dl dd ul li {
    font-size: 1.4rem;
    line-height: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0 0 20px;
  }
  .spa_detail dl dd ul li:not(:first-child) {
    margin-top: 20px;
  }
  .spa_detail dl dd ul li span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 100px;
    font-weight: 600;
  }
  .spa_detail dl dd ul li em {
    font-style: normal;
    font-weight: 500;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: -webkit-calc(100% - 100px);
    width: -moz-calc(100% - 100px);
    width: calc(100% - 100px);
  }
  .spa .txt_please {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    margin-top: 30px;
  }
  .spa_faq {
    margin-top: 100px;
    border: 1px solid #c9c9c9;
    padding: 30px 50px 0 50px;
  }
  .spa_faq_ttl {
    text-align: center;
    padding: 0 0 25px 0;
    border-bottom: 2px solid #c9c9c9;
  }
  .spa_faq_ttl h3 {
    font-size: 2.4rem;
    line-height: 0.8;
    font-weight: 400;
    position: relative;
    padding: 0 0 23px;
  }
  .spa_faq_ttl h3::after {
    position: absolute;
    content: "";
    width: 36px;
    height: 3px;
    background: #000;
    left: 50%;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
  }
  .spa_faq_ttl p {
    font-size: 1.4rem;
    line-height: 20px;
    margin-top: 13px;
  }
  .spa_faq dl {
    padding: 50px 0 56px;
  }
  .spa_faq dl:not(:last-child) {
    border-bottom: 1px solid #ebebeb;
  }
  .spa_faq dl dt {
    padding: 0 0 0 60px;
    position: relative;
    font-size: 1.6rem;
    line-height: 20px;
    font-weight: 500;
  }
  .spa_faq dl dt::before {
    position: absolute;
    content: "Q";
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -moz-border-radius: 3px;
         border-radius: 3px;
    color: #fff;
    background: #6c6b6b;
    font-size: 1.4rem;
    font-family: "Noto Serif", serif;
    font-weight: 400;
    left: 11px;
    top: -5px;
  }
  .spa_faq dl dd {
    padding: 0 0 0 60px;
    position: relative;
    font-size: 1.4rem;
    line-height: 28px;
    font-weight: 500;
    margin-top: 40px;
  }
  .spa_faq dl dd::before {
    position: absolute;
    content: "A";
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -moz-border-radius: 3px;
         border-radius: 3px;
    color: #fff;
    background: #b2b2b2;
    font-size: 1.4rem;
    font-family: "Noto Serif", serif;
    font-weight: 400;
    left: 11px;
    top: 2px;
  }
  .spa_day {
    margin-top: 78px;
    padding: 44px 100px 46px 100px;
    background: #f7f7f7;
    text-align: center;
  }
  .spa_day h3 {
    font-size: 2rem;
    line-height: 1;
    font-weight: 500;
    padding: 0 0 17px 0;
    border-bottom: 1px solid #000;
  }
  .spa_day p {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .spa_day p:nth-of-type(1) {
    margin-top: 12px;
  }
  .spa_day p:nth-of-type(2) {
    margin-top: 22px;
  }
  .spa_day p:nth-of-type(2) em {
    font-style: normal;
    font-size: 2rem;
    display: inline-block;
  }
  .spa_day p:nth-of-type(2) em:first-child {
    margin-right: 50px;
  }
  .spa_day p:nth-of-type(3) {
    margin-top: 15px;
  }
  .ie .spa_faq dl dt::before {
    display: inline-block;
    line-height: 28px;
    text-align: center;
    vertical-align: middle;
    top: -8px;
  }
  .ie .spa_faq dl dd::before {
    display: inline-block;
    line-height: 28px;
    text-align: center;
    vertical-align: middle;
  }
}

@media screen and (max-width: 768px) {
  .spa {
    padding: 0 0 10.41667vw;
  }
  .spa .sec_ttl__jp {
    margin-top: 4.55729vw;
  }
  .spa .sec_ttl__catch {
    margin-top: 6.51042vw;
  }
  .spa .slick-dotted.slick-slider {
    margin-bottom: 0;
  }
  .spa_gallery {
    margin-top: 5.20833vw;
    padding: 0 0 5.20833vw;
  }
  .spa_gallery figure img {
    width: 100%;
    height: auto;
  }
  .spa_gallery .slick-dots {
    bottom: 0;
    font-size: 0;
  }
  .spa_gallery .slick-dots li {
    width: 2.60417vw;
    height: 2.60417vw;
    -moz-border-radius: 50%;
         border-radius: 50%;
    background: #6c6b6b;
    margin-left: 0;
  }
  .spa_gallery .slick-dots li:not(:last-child) {
    margin-right: 2.60417vw;
  }
  .spa_gallery .slick-dots li button::before {
    display: none;
  }
  .spa_gallery .slick-dots li.slick-active {
    background: #acacac;
  }
  .spa_detail {
    margin-top: 7.8125vw;
  }
  .spa_detail dl:not(:first-child) {
    margin-top: 3.90625vw;
  }
  .spa_detail dl dt {
    font-size: 4.16667vw;
    line-height: 1;
    padding: 2.08333vw 0 1.95312vw 2.60417vw;
    background: #f7f7f7;
  }
  .spa_detail dl dd {
    margin-top: 3.25521vw;
  }
  .spa_detail dl dd ul li {
    font-size: 3.90625vw;
    line-height: 1.5;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0 0 2.60417vw;
  }
  .spa_detail dl dd ul li:not(:first-child) {
    margin-top: 2.60417vw;
  }
  .spa_detail dl dd ul li span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 19.53125vw;
    font-weight: 600;
  }
  .spa_detail dl dd ul li em {
    font-style: normal;
    font-weight: 500;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: -webkit-calc(100% - 19.53125vw);
    width: -moz-calc(100% - 19.53125vw);
    width: calc(100% - 19.53125vw);
  }
  .spa .txt_please {
    font-size: 3.90625vw;
    font-weight: 500;
    margin-top: 3.90625vw;
  }
  .spa_faq {
    margin-top: 13.02083vw;
    border: 1px solid #c9c9c9;
    padding: 3.90625vw 2.60417vw 0;
  }
  .spa_faq_ttl {
    text-align: center;
    padding: 0 0 3.90625vw 0;
    border-bottom: 2px solid #c9c9c9;
  }
  .spa_faq_ttl h3 {
    font-size: 6.25vw;
    line-height: 0.8;
    font-weight: 400;
    position: relative;
    padding: 0 0 3.125vw;
  }
  .spa_faq_ttl h3::after {
    position: absolute;
    content: "";
    width: 9.375vw;
    height: 3px;
    background: #000;
    left: 50%;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
  }
  .spa_faq_ttl p {
    font-size: 3.90625vw;
    line-height: 1.5;
    margin-top: 1.95312vw;
  }
  .spa_faq dl {
    padding: 6.51042vw 0 7.29167vw;
  }
  .spa_faq dl:not(:last-child) {
    border-bottom: 1px solid #ebebeb;
  }
  .spa_faq dl dt {
    padding: 0 0 0 7.8125vw;
    position: relative;
    font-size: 4.16667vw;
    line-height: 1.5;
    font-weight: 500;
  }
  .spa_faq dl dt::before {
    position: absolute;
    content: "Q";
    width: 6.51042vw;
    height: 6.51042vw;
    display: inline-block;
    text-align: center;
    line-height: 5.85938vw;
    vertical-align: middle;
    -moz-border-radius: 0.65104vw;
         border-radius: 0.65104vw;
    color: #fff;
    background: #6c6b6b;
    font-size: 3.90625vw;
    font-family: "Noto Serif", serif;
    font-weight: 400;
    left: 0;
    top: -0.65104vw;
  }
  .spa_faq dl dd {
    padding: 0 0 0 7.8125vw;
    position: relative;
    font-size: 3.90625vw;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 5.20833vw;
  }
  .spa_faq dl dd::before {
    position: absolute;
    content: "A";
    width: 6.51042vw;
    height: 6.51042vw;
    display: inline-block;
    text-align: center;
    line-height: 6.51042vw;
    vertical-align: middle;
    -moz-border-radius: 0.65104vw;
         border-radius: 0.65104vw;
    color: #fff;
    background: #b2b2b2;
    font-size: 3.90625vw;
    font-family: "Noto Serif", serif;
    font-weight: 400;
    left: 0;
    top: -0.65104vw;
  }
  .spa_day {
    margin-top: 10.15625vw;
    padding: 5.72917vw 2.60417vw 6.51042vw;
    background: #f7f7f7;
    text-align: center;
  }
  .spa_day h3 {
    font-size: 5.20833vw;
    line-height: 1;
    font-weight: 500;
    padding: 0 0 2.21354vw 0;
    border-bottom: 1px solid #000;
  }
  .spa_day p {
    font-size: 3.90625vw;
    line-height: 1.5;
  }
  .spa_day p:nth-of-type(1) {
    margin-top: 12px;
  }
  .spa_day p:nth-of-type(2) {
    margin-top: 2.86458vw;
  }
  .spa_day p:nth-of-type(2) em {
    font-style: normal;
    font-size: 5.20833vw;
    display: inline-block;
  }
  .spa_day p:nth-of-type(2) em:first-child {
    margin-right: 3.90625vw;
  }
  .spa_day p:nth-of-type(3) {
    margin-top: 1.95312vw;
  }
}
