@charset "utf-8";

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

#mainvisual {
	max-width: 1300px;
	margin: 0 auto 220px;
}
#mainvisual dl {
	position: relative;
}
#mainvisual dl dd {
	font-family: "Rounded Mplus 1c";
	font-size: 42px;
	line-height: 1.6;
	color: #fff;
	background: #9ecd11;
	padding: 30px 40px;
	position: absolute;
	right: 0;
	bottom: -120px;
}

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

#banner-free {
    max-width: 1000px;
    margin: 0 auto 100px;
}
#banner-free a {
    display: block;
    transition: opacity .5s;
}
#banner-free a:hover {
    opacity: 0.7;
}

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

#top-contact {
	background: #f8ffe7 url(../../image/bg-footer-contact.png) repeat-x top center;
	display: none;
	clear: both;
	padding: 55px 0;
}

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

#character {
	clear: both;
	width: 100%;
	overflow: hidden;
}
#character .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#character .inner:before {
	content: "";
	background: url(../../image/bg-character-01.png) no-repeat center center;
	width: 380px;
	height: 165px;
	position: absolute;
	right: -170px;
	top: 70px;
	z-index: -1;
}
#character .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#character .inner h2 em {
	font-style: normal;
	color: #92c220;
}
#character .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#character .inner .character {
	background: #fff;
	float: left;
	width: 280px;
	padding: 85px 10px 30px;
	margin-left: 50px;
	margin-bottom: 60px;
	border-radius: 10px;
	position: relative;
	z-index: 1;
}
#character .inner .character:nth-of-type(3n+1) {
	margin-left: 0;
}
#character .inner .character:before {
	position: absolute;
	right: 50%;
	top: -40px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
#character .inner .character#chara-01:before {
	content: url(../../image/icon-chara-01.png);
}
#character .inner .character#chara-02:before {
	content: url(../../image/icon-chara-02.png);
}
#character .inner .character#chara-03:before {
	content: url(../../image/icon-chara-03.png);
}
#character .inner .character#chara-04:before {
	content: url(../../image/icon-chara-04.png);
}
#character .inner .character#chara-05:before {
	content: url(../../image/icon-chara-05.png);
}
#character .inner .character#chara-06:before {
	content: url(../../image/icon-chara-06.png);
}
#character .inner .character dl dt {
	font-family: "Rounded Mplus 1c";
	font-size: 26px;
	line-height: 1.25;
	font-weight: 500;
	color: #66b03a;
	text-align: center;
	vertical-align: middle;
	display: table-cell;
	width: 300px;
	padding-bottom: 15px;
}
#character .inner .character dl dt span {
	font-size: 17px;
	letter-spacing: -1px;
	display: inline-block;
	transform: rotate(0.05deg);
}
#character .inner .character dl dt span.block {
	display: block;
}
#character .inner .character dl dd {
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
	margin: 0 20px;
}
#character .inner .character dl dd p.photo {
	margin-bottom: 15px;
}
#character .inner .character dl dd p.text {
	font-size: 16px;
	line-height: 1.6;
}

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

#worry {
	background: url(../../image/bg-worry.jpg) repeat;
	clear: both;
	width: 100%;
	padding: 80px 0;
}
#worry .inner {
	background: #fff url(../../image/bg-worry-inner.jpg) no-repeat bottom center;
	width: 944px;
	padding: 60px 28px 410px;
	margin: 0 auto;
	border-radius: 10px;
	position: relative;
}
#worry .inner:before {
	content: "";
	background: url(../../image/bg-character-02.png) no-repeat center center;
	width: 384px;
	height: 132px;
	position: absolute;
	left: -150px;
	top: -160px;
}
#worry .inner h3 {
	font-family: "Rounded Mplus 1c";
	font-size: 50px;
	line-height: 1;
	font-weight: 500;
	color: #8ea703;
	text-align: center;
	margin-bottom: 60px;
	position: relative;
}
#worry .inner h3:after {
	content: "";
	background: url(../../image/bg-worry-border.png) repeat-x bottom center;
	width: 740px;
	height: 5px;
	position: absolute;
	right: 50%;
	bottom: -15px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
#worry .inner ul li {
	font-size: 40px;
	line-height: 100px;
	font-weight: 500;
	color: #fff;
	background: url(../../image/bg-worry-balloon.png) no-repeat top center;
	text-align: center;
	float: left;
	width: 454px;
	padding-bottom: 33px;
	margin-left: 36px;
	margin-bottom: 7px;
}
#worry .inner ul li:nth-child(odd) {
	margin-left: 0;
}

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

