@charset "utf-8";

/* trouble_pc.css：PC
 * ======================================
 * Main
 * ======================================
 */

/* Main
------------------------------------------------------------------ */
/* mainvisual */
#subPage #content .mainvisual p {
    margin: 40px 0 0 0;
}

/* chart */
#subPage #content .chart {
    margin: 60px auto;
    text-align: center;
    width: 78%;
}

/* section */
#subPage section.medical section + section {
	border-top: 1px dotted #dadada;
	padding: 50px 0 0 0;
}

/* 見出し */
#subPage #content h1 > span {
	font-size: 2.5em;
	color: #d6809a;
	font-weight: normal;
	letter-spacing: 0.05em;
}
#subPage #content h1 > span > span {
	font-size: 0.7em;
}
#subPage #content h2 {
	padding: 10px 0 30px;
	font-size: 1.6em;
	font-weight: normal;
	letter-spacing: 0.05em;
}
#subPage #content section.medical h2 {
	padding: 30px 0;
	border-top: 1px solid #dadada;
	border-bottom: 1px dotted #dadada;
}
#subPage #content section.medical .medicalSubImg {
	width: 580px;
	margin: 30px 0 0 0;
	float: left;
}
#subPage #content h3 {
	text-align: center;
	font-size: 1.2em;
	letter-spacing: 0.05em;
	padding: 0 0 30px;
}
#subPage #content h3 span img {
	width: 2em;
	height: 2em;
	margin: 0 0.5em 0 0;
	position: relative;
	top: 0.15em;
}

/* その他共通 */
#subPage #content .inner > div > img {
	display: block;
	width: 50%;
	margin: 60px auto;
}
.floatL {
	float: left;
}
.floatR {
	float: right;
}
p {
	text-align: justify;
	text-justify: inter-ideograph;
}
p + p {
	margin: 1em 0 0 0;
}
#subPage #content p > img {
	width: 300px;
	float: right;
	margin: 0 0 30px 30px;
}

/* anchorLink */
#subPage #content .anchorLink dd {
	display: none;
}
#subPage #content .anchorLink a:after {
	border: none;
}
#subPage #content .anchorLink dt {
	font-size: 1.4em;
	background: #f0f0f0;
	padding: 32px 42px;
	text-align: center;
}
#subPage #content .anchorLink dt span {
	position: relative;
}
#subPage #content .anchorLink dt span:after {
    border: 8px solid #444444;
    border-bottom: 8px solid transparent;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    content: '';
    margin-top: -4px;
    position: absolute;
    top: 50%; right: -25px;
}
#subPage #content .anchorLink dt.active span:after {
    border-top: 8px solid transparent;
    border-bottom: 8px solid #444444;
    top: 20%;
}
#subPage #content .anchorLink dt.active span + dd {
	display: block;
}
#subPage #content .anchorLink dd li a {
	border-bottom: 1px solid #f0f0f0;
	padding: 16px 42px;
}
/* table */
table {
	border: 1px solid #dadada;
	width: 80%;
	margin: 30px auto;
}
table th,
table td {
	vertical-align: middle;
	padding: 10px;
}
table th {
	background-color: #f0f0f0;
}
table tr + tr th,
table tr + tr td {
	border-top: 1px solid #dadada;
}
table td {
	border-left: 1px solid #dadada;
}
table tbody th {
	width: 10em;
}
.priceList table + .notes {
	width: 80%;
	margin: 0 auto;
}

/* button */
.button {
	background: #ffffff;
	margin: 56px auto 0;
	text-align: center;
	width: 54%;
}
.button a {
	border: 1px solid #dadada;
	padding: 14px 0;
}
/* discList */
p + .discList {
	margin: 30px 0 0 0;
}
.discList {
	background: #f9f9f9;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 10px;
}
.discList li {
	list-style-type: none;
	position: relative;
	padding: 0.5em 1em 0.5em 1em;
	box-sizing: border-box;
}
.discList li:before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	position: absolute;
	top: 1.1em; left: 0;
	background: url(../images/li_round.png) no-repeat center center;
	background-size: contain;
}
.discList li + li {
	border-top: 1px dotted #ccc;
}
.discList li span {
	color: #d6809a;
	display: block;
}

