@charset "UTF-8";
/* =========================================================
	Discount / CP_F
========================================================= */
#conts {
	padding-top: 20px;
}

#conts .lead {
	padding: 23px 20px;
	background: #EDEDED;
	font-size: 1.6rem;
	line-height: 1.8;
}

#conts .cpSec {
	margin-top: 30px;
}

#conts .cpSec .headLine02 + p {
	margin-top: 25px;
	padding: 0 20px;
	font-size: 1.6rem;
	line-height: 1.8;
}

#conts .cpSec .discountSec {
	margin-top: 50px;
	padding: 0 20px;
}

#conts .cpSec .discountSec h3 {
	padding: 14px 0 10px;
	background: #EEE;
	border: 2px solid #000;
	font-size: 3.0rem;
	font-weight: normal;
	text-align: center;
}

#conts .cpSec .discountSec h3 span {
	font-weight: bold;
}

#conts .cpSec .discountSec table {
	width: 930px;
	margin: 20px auto 0;
	border-collapse: collapse;
}

#conts .cpSec .discountSec table thead th {
	width: 308px;
	padding: 5px 0 4px;
	background: #D30011;
	border: 2px solid #000;
	color: #FFF;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

#conts .cpSec .discountSec table thead th:last-child {
	width: auto;
}

#conts .cpSec .discountSec table tbody td {
	padding: 10px 4px;
	border: 2px solid #000;
	border-top: none;
	border-bottom: none;
}

#conts .cpSec .discountSec table tbody tr:nth-child(1) td {
	padding: 3px 0 0;
	border: 2px solid #000;
	border-bottom: none;
	text-align: center;
}

#conts .cpSec .discountSec table tbody tr:nth-child(3) td {
	border-bottom: 2px solid #000;
}

#conts .cpSec .discountSec table tbody td .course {
	display: inline-block;
	margin-left: 8px;
	padding: 4px 10px 2px;
	background: #FF0;
	border: 1px solid #000;
	font-size: 1.5rem;
	font-weight: bold;
}

#conts .cpSec .discountSec table tbody td .price {
	margin-top: 2px;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}

#conts .cpSec .discountSec table tbody tr:nth-child(2) td .price {
	position: relative;
}

#conts .cpSec .discountSec table tbody tr:nth-child(2) td .price::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	left: 0;
	bottom: -10px;
}

#conts .cpSec .discountSec table tbody td .price .line {
	display: inline-block;
	padding: 0 2px 0 5px;
	font-size: 4.4rem;
	position: relative;
}

#conts .cpSec .discountSec table tbody td .price .line::after {
	content: "";
	width: 100%;
	height: 15px;
	background: #FF0;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

#conts .cpSec .attSec {
	margin-top: 40px;
	padding: 0 20px;
}

#conts .cpSec .attSec h3 {
	padding: 12px 0 9px;
	background: #EEE;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

#conts .cpSec .attSec .attList {
	margin-top: 20px;
}

#conts .cpSec .attSec .attList li {
	font-size: 1.6rem;
	line-height: 2.0;
}

#conts .cpSec .attSec .cmnBtn01 {
	margin-top: 35px;
	text-align: center;
}

#conts .reasonSec {
	margin-top: 60px;
}

#conts .reasonSec .flexBox {
	display: flex;
	margin-top: 30px;
}

#conts .reasonSec .flexBox .imgBox {
	width: 480px;
	margin-right: 30px;
}

#conts .reasonSec .flexBox .textBox {
	width: 450px;
	margin-top: -3px;
}

#conts .reasonSec .flexBox .textBox p {
	font-size: 1.6rem;
	line-height: 1.6;
}

#conts .reasonSec .flexBox .textBox p + p {
	margin-top: 25px;
}

#conts .reasonSec .flexBox .textBox p.small {
	font-size: 1.2rem;
	text-align: right;
}

#conts .reasonSec .flexBox .textBox p a {
	color: #A41A19;
}

#conts .reasonSec .flexBox .textBox p sup {
	font-size: 1.0rem;
}

#conts .reasonSec .headLine02 + .flexBox {
	padding: 0 20px;
}

#conts .reasonSec .detailSec {
	margin-top: 40px;
	padding: 0 20px;
}

#conts .reasonSec .detailSec h3 {
	padding: 10px 10px;
	background: #ECECEC;
	font-weight: bold;
}

#conts .reasonSec .detailSec h3 span {
	vertical-align: bottom;
}

#conts .reasonSec .detailSec h3 .reason {
	display: inline-block;
	margin-right: 15px;
	padding: 6px 12px 4px 15px;
	background: #000;
	color: #FFF;
	font-size: 1.8rem;
}

#conts .reasonSec .detailSec h3 .text {
	font-size: 2.4rem;
}

#conts .doctorSec {
	margin-top: 60px;
}

#conts .doctorSec .doctorBox {
	display: flex;
	align-items: center;
	margin: 30px 20px 0;
	padding: 18px 18px;
	background: #ECECEC;
	border: 2px solid #A41A19;
}

#conts .doctorSec .doctorBox .imgBox {
	width: 460px;
	margin-right: 20px;
}

#conts .doctorSec .doctorBox .textBox {
	width: 440px;
}

#conts .doctorSec .doctorBox .textBox p {
	font-size: 1.6rem;
	line-height: 1.6;
}

#conts .doctorSec .doctorBox .textBox p + p {
	margin-top: 25px;
}

