@charset "utf-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
html {-webkit-text-size-adjust: 100%; /* 2 */-ms-text-size-adjust: 100%;}
html, body { max-width:100%; overflow-x:hidden; overflow-y:visible;}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video { margin:0; padding:0;	border:0;	outline:0;	list-style:none;	vertical-align:middle;	background:transparent; }
body { line-height:1;}
img {border-style: none;} 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block;}
nav ul, ul, li { list-style:none;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:'';content:none;}

/*===================
 mark
=====================*/
.set .mark{ position: relative; z-index: 10;}
.set .mark::after{ width: 0%; height:40%; position: absolute; background: #ffee8d; content: ""; display: block; left: 0; top:40%; z-index: -10;
animation: anime1 3000s infinite alternate;
-moz-animation: anime1 3000s infinite alternate;
-webkit-animation: anime1 3000s infinite alternate;
-o-animation: anime1 3000s infinite alternate;
-ms-animation: anime1 3000s infinite alternate;
}
.setView .mark::after{width: 100%;}
@keyframes anime1 {
0% { background:#ffee8d;}
10% { background:#ffee8d;}
15% { background:#ffce9e;}
30% { background:#ffc0c0;}
45% { background:#e8c0ff;}
60% { background:#c0d9ff;}
75% { background:#c0ffde;}
90% { background:#dcffc0;}
100% { box-shadow:#ffee8d;}
}
@-moz-keyframes anime1 {
0% { background:#ffee8d;}
10% { background:#ffee8d;}
15% { background:#ffce9e;}
30% { background:#ffc0c0;}
45% { background:#e8c0ff;}
60% { background:#c0d9ff;}
75% { background:#c0ffde;}
90% { background:#dcffc0;}
100% { box-shadow:#ffee8d;}
}
@-webkit-keyframes anime1 {
0% { background:#ffee8d;}
10% { background:#ffee8d;}
15% { background:#ffce9e;}
30% { background:#ffc0c0;}
45% { background:#e8c0ff;}
60% { background:#c0d9ff;}
75% { background:#c0ffde;}
90% { background:#dcffc0;}
100% { box-shadow:#ffee8d;}
}
@-o-keyframes anime1 {
0% { background:#ffee8d;}
10% { background:#ffee8d;}
15% { background:#ffce9e;}
30% { background:#ffc0c0;}
45% { background:#e8c0ff;}
60% { background:#c0d9ff;}
75% { background:#c0ffde;}
90% { background:#dcffc0;}
100% { box-shadow:#ffee8d;}
}
@-ms-keyframes anime1 {
0% { background:#ffee8d;}
10% { background:#ffee8d;}
15% { background:#ffce9e;}
30% { background:#ffc0c0;}
45% { background:#e8c0ff;}
60% { background:#c0d9ff;}
75% { background:#c0ffde;}
90% { background:#dcffc0;}
100% { box-shadow:#ffee8d;}
}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
*{box-sizing: border-box;}
@media screen and (max-width: 320px){html, body { min-width:320px;}}
/*===================
 common
=====================*/
.txtLeft{ text-align: left;}
.txtRight{ text-align: right;}
.txtCenter{ text-align: center;}
/*===================
 LINK
=====================*/
a, a span, a img {-webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out;}
a:link, a:visited, a:hover, a:active { color: #019fe7; text-decoration: underline;}
a:hover { opacity:1; filter: alpha(opacity=100);}
a:hover img {}
@media screen and (max-width: 660px) {body, html { width:100%; overflow-x:hidden;}}
@media screen and (max-width: 480px) {body { background: #fff;}}
/*===================
 NONE
=====================*/
.pc{display: block;}
.sp{ display: none;}
@media screen and (max-width: 600px) {
.pc{display: none;}
.sp{ display: block;}
}
/*===================
 FONT
=====================*/

*{ color:#222;	letter-spacing:1.5px; font-family:'Bebas Neue', 'M PLUS 1p', 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;}
h1,h2,h3,h4,h5,h6 { font-weight:200; font-size:18px; line-height:1.2em;}
p,li,dt,dl,span,td { font-size:15px; line-height:1.6em;}
.b{font-weight: bold;}
.f10{ font-size: 10px !important;}
.f11{ font-size: 11px !important;}
.f12{ font-size: 12px !important;}
.f13{ font-size: 13px !important;}
.f14{ font-size: 14px !important;}
.f15{ font-size: 15px !important;}
.f16{ font-size: 16px !important;}
.f17{ font-size: 17px !important;}
.f24{ font-size: 24px !important;}
.f36{ font-size: 36px;}
.f40{ font-size: 40px !important;}
.f46{ font-size: 46px !important;}
@media screen and (max-width: 480px) {p,li,dt,dl,span,td { line-height:1.6em; color:#222;} h1,h2,h3,h4,h5,h6 { color:#222;}}
/*=====================================
	CONTENTS
=======================================*/
header, article, footer, article, .cont { width:100%; float:left; position:relative; z-index:2;}
article{}
.contMin{ margin:0 auto; overflow:hidden\9; *overflow:hidden; padding: auto 3%;}
@media screen and (min-width: 1043px) {.contMin { max-width:980px;}}
@media screen and (max-width: 1042px) {.contMin { max-width: auto; width:94%; margin: auto 3%; float:left;}}
img{ max-width: 100%; width: 100%; height: auto;}

/*==============================================
  clearfix
================================================*/
.cf:before, .cf:after { content: " "; display: table;}
.cf:after { clear: both;}
.cf { *zoom: 1;}
.set{ position: relative;}

/*===================
 pageTop
=====================*/
.pageTop{}
.pageTop *{-webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out;}
.pageTop a span::before{-webkit-transition: 0.8s ease-in-out; -moz-transition: 0.8s ease-in-out; -o-transition: 0.8s ease-in-out; transition: 0.8s ease-in-out;}
.pageTop{ width: 80px; height: 80px; position: fixed; right: 20px;  bottom: 20px; z-index: 10000000000000000000011111;}
.pageTop a{ width: 80px; line-height: 70px; padding-top: 10px; text-align: center; display: block; border-radius: 100%; box-shadow: 0 0 0 1px #000 inset; position: relative; color: #000;}
.pageTop a span{ color: #000; text-decoration: none;}
.pageTop a span::before{ width: 30px; position: absolute; left: 50%; top: 12px; margin-left: -15px; text-align: center; display: block; content: "▲"; color: #000;}
.pageTop a:hover{box-shadow: 0 0 0 6px #eee inset;}
.pageTop a:hover span::before{ top: 8px;}

@media screen and (max-width: 500px) {
.pageTop{ right: 10px; }
.pageTop.in{ bottom: 110px; }
.pageTop{ width: 60px; height: 60px;}
.pageTop a{ width: 60px; line-height: 50px;}
.pageTop a span::before{ top: 6px;}
.pageTop a:hover span::before{ top: 0px;}
}

/*===================
common title
sec-title
=====================*/
.sec-title{ width: 100%; float:left; text-align: center; margin-bottom: 30px;}
.sec-title span{ display: inline-block; padding: 8px 50px 10px; border-radius: 40px; border: solid 4px #000;}
.sec-title span img{ display: inline-block; width: auto; height: 30px; line-height: 30px; margin-right: 15px;}
.sec-title span b{ font-size: 30px; line-height: 1em;}

@media screen and (max-width: 980px) {
.sec-title span b{ font-size: 26px;}
}
@media screen and (max-width: 700px) {
.sec-title span{ padding: 10px 15px;}
.sec-title span img{ height: 22px; line-height: 22px; margin-right: 10px;}
.sec-title span b{ font-size: 22px;}
}

/*===================
header
=====================*/
header{ box-shadow: 1px 2px 6px #ddd; z-index: 5;}
header .cf { height: 60px; padding: 15px 0 ;}
header .cf .logo{ display: inline-block; float: left; margin-left: 5px;}
header .cf .logo img{ height: 29px; width: auto;}
header .cf .spLink{ display:none;}
header .cf ul{ display: inline-block; float: right;}
header .cf ul li{ display: inline-block; float: left; padding: 0 12px; position: relative;}
header .cf ul li::after{ width: 1px; height: 20px; position: absolute; right: 0; top: 50%; margin-top: -10px; background: #ccc; content: "";}
header .cf ul li:last-child::after{ display: none;}
header .cf ul li a{ display: block; font-size: 12px; line-height: 30px; color: #888; text-decoration: none;}
header .cf ul li a:hover{ text-decoration: underline; color: #000;}

@media screen and (max-width: 1100px) {
header .cf .logo img{ height: 21px; margin: 4px;}
}
@media screen and (max-width: 800px) {
header .cf ul li{ font-size: 11px; padding: 0 8px;}
}
@media screen and (max-width: 700px) {
header .cf { height: 50px; padding: 10px 0 ;}
header .cf ul{ display: none;}
header .cf .spLink{ display:inline-block; margin: 0 20px 0 0; float: right;}
header .cf .spLink a{ display: block; padding: 0 20px; line-height: 30px; background: #047824; border-radius: 4px; color: #fff; text-decoration: none; font-weight: bold;}
}
@media screen and (max-width: 500px) {
header .cf .spLink a{ font-size: 12px; padding: 0 10px; letter-spacing: 0;}
}
/*===================
footer
=====================*/
footer { background: #2e8b48;}
footer .cf { padding: 20px 0;}
footer .cf h2{ width: 40%; float: left; display: inline-block;}
footer .cf h2 img{ width: 100px; height: auto; margin-bottom: 5px;}
footer .cf h2 span{ display: block; font-size: 10px; color: #fff;}
footer .cf ul{ float: right; display: inline-block; margin-top: 10px;}
footer .cf ul li { line-height: 20px; display: inline; color: #fff;}
footer .cf ul li a { display:inline-block; line-height: 1em; padding:0 10px; color: #fff; text-decoration: none; font-size: 11px; line-height: 20px;}
footer .cf ul li a:hover{ color: #ddd; text-decoration: underline;}

/*===================
 mv
=====================*/
#mv{ height: 240px; z-index: 1; border-bottom:solid 10px #43915e; position: relative; overflow: hidden;}
#mv h1{ margin-top: 35px; position: relative; z-index: 10;}
#mv h1 *{font-family: 'Noto Serif JP', serif;}
#mv h1 b { color: #479562; font-size: 36px; line-height: 1.3em;}
#mv h1 b > span{ display: block; color: #479562; font-size: 44px; line-height: 1.3em;}
#mv h1 b > span > span{ color: #15562b; font-size: 44px; display: inline; line-height: 1.3em; vertical-align:baseline;}
#mv .image{width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: url(../../img/pc_mv.jpg) 100% 50% no-repeat #fff; background-size:auto 100%;}
@media screen and (max-width: 1600px) {
#mv .image{ left: 35%; width: 70%; background: url(../../img/pc_mv.jpg) 0% 50% no-repeat #fff; }
}
@media screen and (max-width: 1100px) {
#mv h1 b { font-size: 30px;}
#mv h1 b > span, 
#mv h1 b > span > span{ font-size: 40px;}
#mv .image{ background: url(../../img/pc_mv.jpg) 10% 20% no-repeat #fff; }
}
@media screen and (max-width: 900px) {
#mv .image{ left: 0%; width: 100%; background: url(../../img/sp_mv.jpg) 100% 50% no-repeat #fff; background-size: cover;}
}
@media screen and (max-width: 700px) {
#mv{ height: 300px;}
#mv .image{ left: 0%; width: 100%; background: url(../../img/sp_mv.jpg) 100% 100% no-repeat #fff; background-size: 100% auto;}
#mv h1{ margin-top: 10px; text-align: center;}
#mv h1 b { font-size: 7.2vw;}
#mv h1 b > span, 
#mv h1 b > span > span{ font-size: 6.8vw;}
#mv h1 b > span { display: inline-block;}
#mv h1 *{ text-shadow: 3px 4px 8px #fff;}
}

/*===================
 info info1
=====================*/
#info1 { padding: 80px 50px 40px; position: relative;}
#info1 h2, #info1 p { width: 100%; float:left;}
#info1 h2{ margin: 0px 0 20px; font-size: 50px; font-weight: bold;}
#info1 p{ font-size: 20px; line-height: 1.8em;}
#info1 p b{ color: #c94141; display: inline; vertical-align: baseline;}
#info1 span { position: absolute; right: 50px; bottom: 0;}
#info1 span img{ width: 100%; height: auto;}

@media screen and (max-width:900px) {
#info1 { padding: 100px 20px 30px;}
#info1 h2{ margin-bottom: 10px; font-size: 40px;}
#info1 p{ font-size: 18px;}
#info1 span { right: 0px; z-index: -1;}
#info1 span img{ width: auto; height: 220px;}
}
@media screen and (max-width:700px) {
#info1 { padding: 80px 10px 40px;}
#info1 p{ width: 68%;}
#info1 h2{ font-size: 5.4vw;}
#info1 p{ font-size: 16px;}
#info1 p br{ display: none;}
#info1 span { width: 30%;}
#info1 span img{ width: 100%; height: auto;}
}

@media screen and (max-width:600px) {
#info1 { padding: 30px 10px 20px;}
#info1 h2{ width: 100%;}
#info1 h2{ font-size: 6.4vw;}
#info1 p{ font-size: 16px; line-height: 1.4em;}
}

@media screen and (max-width:500px) {
#info1 span { width: 38%;}
}



/*===================
 info info2
=====================*/
#info2 { padding: 10px; margin-bottom: 60px; background: url(../../img/back.jpg) 0 0 no-repeat; background-size: 100% 100%;}
#info2 .cont { background: #2a7745; padding: 10px 30px;}
#info2 .cont > *{ width: 100%; float:left;}
#info2 .cont h3{ color: #fff; font-size: 30px; font-weight: bold; padding: 20px 0 20px; border-bottom: groove 2px #999; margin-bottom: 20px;}
#info2 .cont h3 img{ height: 42px; width: auto; margin-top: -10px; display: inline-block; margin-right: 15px;}
#info2 .cont div { width: 100%; float: left; padding: 20px 0 20px 70px; position: relative;}
#info2 .cont div .nom{ width: 40px; position: absolute; background: #87b62f; text-align: center; left: 0; top: 50%; margin-top: -30px; border-radius: 8px;}
#info2 .cont div .nom span{ line-height: 60px; text-align: center; display: block; font-weight: bold; color: #fff; font-size: 30px; font-family: "Arial", "メイリオ";}
#info2 .cont div h4, 
#info2 .cont div .txt{ width: 100%; float: left; color: #fff;}
#info2 .cont div h4{ font-weight: bold; font-size: 30px;}
#info2 .cont div .txt{ font-size: 20px;}

@media screen and (max-width:900px) {
#info2 .cont h3{ font-size: 24px;}
#info2 .cont h3 img{ height: 30px;}
#info2 .cont div h4{ font-size: 24px; padding-bottom: 5px;}
#info2 .cont div .txt{ font-size: 18px;}
}
@media screen and (max-width:700px) {
#info2 .cont h3{ font-size: 4.8vw;}
#info2 .cont h3 img{ height: 24px; margin-right: 8px;}
#info2 .cont { padding: 10px 15px;}
#info2 .cont div .nom{ width: 30px; top: 0%; margin-top: 0px; border-radius: 4px;}
#info2 .cont div .nom span{ line-height: 40px; font-size: 24px;}
#info2 .cont div { padding: 0px 0 40px 50px; position: relative;}
#info2 .cont div h4{ font-size: 20px;}
#info2 .cont div .txt{ font-size: 16px;}
}


/*===================
 shikumi
=====================*/
#shikumi { margin: 80px 0;}
#shikumi .cf{}
#shikumi .cf > *{ width: 100%; float: left; text-align: center;}
#shikumi .cf h2{ font-size: 44px; margin-bottom: 20px; padding:20px 10px 0; font-weight: bold;}
#shikumi .cf p{ font-size: 18px; line-height: 1.8em; margin-bottom: 40px; padding:0 10px 0;}
#shikumi .cf ul {}
#shikumi .cf ul li { width: 30%; float: left; margin: 0 1.5%; display: inline-block; border:solid 1px #ccc; }
#shikumi .cf ul li.active { border:solid 4px #2a7745; }

#shikumi .cf ul li h3{ width: 94%; line-height: 50px; text-align: center; font-weight: bold; font-size: 18px; background: #e5e5e5; margin:15px 3% 20px; border-radius: 50px;}
#shikumi .cf ul li.active h3{ background: #2a7745; color: #fff;}

#shikumi .cf ul li p{ font-size: 28px; margin-bottom: 10px; font-weight: bold; line-height: 1.4em;}
#shikumi .cf ul li .img{ display: block; text-align: center;}

#shikumi .cf ul li .img img{ width: 100%; height: auto; max-width:434px; }
#shikumi .cf ul li .img img.p{ display: block;}
#shikumi .cf ul li .img img.s{ display: none;}


@media screen and (max-width:1060px) {
#shikumi .cf ul li h3{ font-size: 16px;}
}
@media screen and (max-width:960px) {
#shikumi .cf ul li h3{ font-size: 15px; letter-spacing: 0;}
#shikumi .cf h2{ font-size: 38px;}
#shikumi .cf p{ font-size: 16px; line-height: 1.4em;}
}
@media screen and (max-width:800px) {
#shikumi { margin: 50px 0;}
#shikumi .cf h2{ font-size: 30px; text-align: left;}
#shikumi .cf p{ text-align: left;}
#shikumi .cf p br{ display: none;}

#shikumi .cf ul li p{ font-size: 22px;}
}
@media screen and (max-width:740px) {
#shikumi .cf > p{font-size: 15px; margin-bottom:0px;}
#shikumi .cf ul li { width: 100%; margin: 20px 0%;}
#shikumi .cf ul li h3{ font-size:5.8vw;}
#shikumi .cf ul li p{ text-align: center;}
#shikumi .cf ul li .img img.s{ display: inline-block; max-width: 900px;}
#shikumi .cf ul li .img img.p{ display: none;}
}
@media screen and (max-width:740px) {
#shikumi{ margin: 30px 0;}
}



/*===================
 flow
=====================*/
#flow { margin: 0 0 50px;}
#flow .cf{}
#flow .cf > *{ width: 100%; float: left;}
#flow .cf h2{ font-size: 44px; margin-bottom: 20px; padding:20px 10px 0; font-weight: bold; text-align: center;}
#flow .cf dl {border: solid 1px #777; margin-bottom: 30px; display: table; table-layout: fixed;}
#flow .cf dl dt{ display: table-cell; width: 20%; background: #2a7745; padding: 15px 0 30px;}
#flow .cf dl dt span{ display: block; font-size: 26px; font-weight: bold; text-align: center; color: #fff;}
#flow .cf dl dt span b{ display: block; width: 80%; margin: 0 10% 10px; background: #fff; text-align: center; color: #2a7745; font-size: 18px; line-height: 24px; font-family: "Arial", "メイリオ"; border-radius: 24px;}
#flow .cf dl dd{ display:table-cell; vertical-align: middle; padding-left: 30px; font-size:20px; line-height: 1.8em;}

@media screen and (max-width:960px) {
#flow .cf h2{ font-size: 38px;}
#flow .cf dl dt span { font-size: 20px;}
#flow .cf dl dd{ font-size: 18px;}

}
@media screen and (max-width:800px) {
#flow .cf h2{ font-size: 30px; text-align: left;}
#flow .cf dl dt{ padding: 10px 0 15px;}
#flow .cf dl dt span { font-size: 18px;}
#flow .cf dl dt span b{ font-size: 14px; line-height: 20px;}
#flow .cf dl dd{ font-size: 16px;}
#flow .cf dl dd br{ display: none;}
}

@media screen and (max-width:640px) {
#flow .cf dl{ margin-bottom: 20px;}
#flow .cf dl dt, 
#flow .cf dl dd{ width: 100%; display: block; text-align: left;}
#flow .cf dl dt span{ display: block; text-align: left; line-height: 20px; vertical-align: bottom;}
#flow .cf dl dt span b{ width: auto; display: inline-block; margin:-2px 10px 0; padding: 0 10px;}
#flow .cf dl dt span br{ display: none;}
#flow .cf dl dd{ padding: 20px;}

}

/*===================
 cta
=====================*/
.cta { padding: 30px 0; background: #f0f0f0;}
.cta.end{ padding-bottom: 60px;}
.cta .cf { border: solid 6px #d95050; padding: 30px 50px 20px; background: #fff;}
.cta .cf .cont {}
.cta .cf .cont > * { width: 100%; float: left;}
.cta .cf .cont h2{ font-size: 30px; font-weight: bold; text-align: center; padding: 15px 0;}
.cta .cf .cont .btn{ padding: 0 10%;}

.cta .cf .cont .btn a{ display: block; background: #d95050; font-size: 30px; font-weight: bold; color: #fff; text-align: center; line-height: 46px; border-bottom: solid 10px #993131; border-radius: 14px; text-decoration: none; padding: 30px 0;}
.cta .cf .cont .btn a span{ display: block; font-size: 20px; color: #fff; font-weight: normal;}

.cta .cf .cont .btn a img{ height: 36px; width: auto; display: inline-block; margin-top: -10px; margin-right: 20px;}
.cta .cf .cont .btn a:hover{ border-bottom: solid 0px #993131; margin-top: 10px;}
.cta .cf .cont .cap{ margin-top: 20px; line-height: 1.2em; font-size: 12px; color: #666;}


@media screen and (max-width:960px) {
.cta .cf .cont .btn{ padding: 0 0%;}
}
@media screen and (max-width:800px) {
.cta .cf { padding: 20px 30px 20px;}
.cta .cf .cont h2{ font-size: 5.4vw;}
.cta .cf .cont .btn a{ font-size: 4.8vw;}
.cta .cf .cont .btn a span{ font-size: 3.2vw;}
}
@media screen and (max-width:600px) {
.cta .cf { padding: 10px 10px 20px;}
.cta .cf .cont .btn a{ padding: 20px 0; border-radius: 6px;}
.cta .cf .cont .cap{ font-size: 10px;}
.cta .cf .cont .btn a img{height: 20px; margin-right:5px; margin-top: 0px;}
}










