
@charset "utf-8";

/* ===================================================================
Style CSS
ウィンドウ幅[1024px～]の場合に適用
=================================================================== */

/* ===================================================================
各ページ共通
=================================================================== */

/*	body
--------------------------------------------------------------------*/

/*	h
--------------------------------------------------------------------*/

/*	header
--------------------------------------------------------------------*/
#h_wrap {
position: fixed;
top: 0;
left: 0;
width: 100%;
padding: 20px 0;
background-color: rgba(255,255,255,0.9);
}

#header {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1100px;
margin: 0 auto;
}

#header ul {
display: flex;
}

#header ul li.csl,
#header ul li.tel img{
display: none;
}

#header ul li.tel a {
white-space: nowrap;/*	追加dsafari折り返しNG-*/
font-size: 15px;
color: #222;
}

#header ul li.tel a:hover {
text-decoration: none;
}

#header ul li.tel a span span {
position: relative;
margin-left: 10px;
padding: 0 0 0 38px;
font-size: 28px;
font-weight: bold;
color: #23ac38;
}

#header ul li.tel a span span:before {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 34px;
height: 22px;
margin-top: -11px;
background: url(../images/h_tel_icon.png) no-repeat;
}

/*	ind_main
--------------------------------------------------------------------*/
.ind_main {
max-width: 1400px;
margin: 80px auto 0;
}


/*	f_menu
--------------------------------------------------------------------*/
#f_menu {
display: block;
z-index: 9998;
position: fixed;
bottom: -80px;
left: 0;
width: 100%;
border-top: 1px solid white;
background: #23ac38;
}

#f_menu ul {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
align-items: center;
justify-content: space-between;
max-width: 900px;
margin: 0 auto;
padding: 5px 0;
}


/*	cta
--------------------------------------------------------------------*/
.cta_bg {
width: 100%;
margin-bottom: 45px;
padding: 45px 0 42px;
background: #23ac38;
}

.cta {
max-width: 1100px;
margin: 0 auto;
}

.cta dl.csl {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
}

.cta dl.csl dt {
padding: 17px 27px 0 0;
}

.cta dl.csl p.txt {
margin-bottom: 18px;
}

.cta dl.csl p.btn {
margin-bottom: 10px;
}

.cta dl.csl p.txt img,
.cta dl.csl p.tel img {
max-width: 619px;
}

.cta .box {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
justify-content: space-between;
}

.cta .box .btn {
  max-width: 607px;
}

.cta .box .tel {
  max-width: 475px;
}

.cta .hc {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
justify-content: space-between;
max-width: 1100px;
margin: 30px auto 0;
padding: 20px 20px 0;
background: white;
border: 1px solid #008715;
}

.cta .hc .left {
width: 640px;
}

.cta .hc .right {
width: 379px;
}

.cta .hc h3 {
margin-bottom: 20px;
font-size: 26px;
color: #009917;
font-weight: bold;
}

.cta .hc h4 {
margin-bottom: 20px;
font-size: 18px;
font-weight: bold;
}

.cta .hc h4 span {
color: #e24a4a;
}

.cta .hc p {
margin-bottom: 20px;
font-size: 16px;
}

.cta .hc .right h3 {
padding: 5px 0;
font-size: 16px;
text-align: center;
color: white;
background: #23ac38;
border-radius: 30px;
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
}

.cta .hc .right p {
margin-bottom: 20px;
}

/*	section
--------------------------------------------------------------------*/
section {
max-width: 980px;
margin: 0 auto 65px;
background: white;
}

