@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');


* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    font-family: Arial, "Noto Sans TC", Helvetica, sans-serif !important;
}

html {
    margin: 0;
    padding: 0
}

body {
    margin: 0;
    padding: 0
}

dl,
dd,
dt,
ol,
ul,
li {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0
}

figure,
figcaption {
    margin: 0;
    padding: 0
}

h3 span,
h2 span {
    display: inline-block;
}

/*=====================
tw
=====================*/

.p-tw {
    font-size: 20px !important;
    line-height: 1.8;
    font-weight: 500;

}

.copy-p-tw {
    font-size: 20px !important;
    line-height: 1.8;
    font-weight: 500;
    color: #fff;
    text-align: center;
}


@media screen and (max-width: 767px) {
    .p-tw {
        font-size: 16px !important;

    }

    .copy-p-tw {
        font-size: 16px !important;

    }
}

.font-weight-500 {
    font-weight: 500;
}

.font-weight-700 {
    font-weight: 700;
}

/* =====================
    - body
        > header
        > #mainContent
        > footer
===================== */
#mainContent {
    color: #000;
    line-height: 1.5;
    display: block;
    overflow: hidden;
}

#mainContent a:hover {
    transition: .3s;
}

#mainContent a,
#mainContent button {
    display: inline-block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none;
    cursor: pointer;
    line-height: 1;
}

#mainContent a:link,
#mainContent a:visited,
#mainContent a:hover,
#mainContent a:active,
#mainContent a:focus {
    color: #222;
    text-decoration: none;
}

#mainContent a:hover {
    opacity: 0.8
}

#mainContent h2,
#mainContent h3 {
    line-height: 1.4;
    font-family: "Gothic MB101 Bold", "MySansSerif", "YakuHanJP", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#mainContent h4,
#mainContent h5,
#mainContent h6,
#mainContent p,
#mainContent a {
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#mainContent img {
    width: 100%;
    vertical-align: bottom;
}

#mainContent *.col_wrap {
    overflow: hidden
}

#mainContent *.text-center {
    text-align: center;
}

#mainContent *.clearfix::after {
    clear: both;
    content: '';
    display: block;
}

#mainContent *.sp,
#mainContent *.slide_sp,
#mainContent *.slide_kids_sp {
    display: none !important;
}

#mainContent *.hide {
    display: none
}

#mainContent *.in-block {
    display: inline-block
}

#mainContent *.price {
    font-size: 12px;
}

#mainContent *.price.red {
    color: #7f0019;
}

#mainContent *.price span {
    display: inline-block;
}

#mainContent *.downprice {
    font-size: 10px;
    margin-bottom: 3px;
}

#mainContent *.title {
    display: inline-block;
    font-size: 13px;
    line-height: 1.4;
    margin-top: 10px;
    color: #000;
}

#mainContent .price_minaoshi {
    position: relative;
}

/*
#mainContent .price_minaoshi:before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 130px;
    height: 30px;
    background-image: url(https://gbcms.muji.com/jp/feature/578786/img/icon_minaoshi.png);
    background-repeat: no-repeat;
    background-size: 100%;
    vertical-align: middle;
    top: -10px;
    right: 0;
}
*/

#mainContent .oldprice {
    color: #999;
}

@media screen and (max-width: 767px) {
    #mainContent .price_minaoshi:before {
        width: 55%;
        height: 55%;

    }
}

#mainContent *.size {
    font-family: "Helvetica", sans-serif;
    font-size: 12px;
    line-height: 2;
    color: #999999;
}

#mainContent *.price *.num,
#mainContent *.downprice *.num {
    font-family: "Helvetica", sans-serif;
    font-size: 22px;
    font-weight: bold;
    margin: 0 3px;
}

#mainContent *.downprice *.num {
    font-size: 12px;
}

#mainContent *.item-sale {
    color: #333;
    display: block;
    font-size: 10px;
    margin-top: 5px;
    padding: 3px;
    text-align: center;
    border: 1px solid #CBCBCB;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
}

#mainContent .item-list *.item-sale {
    font-size: 10px;
}

#mainContent *.sale-date {
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    display: block;
    text-align: center;
    font-size: 12px;
    color: #585858;
}

#mainContent .item-list *.sale-date {
    font-size: 10px;
}

