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


figure {
	text-align: center;
}

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

#visual {
    padding: 2% 2% 1.8%;
	background: #4472c4;
	font-size: 0;
    text-align: left;
    line-height: 1.2;
    border-bottom: solid 10px #4472c4;
    margin-bottom: 30px;
}

#visual .article {
	width: 100%;
}

#visual h1 {
	vertical-align: middle;
	width: 100%;
    text-align: center;
    margin: 10px 0;
}

#visual h1 img{
    width: 100%;
}

#visual p {
	vertical-align: middle;
	text-align: left;
	font-weight: bold;
	font-size: 23px;
	line-height: 1.4;
	color: #fff;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic", "Osaka",sans-serif;
}

@media only screen and (max-width: 640px) {
	#visual p {
		font-size: 21px;
        margin-left: 4px;
	}
}

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

#check {
	background: #faf3a8;
	padding: 20px 30px;
}

#check figure {
	margin-bottom: 20px;
	text-align: center;
}

#check figure img {
	width: 105px;
}

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

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

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

#type h4 span {
	display: block;
	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 dl {
	margin-bottom: 15px;
	border: solid 1px #d7d6d5;
}

#reason dt {
	padding: 10px 15px;
	background: #ebf1da;
	border-bottom: solid 1px #d7d6d5;
	line-height: 1.4;
}

#reason dd {
	padding: 15px;
}

/* ---------------------------------------------------------
	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-color: #ec7d34;
}

#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: 6vw;
}

#point dl {
	box-shadow: 0 0 0 5px #e73323 inset;
	font-size: 6vw;
	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: 20px;
	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 {
	background: #ebf1da;
	text-align: left;
	line-height: 1.3;
}

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

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

#self .h3 {
	line-height: 1.3;
}

#self .section {
	padding: 30px;
	border: solid 5px #a2c9f6;
}

/* ---------------------------------------------------------
	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: 46px;
	line-height: 80px;
}

#acupoint figure {
	margin-top: 15px;
}

#acupoint figure img {
	height: 150px;
}

/* ---------------------------------------------------------
	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;
}

/* ---------------------------------------------------------
	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;
	text-align: left;
}

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

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

#doctor figure {
	margin-bottom: 20px;
}

#doctor figure img {
	height: 157px;
}

#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 .article {
	margin-top: 30px;
	margin-bottom: 40px;
	padding: 20px;
	background: #f6dbdb;
}

#component .article h3 {
	font-weight: normal;
	font-size: 20px;
}

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

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

#component figcaption {
	margin-bottom: 20px;
	padding: 10px;
	background: #ebeaea;
	text-align: center;
	font-weight: normal;
	font-size: 20px;
	line-height: 1.3;
}

#component figure {
	position: relative;
}

#component figure:after {
	display: block;
	content: '';
	padding-top: 72.55555555555556%;
}

#component figure img {
	position: absolute;
	bottom: 0;
	left: 0;
}

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

#voice {
	text-align: center;
}

#voice h3 {
	font-weight: 500;
	font-size: 6vw;
	line-height: 1.4;
	color: #e73323;
}

#voice li {
	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: 30px;
}

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

#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: 80px;
}

#level h3 {
	margin-bottom: 20px;
	padding: 10px;
	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;
}

#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: 6vw;
	line-height: 1.4;
	color: #f2e826;
}

#last figure {
	margin-top: 20px;
	font-size: 5vw;
	position: relative;
}

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

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

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