section h2 {
font-size: 28px;
color: #fff;
font-weight: bold;
text-align: center;
line-height: 1.3;
background: #23ac38;
background: -moz-linear-gradient(top,  #23ac38 0%, #049819 100%);
background: -webkit-linear-gradient(top,  #23ac38 0%,#049819 100%);
background: linear-gradient(to bottom,  #23ac38 0%,#049819 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#23ac38', endColorstr='#049819',GradientType=0 );

}

section h2:before {
display: block;
content: "";
height: 6px;
margin-bottom: 20px;
border-bottom: 1px solid #fff;
background: #23ac38;
}

section h2:after {
display: block;
content: "";
height: 6px;
margin-top: 20px;
border-top: 1px solid #fff;
background: #23ac38;
}

section p span.ref {
font-size: 14px;
color: #0048ff;
text-decoration: underline;
}

section p span.marker {
font-weight: bold;
background: #ffe400;
}

/*	sec01
--------------------------------------------------------------------*/
#sec01 ul {
padding: 50px 80px;
}

#sec01 ul li {
padding: 15px 0 15px 75px;
font-size: 24px;
font-weight: bold;
color: #059819;
background: url(../images/section_check.gif) no-repeat;
}

#sec01 p {
padding: 0 60px 50px;
font-size: 18px;
}

/*	sec02
--------------------------------------------------------------------*/
#sec02 h2 {
margin-bottom: 50px;
}

#sec02 .bg {
padding: 0 50px;
background: url(../images/sec02_bg_v2.png) top right no-repeat;
}

#sec02 .bg h3 {
padding-bottom: 20px;
font-size: 43px;
color: #e34747;
font-weight: bold;
text-decoration: underline;
}

#sec02 .bg p {
padding-left: 0;
}

#sec02 .bg ul {
padding: 0 0 60px 20px;
}

#sec02 .bg ul li {
padding: 15px 0 15px 75px;
font-size: 24px;
font-weight: bold;
background: url(../images/section_check.gif) no-repeat;
}

#sec02 p {
padding: 0 60px 20px;
font-size: 18px;
}

#sec02 p.sub_ttl {
margin: 35px 60px;
padding: 25px 0;
text-align: center;
font-size: 28px;
color: white;
font-weight: bold;
background: #23ac38;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
}


/*	sec03
--------------------------------------------------------------------*/
#sec03 h2 {
margin-bottom: 50px;
}

#sec03 h3 {
padding: 30px 60px 50px;
font-size: 36px;
font-weight: bold;
}

#sec03 h3 span {
color: #e34747;
}

#sec03 p {
padding: 0 60px 20px;
font-size: 18px;
}

#sec03 p.ttl {
padding: 0 0 60px;
}

/*	sec04
--------------------------------------------------------------------*/
#sec04 {
max-width: 100%;
background: white;
margin-bottom: 0;
}

#sec04 dl {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
justify-content: space-between;
flex-flow: row-reverse;
max-width: 1040px;
margin: 0 auto;
padding-top: 50px;
}

#sec04 dt {
max-width: 411px;
}

#sec04 dd {
max-width: 580px;
}

#sec04 dd p {
padding-bottom: 25px;
font-size: 18px;
}

#sec04 dd p.red {
font-size: 21px;
font-weight: bold;
color: #f03a3a;
text-decoration: underline;
}

#sec04 dd img {
max-width: 538px;
}

/*	sec05
--------------------------------------------------------------------*/
#sec05 {
max-width: 100%;
background: #23ac38;
margin-bottom: 0;
padding: 70px 0 60px 0;
}

#sec05 h2 {
margin-bottom: 60px;
color: #f7ffa2;
font-size: 32px;
background: none;
}

#sec05 h2:before,
#sec05 h2:after {
display: none;
}

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

#sec05 p.last {
margin-bottom: 70px;
}

#sec05 p img {
max-width: 882px;
margin: 0 auto;
}

#sec05 ul {
-js-display: flex;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
-ms-flex-pack: justify;
justify-content: space-between;
max-width: 1100px;
margin: 0 auto;
}

#sec05 li {
width: 250px;
height: 250px;
padding: 15px;
margin-bottom: 38px;
background: white;
border-radius: 50%;
}

#sec05 li p {
margin-bottom: 20px;
}

#sec05 li p:last-child {
margin-bottom: 0;
font-size: 16px;
text-align: center;
}

#sec05 li p.ttl {
padding-bottom: 20px;
font-size: 18px;
color: #23ac38;
text-align: center;
font-weight: bold;
border-bottom: 1px solid #23ac38;
}

#sec05 li p img {
width: 45px;
margin: 0 auto;
}