#conts .doctorSec .cmnBtn01 {
	margin-top: 40px;
	text-align: center;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
	#conts {
		padding-top: 5px;
	}

	#conts .headLine02 {
		padding: 10px 15px;
	}

	#conts .cmnBtn01 {
		padding: 12px 0;
		background: #EEE;
	}

	#conts .lead {
		padding: 12px 10px;
		font-size: 1.2rem;
	}

	#conts .cpSec .headLine02 + p {
		margin-top: 10px;
		padding: 0 7px;
		font-size: 1.2rem;
	}

	#conts .cpSec .discountSec {
		margin-top: 30px;
		padding: 0 7px;
	}

	#conts .cpSec .discountSec h3 {
		padding: 10px 0;
		border-width: 3px;
		font-size: 6.4vw;
	}

	#conts .cpSec .discountSec .pcTable {
		display: none;
	}

	#conts .cpSec .discountSec dl {
		border: 3px solid #000;
		border-top: none;
	}

	#conts .cpSec .discountSec dl dt {
		padding: 10px 0;
		background: #D30011;
		color: #FFF;
		font-size: 4.8vw;
		font-weight: bold;
		text-align: center;
	}

	#conts .cpSec .discountSec dl dt:nth-of-type(3) {
		font-size: 4vw;
	}

	#conts .cpSec .discountSec dl dd {
		display: flex;
		padding: 5px 5px 15px;
	}

	#conts .cpSec .discountSec dl dd .imgBox {
		width: 46%;
		margin-right: 4%;
	}

	#conts .cpSec .discountSec dl dd .textBox {
		width: 50%;
		padding-top: 4px;
	}

	#conts .cpSec .discountSec dl dd .textBox .course {
		display: inline-block;
		margin-left: 4px;
		padding: 5px 10px;
		background: #FF0;
		border: 1px solid #000;
		font-size: 4vw;
		font-weight: bold;
	}

	#conts .cpSec .discountSec dl dd .textBox .price + .course {
		margin-top: 10px;
	}

	#conts .cpSec .discountSec dl dd .textBox .price {
		margin-top: 8px;
		font-size: 5vw;
		font-weight: bold;
		text-align: center;
	}

	#conts .cpSec .discountSec dl dd .textBox .price:nth-of-type(2) {
		padding-bottom: 12px;
		position: relative;
	}

	#conts .cpSec .discountSec dl dd .textBox .price:nth-of-type(2)::after {
		content: "";
		width: 100%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#conts .cpSec .discountSec dl dd .textBox .price .line {
		display: inline-block;
		padding: 0 2px 0 3px;
		font-size: 8.2vw;
		position: relative;
	}

	#conts .cpSec .discountSec dl dd .textBox .price .line::after {
		content: "";
		width: 100%;
		height: 4vw;
		background: #FF0;
		position: absolute;
		bottom: -0.5vw;
		left: 0;
		z-index: -1;
	}

	#conts .cpSec .attSec {
		margin-top: 20px;
		padding: 0;
	}

	#conts .cpSec .attSec h3 {
		margin: 0 7px;
		padding: 5px 0;
		font-size: 1.5rem;
	}

	#conts .cpSec .attSec .attList {
		margin-top: 10px;
		padding: 0 7px;
	}

	#conts .cpSec .attSec .attList li {
		margin-left: 1.0em;
		text-indent: -1.0em;
		font-size: 1.2rem;
		line-height: 1.8;
	}

	#conts .cpSec .attSec .attList li + li {
		margin-top: 6px;
	}

	#conts .cpSec .attSec .cmnBtn01 {
		margin-top: 20px;
	}

	#conts .reasonSec {
		margin-top: 25px;
	}

	#conts .reasonSec .flexBox {
		display: block;
		margin-top: 10px;
	}

	#conts .reasonSec .headLine02 + .flexBox {
		padding: 0 7px;
	}

	#conts .reasonSec .flexBox .imgBox {
		width: auto;
		margin-right: 0;
		text-align: center;
	}

	#conts .reasonSec .flexBox .textBox {
		width: auto;
		margin-top: 10px;
	}

	#conts .reasonSec .flexBox .textBox p {
		font-size: 1.2rem;
		line-height: 1.8;
	}

	#conts .reasonSec .flexBox .textBox p + p {
		margin-top: 20px;
	}

	#conts .reasonSec .flexBox .textBox p.small {
		word-break: break-all;
		font-size: 1.0em;
	}

	#conts .reasonSec .detailSec {
		margin-top: 25px;
		padding: 0 7px;
	}

	#conts .reasonSec .detailSec h3 span {
		vertical-align: middle;
	}

	#conts .reasonSec .detailSec h3 .reason {
		margin-right: 10px;
		padding: 5px 9px 5px 12px;
		font-size: 3.6vw;
	}

	#conts .reasonSec .detailSec h3 .text {
		font-size: 4vw;
	}

	#conts .doctorSec {
		margin-top: 35px;
	}

	#conts .doctorSec .doctorBox {
		display: block;
		margin: 10px 0 0;
		padding: 0 7px;
		background: none;
		border: none;
	}

	#conts .doctorSec .doctorBox .imgBox {
		width: auto;
		margin-right: 0;
		text-align: center;
	}

	#conts .doctorSec .doctorBox .textBox {
		width: auto;
		margin-top: 10px;
	}

	#conts .doctorSec .doctorBox .textBox p {
		font-size: 1.2rem;
		line-height: 1.8;
	}

	#conts .doctorSec .doctorBox .textBox p + p {
		margin-top: 20px;
	}

	#conts .doctorSec .cmnBtn01 {
		margin-top: 25px;
	}
}