/*  ---------------------
  #mainContent sp
---------------------  */
@media screen and (max-width: 767px) {

    #mainContent *.pc,
    #mainContent *.slide_pc,
    #mainContent *.slide_kids_pc {
        display: none !important;
    }

    #mainContent *.sp,
    #mainContent *.slide_sp,
    #mainContent *.slide_kids_sp {
        display: block !important;
    }

    #mainContent *.price {
        font-size: 2.6vw;
        margin-top: 1vw;
    }

    #mainContent *.downprice {
        font-size: 2vw;
    }

    #mainContent *.price *.num {
        font-size: 5.0vw;
        margin: 0 0.8vw;
    }

    #mainContent *.downprice *.num {
        font-size: 3vw;
        margin: 0 0.8vw;
    }

    #mainContent *.title {
        font-size: 3.466vw;
        margin-top: 4.5vw;
    }

    #mainContent *.size {
        font-size: 3.2vw;
        margin-top: 1vw;
    }

    #mainContent *.item-sale {
        font-size: 2.6vw;
        margin: 3vw 12vw 0;
    }

    #mainContent .item-list .item-sale {
        font-size: 2.6vw;
        margin: 2vw auto 0;
        padding: 1vw 1.6vw;
    }

    #mainContent *.item-sale a {
        padding: 1vw 0;
        line-height: 1.2;
    }

    #mainContent *.sale-date,
    #mainContent .item-list *.sale-date {
        font-size: 2vw;
    }

    #main *.ut-inner_sp {
        padding-left: 8vw;
        padding-right: 8vw;
    }
}

/* =====================
    - #mainContent
        > #hero
        > #organic-cotton
        > #material
        > #anchor
        > #section01
        > #section02
        > #section03
===================== */
/*#mainContent h1 {font-size: 10.66vw; line-height: 1.3;}*/
#mainContent h2 {
    font-size: 40px;
    font-weight: 700;

}

#mainContent h3 {
    font-size: 18px;
}

#mainContent .contents h3 {
    font-size: 32px;
    font-weight: 700;
}

#mainContent h4 {
    font-size: 16px;
}

#mainContent h5 {
    font-size: 16px;
}

#mainContent h6 {
    font-size: 13px;
    font-weight: normal;
}

#mainContent p {
    font-size: 15px;
    /*    font-size: 14px;*/
    line-height: 1.8;
}



#mainContent .wrapper,
#mainContent .wrapper_pc {
    max-width: 880px;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
}

#mainContent .flex-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#mainContent .btn {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #ddd;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background: #fff;
}

#mainContent .btn a {
    font-size: 14px;
    font-weight: bold;
    padding: 12px;
    display: block;
    color: #000;
}

#mainContent .sec__ttl {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 80px;
}

#mainContent .sec__ttl p {
    margin-top: 25px;
    font-size: 17px;
}

#mainContent .col_wrap {
    display: flex;
    flex-direction: column;
    margin: 0;
}

/*  ---------------------
  #mainContent sp
---------------------  */
@media screen and (max-width: 767px) {
    #mainContent h1 {
        font-size: 6.4vw;
        line-height: 1.4;
        margin-bottom: calc(8vw - .2em);
    }

    #mainContent h2 {
        font-size: 6.4vw;
    }

    #mainContent h3,
    #mainContent .contents h3 {
        font-size: 5.33vw;
    }

    #mainContent h4 {
        font-size: 3.733vw;
    }

    #mainContent h5 {
        font-size: 3.733vw;
    }

    #mainContent h6 {
        font-size: 3.2vw;
    }

    #mainContent p {
        font-size: 3.733vw;
    }

    #mainContent .wrapper {
        width: 100%;
        padding: 0 8vw;
    }

    #mainContent .wrapper_pc {
        width: 100%;
    }

    #mainContent .inner_sp {
        padding-left: 8vw;
        padding-right: 8vw;
    }

    #mainContent .btn {
        margin: 5.33vw 0 8vw;
        -webkit-border-radius: 40px;
        -moz-border-radius: 40px;
        border-radius: 40px;
    }

    #mainContent .btn a {
        font-size: 3.733vw;
        padding: 2vw 0;
    }

    #mainContent .sec__ttl {
        margin-top: 13.3333vw;
        margin-bottom: 13.3333vw;
    }

    #mainContent .sec__ttl h3 {
        font-size: 6.4vw;
    }

    #mainContent .sec__ttl p {
        text-align: left;
        margin-top: 4.6vw;
        font-size: 4vw;
    }

    #mainContent .col_wrap .left,
    #mainContent .col_wrap .right {
        width: 100%;
    }
}