#sec05 p.center {
font-size: 26px;
color: white;
text-align: center;
font-weight: bold;
}

#sec05 p.center span {
color: #333;
}

#sec05 .area_top{
margin-top: 60px;
}

#sec05 .map {
max-width: 1100px;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-justify-content: space-between; /* Safari */
justify-content:         space-between;
margin: 0 auto;
}

#sec05 .map img {
max-width: 650px;
margin-right: 45px;
}

#sec05 .map figcaption dl {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
-webkit-flex-wrap: wrap; /* Safari */
flex-wrap:         wrap;
}

#sec05 .map ul.area {
width: 410px;
}

#sec05 .map .area li {
width: 180px;
height: auto;
padding: 0;
font-size: 14px;
background: none;
}

#sec05 .map .area li h3 {
width: 180px;
padding: 1px 0 1px 13px;
margin-bottom :11px;
color: #FFF;
border: 1px solid #FFF;
}

#sec05 .map .area li p {
font-size: 14px;
text-align: left;
color: #FFF;
line-height: 20px;
font-weight: bold;
}

#sec05 dt {
width: 110px;
padding-left: 13px;
border: 1px solid #FFF;
color: #FFF;
font-weight: bold;
}


/*	sec06
--------------------------------------------------------------------*/
#sec06 {
max-width: 100%;
background: #e6f3c5;
margin-bottom: 0;
padding: 60px 0 70px 0;
}

#sec06 h2 {
margin-bottom: 40px;
color: #23ac38;
font-size: 32px;
background: none;
}

#sec06 h2:before,
#sec06 h2:after {
display: none;
}


#sec06 li figure {
-js-display: flex;/* IE8-9 */
display: -ms-flexbox;/* IE10 */
display: flex;
-ms-flex-pack: justify;/* IE10 */
max-width: 900px;
margin: 0 auto;
}

#sec06 li figure figure {
display: block;
width: 298px;
margin: 0;
}

#sec06 li figcaption {
width: 602px;
margin-top: 1px;
padding: 25px;
background: #f4f3ef;
}

#sec06 li figcaption h3 {
margin-bottom: 25px;
font-size: 24px;
font-weight: bold;
color: #90803e;
}

#sec06 li figcaption p {
margin-bottom: 25px;
}

#sec06 li figcaption p:last-child {
margin-bottom: 0;
}

#sec06 li.arrow {
width: 128px;
margin: 0 auto 12px;
}


/*	sec07
--------------------------------------------------------------------*/
#sec07 {
max-width: 100%;
background: #e6f3c5;
margin-bottom: 0;
padding: 20px 0 60px 0;
}

#sec07 h2.center {
margin-bottom: 60px;
color: #23ac38;
font-size: 32px;
background: none;
}

#sec07 h2.center:before,
#sec07 h2.center:after {
display: none;
}

#sec07 .voice_bg {
max-width: 900px;
margin: 0 auto 65px;
padding: 15px;
background: #f4f3ef;
}

#sec07 .voice {
padding: 35px 45px;
border: 1px solid white;
background: #f4f3ef;
}

#sec07 .voice p.ttl {
margin-bottom: 10px;
color: #90803e;
text-align: center;
font-weight: bold;
font-size: 22px;
}

#sec07 .voice p.name {
text-align: center;
font-size: 14px;
}

#sec07 .voice p {
margin-bottom: 20px;
font-size: 18px;
}

#sec07 .voice p:last-child {
margin-bottom: 0;
}

#sec07 .box {
margin-bottom: 0;
padding-bottom: 30px;
}

#sec07 .box h2 {
margin-bottom: 50px;
}

#sec07 .box p {
padding: 0 60px 20px;
font-size: 18px;
}

/*	footer
--------------------------------------------------------------------*/
#footer {
position: relative;
z-index: 9999;
background: white;
}

#footer ul {
text-align: center;
}

#footer li {
padding: 0 10px;
display: inline-block;
border-left: 1px solid #ccc;
}

#footer li:first-child {
border: none;
}

#footer li a {
color: black;
}

#footer .copyright {
padding: 30px 0 40px 0;
text-align: center;
font-size: 12px;
}
