@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
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;}


/* =====================
    - body
        > header
        > #mainContent
        > footer
===================== */
#mainContent {
  color: #000;
  line-height: 1.5;
  display: block;
  overflow: hidden;
  margin-bottom:50px;
}
#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: #333;
  text-decoration: none;
}
#mainContent a:hover {opacity: 0.8}
#mainContent h2, #mainContent h3 {
  line-height: 1.4;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#mainContent h4, #mainContent h5, #mainContent h6, #mainContent p, #mainContent a {
  -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-size: 12px;
  line-height: 2;
  color: #999999;
}
#mainContent *.price *.num, #mainContent *.downprice *.num {
  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 {
  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: 32px;}
#mainContent h3 {font-size: 18px;}
#mainContent .contents h3 {font-size: 32px;}
#mainContent h4 {font-size: 16px;}
#mainContent h5 {font-size: 16px;}
#mainContent h6 {
  font-size: 13px;
  font-weight: normal;
}
#mainContent p {
  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: 16px;
}
#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-weight: bold;
  display:block;
}

.hero-ttl span + span{
  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: 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: 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;

  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;
    
  }
  .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;
}
.single-other a {
  width: 100%;
  padding-top: 18px;
  padding-bottom: 18px;
  line-height: 1;
  border: 1px solid #ddd;
  font-size: 14px;
}
.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: 16px;
  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: 3.2vw;
    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;
}

.review .review__block {
    height: 100%;
    cursor: grab;
    padding:0 20px;
}

.review .review__block :active {cursor: grabbing;}

.review .review__txt{
    position: relative;
    padding: 30px;
    background-color: #f3f3f3;
    border-radius: 8px;
    width: 400px;
}

.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__block{
    padding: 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:#999999;
  line-height: 1.4;
}

.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;
    }
}

.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 0 36px 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;
}