/* ==========================================================================

     00. multi-class
     01. mainPhoto
     02. location
     03. plan
     04. voice
     05. feature
     06. correct
     07. message
     08. .free
     09. news

 00. multi-class
========================================================================== */
.cf:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.cf {
	display: inline-block;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
.cf {
	display: block;
}
.ttl_top {
	line-height: 1;
	padding: 0;
	font-size: 246%;
	font-family: "Times New Roman", Times, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	border-bottom: 1px #000 solid;
}
.kanji {
	font-size: 190%;
}
.ttl_top:before {
	margin-right: 5px;
	content: url(../images/common/ttl_bg01.png);
	position: relative;
	bottom: 0px;
}
.btn a{
	display: block;
	background: #84c5ef;
	color: #fff;
	text-align: center;
	height: 40px;
	line-height: 40px;
	border-radius: 8px;
	width: 220px;
	margin: 0 auto;
	font-size: 15px;
}
.btn a img{
	width: 8px;
	height: auto;
	vertical-align: middle;
	margin-right: 6px;
}
.gray {
    color: #808080;
}
#leftMenu {
	float: left;
}

/*
     01. .mainPhoto
========================================================================== */
.visual img {
	margin: 0px auto;
    width: 960px;
}
/*
     02. .station
========================================================================== */
.station p {
	margin: 50px auto 40px;
	font-size: 26px;
    color: #808080;
	line-height: 1.5em;
	text-align: center;
}
.station span.line-yellow {
	background: linear-gradient(transparent 80%, #FFC91F 80%);
}
.station span.line-green {
	background: linear-gradient(transparent 80%, #A3D468 80%);
}
.station span.big-yellow {
	color: #ffca1e;
	font-size: 170%;
	padding: 0 5px;
}
.station span.big-green {
	color: #a3d469;
	font-size: 170%;
	padding: 0 5px;
}
section.line{
    padding-left:10px;
    margin-bottom:30px;
}
section.line a{
    display:block;
    border:2px solid #00c300;
    padding: 24px 158px 30px 175px;
    background-image:url(../images/top/bnr_line_logo.png),url(../images/top/bnr_line_qr.png);
    background-repeat:no-repeat;
    background-position: left 30px center,right 25px center;
    background-size: auto, auto 79%;
}
section.line h2{
	color:#01c301;
	font-size: 30px;
	margin-bottom: 5px;
}
section.line p{
	font-size:16px;
}

/*
     03. .promise
========================================================================== */
.promise {
    margin-bottom: 30px;
}
.promise div.left {
    float: left;
}
.promise div.right {
    float: right
}
.promise .promise03 {
    position: relative;
    margin-left: 10px;
    padding: 20px 20px 0 485px;
    min-height: 280px;
    border-radius: 25px;
    border: 1px solid #E7E7E7;
    background: url("../images/top/promise_03_01.png") no-repeat 0 0;
    background-size: contain;
}
.promise .promise03 .ttl {
    margin-bottom: 20px;
    padding: 7px 0 7px 75px;
    border-radius: 20px;
    background: url("../images/common/icon_leaf.png") no-repeat 40px center , url("../images/top/promise_03_ttlbg.png") repeat;
    background-size: 30px auto , auto;
    font-size: 20px;
    color: #9A8A3C;
    border: 1px solid #FFCE65;
    text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
}
.promise .promise03 ul li {
    font-size: 18px;
    margin-bottom: 0.5em;
    padding-left: 20px;
}
.promise .promise03 img {
    position: absolute;
    bottom: 10px;
    right: 40px;
}

/*
     05. .introduce
========================================================================== */
.introduce {
    margin-bottom: 30px;
}
.introduce .intro .introduce_img01 {
    width: 400px;
    float: left;
}
.introduce .intro .txt {
    width: 560px;
    float: right;
}
.introduce .intro .txt p {
    padding: 0 15px;
}
.introduce ul li{
	float: left;
    width: 320px;
    margin-top: 10px;
}
.introduce ul li a {
    display: block;
    line-height: 1.4;
}
.introduce ul li h4 {
	margin: 0 11px 5px;
	text-align: center;
	font-size: 17px;
	border-left: 7px #FFF3A6 solid;
}

/*
     05. #container
========================================================================== */
#container {
    margin-bottom: 30px;
}
#maincolumn {
    float: right;
    width: 730px;
    margin: 0px;
    padding: 0px;
    height: 540px;
    overflow:hidden;
}