/* =====================

  #hero

===================== */
.mainvisual {
    position: relative
}

.mainvisual-txt {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 45vw;
    left: 0;
    z-index: 100;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

h1.hero-ttl {

    font-size: 2vw;
    text-align: center;
}

.hero-ttl span {
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    display: block;
}

.hero-ttl span + span {
    font-family: "Gothic MB101 Bold", "MySansSerif", "YakuHanJP", sans-serif;
    font-size: 3.4vw;
    padding-top: 2vw;
}

.lead {
    padding: 95px 0 115px;
    text-align: center;
}

.lead p {
    font-size: 16px;
}


/*  ---------------------
  #hero sp
---------------------  */

@media screen and (max-width: 767px) {
    #hero {
        margin-bottom: 21.33vw;
    }

    .mainvisual .mainvisual-txt {
        position: static;
        right: 0;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .hero-ttl {
        width: 100%;
        font-size: 8.533vw;
        margin-top: 13.3333vw;
    }

    .lead {
        padding: 0 8vw;
        text-align: left;
    }

    .lead p {
        font-size: 3.733vw;
    }

    .hero-ttl span + span {
        font-size: 10vw;
        padding-top: 0;
    }
}

/* =====================

  #organic-cotton

===================== */

#organic-cotton {
    position: relative;
    height: 480px;
    background: url(/jp/feature/578786/img/organic-cotton__bg.jpg) no-repeat center 0 / cover;
}

#organic-cotton .font-bold {
    font-weight: bold;
    font-size: 18px;
    /*    font-size: 16px;*/
    color: #000;
}

#organic-cotton .organic-cotton__desc {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

#organic-cotton .organic-cotton__desc h2 {
    margin-top: 8px;
    margin-bottom: 17px;
}

#organic-cotton .organic-cotton__desc .text-wrap {
    width: 380px;
    margin: 18px auto 0;
}

#organic-cotton .organic-cotton__desc .text-wrap p {
    text-align: left;
    font-size: 16px;
    /*    font-size: 14px;*/
    font-weight: normal;
    color: #000;
}

#organic-cotton .organic-cotton__desc .btn {
    width: 190px;
    margin-top: 35px;
    border: none;
}

/*  ---------------------
  #organic-cotton sp
---------------------  */
@media screen and (max-width: 767px) {
    #organic-cotton {
        height: 100vw;
        background: url(/jp/feature/578786/img/organic-cotton__bg_sp.jpg) no-repeat center 0 / cover;
    }

    #organic-cotton .font-bold {
        font-size: 4.266vw;
        line-height: 1.5;
    }

    #organic-cotton .organic-cotton__desc {
        position: static;
        transform: translate(0, 0);
        padding-top: 9.2vw;
    }

    #organic-cotton .organic-cotton__desc h2 {
        white-space: nowrap;
        margin: 1.4vw auto 5.2vw;
    }

    #organic-cotton .organic-cotton__desc .text-wrap {
        width: calc(100% - 8vw);
        margin: 3vw auto 6vw;
    }

    #organic-cotton .organic-cotton__desc .text-wrap p {
        font-size: 3.733vw;
        line-height: 1.8;
    }

    #organic-cotton .organic-cotton__desc .btn {
        width: 76vw;
        margin: 0 auto;
    }

    #organic-cotton .organic-cotton__desc .btn a {
        padding: 3.5vw 0;
    }
}

/* =====================

  #material

===================== */
#material {
    margin-bottom: 140px;
    margin-top: 120px;
}

#material h3 {
    margin: 25px 0;
    font-size: 24px;
    line-height: 1.4;
}

#material p {
    font-size: 16px;
}


/*  ---------------------
  #material sp
---------------------  */
@media screen and (max-width: 767px) {
    #material {
        margin-bottom: 22.6667vw;
        margin-top: 0;
    }

    #material h3 {
        margin: 7vw auto 2vw;
        font-size: 5.33vw;
        line-height: 1.4;
    }

    #material p {
        font-size: 3.733vw;
    }

    #material .wrapper .col_wrap .col.right {
        position: static;
        transform: translateY(0);
    }

    #material .wrapper .col_wrap {
        margin-top: 12vw;
    }
}

