.product_single_intro_text {
  padding: 1rem 0 0 0;
}

.product_single_intro_text ul {
  padding: 0 2rem;
}

.product_single_intro_text > ul > li {
  margin-bottom: 1rem;
}

/* detail design */

.explanation {
  /*width: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  margin: 30px auto;
  padding:0;*/

}
.ex-box {
  display: flex;
  align-content: start;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 0;
  margin:30px 0;
}
.-text {
	/*-webkit-box-flex: 0;
  -ms-flex: 0 0 60%;
  flex: 0 0 60%;
  max-width: 60%;
  width: 60%;
	box-sizing: border-box;
	padding:10px;*/
}
.-img {
	-webkit-box-flex: 0;
  -ms-flex: 0 0 40%;
  flex: 0 0 40%;
  max-width: 40%;
  width: 40%;
  flex-wrap: wrap;
  padding-top: 50px;
}
.-img .img {
-webkit-box-flex: 100%;
  -ms-flex: 0 0 100%;
		flex:0 0 100%;
  max-width: 95%;
padding:0;
margin:10px auto;
}
.-img .img img{
	width:100%;
	max-width:100%;
}
.-center{
	justify-content: center;
}
.-start{
	/*justify-content: flex-start;*/
}

h4.explanation{
	color:#27455b;
	font-weight: 300;
	text-decoration: none;
	font-size:150%;
	display:inline-block;
	width:100%;
	margin:30px auto 0px auto;
	padding-bottom:20px;
	box-sizing: border-box;
	text-align:left;
	border-bottom:#eee solid 1px;
	letter-spacing:.03em;
}
h4.explanation:first-child{
  margin: 0px;
}
p.ex-text {
  line-height:1.4;
	font-size:100%;
	letter-spacing:0.03em;
	display:inline-block;
	margin:10px auto 30px 0;
	padding:0;
	width:90%;
	font-weight:300;
}
p.ex-text b{
	font-weight:bold;
	color:#0058a2;
	font-size:100%;
	font-weight:500;
}
p.ex-text span.subtitle{
	font-weight:500;
	text-decoration: none;
	color:#0058a2;
	font-size:130%;
	width:100%;
	display:inline-block;
	margin:30px 0 20px 0;
}
p.ex-text em{
	font-weight:normal;
	font-style: normal;
	text-decoration: none;
	color:#0058a2;
	font-size:100%;
	display:inline-block;
	margin:20px 0;
}
.explanation a.learn-more{
	display:inline-block;
	margin:20px auto;
	padding:10px;
	box-sizing: border-box;
	width:200px;
	height:auto;
	background:#27455b;
	text-align:center;
	border-radius:.3em;
	color:#fff;
	text-decoration:none;
	transition-duration: .4s;
  cursor:pointer;
}
.explanation a.learn-more:hover{
	transform: scale(1.05);
}

@media screen and (max-width: 1200px) {
	.-text {
	-webkit-box-flex: 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;}
	.-img {
	-webkit-box-flex: 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
  padding-top: 0px;
	}
	.-img .img {
-webkit-box-flex: 50%;
  -ms-flex: 0 0 50%;
		flex:0 0 50%;
  max-width: 50%;
padding:10px;
margin:10px auto;
	width:100%;
		box-sizing: border-box;
}
	.-img .img img{
	width:auto;
	max-width:auto;
		height:auto;
		max-height:400px;
}
}
/* detail design end */

/* product structure */

