@charset "UTF-8";
@import "common.pc.css";

/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */

#visual {
	height: 130px;
	margin-bottom: 40px;
	padding: 0 30px 0 24px;
	background: #4472c4;
	font-size: 0;
}

#visual .article {
	display: table;
	width: 100%;
	height: 130px;
}

#visual h1 {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
    width: 400px;
}

#visual p {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
	font-weight: bold;
	font-size: 26px;
	line-height: 1.3;
	color: #fff;
    padding-top: 40px;
}

/* ---------------------------------------------------------
	CSS Document check
--------------------------------------------------------- */

#check {
	background: #faf3a8;
	padding: 20px 30px;
	font-size: 0;
}

#check figure {
	display: inline-block;
	vertical-align: middle;
	width: 109px;
	margin-right: 30px;
}

#check p {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 139px);
	font-size: 17px;
}

/* ---------------------------------------------------------
	CSS Document type
--------------------------------------------------------- */

#type .section {
	margin-top: 20px;
	padding: 30px;
	box-shadow: 0 0 0 5px #a2c9f6 inset;
}

#type h4 {
	margin-bottom: 20px;
	padding: 0 15px;
	background: #9bbb48;
	font-weight: 500;
	font-size: 20px;
	line-height: 42px;
	color: #fff;
}

#type h4:after {
	content: "";
	display: block;
	clear: both;
	height: 1px;
	overflow: hidden;
}

#type h4 span {
	float: right;
	font-weight: normal;
	font-size: 17px;
	color: #ffff00;
}

#type .section figure {
	margin-bottom: 20px;
	text-align: center;
}

#type .section p:not(:last-of-type) {
	margin-bottom: 40px;
}

/* ---------------------------------------------------------
	CSS Document reason
--------------------------------------------------------- */

#reason p {
	margin-bottom: 20px;
}

#reason .table {
	display: table;
	width: 100%;
}

#reason dl {
	display: table-row;
}

#reason dt {
	display: table-cell;
	vertical-align: middle;
	padding: 15px;
	background: #ebf1da;
	border: solid 1px #d7d6d5;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
}

#reason dd {
	display: table-cell;
	vertical-align: middle;
	padding: 15px;
	border: solid 1px #d7d6d5;
	text-align: left;
}

#reason figure {
	text-align: center;
}

/* ---------------------------------------------------------
	CSS Document initial
--------------------------------------------------------- */

#initial p {
	margin-bottom: 30px;
}

#initial figure {
	margin-top: 20px;
}

#initial figure {
	margin-bottom: 30px;
	text-align: center;
}

#initial .section {
	margin-bottom: 30px;
	padding: 30px 30px 1px;
	border-radius: 10px;
	background: #fdfbe5;
	position: relative;
}

#initial .section h3 {
	border-left: solid 8px #ec7d34;
	font-size: 28px;
}

#initial .section h3 span {
	color: #ec7d34;
}

#initial .section h4 {
	margin-top: 20px;
	font-weight: normal;
	font-size: 20px;
}

#initial .section h4.blue {
	color: #1092d4;
}

#initial .section h4.purple {
	color: #7b5aa3;
}

#initial .section h4.pink {
	color: #ea609e;
}

#initial .last figcaption {
	margin-top: 20px;
	text-align: left;
}

/* ---------------------------------------------------------
	CSS Document point
--------------------------------------------------------- */

#point {
	margin-bottom: 30px;
	text-align: center;
}

#point h3 {
	margin-bottom: 20px;
	font-size: 26px;
}

#point dl {
	box-shadow: 0 0 0 5px #e73323 inset;
	font-size: 26px;
	line-height: 46px;
}

#point dt {
	height: 46px;
	background: #e73323;
	font-weight: 500;
	color: #fff;
}

#point dd {
	padding: 20px;
}

/* ---------------------------------------------------------
	CSS Document cause
--------------------------------------------------------- */

#cause .section {
	margin-bottom: 20px;
	padding: 30px;
	border: solid 5px #a2c9f6;
}

/* ---------------------------------------------------------
	CSS Document treatment
--------------------------------------------------------- */

#treatment p {
	margin-bottom: 20px;
}

#treatment .section {
	margin-top: 40px;
	padding: 30px;
	border: solid 5px #cec4a1;
}

#treatment h3 {
	margin-bottom: 10px;
	text-align: center;
	font-weight: 500;
	font-size: 36px;
}

#treatment h3 span {
	color: #ec7d34;
}

#treatment table {
	width: 100%;
	margin-bottom: 15px;
}

#treatment th {
	padding: 5px;
	background: #9bbb48;
	border: solid 1px #9bbb48;
	text-align: center;
	font-weight: normal;
	font-size: 20px;
	color: #fff;
}

#treatment th:first-of-type {
	border-right: solid 1px #fff;
}

#treatment td {
	padding: 15px;
	border: solid 1px #d7d6d5;
	text-align: center;
}

#treatment td:first-of-type {
	width: 420px;
	background: #ebf1da;
	text-align: left;
}

/* ---------------------------------------------------------
	CSS Document self
--------------------------------------------------------- */

#self p {
	margin-bottom: 30px;
}

#self .section {
	margin-bottom: 20px;
	padding: 30px;
	border: solid 5px #a2c9f6;
}

#self .h3 {
	padding: 2px 0 2px 15px;
	line-height: 1.3;
}

#self figure {
	text-align: center;
}

/* ---------------------------------------------------------
	CSS Document acupoint
--------------------------------------------------------- */

#acupoint p {
	margin-bottom: 30px;
}

