@charset "utf-8";

@media only screen and (min-width: 0px) and (max-width: 640px) {

/* ────────────────────── *
 *                                              *
 * 基本設定                                     *
 *                                              *
 * ────────────────────── */

#mainvisual {
	max-width: 640px;
	margin: 0 auto;
}
#mainvisual dl dd {
	font-size: 36px;
	line-height: 1.4;
	text-align: center;
	padding: 15px 30px;
	position: static;
}
#mainvisual dl dd strong {
	font-size: 50px;
}

/* ────────────────────── *
 *                                              *
 * バナー                                       *
 *                                              *
 * ────────────────────── */

#banner-free {
    width: 600px;
    margin: 50px auto;
}

/* ────────────────────── *
 *                                              *
 * 上部お問い合わせ                             *
 *                                              *
 * ────────────────────── */

#top-contact {
	display: block;
	padding: 20px 0 30px;
}
#top-contact p.btn-contact {
	margin: 0 auto;
}

/* ────────────────────── *
 *                                              *
 * 特徴                                         *
 *                                              *
 * ────────────────────── */

#character {
	padding-top: 60px;
}
#character .inner {
	width: 600px;
}
#character .inner h2 {
	margin: 0 -20px 80px;
	border-bottom: 1px solid #d0ccc6;
}
#character .inner .character {
	float: none;
	width: 520px;
	padding: 85px 40px 30px;
	margin-left: 0;
}
#character .inner .character dl dt {
	font-size: 34px;
	display: block;
	width: auto;
	padding-bottom: 25px;
}
#character .inner .character dl dt br {
	display: none;
}
#character .inner .character dl dd {
	margin: 0;
}
#character .inner .character dl dd p.photo {
	margin-bottom: 20px;
}
#character .inner .character dl dd p.text {
	font-size: 24px;
}

/* ────────────────────── *
 *                                              *
 * 心配事                                       *
 *                                              *
 * ────────────────────── */

#worry {
	padding: 60px 0;
}
#worry .inner {
	background: #fff url(../../image/bg-worry-inner.jpg) no-repeat bottom center / auto 47%;
	width: 544px;
	padding: 60px 28px 350px;
	margin: 0 auto;
	border-radius: 10px;
	position: relative;
}
#worry .inner h3 {
	font-size: 34px;
	letter-spacing: -3px;
	margin-bottom: 60px;
	position: relative;
}
#worry .inner h3:after {
	width: 540px;
}
#worry .inner ul li {
	font-size: 38px;
	line-height: 1.2;
	background: url(../../image/bg-worry-balloon-sp.png) no-repeat top center;
	float: left;
	width: 264px;
	height: 143px;
	padding-top: 20px;
	padding-bottom: 0;
	margin-left: 16px;
	margin-bottom: 7px;
}

/* ────────────────────── *
 *                                              *
 * キョーワ発達相談室とは                       *
 *                                              *
 * ────────────────────── */

#about {
	padding: 90px 0 60px;
}
#about .inner {
	width: 600px;
}
#about .inner h2 {
	margin: 0 -20px 60px;
}
#about .inner ul#support {
	font-size: 30px;
	width: 500px;
	margin: 0 auto 20px;
}
#about .inner ul#support li {
	display: block;
	float: left;
	position: relative;
}
#about .inner ul#support li span {
	display: block;
	width: 100%;
	position: absolute;
	top: 50%;
	right: 50%;
	-webkit-transform: translate(50%, -50%);
	transform: translate(50%, -50%);
}
#about .inner p#text-support {
	margin-bottom: 50px;
}
#about .inner #profile {
	font-size: 20px;
	padding: 40px;
}
#about .inner #profile figure {
	float: none;
	margin-bottom: 35px;
	position: relative;
}
#about .inner #profile figure figcaption {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 15px;
	position: absolute;
	left: 290px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#about .inner #profile figure figcaption strong {
	font-size: 32px;
}
#about .inner #profile div {
	float: none;
	width: auto;
}
#about .inner #profile h3 {
	display: none;
}
#about .inner #profile dl {
	font-size: 24px;
	padding: 15px 0;
	margin-bottom: 20px;
	border-top: 2px solid #ddd;
	border-bottom: 2px solid #ddd;
}
#about .inner #profile dl dt {
	font-weight: 500;
	top: 15px;
}

/* ────────────────────── *
 *                                              *
 * サービスのご案内                             *
 *                                              *
 * ────────────────────── */

#service {
	padding: 60px 0;
}
#service .inner {
	font-size: 26px;
	width: 600px;
}
#service .inner h2 {
	margin: 0 -20px 60px;
}
#service .inner h3 {
	clear: both;
	margin-bottom: 20px;
}
#service .inner .left {
	float: none;
	width: 100%;
	margin-bottom: 50px;
}
#service .inner .right {
	float: none;
	width: 100%;
	margin-bottom: 50px;
}
#service .inner dl#price {
	float: none;
	width: 100%;
	margin-bottom: 30px;
}
#service .inner dl#price > dd #brother dl dt {
    font-size: 22px;
}
#service .inner dl#price > dd #brother dl dd span.small {
	font-size: 22px;
}
#service .inner dl#price > dd #brother dl dd span.notice {
	font-size: 18px;
}
#service .inner #price-etc {
	float: none;
	width: 100%;
	padding: 20px 40px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#service .inner #price-etc table {
	width: 100%;
	position: static;
	-webkit-transform: none;
	transform: none;
}
#service .inner p#price-notice {
	font-size: 16px;
	text-align: left;
}