/* =====================

  .flannel

===================== */
.flannel {
    margin-top: 60px;
    padding-top: 60px;
}

.flannel h2,
.flannel h3,
.flannel .content-txt p,
.section__ttl {
    text-align: center;
}

.flannel .content-ttl {
    position: relative;
}

.flannel .content-ttl .content-txt {
    width: 75%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.flannel .content-ttl .content-txt h2,
.flannel .content-ttl .content-txt p {
    color: #fff;
}

.flannel .content-ttl .content-txt h2 {
    margin-bottom: 30px;
}

.flannel .content-ttl .content-txt p {
    font-size: 16px;
}

.contents .content__main {
    margin-top: 75px;
}

.contents .content__main .col_wrap .left,
.contents .content__main .col_wrap .right {
    width: 45%;
}

.contents .content__main .pc {
    position: relative;
}

.contents .content__main .pc .tab {
    position: absolute;
    z-index: 2;
    flex-direction: column;
    bottom: 10px;
    left: 20px
}

.contents .content__main .pc .tab li {
    width: 11.6%;
    max-width: 360px;
    min-height: 1px;
    margin-bottom: 10px;
    border: 1px solid #dfdfdf;
}

.contents .content__main .pc .tab li:hover {
    cursor: pointer;
    opacity: 0.8;
    border: 1px solid #666;
}

.contents .content__main .pc .tab li.current {
    border: 1px solid #666;
}

.contents .content__main .pickup-item a {
    display: block;
    display: flow-root;
}

.contents .content__main .pickup-item .size {
    line-height: 1;
}

.contents .content__main .pickup-item .title {
    font-size: 16px;
    font-weight: bold;
    margin: 15px auto;
}

#section03 .contents .content__main .pickup-item .title {
    margin: 15px auto 5px;
}

#section03 .contents .content__main .pickup-item + .pickup-item .title {
    margin-top: 25px;
}

.contents .content__main .pickup-item .col.left {
    position: absolute;
    bottom: 0;
    width: 40%;
}

.contents .content__main .pickup-item .col.right {
    width: auto;
    text-align: right;
}

/* .contents .content__main .pickup-item .price {text-align: right;} */
.contents .content__main .kids__main-image {
    margin-top: 80px;
}

.contents .content__main .partition-line {
    margin-top: 70px;
    border-top: 1px solid #ddd;
}

.contents .content__main .item-list__ttl {
    width: 90px;
    text-align: center;
    margin: -14px auto 0;
    font-size: 16px;
    font-weight: bold;
    background: #fff;
}

/*- column -*/
aside {
    background: #f2f2f2;
    margin-top: 80px;
    padding: 40px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

#material aside {
    padding: 0;
}

#material aside a {
    padding: 40px;
}

aside h3 {
    position: relative;
    font-size: 24px;
    text-align: left !important;
    margin-bottom: 30px;
}

aside h3 span {
    position: absolute;
    top: 15%;
    font-size: 16px;
    color: #585858;
    padding-left: 20px;
    border-left: 1px #ddd solid;
}

aside .link-text {
    position: absolute;
    right: 0;
    bottom: 0;
}

aside .link-text p {
    display: inline-block;
    line-height: 1;
    border-bottom: 1px solid #adadad;
}

aside p.font-bold {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    text-align: center;
}

#section01 aside .col_wrap .col.right img {
    margin: 13px auto;
}

aside.sa,
aside.sleep {
    background: #fff;
    border: 1px solid #ddd;
    overflow: hidden;
    margin: 80px auto;
    padding: 0;
    max-width: 880px;
}

#mainContent aside.sa a,
#mainContent aside.sleep a {
    display: block;
}

aside.sa h3 {
    position: relative;
    padding-left: 70px;
    margin-bottom: 25px;
}

aside.sa h3:before {
    position: absolute;
    content: "";
    background: url(/jp/feature/578786/img/icon_sa.jpg) 0 0 no-repeat;
    background-size: 55px;
    width: 75px;
    height: 75px;
    left: 0;
    top: -30%;
}

