@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

:root {
	--vh: 0!important;
	--rem: 10px!important
}
@media screen and (max-width:1280px){
    :root{
        --rem:calc(10vw/1280*100)!important
    }
}
@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: #251e1c;
    font-feature-settings: "palt";
}
body img {
    height: auto;
}
#wrapper {
    min-width: inherit!important;
}
.mfp-figure:after {
    content: none;
}
#main .section {

}
#main .section .section__inner{
	padding: 0 calc(10*var(--rem));
    margin-left:auto;
    margin-right:auto
}
@media screen and (min-width:768px) {
    #main .section .section__inner{
        max-width:calc(130*var(--rem));
    }
}
@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;
}

/* overlay at start */
.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0;
}
/* content at start */
.mfp-wrap .mfp-content,
.mfp-wrap .mfp-arrow {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* content animate it */
.mfp-wrap.mfp-ready .mfp-content,
.mfp-wrap.mfp-ready .mfp-arrow {
  opacity: 1;
}
/* content animate out */
.mfp-wrap.mfp-removing .mfp-content,
.mfp-wrap.mfp-removing .mfp-arrow {
  opacity: 0;
}
.mfp-arrow {
    width: 70px;
    height: 90px;
}
.mfp-arrow:before,
.mfp-arrow:after {
    border-width: 0px;
}
.mfp-container .mfp-arrow {
    background-size: contain;
}
.mfp-container .mfp-arrow.mfp-arrow-left {
    background-image: url(../img/ic-mfp-arrow-left.png);
}
.mfp-container .mfp-arrow.mfp-arrow-right {
    background-image: url(../img/ic-mfp-arrow-right.png);
}

.mothersday-h2 {
    text-align: center;
    color: #e66e9a;
}
.mothersday-h2:not(:first-child) {
    margin-top: calc(9*var(--rem));
}
.mothersday-h2__eng {
    line-height: 1;
    font-size: calc(5.4*var(--rem));
    font-family: "helvetica-lt-pro", sans-serif;
    font-weight: 300;
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .mothersday-h2__eng {
        font-size: calc(7.2*var(--rem));
    }
}
.mothersday-h2__eng small {
    font-size: calc(4*var(--rem));
}
@media screen and (max-width: 767px) {
    .mothersday-h2__eng small {
        font-size: calc(6*var(--rem));
    }
}
.mothersday-h2__ja {
    margin-top: calc(1*var(--rem));
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: calc(2*var(--rem));
}
@media screen and (max-width: 767px) {
    .mothersday-h2__ja {
        margin-top: calc(2*var(--rem));
        font-size: calc(3.2*var(--rem));
    }
}
.mothersday-h2__lead {
    text-align: center;
    margin-top: calc(4*var(--rem));
    font-size: calc(2.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .mothersday-h2__lead {
        margin-top: calc(3*var(--rem));
        font-size: calc(3.6*var(--rem));
    }
}

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

.kv {
    position: relative;
}
.kv.kv--mall {
    margin-top: calc(7*var(--rem));
}
@media screen and (max-width: 750px) {
    .kv.kv--mall {
        margin-top: calc(12.2*var(--rem));
    }
}
.kv .kv__img img {
    width: 100%;
}

/*========================================
  NEW ITEM
========================================*/
.newitem_list {
    position: relative;
    z-index: 2;
    padding-top: calc(13 * var(--rem));
    background-image: url(../img/bg-newitem_pc.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .newitem_list {
        padding-top: calc(12 * var(--rem));
        padding-bottom: calc(12 * var(--rem));
        background-image: url(../img/bg-newitem_sp.jpg);
    }
}
.newitem_list .mothersday-h2 {
    color: #2066a6;
}
.newitem_list .newitem_list__lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: calc(67*var(--rem));
    margin-top: calc(5*var(--rem));
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .newitem_list .newitem_list__lists {
        justify-content: start;
        width: auto;
        margin-top: calc(4*var(--rem));
    }
}
.newitem_list .newitem_list__lists__item__anchor {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: stretch;
    position: relative;
    width: calc(67*var(--rem));
    height: calc(22*var(--rem));
    padding-bottom: calc(2*var(--rem));
    background-color: #ffffff;
    border-radius: calc(1*var(--rem));
    overflow: hidden;
    transition: opacity .5s;
}
@media screen and (max-width: 767px) {
    .newitem_list .newitem_list__lists__item__anchor {
        width: 100%;
        height: calc(36*var(--rem));
        padding-bottom: calc(4*var(--rem));
    }
}
.newitem_list .newitem_list__lists__item__anchor:hover {
    opacity: .7;
}
.newitem_list .newitem_list__lists__item__anchor:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(2 * var(--rem));
    background: #2066a6;
}
@media screen and (max-width: 767px) {
    .newitem_list .newitem_list__lists__item__anchor:before {
        height: calc(4 * var(--rem));
    }
}
.newitem_list .newitem_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) {
    .newitem_list .newitem_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.7*var(--rem));
    }
}
.newitem_list .newitem_list__lists__item__img {
    width: auto;
    height: calc(15*var(--rem));
}
@media screen and (max-width: 767px) {
    .newitem_list .newitem_list__lists__item__img {
        width: auto;
        height: calc(20*var(--rem));
    }
}
.newitem_list .newitem_list__lists__item__name {
    width: 100%;
    text-align: center;
    font-size: calc(1.7*var(--rem));
    line-height: calc(18 /17);
}
@media screen and (max-width: 767px) {
    .newitem_list .newitem_list__lists__item__name {
        font-size: calc(2.4*var(--rem));
    }
}

