@charset "UTF-8";
/*
*******************************************************************************************************
# Hythiol -shimipage page style
	/hythiol/troublenavi/shimi/XX.html

  -- pagelayout
*******************************************************************************************************
*/
.mb30 { margin-bottom: 30px}

/* ------------------------------------
	* pageLayout
* ------------------------------------ */
/* index.html */
.sectionQa .qaInner {
	box-sizing: border-box;
  border: 6px solid #f0f0f0;
	padding: 35px 50px 29px;
}

.sectionQa .qaInner .floatBox {
	display: table;
}

.sectionQa .qaInner .floatBox .image {
	display: table-cell;
	width: 410px;
}

.sectionQa .qaInner .floatBox .text {
	display: table-cell;
	vertical-align: middle;
	padding-left: 50px;
}

.sectionQa .qaInner .floatBox .text .cqaTitle {
	font-size: 18px;
	font-weight: 600;
}

.sectionQa .qaInner .floatBox .text .qaLead {
	margin-top: 22px;
}

.sectionQa .qaInner .floatBox .text .qaBtn a {
	position: relative;
	border: 1px solid #e30019;
	text-align: center;
	width: 280px;
	height: 56px;
	margin-top: 22px;
}
.sectionQa .qaInner .floatBox .text .qaBtn a .txt {
    display: inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    padding: 0 50px 0 20px;
		font-size: 16px;
    font-weight: 600;
    box-sizing: border-box;
    text-align: center;
}

.sectionQa .qaInner .floatBox .text .qaBtn a i {
	top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}


@media only screen and (max-width: 767px) {
	/* index.html */
	.sectionQa .qaInner {
	  border: 3px solid #f0f0f0;
		padding: 30px 20px;
	}

	.sectionQa .qaInner .floatBox {
		display: block;
	}

	.sectionQa .qaInner .floatBox .image {
		display: block;
		width: auto;
	}

	.sectionQa .qaInner .floatBox .text {
		display: block;
		vertical-align: baseline;
		margin-top: 30px;
		padding-left: 0;
	}

	.sectionQa .qaInner .floatBox .text .cqaTitle {
		font-size: 18px;
		font-weight: 600;
	}

	.sectionQa .qaInner .floatBox .text .qaLead {
		font-size: 14px;
		margin-top: 20px;
	}

	.sectionQa .qaInner .floatBox .text .qaBtn a {
		position: relative;
		border: 1px solid #e30019;
		text-align: center;
		width: 100%;
		height: 60px;
		margin-top: 20px;
	}
	.sectionQa .qaInner .floatBox .text .qaBtn a .txt {
	    display: inline-block;
	    position: relative;
	    top: 50%;
	    -webkit-transform: translateY(-50%);
	    transform: translateY(-50%);
	    width: 100%;
	    padding: 0 50px 0 20px;
			font-size: 16px;
	    font-weight: 600;
	    box-sizing: border-box;
	    text-align: center;
	}

	.sectionQa .qaInner .floatBox .text .qaBtn a i {
		top: 50%;
	  right: 10px;
	  -webkit-transform: translateY(-50%);
	  transform: translateY(-50%);
	}
}


/* check */
.checkClmWrap .checkClmInner {
	overflow: hidden;
	border: 5px solid #f0f0f0;
	box-sizing: border-box;
	margin-bottom: 30px;
	padding: 40px 20px;
}

.checkClmWrap .checkClmInner .checkAreaInfo {
	float: right;
	width: 450px;
}
.checkClmWrap .checkClmInner .checkAreaInfo .ttl {
	font-size: 18px;
	font-weight: 600;
}
.checkClmWrap .checkClmInner .checkAreaInfo .ttl span {
	display: inline-block;
	padding-left: 30px;
	background-image: url(/hythiol/troublenavi/shimi/check/images/icn_checkedbox.png);
	background-repeat: no-repeat;
	background-size: 25px 22px;
}
.checkClmWrap .checkClmInner .checkAreaInfo .txt {
	font-size: 15px;
	margin-top: 30px;
}
.checkClmWrap .checkClmInner .checkAreaInfo .txt ul li {
    padding-left: 27px;
    margin-bottom: 10px;
    background-image: url(/hythiol/troublenavi/shimi/check/images/icn_checkbox.png);
    background-position: 1px 0.2em;
    background-repeat: no-repeat;
		background-size: 16px 16px;
}

.checkClmWrap .checkClmInner .checkAreaImg {
	float: left;
	width: 200px;
}