aside.sa .col_wrap .right {
    padding: 30px 30px 30px 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

aside.sa .link-text,
aside.sleep .link-text {
    position: static;
    text-align: right;
    margin-top: 5px
}

@media screen and (max-width: 767px) {
    .flannel {
        margin-top: 13.3333vw;
        padding-top: 8vw;
        margin-bottom: 10vw;
    }

    .flannel h2 {
        font-size: 7.466vw;
    }

    .flannel .content-ttl .content-txt h2 {
        margin-bottom: 6vw;
    }

    .flannel .content-ttl .content-txt p {
        text-align: left;
        font-size: 3.733vw;
    }

    .flannel .sec__ttl {
        margin-bottom: 0;
    }

    .flannel .swiper-container {
        margin-top: 12vw;
    }

    .flannel .swiper-slide {
        padding-right: 2vw;
        padding-left: 2vw;
    }

    .contents .content__main {
        margin-top: 13.3333vw;
    }

    .contents .content__main .col_wrap .left,
    .contents .content__main .col_wrap .right {
        width: 100%;
    }

    .contents .content__main .pickup-item {
        padding-left: 12vw;
        padding-right: 12vw;
    }

    .contents .content__main .pickup-item .col.left,
    .contents .content__main .pickup-item .col.right {
        width: auto;
    }

    .contents .content__main .pickup-item .title {
        font-size: 3.2vw;
        margin: 3vw auto;
    }

    #section03 .contents .content__main .pickup-item .title {
        margin: 3vw auto 1vw;
    }

    #section03 .contents .content__main .pickup-item + .pickup-item .title {
        margin-top: 5vw;
    }

    .contents .content__main > .col_wrap > .col.right > a {
        margin-top: 7vw;
    }

    .contents .content__main > .col_wrap > .col.right > a .link-column {
        padding: 4vw;
    }

    .contents .content__main .kids__main-image {
        margin-top: 12.5vw;
    }

    .contents .content__main .partition-line {
        margin-top: 13vw;
    }

    .contents .content__main .item-list__ttl {
        width: 28vw;
        margin: -3.8vw auto 0;
        font-size: 4.266vw;
    }

    aside {
        margin-top: 12vw;
    }

    #material aside a {
        padding: 8vw;
    }

    #material aside h3 {
        margin: 0 auto 8vw;
    }

    #material aside p {
        margin-top: 3vw;
    }

    #section01 aside .col_wrap .col.right img {
        margin: 7vw auto 2vw;
    }

    #section02 aside .col_wrap .col.right img,
    #section03 aside .col_wrap .col.right img {
        margin-top: 5vw;
    }

    aside p.font-bold {
        font-size: 3.733vw;
    }

    aside .pickup-item .title {
        margin-top: 1vw;
    }

    .flannel aside {
        margin-top: 13.3333vw;
        padding: 8vw;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        border-radius: 0;
    }

    aside h3 {
        font-size: 5.33vw;
        margin-bottom: 4vw;
    }

    aside h3 span {
        position: static;
        display: block;
        font-size: 4.266vw;
        padding-top: 1.8vw;
        padding-left: 0;
        border-left: none;
    }

    aside.sa {
        margin-top: 20vw;
        margin-bottom: 30vw;
        -webkit-border-radius: 8px;
        -moz-border-radius: 8px;
        border-radius: 8px;
    }

    aside.sa img {
        vertical-align: top;
    }

    aside.sa .col_wrap .right {
        padding: 8vw 4vw 4vw;
        position: static;
        transform: translateY(0);
    }

    aside.sa h3 {
        padding-left: 20vw;
        margin-bottom: 10vw;
    }

    aside.sa h3:before {
        background-size: 16vw;
        width: 16vw;
        height: 16vw;
        top: -4vw;
    }

    #mainContent aside .link-text {
        margin-top: 1vw;
        position: static;
        text-align: right;
    }

    #mainContent aside.sa,
    #mainContent aside.sleep {
        margin: 13.3333vw 8vw;
        padding: 0;
        max-width: inherit;
    }
}

/* =====================
  .product_list
===================== */
#mainContent .item-list {
    margin-top: 80px;
    display: flex;
    justify-content: space-between;
}

#section03 .item-list {
    margin-top: 40px;
}

.item-list .item {
    width: calc((100% - 50px) / 3);
    max-width: 233px;
    text-align: center;
}

.item-list::after {
    display: block;
    content: "";
    width: calc((100% - 50px) / 3);
    max-width: 233px;
}