#acupoint .section:not(:first-of-type) {
	margin-top: 30px;
	padding-top: 30px;
	border-top: dotted 10px #e8e8e8;
}

#acupoint .section p {
	margin-bottom: 0;
}

#acupoint h3 {
	height: 80px;
	margin-bottom: 20px;
	border-radius: 3px;
	background: #d5e9ed;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	font-weight: normal;
	font-size: 56px;
	line-height: 80px;
}

#acupoint .w400 {
	width: 400px;
}

/* ---------------------------------------------------------
	CSS Document proceed
--------------------------------------------------------- */

#proceed p {
	margin-bottom: 30px;
}

#proceed .table {
	display: table;
	width: 100%;
	margin-top: 15px;
	margin-bottom: 20px;
}

#proceed .table dl {
	display: table-row;
}

#proceed .table dt {
	display: table-cell;
	vertical-align: middle;
	padding: 15px;
	background: #ebf1da;
	border: solid 1px #d7d6d5;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
}

#proceed .table dd {
	display: table-cell;
	vertical-align: middle;
	padding: 15px;
	border: solid 1px #d7d6d5;
}

#proceed .matome li {
	margin-left: 30px;
	list-style: disc;
}

#proceed .matome p:first-of-type {
	text-decoration: underline;
}

#proceed .matome figure {
	margin-top: 30px;
	text-align: center;
}

/* ---------------------------------------------------------
	CSS Document age
--------------------------------------------------------- */

#age p {
	margin-bottom: 40px;
}

#age h3 {
	height: 44px;
	margin-bottom: 30px;
	background: #ebeaea;
	text-align: center;
	font-weight: 500;
	font-size: 20px;
	line-height: 42px;
}

#age .quote {
	margin-top: 20px;
}

/* ---------------------------------------------------------
	CSS Document doctor
--------------------------------------------------------- */

#doctor .h2 {
	height: auto;
	padding: 5px 0 10px 28px;
	line-height: 1.2;
}

#doctor .article {
	margin-top: 30px;
	padding: 30px;
	background: #ededec;
}

#doctor figure {
	display: table-cell;
	vertical-align: top;
	width: 115px;
}

#doctor .section {
	display: table-cell;
	vertical-align: top;
	padding-left: 30px;
}

#doctor dd {
	margin: 10px 0 15px;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.3;
}

#doctor dd .kana {
	display: block;
	font-weight: normal;
	font-size: 15px;
}

/* ---------------------------------------------------------
	CSS Document component
--------------------------------------------------------- */

#component .h2 {
	height: auto;
	padding: 5px 0 10px 28px;
	line-height: 1.2;
}

#component .section {
	margin: 30px 0 40px;
	padding: 30px;
	border: solid 5px #a2c9f6;
}

#component .section .red {
	margin-top: 15px;
	font-size: 22px;
}

#component figure {
	text-align: center;
}

#component figcaption {
	height: 44px;
	margin-bottom: 30px;
	background: #ebeaea;
	font-weight: 500;
	font-size: 20px;
	line-height: 42px;
}

/* ---------------------------------------------------------
	CSS Document voice
--------------------------------------------------------- */

#voice {
	text-align: center;
}

#voice h3 {
	font-weight: 500;
	font-size: 26px;
	line-height: 1.3;
	color: #e73323;
}

#voice li {
	width: 506px;
	margin-top: 20px;
	border-radius: 10px;
	padding: 20px;
	background: #e2f3d1;
	text-align: left;
	position: relative;
	z-index: 0;
}

#voice li:nth-of-type(odd) {
	margin-right: auto;
}

#voice li:nth-of-type(even) {
	margin-left: auto;
}

#voice li:after {
	position: relative;
	content: '';
	width: 0;
	height: 0;
	border: solid 14px transparent;
	position: absolute;
	top: 25px;
	z-index: -1;
}

#voice li:nth-of-type(odd):after {
	border-left: solid 40px #e2f3d1;
	right: -50px;
}

#voice li:nth-of-type(even):after {
	border-right: solid 40px #e2f3d1;
	left: -50px;
}

/* ---------------------------------------------------------
	CSS Document level
--------------------------------------------------------- */

#level {
	margin-bottom: 110px;
}

#level .h2 {
	height: auto;
	padding: 5px 0 10px 28px;
	line-height: 1.2;
}

#level h3 {
	margin: 30px 0;
	padding: 8px 0;
	background: #ebeaea;
	text-align: center;
	font-weight: normal;
	font-size: 20px;
	line-height: 1.3;
}

#level p {
	margin-bottom: 30px;
}

#level figure {
	margin-bottom: 30px;
	text-align: center;
}

#level .note {
	margin-bottom: 15px;
	padding: 15px 20px;
	background: #faf3a8;
}

/* ---------------------------------------------------------
	CSS Document last
--------------------------------------------------------- */

#last .matome li {
	margin-left: 30px;
	list-style: disc;
}

#last .matome p:first-of-type {
	margin-bottom: 30px;
}

#last .matome p:last-of-type {
	margin-top: 30px;
	font-weight: 500;
	font-size: 26px;
	color: #f2e826;
}

#last figure {
	margin-top: 30px;
	text-align: center;
	font-size: 30px;
	position: relative;
	z-index: 0;
}

#last figcaption {
	margin-top: 10px;
}

#last figure:last-of-type {
	margin-top: 80px;
}

#last figure:last-of-type:before {
	content: '';
	width: 0;
	height: 0;
	border: solid 130px transparent;
	border-top: solid 50px #ec7d34;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	top: -65px;
	z-index: 1;
}
