@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap");

:root {
	--vh: 0;
	--rem: 10px
}
@media screen and (max-width:1280px){
    :root{
        --rem:calc(10vw/1280*100)
    }
}
@media screen and (max-width:767px) {
	:root {
		--rem: calc(10vw/750*100)!important
	}
}

@media screen and (max-width:767px) {
	.display-pc {
		display: none!important;
	}
}
@media screen and (min-width:768px) {
	.display-sp {
		display: none!important;
	}
}

#main {
    color: #1a312d;
    font-feature-settings: "palt";
}
body img {
    height: auto;
}

#main .section {

}
#main .section .section__inner{
	max-width:calc(130*var(--rem));
	padding: 0 calc(10*var(--rem));
    margin-left:auto;
    margin-right:auto
}
@media screen and (max-width:767px){
    #main .section .section__inner{
        padding-right:calc(5*var(--rem));
        padding-left:calc(5*var(--rem));
        box-sizing:border-box
    }
}
#wrapper #main [data-anim] {
  -webkit-transition: 0.5s all ease;
  transition: 0.5s all ease;
}
#wrapper #main [data-anim=top] {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
}
.section.special {
    margin-top: 0;
}

/*========================================
  イントロダクション ローディングアニメーション
========================================*/
.intro {
  position: fixed;
  top: 0;
  left: 0;
  background-image: url(../img/bg-OP_pc.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: 999;
}
@media screen and (max-width:767px) {
    .intro {
        padding: calc(7*var(--rem));
        text-align: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        align-content: center;
        background-image: url(../img/bg-OP_sp.jpg);
    }
}
.intro__logo {
    transition: ease 0.5s;
    opacity: 0;
    filter: blur(10px);
}
@media screen and (min-width: 768px) {
  .intro__logo {
    position: absolute;
    top: calc(50% - 10.25*var(--rem));
    left: calc(50% - 19.5*var(--rem));
    width: calc(39*var(--rem));
    height: calc(20.5*var(--rem));
  }
}
@media screen and (max-width: 767px) {
  .intro__logo {
    width: calc(43.5*var(--rem));
    margin-bottom: calc(2*var(--rem));
  }
}
.intro.is-active .intro__logo {
    filter: blur(0);
    opacity: 1;
}

.intro__txtwrap {
    filter: blur(10px);
    opacity: 0;
    transition: ease 0.5s 0.5s;
}
@media screen and (min-width: 768px) {
    .intro__txtwrap {
        position: absolute;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: calc(102*var(--rem));
        height: calc(59*var(--rem));
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}
.intro.is-active .intro__txtwrap {
    filter: blur(0);
    opacity: 1;
}
.intro__txtwrap__txt {
    color: #ffffff;
    display: inline-block;
    font-size: calc(3*var(--rem));
    letter-spacing: 0.46em;
}
@media screen and (min-width: 768px) {
    .intro__txtwrap__txt {
        position: absolute;
        writing-mode: vertical-rl;
    }
    .intro__txtwrap__txt.left {
        left: 0;
        bottom: 0;
    }
    .intro__txtwrap__txt.right {
        right: 0;
        top: 0;
    }
}
@media screen and (max-width: 767px) {
  .intro__txtwrap__txt {
    margin-left: -1em;
    margin-right: -2em;
    font-size: calc(2.6*var(--rem));
  }
}

/*========================================
  KV
========================================*/

.kv {
    position: relative;
}
.kv:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(1*var(--rem));
    background: linear-gradient(0deg,rgba(161, 26, 35, 1) 0%, rgba(235, 38, 51, 1) 100%);
}
@media screen and (max-width: 767px) {
    .kv:before {
        height: calc(2.8*var(--rem));
    }
}
.kv:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(-1.5*var(--rem));
    width: calc(7.8*var(--rem));
    height: calc(4*var(--rem));
    background-image: url("../img/img-KV-ribon.png");
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (max-width: 767px) {
    .kv:after {
        bottom: calc(-3.5*var(--rem));
        width: calc(18.8*var(--rem));
        height: calc(9.6*var(--rem));
    }
}
.kv .kv__img img {
    width: 100%;
}
.kv .kv__txt {
    padding: calc(4*var(--rem)) calc(20*var(--rem));
    text-align: center;
    background-color: #132522;
    color: #ffffff;
}
@media screen and (max-width: 767px) {
    .kv .kv__txt {
        padding: calc(5*var(--rem)) calc(5*var(--rem)) calc(9*var(--rem)) calc(5*var(--rem));
    }
}
.kv .kv__txt__img img {
    width: calc(38.5*var(--rem));
}
@media screen and (max-width: 767px) {
    .kv .kv__txt__img img {
        width: calc(61.4*var(--rem));
    }
}
.kv .kv__txt__att {
    margin-top: calc(1*var(--rem));
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .kv .kv__txt__att {
        margin-top: calc(3*var(--rem));
        font-size: calc(1.8*var(--rem));
    }
}

/*========================================
  アンカーリスト
========================================*/
.anchor_list {
    overflow: hidden;
    padding: calc(13*var(--rem)) 0;
}
@media screen and (max-width: 767px) {
    .anchor_list {
        padding: calc(14*var(--rem)) 0 calc(12*var(--rem)) 0;
    }
}
.anchor_list .anchor_list__head {
    text-align: center;
}
.anchor_list .anchor_list__head:not(:first-child) {
    margin-top: calc(9*var(--rem));
}
.anchor_list .anchor_list__head__eng {
    line-height: 1;
    font-size: calc(5.4*var(--rem));
    font-family: "cochin-lt-pro", sans-serif;
    font-weight: 400;
    letter-spacing: -0.05em;
    background: linear-gradient(0deg, #2b5b5b 0%, #ed5555 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__head__eng {
        font-size: calc(8*var(--rem));
        margin-left: -1em;
        margin-right: -1em;
    }
}
.anchor_list .anchor_list__head__eng small {
    font-size: calc(4*var(--rem));
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__head__eng small {
        font-size: calc(6*var(--rem));
    }
}
.anchor_list .anchor_list__head__ja {
    margin-top: calc(1*var(--rem));
    font-size: calc(2*var(--rem));
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__head__ja {
        margin-top: calc(2*var(--rem));
        font-size: calc(3.2*var(--rem));
    }
}
.anchor_list .anchor_list__lists {
    display: flex;
    flex-wrap: wrap;
    width: calc(69*var(--rem));
    margin-top: calc(6.7*var(--rem));
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists {
        width: auto;
        margin-top: calc(10*var(--rem));
        margin-left: calc(-3.2*var(--rem));
        margin-right: calc(-3.2*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item {
    margin-left: calc(2.5*var(--rem));
    margin-right: calc(2.5*var(--rem));
    width: calc(18*var(--rem));
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item {
        margin-left: calc(3.2*var(--rem));
        margin-right: calc(3.2*var(--rem));
        width: calc(29.2*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .anchor_list .anchor_list__lists__item:nth-child(n+4) {
        margin-top: calc(6*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item:nth-child(n+3) {
        margin-top: calc(6.5*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__anchor {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: stretch;
    position: relative;
    width: calc(18*var(--rem));
    height: calc(19*var(--rem));
    padding-bottom: calc(2*var(--rem));
    border: 1px solid #c9b685;
    transition: opacity .5s;
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__anchor {
        width: 100%;
        height: calc(31*var(--rem));
        padding-bottom: calc(3*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__anchor:hover {
    opacity: .7;
}
.anchor_list .anchor_list__lists__item__anchor:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(2 * var(--rem));
    background: #c9b685;
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__anchor:before {
        height: calc(3 * var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__anchor:after {
    content: '';
    width: calc(0.6*var(--rem));
    height: calc(0.6*var(--rem));
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    position: absolute;
    left: calc(50% - 0.3*var(--rem));
    bottom: calc(0.8*var(--rem));
    transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__anchor:after {
        width: calc(1*var(--rem));
        height: calc(1*var(--rem));
        left: calc(50% - 0.3*var(--rem));
        bottom: calc(1.2*var(--rem));
    }
}
/* sleep終了対応 */
.anchor_list .anchor_list__lists__item.anchor_list__lists__item--end .anchor_list__lists__item__anchor:before {
    background: #a42120;
}
.anchor_list .anchor_list__lists__item.anchor_list__lists__item--end .anchor_list__lists__item__anchor:after {
    content: 'キャンペーンは終了しました。';
    left: calc(1.5*var(--rem));
    bottom: 0;
    width: auto;
    height: auto;
    border: none;
    color: #ffffff;
    font-size: calc(1.2*var(--rem));
    transform: rotate(0);
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item.anchor_list__lists__item--end .anchor_list__lists__item__anchor:after {
        font-size: calc(1.8 * var(--rem));
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        text-align: center;
    }
}
.recsleep-end {
    position: absolute;
    min-width: calc(32*var(--rem));
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
    padding: calc(1*var(--rem));
    background-color: rgb(164 33 32 / 80%);
    color: #ffffff;
    font-size: calc(1.5*var(--rem));
    z-index: 99;
}
@media screen and (max-width: 767px) {
    .recsleep-end {
        width: calc(40*var(--rem));
        padding: calc(2*var(--rem));
        font-size: calc(1.8*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__badge {
    position: absolute;
    top: calc(-4*var(--rem));
    right: calc(-4*var(--rem));
    width: calc(8*var(--rem));
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__badge {
        top: calc(-4*var(--rem));
        right: calc(-3*var(--rem));
        width: calc(12*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__img {
    width: auto;
    height: calc(12.5*var(--rem));
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__img {
        width: auto;
        height: calc(20*var(--rem));
    }
}
.anchor_list .anchor_list__lists__item__name {
    text-align: center;
    font-size: calc(1.4*var(--rem));
    line-height: calc(18 /15);
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__name {
        font-size: calc(2.2*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__lists__item__name sup {
        font-size: calc(1.4*var(--rem));
    }
}
.anchor_list .anchor_list__att {
    margin-top: calc(2*var(--rem));
    text-align: center;
    font-size: calc(1.4 * var(--rem));
    line-height: calc(18 / 15);
}
@media screen and (max-width: 767px) {
    .anchor_list .anchor_list__att {
        margin-top: calc(3*var(--rem));
        font-size: calc(1.8 * var(--rem));
    }
}

/*========================================
  PICK UP GIFT
========================================*/
.pickup {
    overflow: hidden;
    background-color: #a42120;
    color: #ffffff;
    padding: calc(13 * var(--rem)) 0 calc(12 * var(--rem)) 0;
    background-image: url("../img/bg-glitter_pc.png");
    background-repeat: no-repeat;
    background-size: 100%;
}
@media screen and (max-width: 767px) {
    .pickup {
        padding: calc(14 * var(--rem)) 0 calc(4 * var(--rem)) 0;
        background-image: url("../img/bg-glitter_sp.png");
    }
}
.holidaycp-h2 {
    text-align: center;
}
.holidaycp-h2__num {
    color: #d8cdaf;
    line-height: 1;
    font-size: calc(2.8 * var(--rem));
    font-family: "cochin-lt-pro", sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
    .holidaycp-h2__num {
        font-size: calc(4 * var(--rem));
    }
}
.holidaycp-h2__main {
    margin-top: calc(1.5*var(--rem));
    line-height: 1;
    font-size: calc(5.4 * var(--rem));
    font-family: "cochin-lt-pro", sans-serif;
    font-weight: 400;
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .holidaycp-h2__main {
        margin-left: -1em;
        margin-right: -1em;
        font-size: calc(8 * var(--rem));
    }
}
.holidaycp-h2__main small {
    font-size: calc(4.4 * var(--rem));
}
@media screen and (max-width: 767px) {
    .holidaycp-h2__main small {
        font-size: calc(6 * var(--rem));
    }
}
.holidaycp-h2__ja {
    margin-top: calc(1*var(--rem));
    font-size: calc(2*var(--rem));
}
@media screen and (max-width: 767px) {
    .holidaycp-h2__ja {
        margin-top: calc(2*var(--rem));
        font-size: calc(3.2*var(--rem));
    }
}
.holidaycp-h2__lead {
    text-align: center;
    margin-top: calc(4*var(--rem));
    font-size: calc(2.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .holidaycp-h2__lead {
        margin-top: calc(9*var(--rem));
        font-size: calc(3.6*var(--rem));
    }
}

@media screen and (min-width: 768px) {
    .main-columns {
        margin-top: calc(9.5*var(--rem));
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }
}
@media screen and (max-width: 767px) {
    .main-columns {
        margin-top: calc(10*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .main-columns .main-columns__column:nth-child(1) {
        width: calc(53*var(--rem));
    }
    .main-columns .main-columns__column:nth-child(2) {
        width: calc(40*var(--rem));
    }
    .main-columns.main-columns--typeA {
        margin-right: calc(7*var(--rem));
    }
    .main-columns.main-columns--typeB {
        margin-left: calc(7*var(--rem));
    }
    .main-columns.main-columns--typeA.main-columns--RW,
    .main-columns.main-columns--typeB.main-columns--RW {
        align-items: flex-start;
        margin-left: 0;
        margin-right: 0;
    }
    .main-columns.main-columns--RW .main-columns__column:nth-child(2) {
        padding-top: calc(2*var(--rem));
        width: calc(50 * var(--rem));
    }
}

@media screen and (min-width: 768px) {
    .main-columns.main-columns--typeB .main-columns__column:nth-child(1) {
        order: 2;
    }
    .main-columns.main-columns--typeB .main-columns__column:nth-child(2) {
        order: 1;
    }
}
@media screen and (max-width: 767px) {
    .main-columns .main-columns__column:nth-child(2) {
        margin-top: calc(7.5 * var(--rem));
        text-align: center;
    }
}

.product {
    position: relative;
}
.product .product__img {
    position: relative;
}
@media screen and (max-width: 767px) {
    .product .product__img {
        margin-left: calc(-5*var(--rem));
        margin-right: calc(-5*var(--rem));
    }
}
.product .product__img__off {
    position: absolute;
    top: calc(3 * var(--rem));
    right: calc(3 * var(--rem));
    width: calc(12 * var(--rem));
    z-index: 99;
}
@media screen and (max-width: 767px) {
    .product .product__img__off {
        top: calc(9 * var(--rem));
        right: calc(9 * var(--rem));
        width: calc(16*var(--rem));
    }
}
.product .product__img__slick__item {
    padding: calc(7*var(--rem)) calc(8*var(--rem));
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media screen and (max-width: 767px) {
    .product .product__img__slick__item {
        padding: calc(14*var(--rem)) calc(15.5*var(--rem));
    }
}
.pickup .main-columns.main-columns--typeA .product .product__img__slick__item {
    background-image: url("../img/bg-slide_pickup_a.jpg");
}
.pickup .main-columns.main-columns--typeB .product .product__img__slick__item {
    background-image: url("../img/bg-slide_pickup_b.jpg");
}
.care .main-columns.main-columns--typeA .product .product__img__slick__item {
    background-image: url("../img/bg-slide_care_a.jpg");
}
.care .main-columns.main-columns--typeB .product .product__img__slick__item {
    background-image: url("../img/bg-slide_care_b.jpg");
}
.product .slick-slide img {
    width: 100%;
}
.product__img__slick .slick-dots {
  position: absolute;
  bottom: calc(7*var(--rem));
  right: calc(5*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__img__slick .slick-dots {
        bottom: calc(14*var(--rem));
        right: calc(12*var(--rem));
    }
}
.product__img__slick .slick-dots li {
  flex: 1;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.product__img__slick .slick-dots li button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  transition: ease 0.5s;
  border: 1px solid #ffffff;
  width: calc(0.8*var(--rem));
  height: calc(0.8*var(--rem));
  background-color: transparent;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
    .product__img__slick .slick-dots li button {
        width: calc(1.4*var(--rem));
        height: calc(1.4*var(--rem));
    }
}
.product__img__slick .slick-dots li.slick-active button {
  background-color: #ffffff;
}
.product__img__slick .slick-dots li:not(:first-child) {
    margin-top: calc(1*var(--rem));
}
@media screen and (max-width: 767px) {
  .product__img__slick .slick-dots li:not(:first-child) {
    margin-top: calc(1.5*var(--rem));
  }
}
.product__img__slick .slick-arrow {
    position: absolute;
    top: 45%;
    width: calc(5.2*var(--rem));
    height: calc(6.9*var(--rem));
    border: 0;
    background: url(../img/ic-slick-arrow.png) no-repeat center center;
    background-size: contain;
    cursor: pointer;
    font-size: 0;
    z-index: 10;
    transition: ease 0.5s;
}
@media screen and (max-width: 767px) {
  .product__img__slick .slick-arrow {
    top: 45%;
    width: calc(7.28*var(--rem));
    height: calc(9.66*var(--rem));
  }
}
.product__img__slick .slick-arrow.slick-prev {
  left: calc(2*var(--rem));
}
.product__img__slick .slick-arrow.slick-next {
  right: calc(2*var(--rem));
  transform: scaleX(-1);
}
.product__img__line-txt {
  position: absolute;
  z-index: 95;
}
@media screen and (min-width: 768px) {
  .product__img__line-txt {
    line-height: 2;
    left: calc(3*var(--rem));
    bottom: calc(4*var(--rem));
  }
}
@media screen and (max-width: 767px) {
  .product__img__line-txt {
    line-height: 2.3;
    left: calc(11.5*var(--rem));
    bottom: calc(10.5*var(--rem));
  }
}
.product__img__line-txt__inner {
  color: #09243e;
  background: rgba(255, 255, 255, 0.9);
  font-weight: bold;
  letter-spacing: 0.1em;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0 calc(3*var(--rem));
}
@media screen and (min-width: 768px) {
  .product__img__line-txt__inner {
    font-size: calc(3*var(--rem));
    padding: calc(1*var(--rem));
  }
}
@media screen and (max-width: 767px) {
  .product__img__line-txt__inner {
    font-size: calc(3.6*var(--rem));
    padding: calc(1.5*var(--rem));
  }
}

.product__h3 {

}
@media screen and (max-width: 767px) {
    .product__h3__logo {
        margin-left: auto;
        margin-right: auto;
    }
}
.product__h3__logo.product__h3__logo--corebelt2 {
    width: calc(29*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--corebelt2 {
        width: calc(41*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--ff3 {
    width: calc(26.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--ff3 {
        width: calc(36*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--ff3black {
    width: calc(26.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--ff3black {
        width: calc(36*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--recwear {
    width: calc(35.3*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--recwear {
        width: calc(57*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--recsleep {
    width: calc(35.3*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--recsleep {
        width: calc(57*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--hipfit {
    width: calc(16.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--hipfit {
        width: calc(25.8*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--pgslim {
    width: calc(28.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--pgslim {
        width: calc(40*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--bike {
    width: calc(30*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--bike {
        width: calc(45.8*var(--rem));
    }
}
.product__h3__logo.product__h3__logo--roller {
    width: calc(45.3*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__logo.product__h3__logo--roller {
        width: calc(62.5*var(--rem));
    }
}

.product__h3__txt {
    margin-top: calc(1*var(--rem));
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__h3__txt {
        margin-top: calc(1.5*var(--rem));
        font-size: calc(2.6*var(--rem));
    }
}
.product__medical {
    display: inline-block;
    margin-top: calc(2*var(--rem));
    padding: calc(0.8*var(--rem)) calc(2*var(--rem));
    border: 1px solid #ffffff;
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__medical {
        margin-top: calc(2*var(--rem));
        padding: calc(0.9*var(--rem)) calc(2.1*var(--rem));
        font-size: calc(2*var(--rem));
    }
}
.product__name {
    margin-top: calc(3*var(--rem));
    font-size: calc(2.6*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__name {
        margin-top: calc(3*var(--rem));
        font-size: calc(3.8*var(--rem));
    }
}
.product__appeal {
    max-width: calc(40*var(--rem));
    text-align: center;
    background: linear-gradient(180deg,rgba(157, 124, 41, 1) 0%, rgba(201, 182, 133, 1) 100%);
    margin-top: calc(2*var(--rem));
    padding: calc(0.8*var(--rem));
    font-size: calc(1.8*var(--rem));
    letter-spacing: .12em;
}
@media screen and (max-width: 767px) {
    .product__appeal {
        margin-top: calc(3*var(--rem));
        max-width: none;
        display: inline-block;
        padding: calc(0.8*var(--rem)) calc(4*var(--rem));
        font-size: calc(2.6*var(--rem));
    }
}
.product__appeal .product__appeal__small {
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__appeal .product__appeal__small {
        font-size: calc(1.8*var(--rem));
    }
}
.product__sub-appeal {
    display: inline-block;
    margin-top: calc(3*var(--rem));
    font-size: calc(1.8*var(--rem));
    border-bottom: 1px solid #ffffff;
}
@media screen and (max-width: 767px) {
    .product__sub-appeal {
        margin-top: calc(4.5*var(--rem));
        font-size: calc(2.8*var(--rem));
    }
}
.product__size {
    margin-top: calc(4*var(--rem));
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__size {
        margin-top: calc(4*var(--rem));
        font-size: calc(3*var(--rem));
    }
}
.product__size small {
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__size small {
        font-size: calc(1.8*var(--rem));
    }
}
.product__appeal + .product__price {
    margin-top: calc(4.5*var(--rem));
}
.product__size + .product__price {
    margin-top: calc(2*var(--rem));
}
.product__price__normal {
    display: flex;
    width: max-content;
    align-items: baseline;
    flex-wrap: nowrap;
    font-size: calc(2.6*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal {
        margin-left: auto;
        margin-right: auto;
        font-size: calc(3.8*var(--rem));
        justify-content: center;
    }
}
.product__price__normal .product__price__normal__title {
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal .product__price__normal__title {
        font-size: calc(3*var(--rem));
    }
}
.product__price__normal .product__price__normal__num {
    margin-left: calc(1.4*var(--rem));
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .product__price__normal .product__price__normal__num {
        margin-left: calc(2*var(--rem));
    }
}
.product__price__normal .product__price__normal__num__main {
    font-family: "Work Sans", sans-serif;
    font-size: calc(5*var(--rem));
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .product__price__normal .product__price__normal__num__main {
        font-size: calc(7*var(--rem));
    }
}
.product__price__normal .product__price__normal__num__tax {
    font-size: calc(2.2*var(--rem));
    position: relative;
}
.product__price__normal .product__price__normal__num__tax sup {
    position: absolute;
    top: calc(-1*var(--rem));
    right: calc(0.5*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal .product__price__normal__num__tax sup {
        top: calc(-2*var(--rem));
        right: calc(0*var(--rem));
    }
}

.product__price__normal.product__price__normal--down {
    position: relative;
    font-size: calc(2.2*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal.product__price__normal--down {
        font-size: calc(3.8*var(--rem));
    }
}
.product__price__normal.product__price__normal--down .product__price__normal__num:before,
.product__price__normal.product__price__normal--down .product__price__normal__num:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #bfa971;
  position: absolute;
  left: 0;
}
.product__price__normal.product__price__normal--down .product__price__normal__num:before {
  top: 45%;
}
.product__price__normal.product__price__normal--down .product__price__normal__num:after {
  bottom: 32%;
}
.product__price__normal.product__price__normal--down .product__price__normal__num {
    margin-left: calc(1.4*var(--rem));
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .product__price__normal.product__price__normal--down .product__price__normal__num {
        margin-left: calc(2*var(--rem));
    }
}
.product__price__normal.product__price__normal--down .product__price__normal__num__main {
    font-size: calc(3.6*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal.product__price__normal--down .product__price__normal__num__main {
        font-size: calc(6*var(--rem));
    }
}
.product__price__normal.product__price__normal--down .product__price__normal__num__tax {
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal.product__price__normal--down .product__price__normal__num__tax {
        font-size: calc(3.2*var(--rem));
    }
}

.product__price__cp {
    margin-top: calc(2.5*var(--rem));
    font-size: calc(2.6*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__cp {
        margin-top: calc(2*var(--rem));
        font-size: calc(3.6*var(--rem));
        margin-left: auto;
        margin-right: auto;
        display: flex;
        width: max-content;
        align-items: baseline;
        flex-wrap: nowrap;
    }
}
.product__price__cp .product__price__cp__title {
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__title {
        font-size: calc(2.6*var(--rem));
    }
}
.product__price__cp .product__price__cp__num {
    background-repeat: no-repeat;
    background-position: left bottom calc(1.5*var(--rem));
    background-image: url("../img/ic-price-arrow.png");
    background-size: calc(2.9*var(--rem));
    padding-left: calc(4.5*var(--rem));
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__num {
        background-position: left calc(1.8*var(--rem)) bottom calc(1.5*var(--rem));
        padding-left: calc(6.5*var(--rem));
    }
}
.product__price__cp .product__price__cp__num__main {
    font-family: "Work Sans", sans-serif;
    font-size: calc(5*var(--rem));
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__num__main {
        font-size: calc(8.2*var(--rem));
    }
}
.product__price__cp .product__price__cp__num__tax {
    position: relative;
    font-size: calc(2.2*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__num__tax {
        font-size: calc(3*var(--rem));
    }
}
.product__price__cp .product__price__cp__num__tax sup {
    position: absolute;
    top: calc(-1*var(--rem));
    right: calc(1*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__num__tax sup {
        top: calc(-2*var(--rem));
        right: calc(0*var(--rem));
    }
}
.product__rw-att {
    margin-top: calc(3*var(--rem));
    text-align: center;
    padding: calc(1.5*var(--rem)) calc(3*var(--rem));
    background-color: #81100f;
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__rw-att {
        margin-top: calc(2*var(--rem));
        padding: calc(2.7*var(--rem)) calc(3*var(--rem));
        font-size: calc(1.8*var(--rem));
    }
}
.product__rwsleep-att {
    display: inline-block;
    margin-top: calc(2*var(--rem));
    text-align: center;
    font-size: calc(1.4*var(--rem));
    border-bottom: 1px solid #ffffff;
}
@media screen and (min-width: 768px) {
    .display-pc.product__rwsleep-att {
        display: inline-block!important;
    }
}
@media screen and (max-width: 767px) {
    .product__rwsleep-att {
        margin-top: calc(2*var(--rem));
        font-size: calc(1.8*var(--rem));
    }
    .display-sp.product__rwsleep-att {
        display: inline-block!important;
    }
}
.product__under-button-att {
    margin-top: calc(2 * var(--rem));
    font-size: calc(1.4 * var(--rem));
}
@media screen and (max-width: 767px) {
    .product__under-button-att {
        margin-top: calc(2*var(--rem));
        font-size: calc(1.8*var(--rem));
    }
}

.product__button {
    margin-top: calc(5*var(--rem));
}
.product__button__anchor {
    position: relative;
    display: inline-block;
    min-height: calc(7*var(--rem));
    padding: calc(2*var(--rem)) calc(0*var(--rem)) calc(2*var(--rem))calc(10*var(--rem));
    font-size: calc(1.8*var(--rem));
    transition: .5s opacity;
}
@media screen and (max-width: 767px) {
    .product__button__anchor {
        min-height: calc(11*var(--rem));
        padding: calc(3*var(--rem)) calc(0*var(--rem)) calc(2*var(--rem))calc(16*var(--rem));
        font-size: calc(3*var(--rem));
    }
}
.product__button__anchor:hover {
    opacity: .7;
}
.product__button__anchor:before {
    content: "";
    position: absolute;
    top: calc(50% - 3.5*var(--rem));
    left: 0;
    width: calc(7*var(--rem));
    height: calc(7*var(--rem));
    border: 1px solid #ffffff;
    border-radius: 100px;
}
@media screen and (max-width: 767px) {
    .product__button__anchor:before {
        top: calc(50% - 5.5*var(--rem));
        left: 0;
        width: calc(11*var(--rem));
        height: calc(11*var(--rem));
    }
}
.product__button__anchor:after {
    content: "";
    position: absolute;
    top: calc(50% - 0.6*var(--rem));
    left: calc(2.7*var(--rem));
    width: calc(1.7*var(--rem));
    height: calc(1.2*var(--rem));
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url("../img/ic-btn-arrow.png");
    animation: 5s infinite arrow;
}
@media screen and (max-width: 767px) {
    .product__button__anchor:after {
        top: calc(50% - 0.8*var(--rem));
        left: calc(4.5*var(--rem));
        width: calc(2.5*var(--rem));
        height: calc(1.6*var(--rem));
    }
}
@keyframes arrow {
  0% {
    transform: translateX(0);
  }
  5% {
    transform: translateX(calc(1*var(--rem)));
  }
  10% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}

/*========================================
  middle
========================================*/
.middle {
    background: linear-gradient(180deg, rgba(164, 33, 32, 1) 30%, rgb(26 48 44) 70%);
}
.middle__img {
    margin-left: auto;
    margin-right: auto;
    width: calc(101.5 * var(--rem));
}
@media screen and (max-width: 767px) {
    .middle__img {
        width: 100%;
    }
}
/*========================================
  TRAINING & Care
========================================*/
.care {
    overflow: hidden;
    background-color: #1a312d;
    color: #ffffff;
    padding: calc(13 * var(--rem)) 0 0 0;
    background-image: url(../img/bg-glitter_pc.png);
    background-repeat: no-repeat;
    background-size: 100%;
}
@media screen and (max-width: 767px) {
    .care {
        padding: calc(3 * var(--rem)) 0 calc(12 * var(--rem)) 0;
    }
}
/*========================================
  summary
========================================*/
.summary {
    position: relative;
    overflow: hidden;
    background-color: #1a312d;
    color: #ffffff;
    padding: calc(22.5 * var(--rem)) 0 calc(21.5 * var(--rem)) 0;
    background-image: url(../img/bg-summary_pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (max-width: 767px) {
    .summary {
        padding: 0 0 calc(13.5 * var(--rem)) 0;
        background-size: 100%;
        background-position: center bottom;
        background-image: url(../img/bg-summary_sp.jpg);
    }
}
.summary__inner {
    position: relative;
}
.summary__mainimg {
    width: calc(53 * var(--rem));
}
@media screen and (max-width: 767px) {
    .summary__mainimg {
        width: auto;
        margin-left: calc(-5 * var(--rem));
        margin-right: calc(-5 * var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .summary__bagimg {
        position: absolute;
        width: calc(28 * var(--rem));
        top: calc(10.5 * var(--rem));
        right: 0;
    }
}
@media screen and (max-width: 767px) {
    .summary__bagimg {
        margin-top: calc(15 * var(--rem));
        width: calc(42 * var(--rem));
        margin-left: auto;
    }
}
@media screen and (min-width: 768px) {
    .summary__giftimg {
        position: absolute;
        width: calc(24 * var(--rem));
        top: calc(42 * var(--rem));
        right: calc(21 * var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .summary__giftimg {
        margin-top: calc(10 * var(--rem));
        width: calc(36.5 * var(--rem));
        margin-left: calc(14 * var(--rem));
    }
}
.summary__att {
    position: absolute;
    text-align: right;
    bottom: 0;
    right: 0;
    font-size: calc(1.4 * var(--rem));
}
@media screen and (max-width: 767px) {
    .summary__att {
        position: relative;
        margin-top:  calc(2.8 * var(--rem));
        margin-right:  calc(3 * var(--rem));
        font-size: calc(1.8 * var(--rem));
    }
}
.summary__head {
    margin-top: calc(6 * var(--rem));
    font-size: calc(3.2 * var(--rem));
    text-align: center;
}
@media screen and (max-width: 767px) {
    .summary__head {
        margin-top: 0;
        font-size: calc(4 * var(--rem));
        text-align: start;
        position: absolute;
        top: calc(111 * var(--rem));
        left: calc(8 * var(--rem));
        writing-mode: vertical-rl;
        letter-spacing: .3em;
    }
}
.summary__paragraph {
    margin-top: calc(2 * var(--rem));
    font-size: calc(1.8 * var(--rem));
    line-height: calc(31 / 18);
    text-align: center;
}
@media screen and (max-width: 767px) {
    .summary__paragraph {
        margin-top: calc(9 * var(--rem));
        padding: 0 calc(3 * var(--rem));
        font-size: calc(2.8 * var(--rem));
        line-height: calc(55 / 28);
        text-align: left;
    }
}
/*========================================
  ribbon
========================================*/
.ribbon {
    overflow: hidden;
    padding: calc(4 * var(--rem)) 0;
}
@media screen and (max-width: 767px) {
    .ribbon {
        padding: calc(6 * var(--rem)) 0;
    }
}
.loop-slider {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
}
.loop-track {
  display: flex;
  align-items: center;
}
.loop-slider.top .loop-track {
    animation: loop 40s linear infinite;
}
.loop-slider.bottom .loop-track {
    animation: loop 45s linear infinite;
}
.loop-slider.bottom .loop-track {
  animation-direction: reverse;
}
.loop-track .item {
    flex: 0 0 auto;
    font-family: "cochin-lt-pro", sans-serif;
    font-weight: 400;
    font-size: calc(3.2 * var(--rem));
}
@media screen and (max-width: 767px) {
    .loop-track .item {
        font-size: calc(4.4 * var(--rem));
    }
}
.loops .item {
  flex: 0 0 auto;
  padding: 0 calc(1 * var(--rem));
}
.loops .item img {
  vertical-align: middle;
  width: calc(13 * var(--rem));
  height: auto;
  max-width: inherit;
}
@media screen and (max-width: 767px) {
    .loops .item img {
        width: calc(15 * var(--rem));
    }
}
@keyframes loop {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/*============================
  ページトップへ戻るボタン
============================*/
.content {
    position: relative;
}
.pagetop {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  z-index: 99;
  transition: opacity .5s;
}
@media screen and (min-width: 768px) {
  .pagetop {
    bottom: calc(3 * var(--rem));
    right: calc(5 * var(--rem));
    width: calc(1.2 * var(--rem));
    height: calc(12 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .pagetop {
    bottom: calc(5 * var(--rem));
    right: calc(3 * var(--rem));
    width: calc(1.8 * var(--rem));
    height: calc(18 * var(--rem));
  }
}
.pagetop.is-fixed {
  position: fixed;
}
.pagetop.is-show {
    pointer-events: all;
    opacity: 1;
    animation: arrowbound .5s .5s ease-in-out;
}
@keyframes arrowbound {
  0%   { transform: translateY(0); }
  50% { transform: translateY(calc(-3 * var(--rem))); }
  100% { transform: translateY(0); }
}
.pagetop__anchor {
  display: block;
  position: relative;
  transition: .3s ease-in-out;
}
@media screen and (min-width: 768px) {
  .pagetop__anchor:hover {
    transform: translateY(calc(-2 * var(--rem)));
  }
}
.pagetop__anchor__arrow {
  position: absolute;
  left: 48%;
  transition: ease-in-out 0.3s;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .pagetop__anchor__arrow {
    top: 35px;
    width: 5px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .pagetop__anchor__arrow {
    top: 5.3333333333vmin;
    width: 0.5333333333vmin;
    height: 3.8666666667vmin;
  }
}

/* モール調整 */
.header-wrap {
    height: calc(7 * var(--rem));
}
@media screen and (max-width: 750px) {
    .header-wrap {
        height: calc(12.2 * var(--rem));
    }
}
.layout-footer .nav-global__content {
    flex-direction: column;
}
#wrapper {
    min-width: auto;
}