.item-list .item:nth-child(n+4) {
    margin-top: 60px;
}

/*-- color --*/
.color-swatch,
.item-list .color-swatch.center {
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
}

.item-list .color-swatch {
    margin: 3px 5% 0;
    -webkit-justify-content: center !important;
    justify-content: center !important;
}

.color-swatch li {
    width: 24px;
    height: auto;
    float: left;
    margin: 0 6px 8px 0;
    text-align: center;
    cursor: pointer;
}

.color-swatch > li.color-swatch_more {
    display: block;
    content: "";
    padding: 10px 0 5px;
    text-decoration: none;
    margin-top: 0;
    background: url(/jp/feature/578786/img/icon_plus.png) 0 0 no-repeat;
    background-size: 14px;
    width: 14px;
    margin: 5px 0 0 5px;
}

.color-swatch > li.color-swatch_more:hover {
    background: url(/jp/feature/578786/img/icon_plus_hv.png) 0 0 no-repeat;
    background-size: 15px;
}

/*.color-swatch>li:nth-child(n+6) {display: none;}*/
.color-swatch.on > li:nth-child(n+6) {
    display: block;
}

.color-swatch.on > li.color-swatch_more {
    display: none;
}

.color-swatch li input.rbtn {
    display: none;
}

.color-swatch li a {
    display: block;
    width: 100%;
    height: 100%;
}

.color-swatch li img {
    width: 100%;
    height: auto;
    padding: 2px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border: 1px solid #dedede;
}

.color-swatch li img:hover,
.color-swatch li input.rbtn:checked + .mark img {
    -moz-border-radius: 53%;
    -webkit-border-radius: 53%;
    border: 1px solid #9a9a9a;
}

.single-other {
    width: 410px;
    margin: 80px auto 0;
    text-align: center;
    background-color: #f2f2f2;
}

.single-other a {
    width: 100%;
    padding-top: 18px;
    padding-bottom: 18px;
    line-height: 1;
    border: 1px solid #ddd;
    /*    font-size: 14px;*/
    font-size: 16px;
    font-weight: 700;
}

.followed-other {
    width: 410px;
    margin: 25px auto 0;
    text-align: center;
}

.followed-other a {
    width: 100%;
    padding-top: 18px;
    padding-bottom: 18px;
    line-height: 1;
    border: 1px solid #ddd;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .contents .container {
        margin-top: 40px;
    }

    #mainContent .item-list {
        margin-top: 12.5vw;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #section03 .item-list {
        margin-top: 8vw;
    }

    .item-list .size {
        margin-top: 1.2vw;
    }

    .item-list .price {
        margin-top: 1vw;
    }

    .item-list .item:nth-child(2n-1) {
        margin: 0 0 8vw 0;
    }

    .item-list .item,
    .item-list .item:nth-child(4n) {
        width: calc((100% - 4vw) / 2);
        margin: 0 0 8vw;
        max-width: inherit;
    }

    .color-swatch {
        margin-top: 1vw;
    }

    .color-swatch li {
        width: 7vw;
        margin: 0 1vw 2vw 0;
    }

    .color-swatch li:nth-child(6n) {
        margin-right: 0;
    }

    .color-swatch li img {
        padding: 3px;
    }

    .item-list .color-swatch {
        width: 100%;
        margin: auto;
    }

    .color-swatch > li.color-swatch_more {
        width: 4vw;
        padding: 0px 0 4vw;
        background-size: 4vw;
        margin: 1.5vw 0 0 1vw;
    }

    .item-list .color-swatch li a {
        pointer-events: none;
    }

    .single-other {
        width: 100%;
        margin: 5vw auto 5vw;
    }

    .single-other a {
        padding: 3.333vw 0;
        font-size: 3.733vw;
    }

    .followed-other {
        width: 100%;
        margin: 0 auto 5vw;
    }

    .followed-other a {
        padding: 3.333vw 0;
        font-size: 3.733vw;
    }

    .item-list .item:nth-child(n + 2) {
        margin: 0 0 8vw 0;
    }
}

@media screen and (max-width: 500px) {
    .color-swatch li img {
        padding: 2px;
    }
}

/* =====================

  #anchor

===================== */
.anchor-wrap {
    border-bottom: 1px solid #ddd;
    background-color: #fff;
}