/*
     06. .needs
========================================================================== */
.needs {
    margin-bottom: 30px;
    position: relative;
}
.needs .intro {
    padding: 0 470px 10px 0;
}
.needs .intro p {
    padding: 0 15px;
}
.needs h3 {
    font-size: 200%;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 20px;
    padding-top: 15px;
}
.needs h3 .line-yellow {
    border-bottom: 3px solid #FFEA00;
    font-size: 110%;
}
.needs .needs_img01 {
    position: absolute;
    top: 0;
    right: 0;
}
.needs .img_main {
    float: left;
}
.needs .txt h4 {
    border-bottom: dashed 2px #FFC44D;
    padding: 0 0 0 45px;
    margin-bottom: 25px;
    background: url("../images/common/icon_leaf.png") no-repeat 5px center;
    background-size: 40px auto;
    font-size: 160%;
    line-height: 2;
    color: #807959;
}
.needs .txt {
    float: right;
    width: 460px;
}
.needs .cont01 .txt {
    padding-top: 30px;
}
.needs .cont01 .txt li a {
    display: block;
    font-size: 150%;
    padding-left: 30px;
    margin: 0 0 0.6em 1em;
    background: url("../images/common/icon_gr.png") no-repeat 5px center;
    background-size: 13px auto;
    color: #807959;
}
.needs .cont01 .txt li a span {
    font-size: 60%;
    padding-left: 10px;
}
.needs .cont02 a,
.needs .cont03 a {
    display: block;
}
.needs .cont02 {
    padding: 20px 0;
    border-top: 1px solid #E6E6E6;
    border-bottom: 1px solid #E6E6E6;
}
.needs .cont02 .txt img {
    width: 439px;
}
.needs .cont02 .txt p {
    margin-top: 20px;
    text-align: center;
    color: #807959;
    font-size: 120%;
    line-height: 1.8;
}
.needs .cont03 .kids img {
    float: right;
    margin-right: 15px;
    width: 170px;
}
.needs .cont03 .kids_txt {
    float: right;
    width: 240px;
    padding-right: 20px;
}
.needs .cont03 .kids_txt .kids_ttl {
    font-size: 120%;
    margin-bottom: 15px;
    padding: 5px 0 3px;
    text-align: center;
    border: 2px solid #FE7A95;
    border-radius: 15px;
}
.needs .cont03 .kids_txt p.mincho {
    font-size: 110%;
    color: #807959;
    text-decoration: underline;
    line-height: 1.9;
}


/*
     07. .consultation
========================================================================== */
.consultation {
	margin-bottom: 30px;
}
.consultation .consul_wrap > img {
    float: left;
    width: 490px;
}
.consultation .consul_wrap .fukidashi {
    position: absolute;
    top: 90px;
    right: 15px;
}
.consultation .consul_wrap .text {
    float: right;
    width: 430px;
    padding: 50px 20px 0 0;
    position: relative;
}
.consultation .consul_wrap .text h3 {
    font-size: 190%;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 30px;
}
.consultation .consul_wrap .text h4 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px;
}
.consultation .consul_wrap .text h4 span {
    border-bottom: 3px solid #ffd000;
    line-height: 2.2;
}

/*
     07. .news
========================================================================== */
.news {
	margin-bottom: 30px;
}
#newsbox {
    width: 455px;
    margin: 8px 0px 0px 15px;
    float: left;
}
#newsfeed  { padding: 0px 10px 5px 0px; height: 270px; overflow: auto; width: 430px; margin: 0px; }
#newsfeed a { color: #2bb6d9; text-decoration: none; margin: 0px 0px 0px 3px; padding: 0px 0px 0px 13px; background: url(../images/top/news_icon.png) no-repeat left 5px; }
#newsfeed a .newsdate  { color: #59a1b2; font-size: 12px; }
#newsfeed a:hover { text-decoration: underline; }
#newsfeed .newsOneline { background: url(../images/top/dotted_line.gif) no-repeat 15px bottom; margin: 0px 0px 10px; padding: 0px 0px 8px; }

.news .schedule {
    float: right;
    padding: 5px 10px 0 0;
}
.news .schedule iframe {
    margin-top: 20px;
    width: 455px;
    height: 368px;
}
/*
     08. .media
========================================================================== */
.media{
    width:100%;
    display:flex;
    justify-content: space-between;
    margin-bottom: 15px;
}
.blog {
    width: 460px;
}
#blogbox { padding: 0px; width: 460px; margin-top: 10px;}
#blogfeed { padding: 10px 10px 0px 0px; height: 390px; width: 440px; overflow: auto; font-size: 13px; line-height: 1.5em;border-left: 1px solid #ddd; margin-left:5px  }
#blogfeed a { text-decoration: none; }
#blogfeed a:hover { text-decoration: underline; }
#blogfeed a.blogTitle { background:url(../images/top/blog_icon.png) no-repeat left 1px; padding: 0px 0px 0px 20px; clear: both; height: 30px; font-size: 15px; margin: 0px 0px 0px 15px; color: #a5a5a5; font-weight: bold; }
#blogfeed .blogdate { font-size: 10px; font-weight: bold; color: #999; margin: 0px 0px 0px 15px; }
#blogfeed .blogDescription { padding: 0px 0px 0px 15px; }
#blogfeed .blogLink  { background: url(../images/top/dotted_line.gif) no-repeat 15px bottom; text-align: right; padding: 0px 0px 1px; height: 20px; margin: 0px 0px 7px; }
#blogfeed .blogLink a { color:#55bed4; font-weight:bold}

.insta{
	width: 465px;
	float: left;
}
/*
     09. .info
========================================================================== */

.info .info_cont01 {
    margin: 10px 0;
}
.info .info_cont01 .left {
    float: left;
    width: 590px;
    padding-left: 10px;
}
.info .info_cont01 .right {
    float: right;
    display: table;
    padding: 20px 50px 0 0;
}
.info .info_cont01 .right > * {
    display: table-cell;
    vertical-align: middle;
}
.info .info_cont02 {
    margin-bottom: 40px;
}

.info .outlinks {
    margin: 0 auto;
    width: 700px;
}
.info .outlinks li {
    float: left;
    width: 140px;
    margin-bottom: 10px;
    text-align: center;
    vertical-align: middle;
    font-size: 90%;
}
.info .outlinks li:nth-child(5n+1) {
    clear: both;
}
.info .outlinks li a {
    margin: 0;
}
.info .outlinks li img {
    display: block;
    margin: 0 auto;
}