.desc {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  margin: 60px auto;
  padding: 0;
  max-width: 980px;
}
.desc h2 {
  flex: 0 0 100%;
  width: 100%;
  display: inline-block;
  font-weight: 400;
  font-size: 28px;
  letter-spacing: 0.03em;
  color: #111;
  box-sizing: border-box;
  position: relative;
  text-align: left;
  margin:0 !important;
  padding:0;
}
.desc h2 span {
  display: inline-block;
  width: auto;
  text-align: left;
  padding: 10px 10px 10px 0;
  margin: 0;
  box-sizing: border-box;
  background: #fff;
}
.desc .main-text-box {
  flex: 0 0 100%;
  width: 100%;
  text-align: center;
}
.desc .main-text-box p {
  flex: 0 0 100%;
  width: 100%;
  text-align: center;
  font-size: 110%;
  line-height: 1.5;
}
.desc-box {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  width: 50%;
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.desc-box .img {
  -webkit-box-flex: 1;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.desc-box .img img {
  width: 100%;
  height: auto;
  max-width: 1200px;
  max-height: 900px;
  margin: 0;
}
.desc-box h2 {
  width: auto;
  display: inline-block;
  font-weight: 400;
  font-size: 200%;
  letter-spacing: 0.03em;
  margin: 0;
  color: #27455b;
  box-sizing: border-box;
  position: relative;
  text-align: left;
	border-bottom:0;
	padding:0px;
}
.desc-box h2 span {
  display: inline-block;
  width: auto;
  text-align: left;
  padding: 10px 10px 10px 0;
  margin: 0;
  box-sizing: border-box;
  background: #fff;
  border-bottom: 2px solid #eee;
}
.desc-box dl {
  display: block;
  border-left: 2px solid #eee;
  margin: 0;
  padding: 30px 10px 10px 0;
  box-sizing: border-box;
  width: 100%;
  clear: both;
}
.desc-box dl dt {
  display: block;
  padding: 10px 10px 10px 40px;
  box-sizing: border-box;
  font-size: 105%;
  letter-spacing: 0.03em;
  position: relative;
  transition: 0.3s;
	color:#0058a2;
	font-weight:500;
}
.desc-box dl dd.normal {
  display: block;
  padding: 10px;
  margin: 0;
  box-sizing: border-box;
  font-size: 100%;
  letter-spacing: 0.03em;
  line-height: 1.3em;
  position: relative;
}
.desc-box dl dd {
  display: block;
  padding: 10px 10px 10px 50%;
  margin: 0 0 30px;
  box-sizing: border-box;
  font-size: 120%;
  letter-spacing: 0.03em;
  line-height: 1.3em;
  position: relative;
	font-weight:300;
}
.desc-box dl dt::before {
  content: "";
  width: 35px;
  height: 2px;
  position: absolute;
  display: block;
  background: #eee;
  top: 50%;
  left: 0;
}
.desc-box dl dt::after {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: absolute;
  display: block;
  background: #eee;
  top: calc((100% - 16px) / 2);
  left: -8px;
  transition: 0.3s;
}
.desc-box dl dd::before {
  content: "";
  width: 49%;
  height: 2px;
  position: absolute;
  display: block;
  background: #eee;
  top: calc((100% - 2px) / 2);
  left: 0;
  z-index: 1;
}
.desc-box dl dd.sofaset::before {
  content: "";
  width: 49%;
  height: 2px;
  position: absolute;
  display: block;
  background: #eee;
  top: 40px;
  left: 0;
  z-index: 1;
}
.desc-box dl dd.normal::before,
.desc-box dl dd.sofaset::before {
  content: "";
  display: none;
}
.desc-box dl dd span {
  font-size: 100%;
}
.desc-box dl dd.sofaset ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.desc-box dl dd.sofaset ul li {
  padding: 0 0 10px;
  box-sizing: border-box;
  margin: 0;
  position: relative;
}
.desc-box dl dd.sofaset ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  background: #eee;
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: -18px;
}

@media screen and (max-width: 980px) {
	h2{
		padding:0 0 20px 6px;
		box-sizing: border-box;	
	}
	.desc-box{
	padding:0 6px;
	  box-sizing: border-box;
	}
  .desc-box dl dd {
    font-size: 110%;
    padding: 10px 10px 10px 50%;
  }
  .desc-box dl dd.sofaset {
    padding: 10px 10px 10px 30%;
  }
  .desc-box dl dd.sofaset ul {
    padding: 10px;
    list-style: none;
  }
}
@media screen and (max-width: 768px) {
  .desc-box {
    -webkit-box-flex: 1;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .desc-box .img {
    border-left: 2px solid #eee;
  }
  .desc-box dl dd {
    display: block;
    padding: 10px 10px 10px 60%;
    font-size: 120%;
  }
  .desc-box dl dd.sofaset {
    padding: 10px 10px 10px 20px;
  }
  .desc-box dl dd.normal {
    font-size: 100%;
  }
  .desc-box dl dd::before {
    width: 59%;
  }
  .desc-half-mini-box {
    flex: 0 0 50%;
    width: 50%;
    padding: 4px 4px 30px;
  }
  .process::before {
    display: none;
  }
}
@media screen and (max-width: 414px) {
  .desc-box dl dd {
    display: block;
    padding: 10px 10px 10px 45%;
    font-size: 120%;
  }
  .desc-box dl dd::before {
    width: 43%;
  }
  .desc-box dl dd.sofaset {
    padding: 10px 10px 10px 20px;
  }

}
@media screen and (max-width: 375px) {
  .desc-box dl dd {
    font-size: 110%;
  }
}
@media screen and (max-width: 340px) {
  .desc-box dl dd {
    display: block;
    padding: 10px 10px 10px 40%;
    font-size: 100%;
  }
  .desc-box dl dd::before {
    width: 38%;
  }
}



/* product structure end*/


/* common */
h2{
	color:#27455b;
	font-weight: 300;
	text-decoration: none;
	font-size:150%;
	display:inline-block;
	width:100%;
	margin:30px auto 30px auto;
	padding-bottom:20px;
	box-sizing: border-box;
	text-align:left;
	border-bottom:#eee solid 1px;
	letter-spacing:.03em;
}
h2:first-child{
	margin:0px auto 30px auto;
}
/* material detail parts */
.color_samples_container {
  display: flex;
  justify-content: space-between;
	align-items:flex-start;
  flex-wrap: wrap;
  margin: 0 0 30px 0;
}
.color_samples_container:last-child{
  margin: 0 0 60px 0;
}
.color_samples_image {
  flex: 0 0 20%;
  max-width: 20%;
  display: flex;
  /* align-items: center; */
  padding-top: 1.3em;
}
.color_samples_image a img {
  max-width: 100%;
  height: auto;
}
.color_samples_text {
  flex: 0 0 80%;
  max-width: 80%;
  box-sizing: border-box;
  padding: 0 5%;
  letter-spacing: 0.03em;
}
.color_samples_text h3{
	color:#27455b;
	font-weight: 300;
	text-decoration: none;
	font-size:150%;
	display:inline-block;
	width:100%;
	margin:30px auto 0px auto;
	padding-bottom:20px;
	box-sizing: border-box;
	text-align:left;
	letter-spacing:.03em;
}
.color_samples_text p{
	font-weight:300;
}
.color_samples_text p strong{
	font-style: normal;
	text-decoration: none;
	color:#0058a2;
	font-size:100%;
	display:inline;
	font-weight:400;
}
@media screen and (max-width: 980px) {
	.color_samples_text p{
		display:inline-block;
		padding:6px;
		box-sizing: border-box;
	font-weight:300;
}
}
@media screen and (max-width: 600px) {
  .color_samples_image,
  .color_samples_text {
	flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
  }
}
@media screen and (min-width: 480px) and (max-width: 600px) {
  .color_samples_image {
    justify-content: center;
  }

  .color_samples_text h3 {
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .color_samples_image {
    justify-content: center;
  }

  .color_samples_text h3 {
    text-align: center !important;
  }	
}
.textile-block {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: flex-start;
  box-sizing: border-box;
  padding: 5px;
}
.textile-block-desc {
  flex: 0 0 60%;
  padding-right: 10px;
  box-sizing: border-box;
  font-weight:300;
}

.textile-block-care {
  flex: 0 0 40%;
  padding: 0;
  margin: 0 0 30px 0;
}
.textile-block-desc p,
.textile-block-care p{
	display:inline-block;
	width:100%;
	font-size:90%;
	color:#0058a2;
	margin:0 0 10px 0;
	padding:0;
}
.textile-block-desc p strong,
.textile-block-care p strong{
	font-size:100%;
}
.textile-block-desc ul{
	margin:0;
	padding:0;
	list-style-type: circle;
	list-style-position: inside;
}
.textile-block-desc ul li{
	margin:0 0 5px 0;
	padding:0;
	box-sizing: border-box;
	display: list-item;
}
.textile-block-care div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  padding: 0;
  width: auto;
  height: auto;
  max-height: 32px;
}
.textile-block-care div img{
	width: 100%;
	max-width:32px;
	display:block;
	margin:0 15px 0 0;
	box-sizing: border-box;
}
.textile-block-care div img:last-child{
	margin:0;
}
@media screen and (max-width: 700px) {
  .textile-block-desc {
    flex: 0 0 100%;
    padding-right: 0px;
    box-sizing: border-box;
  }
  .textile-block-care {
    flex: 0 0 100%;
    padding-right: 0px;
    box-sizing: border-box;
  }

}
@media screen and (max-width: 480px) {
	.textile-block-care div {
 	 justify-content: space-around;
	}
}
/* FAQ page parts */
.faq{
  width: auto;
  margin: 0;
  padding: 10px;
	box-sizing: border-box;
  }
  .faq h2.faq{
    color:#27455b;
    font-weight: 300;
    text-decoration: none;
    font-size:150%;
    display:inline-block;
    width:100%;
    margin:30px auto 0px auto;
    padding-bottom:20px;
    box-sizing: border-box;
    text-align:left;
    border-bottom:#eee solid 1px;
    letter-spacing:.1em;
  }
  
  dl.faq{
	
    display:flex;
      -webkit-box-flex: 1;
      -ms-flex: 0 0 100%;
    flex-wrap:wrap;
    justify-content: flex-start;
    align-content: flex-start;
      flex: 0 0 100%;
    padding:0;
    margin:0 auto;
  }
  dl.faq dt{flex:0 0 100%;padding:15px 10px;background:#f7f9fa;position:relative;margin:30px 0 0 0;clear:both;}
  dl.faq dt.faq::before{content: "Q";position:absolute;top:-15px;left:-20px;font-weight:300;color:#ccdee6;font-size:50px;}
  dl.faq dt.faq span{color:#0058a2;font-weight:normal;font-size:150%;padding:0 0 0 10px;}
  dl.faq dd{flex:0 0 100%;margin:15px 0 0 0; padding:0 0 0 30px;clear:both;}
  dl.faq dd p{line-height:1.4;font-weight:300;}
	dl.faq dd p b,dl.faq dd p strong{font-weight:400;}
  
  dl.faq dd ul{
    margin:20px 0;
    padding:0;
    list-style-position: inside;
    list-style: square;
  }
  dl.faq dd ul li{
    padding:0 0 15px 0;
    color:#27455b;
    font-size:110%;
	  font-weight:300;
  }
  dl.faq dd ul li ul{
    margin:15px 0;
    padding:0 0 0 20px;
    list-style-position: inside;
    list-style:decimal;
  }
  dl.faq dd ul li ul li{
      font-size:100%;
	  font-weight:300;
  }
  @media screen and (max-width: 1200px) {
	dl.faq dt.faq::before{top:-25px;left:-10px;font-weight:300;color:#ccdee6;font-size:40px;}
	dl.faq dt.faq span{ font-size:130%;line-height:1.5;padding:0;}
	dl.faq dd img{width:90%;height:auto;max-width:800px;margin:0 auto;display:block;}
}


  /* easy steps */

  .steps {
    width: 100%;
    height:auto;
    display: flex;
    justify-content: space-around;
    align-content: flex-start;
    flex-wrap: wrap;
    margin: 60px auto;
    padding:0;
  }
  .steps .steps-title{
    flex:0 0 100%;
    margin-bottom:6px;
    padding:0;
    text-align:center;
  }
  .steps .steps-title span.steps-title{
    color:#27455b;
    font-size:150%;
    display:inline-block;
    border-bottom:#eee solid 1px;
    padding-bottom:6px;
    box-sizing: border-box;
  }
  .steps .steps-box {
    flex:0 0 25%;
    height:100px;
    display: flex;
  justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    padding: 0px;
    box-sizing: border-box;
    margin:0;
    border-radius:0.5em;
    position:relative;
  }
  .steps .-s1::after,
  .steps .-s2::after,
  .steps .-s3::after,
  .steps .-s4::after {
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      content: "";
      vertical-align: middle;
      right: -10px;
      box-sizing: border-box;
      width: 4px;
      height: 4px;
      border: 4px solid transparent;
      border-left: 4px solid #27455b;
  }
  .steps .-s4::after{
    display:none;
  }
  .steps .steps-box .icon{
    flex:0 0 100%;
    margin:0;
    padding:0;
    display:flex;
    justify-content: center;
    align-content: flex-start;
    flex-wrap: wrap;
  }
  .steps .steps-box .icon img{
    flex:0 0 1;
    width:100%;
    max-width:70px;
    height:auto;
    display:block;
    margin:0 auto;
    position:relative;
  }
  .steps .steps-box .text{
    flex:0 0 100%;
      padding: 10px;
    box-sizing: border-box;
    display:flex;
    justify-content: center;
    align-content: flex-start;
    flex-wrap: wrap;
  }
  .steps .steps-box .text span.title{
    flex:0 0 30px;
    font-weight:300;
    font-size:15px;
    color:#94835f;
    display:block;
    border-bottom:1px solid #94835f;
    text-align:center;
    padding:0;
    
  }
  .steps .steps-box .text p{
    flex: 0 0 100%;
    font-size:90%;
    display:inline-block;
    width:100%;
    color:#27455b;
    line-height:1.0;
    text-align:center;
    padding:0;
    margin:10px 0 0 0;
  }
  @media screen and (max-width: 1200px) {
    .steps .steps-box {
      flex:0 0 25%;
      height:100px;
    }
    .steps .steps-box .icon img{
    max-width:70px;
    height:auto;
    position:relative;
    top:0px;
    }
    .steps .steps-box .text span.title{
      font-size:15px;
    }
    
  }
  @media screen and (max-width: 980px) {
    .steps .steps-box {
      flex:0 0 50%;
      height:auto;
      padding:10px 0;
      box-sizing: border-box;
    }
    .steps .steps-box .text{
    height:70px;
    }
    .steps .steps-box .icon{
    flex:0 0 50%; 
  }
    .steps .steps-box .icon img{
    max-width:50px;
    position:relative;
    top:0px;
    margin:6px auto 0 auto;
    }
    .steps .steps-box .text{
    flex:0 0 50%;
  }
    .steps .-s1::after,
  .steps .-s2::after,
  .steps .-s3::after,
    .steps .-s4::after {display: none;}
  
    .steps .steps-box .text p{
    font-size:70%;
    margin:5px 0 0 0;
  }
  }
  @media screen and (max-width: 360px) {
      .steps .steps-box .icon{
    flex:0 0 100%;
  }
    .steps .steps-box .icon img{
    margin:0 auto 0 auto;
    }
    .steps .steps-box .text{
    flex:0 0 100%;
  }
  }