#about {
	background: url(../../image/bg-about-footer.png) repeat-x bottom center, url(../../image/bg-about.png) repeat-x top center #f8ffe7;
	clear: both;
	width: 100%;
	padding: 110px 0 80px;
}
#about .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#about .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#about .inner h2 em {
	font-style: normal;
	color: #92c220;
}
#about .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#about .inner p.text {
	font-size: 20px;
	line-height: 1.9;
	text-align: center;
	margin-bottom: 40px;
}
#about .inner ul#support {
	font-family: "Rounded Mplus 1c";
	font-size: 30px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -1px;
	display: table;
	margin-bottom: 40px;
}
#about .inner ul#support li {
	text-align: center;
	vertical-align: middle;
	display: table-cell;
	width: 250px;
	height: 196px;
}
#about .inner ul#support li#support-01 {
	color: #6c7fa2;
	background: url(../../image/bg-about-balloon-01.png) no-repeat center center;
}
#about .inner ul#support li#support-02 {
	color: #efba19;
	background: url(../../image/bg-about-balloon-02.png) no-repeat center center;
}
#about .inner ul#support li#support-03 {
	color: #45aa6a;
	background: url(../../image/bg-about-balloon-03.png) no-repeat center center;
}
#about .inner ul#support li#support-04 {
	color: #c97371;
	background: url(../../image/bg-about-balloon-04.png) no-repeat center center;
}
#about .inner p#text-support {
	font-family: "Rounded Mplus 1c";
	font-size: 30px;
	line-height: 1.5;
	font-weight: 500;
	text-align: center;
	margin-bottom: 70px;
}
#about .inner #profile {
	font-size: 16px;
	line-height: 1.75;
	background: #fff;
	padding: 35px;
	border: 5px solid #d8eca7;
	border-radius: 10px;
}
#about .inner #profile figure {
	float: left;
}
#about .inner #profile div {
	float: right;
	width: 620px;
}
#about .inner #profile h3 {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: 15px;
}
#about .inner #profile h3 strong {
	font-size: 26px;
}
#about .inner #profile dl {
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 20px;
	position: relative;
}
#about .inner #profile dl dt {
	position: absolute;
	left: 0;
	top: 0;
}
#about .inner #profile dl dd {
	padding-left: 5em;
}

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

#service {
	background: #fff;
	clear: both;
	padding: 110px 0 80px;
}
#service .inner {
	font-size: 24px;
	line-height: 1.5;
	width: 1000px;
	margin: 0 auto;
}
#service .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#service .inner h2 em {
	font-style: normal;
	color: #92c220;
}
#service .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#service .inner h3 {
	font-family: "Rounded Mplus 1c";
	font-size: 30px;
	line-height: 1;
	font-weight: 500;
	clear: both;
	padding-bottom: 10px;
	margin-bottom: 30px;
	border-bottom: 4px solid #66b03a;
}
#service .inner .left {
	float: left;
	width: 470px;
	margin-bottom: 30px;
}
#service .inner .right {
	float: right;
	width: 470px;
	margin-bottom: 30px;
}
#service .inner .right ol {
	counter-reset: counter;
	border-top: 1px solid #e0dcd6;
}
#service .inner .right ol li {
	font-size: 23px;
	line-height: 1;
	float: left;
	width: 50%;
	padding: 15px 0;
	border-bottom: 1px solid #e0dcd6;
}
#service .inner .right ol li:before {
	content: counter(counter);
	counter-increment: counter;
	font-size: 16px;
	line-height: 22px;
	color: #fff;
	background: #9dca83;
	text-align: center;
	display: block;
	float: left;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	margin-right: 10px;
	border-radius: 50%;
}
#service .inner dl#price {
	line-height: 1;
	float: left;
	width: 470px;
	margin-bottom: 10px;
}
#service .inner dl#price > dt {
	font-weight: 500;
	color: #66b03a;
	padding: 15px 0;
	border-top: 1px solid #e0dcd6;
	border-bottom: 1px solid #e0dcd6;
}
#service .inner dl#price > dd table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
#service .inner dl#price > dd table th {
	font-weight: normal;
	text-align: left;
	width: 3em;
	padding: 15px 35px;
	border-bottom: 1px solid #e0dcd6;
}
#service .inner dl#price > dd table td {
	font-weight: 500;
	color: #66b03a;
	padding: 15px;
	border-bottom: 1px solid #e0dcd6;
}
#service .inner dl#price > dd #brother {
    background: #fdfbf7;
    padding: 30px;
    margin-top: 30px;
    border: 5px solid #a4cd8c;
    border-radius: 10px;
    position: relative;
}
#service .inner dl#price > dd #brother p {
    font-weight: 700;
    color: #66b03a;
    margin-bottom: 15px;
}
#service .inner dl#price > dd #brother dl {
    display: flex;
}
#service .inner dl#price > dd #brother dl dt {
    font-size: 16px;
    padding-top: 5px;
    margin-bottom: 10px;
    margin-right: 15px;
    flex-shrink: 0;
}
#service .inner dl#price > dd #brother dl dd {
	font-weight: 500;
	color: #66b03a;
}
#service .inner dl#price > dd #brother dl dd span.small {
	font-size: 16px;
}
#service .inner dl#price > dd #brother dl dd span.notice {
	font-size: 12px;
    line-height: 1.5;
    color: #333;
    display: block;
    margin-top: 10px;
}
#service .inner #price-etc {
	background: #fdfbf7;
	float: right;
	width: 400px;
	padding: 30px;
	margin-bottom: 10px;
	border: 5px solid #a4cd8c;
	border-radius: 10px;
	position: relative;
}
#service .inner #price-etc table {
	border-spacing: 0;
	border-collapse: collapse;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#service .inner #price-etc table th {
	font-weight: normal;
	text-align: left;
	padding: 5px 0;
}
#service .inner #price-etc table td {
	font-weight: 500;
	color: #66b03a;
	text-align: right;
	padding: 5px 0;
}
#service .inner p#price-notice {
	font-size: 14px;
	line-height: 1.5;
	text-align: right;
	clear: both;
}

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