/*========================================
  RECOVERY ITEM
========================================*/
.recoveryitem_list {
    position: relative;
    z-index: 2;
    padding-top: calc(12 * var(--rem));
    padding-bottom: calc(7 * var(--rem));
    background-image: url(../img/bg-recoveryitem_pc.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .recoveryitem_list {
        padding-top: calc(4 * var(--rem));
        padding-bottom: calc(12 * var(--rem));
        background-image: url(../img/bg-recoveryitem_sp.jpg);
    }
}
.recoveryitem_list .recoveryitem_list__lists {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5 * var(--rem));
    justify-content: center;
    width: calc(88*var(--rem));
    margin-top: calc(8*var(--rem));
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists {
        gap: calc(6.6 * var(--rem));
        justify-content: start;
        width: auto;
        margin-top: calc(10*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_list__lists__item {
    width: calc(19*var(--rem));
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item {
        width: calc(29.2*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_list__lists__item__anchor {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: stretch;
    position: relative;
    width: calc(19*var(--rem));
    height: calc(20*var(--rem));
    padding-bottom: calc(2*var(--rem));
    background-color: #ffffff;
    border-radius: calc(1*var(--rem));
    transition: opacity .5s;
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item__anchor {
        width: 100%;
        height: calc(33*var(--rem));
        padding-bottom: calc(4*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_list__lists__item__anchor:hover {
    opacity: .7;
}
.recoveryitem_list .recoveryitem_list__lists__item__anchor:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(2 * var(--rem));
    background: #e66e9a;
    border-radius: 0 0 calc(1*var(--rem)) calc(1*var(--rem));
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item__anchor:before {
        height: calc(4 * var(--rem));
    }
}
.recoveryitem_list .recoveryitem_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) {
    .recoveryitem_list .recoveryitem_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.7*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_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) {
    .recoveryitem_list .recoveryitem_list__lists__item__badge {
        top: calc(-4*var(--rem));
        right: calc(-3*var(--rem));
        width: calc(12*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_list__lists__item__img {
    width: auto;
    height: calc(12.5*var(--rem));
    border-radius: calc(1*var(--rem));
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item__img {
        width: auto;
        height: calc(20*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_list__lists__item__name {
    text-align: center;
    font-size: calc(1.7*var(--rem));
    line-height: calc(21 /17);
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item__name {
        font-size: calc(2.4*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .recoveryitem_list .recoveryitem_list__lists__item__name sup {
        font-size: calc(1.4*var(--rem));
    }
}
.recoveryitem_list .recoveryitem_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) {
    .recoveryitem_list .recoveryitem_list__att {
        margin-top: calc(3*var(--rem));
        font-size: calc(1.8 * var(--rem));
    }
}

/*========================================
  PICK UP
========================================*/
.pickup {
    overflow: hidden;
    padding: calc(14 * var(--rem)) 0 calc(14 * var(--rem)) 0;
    background-image: url(../img/bg-product_pc.jpg);
    background-size: cover;
    background-position: center;
}
@media screen and (max-width: 767px) {
    .pickup {
        padding: calc(10 * var(--rem)) 0 calc(14 * var(--rem)) 0;
        background-image: url(../img/bg-product_sp.jpg);
    }
}
.pickup-h2 {
    text-align: center;
}
.pickup-h2:not(:first-child) {
    margin-top: calc(15*var(--rem));
}
.pickup-h2__num {
    line-height: 1;
    font-size: calc(2.1*var(--rem));
    font-family: "helvetica-lt-pro", sans-serif;
    font-weight: 300;
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .pickup-h2__num {
        font-size: calc(4*var(--rem));
    }
}
.pickup-h2__main {
    margin-top: calc(5*var(--rem));
    font-size: calc(3.4*var(--rem));
    line-height: calc(55 / 34);
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
    .pickup-h2__main {
        font-size: calc(7.2*var(--rem));
        line-height: calc(72 / 55);
    }
}
.pickup-h2__ja {
    margin-top: calc(2*var(--rem)); 
    font-size: calc(2*var(--rem));
}
@media screen and (max-width: 767px) {
    .pickup-h2__ja {
        margin-top: calc(2.5*var(--rem));
        font-size: calc(3*var(--rem));
    }
}

.ff3_con_bnr {
    margin-top: calc(5*var(--rem));
    margin-left: auto;
    margin-right: auto;
    width: calc(67*var(--rem));
}
@media screen and (max-width: 767px) {
    .ff3_con_bnr {
        margin-top: calc(5*var(--rem));
        margin-left: calc(-2*var(--rem));
        width: calc(69*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .rec-twocolumns {
        margin-top: calc(3*var(--rem));
        display: flex;
        flex-wrap: nowrap;
        gap: calc(4*var(--rem));
        justify-content: space-between;
    }
    .rec-twocolumns .product-wrap {
        width: calc(53*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .rec-twocolumns {
        margin-top: calc(3*var(--rem));
    }
}
.product-wrap {
    position: relative;
    padding-bottom: calc(2.5*var(--rem));
}
@media screen and (max-width: 767px) {
    .product-wrap {
        padding-bottom: calc(6.5*var(--rem));
    }
}
.product-wrap:after {
    content: "";
    position: absolute;
    right: calc(-2*var(--rem));
    bottom: 0;
    display: block;
    width: calc(100% + 4*var(--rem));
    height: calc(100% - 62*var(--rem));
    background-color: #ffffff;
    border-radius: calc(1*var(--rem));
    box-shadow: 0px 0px 40px rgba(0,0,0,0.1);
}
@media screen and (min-width: 768px) {
    .product-wrap:after {
        right: 0;
        width: calc(100% - 8*var(--rem));
        height: calc(100% + 2*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .ff3con.product-wrap:after {
        height: calc(50*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .recwear.product-wrap:after,
    .recsleep.product-wrap:after {
        height: calc(116*var(--rem));
        width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .powergun.product-wrap:after {
        height: calc(56*var(--rem));
    }
}
.mothersday-h2__lead + .product-wrap {
    margin-top: calc(10*var(--rem));
}
.product-wrap + .product-wrap {
    margin-top: calc(4.5*var(--rem));
}
@media screen and (min-width: 768px) {
    .product-wrap + .product-wrap {
        margin-top: calc(9.5*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.recwear {
        margin-top: 0;
    }
}
.product-wrap.recsleep,
.product-wrap.recwear {
    text-align: center;
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep,
    .product-wrap.recwear {
        padding-bottom: calc(5*var(--rem));
    }
}
.product-wrap__inner {
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px) {
    .product-wrap__inner {
        padding-left: calc(5*var(--rem));
        padding-right: calc(5*var(--rem));
    }
}

.main-columns {
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px) {
    .main-columns {
        margin-top: calc(5*var(--rem));
        display: flex;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.ff3con .main-columns {
        margin-top: calc(1*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .main-columns {
        margin-top: calc(7*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .main-columns .main-columns__column:nth-child(1) {
        width: calc(50*var(--rem));
    }
    .main-columns .main-columns__column:nth-child(2) {
        width: calc(50.5*var(--rem));
        margin-left: calc(4*var(--rem));
    }
}

@media screen and (min-width: 768px) {
    .ff3con .main-columns .main-columns__column:nth-child(2) {
        margin-top: calc(24*var(--rem));
    }
    .powergun .main-columns .main-columns__column:nth-child(2) {
        margin-top: calc(17*var(--rem));
        margin-bottom: calc(2*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) {
        text-align: center;
    }
}

.product {
    position: relative;
}
.product .product__img {
    position: relative;
}
@media screen and (min-width: 768px) {
    .product-wrap.recwear .product .product__img,
    .product-wrap.recsleep .product .product__img {
        margin-left: calc(-3*var(--rem));
        margin-right: calc(-3*var(--rem));
    }
}
.product .product__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__off {
        top: calc(3 * var(--rem));
        right: calc(0 * var(--rem));
        width: calc(18 * var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep .product .product__off,
    .product-wrap.recwear .product .product__off {
        right: 0;
    }
}
.product .product__img__slick__item {
    padding: calc(3*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(3*var(--rem)) calc(2*var(--rem)) calc(5*var(--rem)) calc(2*var(--rem));
    }
}
.product .product__img__slick__item .product__img__slick__item__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product .product__img__slick__item .product__img__slick__item__anchor {
    display: block;
    position: relative;
    z-index: 1;
}
.product .product__img__slick__item .product__img__slick__item__anchor:hover {
    cursor: pointer;
}

.product .slick-slide img {
    width: 100%;
    filter: drop-shadow(0px 0px calc(2*var(--rem)) rgba(0,0,0,0.1));
}
.product__img__slick .slick-dots {
  display: flex;
  flex-wrap: nowrap;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.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 #b3b3b3;
  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.5*var(--rem));
        height: calc(1.5*var(--rem));
    }
}
.product__img__slick .slick-dots li.slick-active button {
  background-color: #e66e9a;
  border-color: #e66e9a;
}
.product__img__slick .slick-dots li:not(:first-child) {
    margin-left: calc(1*var(--rem));
}
@media screen and (max-width: 767px) {
  .product__img__slick .slick-dots li:not(:first-child) {
    margin-left: calc(2*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: calc(35*var(--rem));
    width: calc(7.28*var(--rem));
    height: calc(9.66*var(--rem));
  }
}
.product__img__slick .slick-arrow.slick-prev {
  left: calc(3*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__img__slick .slick-arrow.slick-prev {
        left: calc(3*var(--rem));
    }
}
.product__img__slick .slick-arrow.slick-next {
  right: calc(3*var(--rem));
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
    .product__img__slick .slick-arrow.slick-next {
        right: calc(3*var(--rem));
    }
}
.product__line-txt {
  position: absolute;
  left: calc(-1.5*var(--rem));
  top: calc(4*var(--rem));
  writing-mode: vertical-rl;
  color: #ffffff;
  font-size: calc(5.2*var(--rem));
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: bold;
  text-shadow: 0 0 calc(1*var(--rem)) rgba(0,0,0,0.3);
  z-index: 95;
}

.product__medical {
    display: inline-block;
    margin-top: calc(1*var(--rem));
    padding: calc(0.5*var(--rem)) calc(2*var(--rem));
    border: 1px solid #251e1c;
    font-size: calc(1.6*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));
    }
}
@media screen and (max-width: 767px) {
    .product__logo {
        margin-top: calc(7*var(--rem));
        margin-left: auto;
        margin-right: auto;
    }
}
.product__logo.product__logo--ff3con {
    width: calc(30*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__logo.product__logo--ff3con {
        width: calc(48*var(--rem));
    }
}
.product__logo.product__logo--recwear,
.product__logo.product__logo--recsleep {
    margin-top: calc(4*var(--rem));
    margin-left: auto;
    margin-right: auto;
    width: calc(32.6*var(--rem));
    height: calc(7*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__logo.product__logo--recwear,
    .product__logo.product__logo--recsleep {
        margin-top: calc(7*var(--rem));
        width: calc(52*var(--rem));
        height: auto;
    }
}
.product__logo.product__logo--powergun {
    width: calc(27*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__logo.product__logo--powergun {
        width: calc(40*var(--rem));
    }
}

.product__name {
     margin-top: calc(1.5*var(--rem));
    font-size: calc(1.8*var(--rem));
    letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
    .product__name {
        margin-top: calc(1.5*var(--rem));
        font-size: calc(3*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep .product__name,
    .product-wrap.recwear .product__name {
        margin-top: 0;
    }
}
@media screen and (min-width: 768px) {
    .product__name_sub {
        margin-top: calc(2*var(--rem));
        margin-bottom: calc(2*var(--rem));
        font-size: calc(3*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .product__name_sub {
        margin-top: calc(2*var(--rem));
        font-size: calc(4.2*var(--rem));
    }
}
.product__name sup {
    font-size: calc(1.3 * var(--rem));
    top: -1.5em;
}
@media screen and (max-width: 767px) {
    .product__name sup {
        font-size: calc(2 * var(--rem));
        top: -1.2em;
    }
}
.product__appeal {
    text-align: center;
    color: #ffffff;
    background: linear-gradient(180deg,rgba(8, 122, 195, 1) 0%, rgba(48, 143, 205, 1) 100%);
    margin-top: calc(1*var(--rem));
    padding: calc(0.5*var(--rem));
    font-size: calc(1.6*var(--rem));
    letter-spacing: .12em;
}
@media screen and (max-width: 767px) {
    .product__appeal {
        margin-top: calc(1.5*var(--rem));
        margin-left: auto;
        margin-right: auto;
        max-width: calc(56*var(--rem));
        padding: calc(0.8*var(--rem)) calc(4*var(--rem));
        font-size: calc(2.2*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(3*var(--rem));
    font-size: calc(1.8*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__size {
        margin-top: calc(2*var(--rem));
        font-size: calc(2.4*var(--rem));
    }
}
@media screen and (max-width: 767px) {
    .product__size sup {
        font-size: calc(1.4*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));
}
@media screen and (max-width: 767px) {
    .product__size + .product__price {
        margin-top: calc(3*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;
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep .product__price__normal,
    .product-wrap.recwear .product__price__normal {
        margin-left: auto;
        margin-right: auto;
    }
}
.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(2.2*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: "helvetica-lt-pro", sans-serif;
    font-weight: 300;
    font-size: calc(5.2*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal .product__price__normal__num__main {
        font-size: calc(7.8*var(--rem));
    }
}
.product__price__normal .product__price__normal__num__tax {
    font-size: calc(3*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 {
        font-size: calc(1.4*var(--rem));
        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*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: #000000;
  position: absolute;
  left: 0;
}
.product__price__normal.product__price__normal--down .product__price__normal__num:before {
  top: 52%;
}
.product__price__normal.product__price__normal--down .product__price__normal__num:after {
  bottom: 28%;
}
.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(4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__price__normal.product__price__normal--down .product__price__normal__num__main {
        font-size: calc(5*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(2.4*var(--rem));
    }
}

.product__price__cp {
    margin-top: calc(1*var(--rem));
    color: #e66e9a;
    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*var(--rem));
        margin-left: auto;
        margin-right: auto;
        display: flex;
        width: max-content;
        align-items: baseline;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 768px) {
    .product__price__cp.product__price__cp--flex {
        display: flex;
        align-items: flex-end;
        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.4*var(--rem));
    }
}
.product__price__cp .product__price__cp__num {
    max-width: fit-content;
    background-repeat: no-repeat;
    background-position: left calc(1*var(--rem)) bottom calc(0.5*var(--rem));
    background-image: url("../img/ic-price-arrow.png");
    background-size: calc(2.6*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(0.5*var(--rem));
        background-size: calc(3.2*var(--rem));
        padding-left: calc(6.5*var(--rem));
    }
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep .product__price__cp .product__price__cp__num,
    .product-wrap.recwear .product__price__cp .product__price__cp__num {
        margin-left: auto;
        margin-right: auto;
    }
}
.product__price__cp .product__price__cp__num__main {
    font-family: "helvetica-lt-pro", sans-serif;
    font-weight: 300;
    font-size: calc(5.2*var(--rem));
    letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
    .product__price__cp .product__price__cp__num__main {
        font-size: calc(7*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(2.4*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 {
        font-size: calc(1.4*var(--rem));
        top: calc(-1*var(--rem));
        right: calc(0*var(--rem));
    }
}
.product__att {
    margin-top: calc(1.5*var(--rem));
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__att {
        margin-top: calc(2*var(--rem));
        font-size: calc(2*var(--rem));
    }
}
.product__rw-att {
    margin-top: calc(1.5*var(--rem));
    padding: calc(1*var(--rem)) calc(1*var(--rem));
    background-color: #fdf2f7;
    font-size: calc(1.4*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__rw-att {
        width: calc(61*var(--rem));
        margin-top: calc(2*var(--rem));
        margin-left: auto;
        margin-right: auto;
        padding: calc(1.5*var(--rem)) calc(1*var(--rem));
        font-size: calc(1.9*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(3*var(--rem));
}
@media screen and (max-width: 767px) {
    .product__button {
        margin-top: calc(4*var(--rem));
    }
}
.product__button__anchor {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(26*var(--rem));
    height: calc(6*var(--rem));
    background: linear-gradient(90deg,rgba(235, 92, 145, 1) 0%, rgba(246, 155, 189, 1) 100%);
    color: #ffffff;
    border-radius: calc(10*var(--rem));
    font-size: calc(1.6*var(--rem));
    transition: .5s opacity;
}
@media screen and (max-width: 767px) {
    .product__button__anchor {
        margin-left: auto;
        margin-right: auto;
        width: calc(56*var(--rem));
        height: calc(11*var(--rem));
        font-size: calc(4*var(--rem));
    }
}
.product__button__anchor:hover {
    opacity: .7;
}
@media screen and (min-width: 768px) {
    .product-wrap.recsleep .product__button__anchor,
    .product-wrap.recwear .product__button__anchor {
        margin-left: auto;
        margin-right: auto;
    }
}

.product__petal {
    position: absolute;
}
.product__petal.product__petal--recsleep {
    bottom: calc(-2*var(--rem));
    right: calc(5*var(--rem));
    width: calc(6.5*var(--rem));
    height: calc(7.2*var(--rem));
}
.product__petal.product__petal--recwear {
    bottom: calc(4*var(--rem));
    right: calc(2*var(--rem));
    width: calc(4.5*var(--rem));
    height: calc(4.9*var(--rem));
}
.product__petal.product__petal--powergun {
    bottom: calc(-8*var(--rem));
    left: calc(18*var(--rem));
    width: calc(3.5*var(--rem));
    height: calc(3.4*var(--rem));
}
@media screen and (min-width: 768px) {
    .product__petal {
        display: none;
    }
}

/*============================
  summary
============================*/
.summary {
    padding-top: calc(18 * var(--rem));
    padding-bottom: calc(23.5 * var(--rem));
    background-image: url("../img/bg-summary_pc.jpg");
    background-size: cover;
    background-position: top center;
}
@media screen and (max-width: 767px) {
    .summary {
        padding-top: calc(13.5 * var(--rem));
        padding-bottom: calc(35 * var(--rem));
        background-image: url("../img/bg-summary_sp.jpg");
    }
}
.summary__inner {
    position: relative;
}
.summary__logo {
    width: calc(25 * var(--rem));
    height: calc(31.4 * var(--rem));
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .summary__logo {
        width: calc(31.2 * var(--rem));
        height: calc(39.3 * var(--rem));
    }
}
.summary__figure {
    position: relative;
    margin-top: calc(6 * var(--rem));
    height: calc(49.5 * var(--rem));
}
@media screen and (max-width: 767px) {
    .summary__figure {
        position: relative;
        margin-top: calc(8 * var(--rem));
        height: calc(60 * var(--rem));
    }
}
.summary__figure__item {
    position: absolute;
}
.summary__figure__item.summary__figure__item--01 {
    width: calc(34.2 * var(--rem));
    height: calc(40 * var(--rem));
    top: calc(0 * var(--rem));
    left: calc(35.5 * var(--rem));
}
@media screen and (max-width: 767px) {
    .summary__figure__item.summary__figure__item--01 {
        width: calc(41 * var(--rem));
        height: calc(48 * var(--rem));
        top: calc(0 * var(--rem));
        left: calc(3.5 * var(--rem));
    }
}
.summary__figure__item.summary__figure__item--02 {
    width: calc(18.2 * var(--rem));
    height: calc(22.6 * var(--rem));
    bottom: calc(0 * var(--rem));
    right: calc(25.5 * var(--rem));
}
@media screen and (max-width: 767px) {
    .summary__figure__item.summary__figure__item--02 {
        width: calc(22 * var(--rem));
        height: calc(27 * var(--rem));
        bottom: calc(0 * var(--rem));
        right: calc(3.5 * var(--rem));
    }
}

.summary__h2 {
    padding-left: 1em;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-size: calc(3.2 * var(--rem));
    font-weight: 600;
    line-height: calc(58/32);
    letter-spacing: 0.22em;
}
@media screen and (max-width: 767px) {
    .summary__h2 {
        font-size: calc(5.4 * var(--rem));
        line-height: calc(83/54);
    }
}
.summary__h3 {
    font-family: "Noto Serif JP", serif;
    margin-top: calc(3 * var(--rem));
    text-align: center;
    font-size: calc(2.8 * var(--rem));
    font-weight: 500;
    line-height: calc(45/28);
    letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
    .summary__h3 {
        margin-top: calc(3 * var(--rem));
        margin-bottom: calc(6 * var(--rem));
        font-size: calc(3.4 * var(--rem));
        line-height: calc(65/34);
    }
}
.summary__lead {
    margin-top: calc(4 * var(--rem));
    text-align: center;
    font-size: calc(2 * var(--rem));
    line-height: calc(32/20);
    letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
    .summary__lead {
        margin-top: calc(2 * var(--rem));
        font-size: calc(2.6 * var(--rem));
        line-height: calc(45/26);
    }
}
.summary__lead + .summary__lead {
    margin-top: calc(2 * var(--rem));
}

/*============================
  ページトップへ戻るボタン
============================*/
.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(6.6 * var(--rem));
    height: calc(6.6 * var(--rem));
  }
}

@media screen and (max-width: 767px) {
  .pagetop {
    bottom: calc(5 * var(--rem));
    right: calc(3 * var(--rem));
    width: calc(10.4 * var(--rem));
    height: calc(10.4 * 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;
  }
}