@media only screen and (max-width: 767px) {
	.checkClmWrap .checkClmInner {
		border: 3px solid #f0f0f0;
		margin-bottom: 20px;
		padding: 20px;
	}

	.checkClmWrap .checkClmInner .checkAreaInfo {
		float: none;
		width: auto;
	}
	.checkClmWrap .checkClmInner .checkAreaInfo .ttl {
		font-size: 16px;
	}
	.checkClmWrap .checkClmInner .checkAreaInfo .ttl span {
		display: inline-block;
		padding-left: 30px;
		background-image: url(/hythiol/troublenavi/shimi/check/images/icn_checkedbox.png);
		background-repeat: no-repeat;
		background-size: 25px 22px;
	}
	.checkClmWrap .checkClmInner .checkAreaInfo .txt {
		font-size: 14px;
	}
	.checkClmWrap .checkClmInner .checkAreaInfo .txt ul li {
    padding-left: 27px;
    margin-bottom: 10px;
    background-image: url(/hythiol/troublenavi/shimi/check/images/icn_checkbox.png);
    background-position: 1px 0.2em;
    background-repeat: no-repeat;
		background-size: 16px 16px;
	}

	.checkClmWrap .checkClmInner .checkAreaImg {
		float: none;
		margin: 0 auto 30px;
	}
}

.wrpContents .modImgBox.img3Col .modListImg li {
	width: 31.48%;
	margin-right: 20px;
}

.wrpContents .modImgBox.img3Col .modListImg li .cap {
	font-size: 15px;
	font-weight: 600;
	margin-top: 17px;
}

.wrpContents .modImgBox.img3Col .modListImg li:nth-child(3n) {
	margin-right: 0;
}

.wrpContents .modImgBox.img3Col .modListImg li:nth-child(n+4) {
	margin-top: 30px;
}

/* countermeasure.html */
.wrpContents .modCtsBox.sizeS.imgCountermeasure .ctsInr .image {
	box-sizing: border-box;
  border: 1px solid #e5e5e5;
}
@media only screen and (max-width: 767px) {
	.wrpContents .modListImg {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.wrpContents .modImgBox.img3Col .modListImg li {
		width: auto;
		margin-right: 0;
	}

	.wrpContents .modImgBox.img3Col .modListImg li .cap {
		font-size: 14px;
	}

	.wrpContents .modImgBox.img3Col .modListImg li:nth-child(3n) {
		margin-right: 0;
	}

	.wrpContents .modImgBox.img3Col .modListImg li:nth-child(n+4) {
		margin-top: 30px;
	}
}

/* ------------------------------------
	* Q&A
* ------------------------------------ */
.wrpContents .sectionQA .floatBox  {
	display: table;
}
.wrpContents .sectionQA .floatBox  .image {
	box-sizing: border-box;
	border: 1px solid #e5e5e5;
	display: table-cell;
	width: 410px;
}
.wrpContents .sectionQA .floatBox  .text {
	display: table-cell;
	vertical-align: middle;
	padding-left: 40px;
}

.wrpContents .sectionQA .floatBox  .text .cqaTitle {
	width: 60px;
  margin: 0 auto 21px;
}

.wrpContents .sectionQA .floatBox  .text .cqaTitle .qaLead {
	font-size: 15px;
}

.wrpContents .sectionQA .listQA {
  padding-top: 30px;
  border-top: 1px solid #E5E5E5;
}

.wrpContents .sectionQA dt {
  position: relative;
  padding-left: 50px;
  margin-bottom: 19px;
  font-size: 24px;
  font-weight: 600;
}

.wrpContents .sectionQA dd {
  position: relative;
  padding-bottom: 40px;
  margin-bottom: 30px;
  border-bottom: 1px solid #E5E5E5;
}

.wrpContents .sectionQA dd .inner {
  margin-left: 100px;
  padding-top: 4px;
}

.wrpContents .sectionQA dt::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  background: url(/hythiol/qa/images/icn_q.png) no-repeat 0 0;
  background-size: 36px auto;
}

.wrpContents .sectionQA dd::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 50px;
  width: 36px;
  height: 36px;
  background: url(/hythiol/qa/images/icn_a.png) no-repeat 0 0;
  background-size: 36px auto;
}


@media only screen and (max-width: 767px) {
  /* ------------------------------------
  	* Q&A
  * ------------------------------------ */
  .wrpContents .sectionQA .floatBox  {
  	display: block;
  }
  .wrpContents .sectionQA .floatBox  .image {
  	display: block;
  	width: auto;
  }
  .wrpContents .sectionQA .floatBox  .text {
  	display: block;
  	vertical-align: baseline;
  	padding-left: 0;
  }

  .wrpContents .sectionQA .floatBox  .text .cqaTitle {
  	margin: 15px auto 12px;
  }

  .wrpContents .sectionQA .floatBox  .text .cqaTitle .qaLead {
  	font-size: 14px;
  }

  .wrpContents .sectionQA .listQA {
    padding-top: 30px;
    border-top: 1px solid #E5E5E5;
  }

  .wrpContents .sectionQA dt {
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 600;
  }

  .wrpContents .sectionQA dd {
    padding-bottom: 30px;
    margin-bottom: 20px;
  }

  .wrpContents .sectionQA dd .inner {
    margin-left: 50px;
  }

  .wrpContents .sectionQA dt::before {
    top: -3px;
  }

  .wrpContents .sectionQA dd::before {
    top: -3px;
    left: 0;
  }
}