#flow {
	background: url(../../image/bg-flow.png) no-repeat bottom center;
	clear: both;
	width: 100%;
	padding: 110px 0;
}
#flow .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#flow .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#flow .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#flow .inner ol li {
	font-family: "Rounded Mplus 1c";
	font-size: 24px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	float: left;
	width: 300px;
	height: 70px;
	padding-top: 290px;
	margin-left: 50px;
	margin-bottom: 20px;
	position: relative;
}
#flow .inner ol li:after {
	content: url(../../image/bg-flow-arrow.png);
	position: absolute;
	right: -40px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#flow .inner ol li:nth-child(3n):after,
#flow .inner ol li:last-child:after {
	content: none;
}
#flow .inner ol li:nth-child(3n+1) {
	margin-left: 0;
}
#flow .inner ol li#flow-01 {
	background: url(../../image/bg-flow-01.png) no-repeat;
}
#flow .inner ol li#flow-02 {
	background: url(../../image/bg-flow-02.png) no-repeat;
}
#flow .inner ol li#flow-03 {
	background: url(../../image/bg-flow-03.png) no-repeat;
}
#flow .inner ol li#flow-04 {
	background: url(../../image/bg-flow-04.png) no-repeat;
}
#flow .inner ol li#flow-05 {
	background: url(../../image/bg-flow-05.png) no-repeat;
}
#flow .inner ol li#flow-06 {
	background: url(../../image/bg-flow-06.png) no-repeat;
}
#flow .inner ol li#flow-07 {
	background: url(../../image/bg-flow-07.png) no-repeat;
}
#flow .inner ol li#flow-08 {
	background: url(../../image/bg-flow-08.png) no-repeat;
}
#flow .inner ol li span {
	font-size: 16px;
	letter-spacing: -1px;
}

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

#outline {
	clear: both;
	width: 100%;
	padding: 0 0 110px;
}
#outline .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#outline .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#outline .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#outline .inner #institution {
	width: 980px;
	margin: 0 auto 70px;
    display: flex;
    justify-content: space-between;
}
#outline .inner #institution figure {
	width: 300px;
	position: relative;
}
#outline .inner #institution figure figcaption {
	content: "";
	font-size: 20px;
	line-height: 1;
	color: #fff;
	background: #9ecd11;
	text-align: center;
	width: 230px;
	padding: 15px 0;
	position: absolute;
	bottom: -10px;
	left: 50%;
    transform: translateX(-50%);
    z-index: 2;
	border-radius: 3px;
}
#outline .inner table {
	font-size: 22px;
	line-height: 1.5;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}