/* referenceLink */
dl.referenceLink {
	margin: 30px 0 0 0;
	padding: 30px;
	border: 1px solid #f0f0f0;
	box-sizing: border-box;
	border-radius: 10px;
}
.referenceLink dt {
	border-left: 5px solid #d6809a;
	padding: 0 0 0 0.5em;
	margin: 0 0 0.5em 0;
	background: #f9f9f9;
}
.referenceLink dd a {
	color: #d6809a;
	text-decoration: underline;
}
.referenceLink dd a:after {
	border: none!important;
}

/* troubleWrap */
.troubleWrap {
	padding: 60px 0 0 0;
	border-top: 1px solid #dadada;
}
.troubleWrap .inner > div {
	width: 46%;
	float: left;
}
.troubleWrap .inner > dl {
	width: 46%;
	float: right;
}
.troubleWrap .inner > dl dd {
	text-align: center;
	padding: 10px 0 0 0;
}
.troubleWrap .inner > dl img {
	max-width: 100%;
}

/* troubleList */
.troubleList li {
	list-style-type: none;
	position: relative;
	padding: 0.5em 1em 0.5em 1em;
	box-sizing: border-box;
}
.troubleList li + li {
	border-top: 1px dotted #ccc;
}
.troubleList li:before {
	content: "";
	width: 0.5em;
	height: 0.5em;
	position: absolute;
	top: 1.1em;
	left: 0;
	background: url(../images/li_round.png) no-repeat center center;
	background-size: contain;
}
#content .troubleList li a:after {
	border: none;
}

/* treatment
------------------------------------------------------------------ */
#subPage #content .tmPrologue h2 {
	font-size: 1.4em;
}

/* machine */
section.machine {
	text-align: center;
	border-top: 1px solid #dadada;
	padding: 30px 0 0 0;
}
section.machine li {
	list-style-type: none;
	display: inline-block;
	width: 45%;
}
section.machine li:nth-child(even) {
	margin: 0 0 0 9%
}
section.machine li dt {
	width: 45%;
	float: left;
}
section.machine li dd {
	width: 46%;
	float: right;
	padding: 40px 0 0 0;
}
.machine li dt img {
	width: 100%;
}
#subPage #content section.machine li dd h3 {
	text-align: center;
	font-weight: normal;
	padding: 0 0 10px 0;
}
/* machineがお悩みの横に移動した場合 */
.troubleWrap .inner > dl {
	text-align: center;
}
.troubleWrap .inner > dl dt img {
	width: 60%;
}


/* priceList */
#subPage #content .priceList h2 {
	padding: 30px 0;
	border-top: 1px solid #dadada;
}
.priceList thead th {
	border-bottom: 1px solid #dadada;
	width: 50%;
}
.priceList thead th + th {
	border-left: 1px solid #dadada;
}
.priceList tbody th {
	background: transparent;
  border-right: 1px solid #dadada;
}
.priceList tbody td {
	text-align: center;
}

/* discList 料金の目安*/
.priceList table + dl {
	width: 80%;
	margin: 40px auto 0;
	border: 1px solid #dadada;
	border-radius: 10px;
}
.priceList dt {
	color: #d6809a;
	border-bottom: 1px dotted #dadada;
	padding: 0.5em 1em;
	background: #f9f9f9;
	border-radius: 10px 10px 0 0;
	font-size: 0.85em;
}
.priceList dt span {
	background: #d6809a;
	color: #fff;
	font-size: 0.8em;
	padding: 0.3em 1em;
	border-radius: 5px;
	margin-right: 0.5em;
}
.priceList dd {
	margin: 1em;
	font-size: 0.85em;
}