/* ────────────────────── *
 *                                              *
 * 流れ                                         *
 *                                              *
 * ────────────────────── */

#flow {
	background: none;
	padding: 60px 0;
}
#flow .inner {
	width: 600px;
}
#flow .inner h2 {
	margin: 0 -20px 60px;
}
#flow .inner ol li {
	font-size: 28px;
	text-align: left;
	float: none;
	width: 100%;
	height: 120px;
	padding-top: 46px;
	padding-left: 220px;
	margin-left: 0;
	margin-bottom: 50px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#flow .inner ol li:after {
	content: url(../../image/bg-flow-arrow-sp.png);
	position: absolute;
	right: 50%;
	top: auto;
	bottom: -45px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
#flow .inner ol li:nth-child(3n):after {
	content: url(../../image/bg-flow-arrow-sp.png);
}
#flow .inner ol li:last-child:after {
	content: none;
}
#flow .inner ol li#flow-01 {
	background: url(../../image/bg-flow-01-sp.png) no-repeat;
}
#flow .inner ol li#flow-02 {
	background: url(../../image/bg-flow-02-sp.png) no-repeat;
}
#flow .inner ol li#flow-03 {
	background: url(../../image/bg-flow-03-sp.png) no-repeat;
}
#flow .inner ol li#flow-04 {
	background: url(../../image/bg-flow-04-sp.png) no-repeat;
}
#flow .inner ol li#flow-05 {
	background: url(../../image/bg-flow-05-sp.png) no-repeat;
}
#flow .inner ol li#flow-06 {
	background: url(../../image/bg-flow-06-sp.png) no-repeat;
}
#flow .inner ol li#flow-07 {
	background: url(../../image/bg-flow-07-sp.png) no-repeat;
}
#flow .inner ol li#flow-08 {
	background: url(../../image/bg-flow-08-sp.png) no-repeat;
	margin-bottom: 0;
}
#flow .inner ol li span {
	font-size: 20px;
}

/* ────────────────────── *
 *                                              *
 * 施設概要                                     *
 *                                              *
 * ────────────────────── */

#outline {
	padding: 0 0 60px;
}
#outline .inner {
	width: 600px;
}
#outline .inner h2 {
	margin: 0 -20px 50px;
}
#outline .inner #institution {
	width: 400px;
	margin: 0 auto 50px;
    display: block;
}
#outline .inner #institution figure {
	width: 100%;
    margin-bottom: 50px;
}
#outline .inner #institution figure:last-of-type {
    margin-bottom: 0;
}
#outline .inner #institution figure figcaption {
    font-size: 22px;
	bottom: 30px;
    left: auto;
    right: -60px;
    transform: none;
}
#outline .inner table th {
	width: 160px;
	padding: 15px 10px;
	border-bottom: 2px solid #faf5ee;
	border-right: 2px solid #faf5ee;
}
#outline .inner table td {
	padding: 15px 10px;
	border-bottom: 2px solid #faf5ee;
	border-right: 2px solid #faf5ee;
}

/* ────────────────────── *
 *                                              *
 * アクセス                                     *
 *                                              *
 * ────────────────────── */

#access {
	padding: 0 0 60px;
}
#access .inner {
	width: 600px;
}
#access .inner h2 {
	margin: 0 -20px 50px;
}
#access .inner ol#route {
	float: none;
	width: 600px;
	margin-bottom: 30px;
}
#access .inner ol#route li {
	font-size: 24px;
}
#access .inner #address {
	float: none;
	width: 600px;
	margin-bottom: 40px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#access .inner #address address {
	font-size: 24px;
	line-height: 1.4;
}
#access .inner #address p {
	font-size: 24px;
}

/* ────────────────────── *
 *                                              *
 * 資料請求・お問い合わせ                       *
 *                                              *
 * ────────────────────── */

#footer-contact {
	padding: 30px 0;
}
p.btn-contact {
	font-size: 32px;
	line-height: 100px;
	width: 600px;
	margin: 0 auto 20px;
}
p.btn-contact a {
	padding: 0;
}
p.btn-contact a span {
	padding-left: 80px;
}
p.btn-contact a span:before {
	content: "";
	background: url(../../image/icon-contact.png) no-repeat center center / contain;
	width: 70px;
	height: 0;
	padding-top: 16%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* ────────────────────── *
 *                                              *
 * 保護者の声                                   *
 *                                              *
 * ────────────────────── */

#voice {
	padding: 90px 0 60px;
}
#voice .inner {
	width: 600px;
}
#voice .inner h2 {
	margin: 0 -20px 60px;
}
#voice .inner .voice-detail {
    font-size: 30px;
	display: block;
}
#voice .inner .voice-detail .voice {
	width: 420px;
    height: 380px;
    padding: 50px 60px 60px;
    margin: 0 auto 40px;
}
#voice .inner .voice-detail .voice dl dd {
    font-size: 24px;
}

}