.anchor {
    max-width: 800px;
    margin: auto;
    text-align: center;
    -ms-overflow-x: auto;
    overflow-x: auto;
    -ms-overflow-y: hidden;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}

.anchor li {
    width: 25%;
    display: -webkit-box;
    display: -ms-inlinebox;
    display: -webkit-inline-box;
    display: inline-block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    border-bottom: 3px solid #fff;
}

.anchor li a {
    color: #999;
    display: block;
    padding: 12px;
    line-height: 1.5;
    font-size: 18px;
    font-weight: bold;
}

.anchor li a:hover,
.anchor li.active a {
    color: #000;
}

.anchor li.active,
.anchor li:hover {
    border-bottom: 3px solid #999;
}

.anchor .anc-border div {
    border-left: 1px solid #ddd;
    height: 30px;
    font-weight: bold;
}

@media all and (-ms-high-contrast: none) {
    .anchor li#anc-contest > a {
        line-height: 3;
    }
}

/*  ---------------------
  #anchor sp
---------------------  */
@media screen and (max-width: 767px) {
    .anchor {
        width: 100%;
        padding-left: 4vw;
        padding-right: 4vw;
        -ms-overflow-x: scroll;
        overflow-x: scroll;
    }

    .anchor li {
        margin: 0;
        display: list-item;
    }

    .anchor li a {
        font-size: 4.3vw;
        padding: 3vw;
    }

    .anchor li a:hover {
        color: #999;
    }

    .anchor li.active a {
        color: #000;
    }

    .anchor .anc-border div {
        height: 5.333vw;
        padding: 0;
    }

    .anchor li:hover {
        border-bottom: none;
    }

    .anchor li.active {
        border-bottom: 3px solid #808080;
    }
}

/* =====================

  modal

===================== */
/* Hide scroll bar */
html.remodal-is-locked {
    overflow: hidden;
    touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id] {
    display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay {
    position: fixed;
    z-index: 9999;
    top: -5000px;
    right: -5000px;
    bottom: -5000px;
    left: -5000px;
    display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper {
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    overflow: auto;
    text-align: center;
    -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
    display: inline-block;
    height: 100%;
    margin-left: -0.05em;
    content: "";
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
    backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal {
    position: relative;
    outline: none;
    text-size-adjust: 100%;
    box-shadow: 0px 0px 10px #999;
}

.remodal.movie {
    box-shadow: none;
}

.remodal-is-initialized {
    /* Disable Anti-FOUC */
    display: inline-block;
    padding: 0;
}

.remodal-close {
    left: inherit;
}

.review {
    margin-top: 120px;
}

.review .review__list {
    margin: auto;
    /*    overflow: visible;
    */
    margin-top: 40px;
    width: 1200px;
}

.review .review__block {
    height: 100%;
    /*    cursor: grab;*/
    padding: 10px 20px;
}

.review .review__block :active {
    cursor: grabbing;
}

.review .review__txt {
    position: relative;
    padding: 30px;
    background-color: #f3f3f3;
    border-radius: 8px;
    /*    width: 400px;*/
    width: 300px;
    height: 170px;
}

.review .review__txt strong {
    display: inline-block;
    margin-bottom: .458em;
    color: #000;
    font-size: 1.142em;
    line-height: 1.4;
}

.review .review__txt::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: -19px;
    width: 21px;
    height: 21px;
    border-top: 26px solid #f3f3f3;
    border-right: 21px solid transparent;
    border-left: 21px solid transparent;
}

.review .review__type {
    margin-top: calc(1em + 20px);
}

.review .review__gender {
    display: flex;
    align-items: center;
    flex-direction: column;
}

#mainContent .review .review__gender img {
    width: 40px;
}

.review .review__type {
    margin-top: calc(1em + 20px);
}




@media screen and (max-width: 767px) {
    .review {
        margin-top: 13.3333vw;
    }

    .review .review__txt {
        max-width: 570px;
        padding: 5.333vw;
        width: 100%;
    }

    .review .review__list {
        width: 300px;
    }


    .review .review__block {
        padding: 10px 0;
        margin: 0 2vw;
    }

    .review .review__txt::after {
        width: 7.67vw;
        bottom: -5vw;
        height: 7.67vw;
        border-top: 7.67vw solid #f3f3f3;
        border-right: 7.67vw solid transparent;
        border-left: 7.67vw solid transparent;
    }

    .review .review__gender img {
        width: 14.67vw;
    }

    .review .review__type {
        margin-top: calc(1em + 5vw);
    }
}


.sec__description {
    display: flex;
    justify-content: center;
    margin: 0 40px;
}

@media screen and (max-width: 500px) {


    .review .review__txt {
        max-width: 303px;
    }
}

@media screen and (max-width: 767px) {
    .sec__description {
        flex-direction: column;
        align-items: center;
        padding: 0 8vw;
        margin: 0;
    }

    .sec__description .contents_wrap {
        margin: 0;
        max-width: inherit;
        width: 100%;
    }

    .sec__description .contents_wrap + .contents_wrap {
        margin: 13.3333vw 0 0;
    }
}

.contents_wrap {
    max-width: 536px;
    margin: 0;
    margin-right: 40px;
    display: inline-block;
    width: calc(100% / 2);
}

.contents_wrap + .contents_wrap {
    margin-left: 40px;
    margin-right: 0;
}


.slider {
    margin: 0 25px;
    max-width: 880px;

}

.slider p {
    margin-top: 15px;
}

.slider p:nth-child(n + 3) {
    margin-top: 5px;
}

#mainContent .slider p a {
    color: #222;
    line-height: 1.4;
    font-size: 16px;
}