/* Column イメージあり */
.wrpContents .modColumn .image {
	max-width: 500px;
	margin: 0 auto;
}

/* Column figure, figcaption */
.wrpContents .modColumn .image figure figcaption {
	font-size: 12px;
}

/* /hythiol/troublenavi/shimi/cause.html */
.wrpContents .sectionCause .modColumn .image figure figcaption {
	margin: 0 0 16px;
	text-align: right;
}

.wrpContents .sectionCause .modColumn .image figure figcaption p{
	margin-top: 16px;
}

/*
 * 2024/02/05 追記
 * underline
 */
.underline {
	text-decoration: underline;
}

/*
 * 2024/02/05 追記
 * hythiol/troublenavi/shimi/freckles.html
 * dl, dt, dd タグを使用した場合にもリスト用デザインを適用
 */
.wrpContents .modListTxt .listTxt .listTitle {
	margin-bottom: 16px;
	font-weight: bold;
}

.wrpContents .modListTxt .listTxt dd {
	position: relative;
	margin-bottom: 19px;
	padding-left: 22px;
	font-size: 15px;
}

.wrpContents .modListTxt .listTxt dd::before {
	content: '';
	display: block;
	position: absolute;
	top: 7px;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: #E30019;
	border-radius: 4px;
}

.wrpContents .modListTxt.acne .listTxt dd {
	color: #222222;
}

.wrpContents .modListTxt.acne .listTxt dd::before {
	background-color: #F30088;
}

@media only screen and (max-width: 767px) {
	.wrpContents .modListTxt .modListTxtInr dd {
		font-size: 14px;
	}
}

/*
 * 2024/02/05 追記
 * 目次のスタイル
 */
.jsTocAccordion {
	border: 2px solid #E30019;
}

.jsTocAccordion .jsTocAccordionTitle {
	color: #E30019;
	border-bottom: 2px dotted #E30019;
}

.jsTocAccordion .jsTocAccordionTitle svg {
	fill: #E30019;
}

.jsTocAccordion .jsTocParentList .jsTocParentListItem::before {
	background-color: #E30019;
}

.jsTocAccordion .jsTocParentList .jsTocParentListItem .jsTocChildList .jsTocChildListItem::before {
	background-color: #E30019;
}

.jsTocAccordion .jsTocAccordionCloseButton {
	border-top: 1px solid #E30019;
}

.jsTocAccordion .jsTocAccordionCloseButton > span::before {
	background-color: #E30019;
}

.jsTocAccordion .jsTocAccordionCloseButton {
	color: #E30019;
}

/*
 * 2024/02/13 追記
 * /shimi/mechanism.html
 * note(注釈テキスト) スタイリング
 */
.sectionMechanism .note {
	color: #666;
	font-size: 12px;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	.sectionMechanism .note {
		color: #666;
    font-size: 11px;
	}
}

/*
 * 2024/02/13 追記
 * /shimi/mechanism.html
 * table スタイリング
 */
.modTableNormal {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #E5E5E5;
}

.modTableNormal thead tr th,
.modTableNormal tbody tr th,
.modTableNormal tbody tr td {
	padding: 20px;
	vertical-align: middle;
	border: 1px solid #E5E5E5;
}

.modTableNormal tbody tr th {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.modTableNormal tbody tr th {
		width: 60px;
	}

	.modTableNormal.col3 tbody tr th,
	.modTableNormal.col3 tbody tr td {
		font-size: 11px;
	}
}

/*
 * 2024/02/16 追記
 * /shimi/cure2.html
 * table スタイリング 個別対応
 */
.sectionMechanism .modTableNormal {
	margin: 0 0 40px 0;
}

/* .wrpContents section > *[class^=section].featureCureStain {
	margin: 0 0 50px 0;
} */

.sectionMechanism.featureCureStain h3.modH3 {
	margin: 0 0 6px 0;
}

.sectionMechanism.featureNutrients .modDataListWrapper .modDataList dt {
	position: relative;
	margin: 0 0 6px 0;
	padding: 0 0 0 20px;
	font-size: 18px;
	font-weight: 600;
}

.sectionMechanism.featureNutrients .modDataListWrapper .modDataList dt::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 11px;
	height: 11px;
	background-color: #E30019;
	border-radius: 50%;
}

.sectionMechanism.featureNutrients .modDataListWrapper .modDataList dd {
	margin: 0 0 25px 20px;
}

/*
 * 2024/02/27 追記
 * .modDataListWrapper .modDataList レスポンシブ
 */
@media screen and (max-width: 767px) {
	.sectionMechanism.featureNutrients .modDataListWrapper .modDataList dt {
		font-size: 16px;
	}
}