#outline .inner table th {
	color: #fff;
	background: url(../../image/bg-outline-th.jpg) repeat;
	text-align: left;
	width: 190px;
	padding: 15px 20px;
	border-bottom: 1px solid #faf5ee;
	border-right: 1px solid #faf5ee;
}
#outline .inner table td {
	background: #fff;
	padding: 15px 20px;
	border-bottom: 1px solid #faf5ee;
	border-right: 1px solid #faf5ee;
}

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

#access {
	clear: both;
	width: 100%;
	padding: 110px 0;
}
#access .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#access .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#access .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#access .inner ol#route {
	float: left;
	width: 520px;
	margin-bottom: 40px;
	counter-reset: counter2;
}
#access .inner ol#route li {
	font-size: 18px;
	line-height: 50px;
	clear: both;
	margin-bottom: 10px;
}
#access .inner ol#route li:before {
	content: counter(counter2);
	counter-increment: counter2;
	font-size: 36px;
	line-height: 50px;
	font-weight: bold;
	color: #fff;
	background: #88c365;
	text-align: center;
	display: block;
	float: left;
	width: 50px;
	height: 50px;
	margin-top: 2px;
	margin-right: 10px;
	border-radius: 8px;
}
#access .inner #address {
	background: url(../../image/bg-address.jpg) repeat;
	float: right;
	width: 420px;
	padding: 25px;
	margin-bottom: 40px;
	border-radius: 10px;
}
#access .inner #address address {
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
	margin-bottom: 10px;
}
#access .inner #address p {
	font-size: 16px;
	line-height: 1.45;
	background: #fff url(../../image/bg-access-car.png) no-repeat 40px center;
	padding: 20px 20px 20px 110px;
	border-radius: 5px;
}
#access .inner #gmap {
	clear: both;
	height: 500px;
    margin-bottom: 30px;
}
#access .inner #gmap iframe {
	width: 100%;
	height: 100%;
}
#access .inner p#btn-gmap {
    font-size: 20px;
    font-weight: 500;
    text-align: center;
	width: 500px;
    margin: 0 auto;
}
#access .inner p#btn-gmap a {
    color: #92c220;
    background: #fff;
    display: block;
    padding: 20px 25px;
    border: 1px solid #92c220;
    border-radius: 8px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#access .inner p#btn-gmap a:hover {
    color: #fff;
    background: #92c229;
}

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

#footer-contact {
	background: #f8ffe7 url(../../image/bg-footer-contact.png) repeat-x top center;
	clear: both;
	padding: 55px 0;
}
p.btn-contact {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 80px;
	font-weight: 500;
	text-align: center;
	width: 880px;
	margin: 0 auto 30px;
}
p.btn-contact a {
	color: #fff;
	background: #f78205;
	display: block;
	padding: 25px 0;
	border-radius: 10px;
	box-shadow: 0 5px 0 #ba603d;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
p.btn-contact a:hover {
	background: #ffa800;
}
p.btn-contact a span {
	display: inline-block;
	padding-left: 140px;
	position: relative;
}
p.btn-contact a span:before {
	content: url(../../image/icon-contact.png);
	position: absolute;
	left: 0;
}
#footer-contact p#text-policy {
	font-size: 16px;
	line-height: 1;
	text-align: center;
	margin: 0 auto;
}
#footer-contact p#text-policy a {
	color: #888888;
	text-decoration: underline;
}

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

#voice {
	background: #f8ffe7;
	clear: both;
	width: 100%;
	padding: 110px 0 80px;
}
#voice .inner {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
#voice .inner h2 {
	font-family: "Rounded Mplus 1c";
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #d0ccc6;
	position: relative;
}
#voice .inner h2 em {
	font-style: normal;
	color: #92c220;
}
#voice .inner h2:after {
	content: "";
	background: #b9dd60;
	width: 200px;
	height: 9px;
	position: absolute;
	right: 50%;
	bottom: -4px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	border-radius: 2px;
}
#voice .inner .voice-detail {
    font-size: 22px;
    line-height: 1.5;
	display: flex;
    justify-content: space-between;
}
#voice .inner .voice-detail .voice {
    background: url("../../image/bg-voice.png") no-repeat center center / cover;
	width: 320px;
    height: 290px;
    padding: 50px 30px 30px;
    box-sizing: border-box;
}
#voice .inner .voice-detail .voice dl dd {
    font-size: 16px;
    text-align: right;
    margin-top: 10px;
}