.slick-dots {
    bottom: -55px;
}


.slick-dots li button:before {
    color: #ddd;
    opacity: 1;
    font-size: 15px;
}

.slick-dots li.slick-active button:before {
    color: #999;
}

.slick-initialized .slick-slide {
    outline: none;
}

.slick-dotted.slick-slider {
    margin: 0 auto 120px;
    max-width: 1125px;
    position: relative;
}

@media screen and (max-width: 767px) {
    .content__main .slide_wrap {
        margin-top: 13.3333vw;
    }

    .slick-initialized .slick-slide {
        max-width: 570px;
        width: 100%;
    }

    .slider p {
        margin-top: 4vw;
    }

    .slick-dots li button:before {
        font-size: 4vw;
    }

    .slick-dots li {
        margin: 0 2vw;
    }

    .slick-dots {
        bottom: -8vw;
    }

    .slider {
        margin: 0 2vw;
    }

    .slick-dotted.slick-slider {
        margin: 0 auto 26.6666vw;
    }


}

@media screen and (max-width: 500px) {

    .slick-initialized .slick-slide,
    .review .review__txt {
        max-width: 308px;
        height: auto;
    }
}

.desc__collar {
    display: flex;
    justify-content: space-between;
}

.desc__collar .left {
    width: calc((100% - 40px) / 2);
    margin-right: 20px;
}

.desc__collar .right {
    width: calc((100% - 40px) / 2);
    margin-left: 20px;
    margin: auto;
}

@media screen and (max-width: 767px) {
    .desc__collar {
        flex-direction: column;
    }

    .desc__collar .left {
        width: 100%;
        margin-right: 0;
    }

    .desc__collar .right {
        width: 100%;
        margin: auto;
        padding-top: 30px;
    }

}

.aside_contents {
    display: flex;
}

.aside_contents .left {
    width: calc((100% - 40px) / 2);
}

.aside_contents .right {
    padding: 36px;
    width: calc((100% - 40px) / 2);
}


.remodal-close:before {
    font-size: 0;
}

.ttl_line {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 700;
    color: #000;
}

.ttl_line:before,
.ttl_line:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #ddd;
    display: block;
}

.ttl_line:before {
    margin-right: 1em;
}

.ttl_line:after {
    margin-left: 1em;
}

.mn {
    margin-top: 80px;
}

@media screen and (max-width: 767px) {
    .aside_contents .right {
        padding: 8vw 4vw 4vw;
        width: 100%;
    }

    .aside_contents {
        flex-direction: column-reverse;
    }

    .aside_contents .left,
    .aside_contents .right {
        width: 100%;
    }

    .ttl_line {
        font-size: 4.2667vw;
    }

}


@media screen and (max-width: 1024px) and (min-width: 768px) {
    .slider {
        width: 440px;
    }

    aside.sa,
    aside.sleep {
        margin: 80px 25px;
    }

    .aside_contents .right {
        padding: 25px;
    }

    /* .contents .content__main{
    padding:0 30px;
  }*/
}

.content-ttl figure:before {
    content: '';
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
