@charset "utf-8";

/* CSS Document */

body { font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", 'MS PGothic','ＭＳ Ｐゴシック', 'MS Gothic', sans-serif; font-size:16px; margin:0px; text-align:center; background-color:#FFFFFF; line-height:150%; color:#202020; min-width:960px; word-wrap:break-word; }

p, form { margin:0px; padding:0px; }
img { border:none; margin:0px; padding:0px; }
a { text-decoration:none; outline:none; color:#1800ff; }
a:hover { text-decoration:underline; }
a:hover img { filter:alpha(opacity=75); opacity:0.75; }
a, a img, input, textarea { transition:all 0.25s ease-in-out; -webkit-transition:all 0.25s ease-in-out; -moz-transition:all 0.25s ease-in-out; }
input, textarea, select { outline:none; }
h1, h2, h3, h4, ul, dl, dt, dd { margin:0px; padding:0px; font-weight:normal; list-style:none; }
.nan { transition:none; -webkit-transition:none; -moz-transition:none; }
.cf { width:100%; }

/* Header */

.header { border-bottom:#ececec solid 5px; }
.header .cont { width:960px; margin:0 auto; text-align:left; }
.header .lf { padding:14px 0px 10px 0px; }
.header .rh { padding:10px 0px 0px 0px; }
.header .tel { background:url(images/telbgn.png) no-repeat 9px 1px; background-size: auto 23px; padding:0px 0px 40px 48px; position: relative; float:left; margin-top:4px; margin-right:25px; }
.header .tel a { display:block; font-size:31px; font-weight:bold; color:#333333; font-family:Arial, sans-serif; pointer-events:none; cursor:default;}
.header .tel span { display:block; font-size:12px; font-weight:normal; font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", 'MS PGothic','ＭＳ Ｐゴシック', 'MS Gothic', sans-serif; position: absolute; bottom: 0; width: 100%; left: 0; text-align: center; line-height: 1.5; font-weight: bold; }
.header .btn { float:left; }
.header .btn a { background:url(images/hbtn_001.gif) no-repeat 0px 0px; width:240px; height:35px; border-radius:22px; font-size:16px; font-weight:bold; color:#FFFFFF; text-align:left; display:block; line-height:35px; -webkit-box-shadow:1px 1px 4px rgba(0, 0, 0, 0.2); -moz-box-shadow:1px 1px 4px rgba(0, 0, 0, 0.2); box-shadow:1px 1px 4px rgba(0, 0, 0, 0.2); box-sizing: border-box; padding: 1px 0 0 36px; }
.header .btn a:nth-child(2) { background:url(images/hbtn_002.gif) no-repeat 0px 0px; margin-top: 5px; }
.header .btn a:hover { text-decoration:none; filter:alpha(opacity=75); opacity:0.75; }

/* Content */

/*.mainbnr { background:url(images/bnrbg.gif) no-repeat center top; background-color:#fdfbfa;  }
.mainbnr .Inner { max-width: 1000px; height: 492px; margin: 0 auto; position: relative; }
.mainbnr img { height:auto; max-width:100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }*/
.mainbnr { background:url(images/bnrbg.gif) no-repeat center top; background-color:#fdfbfa; }
.mainbnr img { height:auto; max-width:100%; }


.tdesc { background-color:#15b394; padding:25px 0px; }
.tdesc p { width:960px; margin:0 auto; font-size:18px; color: #fff; }

.cta { padding:65px 0px 60px 0px; }
.cta .ti { font-size:32px; line-height:42px; margin-bottom:35px; margin-top: 15px; font-weight: bold; background: url("images/cta_bg.gif") no-repeat center;}
.cta .ti:first-child { margin-top: 0;}
.cta .btn { padding-bottom:20px; }
.cta .btn img { border-radius:45px; -webkit-box-shadow:1px 1px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow:1px 1px 5px rgba(0, 0, 0, 0.3); box-shadow:1px 1px 5px rgba(0, 0, 0, 0.3); }
.cta .tel { margin-top: 45px; }
.cta .tel a { background:url(images/telbgn.png) no-repeat 0px 0; display:inline-block; font-size:55px; font-weight:bold; color:#333333; font-family:Arial, sans-serif; pointer-events:none; cursor:default; padding-left:68px; line-height:40px; position: relative; padding-bottom: 62px; }
.cta .tel .hours { display:block; font-size:22px; font-weight:normal; font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", 'MS PGothic','ＭＳ Ｐゴシック', 'MS Gothic', sans-serif; text-align:center; padding-top:5px; position: absolute; left: 0; bottom: 0; width: 100%; line-height: 1.3; text-align: left;}
.cta .tel .hours .note { font-weight: normal; font-size: 18px; }
.cta ul { width: 500px; margin: 0 auto 40px; font-size: 16px; text-align: left; }
.cta ul li::before { content: "・"; }
.cta ul li .note { font-size: 14px; margin-left: 14px; display: inline-block; }

.block1 { background:url(images/bg1.png) no-repeat center center; background-size:cover; padding-bottom:7px; }
.block1 div { width:740px; margin:0 auto; text-align:left; }
.block1 h2 { font-weight:bold; text-align:center; font-size:37px; color:#FFFFFF; line-height:40px; padding:75px 0px 50px 0px; }
.block1 ul { background:url(images/fx1.png) no-repeat center bottom; padding:0px 0px 110px 0px; margin-bottom:-50px; position:relative; }
.block1 li { background:url(images/check.png) no-repeat 40px 5px; font-size:24px; line-height:34px; color:#FFFFFF; padding:0px 0px 15px 90px; }

.block2 { margin-top: 50px;}

.block3 { background-color: #fddfef; background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #fcd2e8), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #fcd2e8),color-stop(.75, #fcd2e8), color-stop(.75, transparent),to(transparent)); -webkit-background-size: 7px 7px; padding:35px 0px; }
.block3 .cf { width:940px; margin:0 auto; text-align:left; }
.block3 .lf { width:340px; padding: 10px 0; }
.block3 h2 { font-size:28px; padding-bottom:30px; font-weight:bold; line-height: 1.5; }
.block3 p { line-height:170%; }

.block4 { background: linear-gradient( #15b394 200px, #a1e1d4 200px, #a1e1d4); padding:45px 0px 50px 0px; }
.block4 h2 { font-size:34px; font-weight:bold; color:#FFFFFF; line-height:40px; padding-bottom:45px; }
.block4 .cf { width:1000px; margin:0 auto; text-align:left; }
.block4 .cf div { margin:0px 30px 30px 0px; float:left; width:273px; padding:20px; background-color:#FFFFFF; text-align: center; }
.block4 .cf div:nth-child(3n) { margin-right:0px; float:right; }
.block4 .cf div:nth-child(3n+1) { clear:both; }
.block4 .cf img { margin: 0 -30px; }
.block4 .cf h3 { font-size:24px; font-weight:bold; line-height:36px; padding-bottom:25px; text-align:center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100px; }
.block4 .cf h3 span { display:block; }
.block4 .cf p { line-height:180%; padding-top:25px; text-align: left; min-height: 168px;}

.block5 { background-color:#ff8c00; padding:45px 0px 50px 0px; overflow:hidden; }
.block5 h2 { font-size:34px; font-weight:bold; color:#FFFFFF; line-height:40px; padding-bottom:45px; }
.block5 .each { width:972px; margin:0 auto; text-align:left; position:relative; height:404px; margin-bottom:30px; }
.block5 .each .cont { width:2000px; background:url(images/bg2.png) no-repeat right bottom; position:absolute; right:0px; top:0px; padding:0px 6px 8px 6px; }
.block5 .each .cont .cf { float:right; width:960px; }
.block5 .each .cont .cf .im { float:right; }
.block5 .each .tx { width:500px; float:left; padding:30px 0px; }
.block5 .each .tx h3 { line-height:35px; font-size:24px; font-weight:bold; border-bottom:#e4e4e4 solid 1px; padding-bottom:20px; margin-bottom:20px; }
.block5 .each .tx h3 span { font-size:25px; color:#FFFFFF; font-weight:normal; display:inline-block; margin-right:10px; background-color:#ff8c00; padding:3px 10px; vertical-align:middle; }
.block5 .each .tx h4 { font-size:20px; color:#ff8c00; line-height:32px; padding-bottom:10px; font-weight: bold; }
.block5 .each .tx p { line-height:170%; }
.block5 .each:nth-child(odd) .cont { background-position:left bottom; right:auto; left:0px; }
.block5 .each:nth-child(odd) .cont .cf { float:left; }
.block5 .each:nth-child(odd) .cont .cf .im { float:left; }
.block5 .each:nth-child(odd) .tx { float:right; }
 
.block6 { background-color:#f3f1e6; padding:50px 0px 60px 0px; }
.block6 h2 { font-size:34px; font-weight:bold; line-height:40px; padding-bottom:45px; }
.block6 .cf { width:960px; margin:0 auto; }
.block6 .each { width:221px; border:#d4d4d4 solid 2px; border-radius:10px; margin:0px 20px 20px 0px; float:left; background-color:#FFFFFF; font-weight:bold; }
.block6 .each:nth-child(4n) { margin-right:0px; }
.block6 .each:nth-child(4n+1) { clear:both; }
.block6 .each h3 { border-bottom:#d4d4d4 solid 1px; background-color:#f58a0e; border-top-left-radius:8px; border-top-right-radius:8px; color:#FFFFFF; font-weight:bold; padding:20px 0px; }
.block6 .each div { border-bottom:#d4d4d4 solid 1px; padding:15px 0px; font-size:14px; background-color:#fffcd4; }
.block6 .each div span { display:block; font-size:24px; color:#f55220; padding-top:5px; }
.block6 .each p { border-bottom:#d4d4d4 solid 1px; padding:15px 0px; font-size:14px; }
.block6 .each p span { display:block; font-size:16px; }
.block6 .each p:last-child { border-bottom:none; }

.block7 { width:960px; margin:0 auto; padding:50px 0px 70px 0px; }
.block7 h2 { font-size:34px; font-weight:bold; line-height:40px; padding-bottom:45px; }
.block7 div { background:url(images/start.png) no-repeat center top, url(images/goal.png) no-repeat center bottom; padding:80px 0px; }
.block7 table { background:url(images/bg3.png) repeat-y center center; border-collapse:collapse; width:100%; display:block; padding:15px 0px; }
.block7 th { font-size:30px; font-weight:bold; line-height:40px; color: #15b394; }
.block7 th, .block7 td { padding:25px 0px; width:50%; position:relative; }
.block7 th:first-child, .block7 td:first-child { text-align:right; padding-right:52px; }
.block7 th:last-child, .block7 td:last-child { text-align:left; padding-left:52px; }
.block7 th:before { position:absolute; font-size:28px; color:#FFFFFF; line-height:40px; width:40px; text-align:center; background-color:#15b394; border-radius:20px; left:-20px; }
.block7 th:first-child:before { left:auto; right:-20px; }
.block7 tr:nth-child(1) th:before { content:"1"; }
.block7 tr:nth-child(2) th:before { content:"2"; }
.block7 tr:nth-child(3) th:before { content:"3"; }
.block7 tr:nth-child(4) th:before { content:"4"; }
.block7 tr:nth-child(5) th:before { content:"5"; }
.block7 tr:nth-child(6) th:before { content:"6"; }
.block7 tr:nth-child(7) th:before { content:"7"; }
.block7 tr:nth-child(8) th:before { content:"8"; }
.block7 tr:nth-child(9) th:before { content:"9"; }
.block7 p {margin-top: 30px;}


.block8 { background: linear-gradient( #f76fb5 200px, #faa5d1 200px, #faa5d1 ); padding:50px 0px 50px 0px; }
.block8 h2 { font-size:34px; font-weight:bold; line-height:40px; padding-bottom:45px; color: #fff; }
.block8 .cf { width:960px; margin:0 auto; text-align:left; }
.block8 .cf .each { background-color:#FFFFFF; width:300px; float:left; margin:0px 30px 30px 0px; -webkit-box-shadow:1px 1px 3px rgba(0, 0, 0, 0.2); -moz-box-shadow:1px 1px 3px rgba(0, 0, 0, 0.2); box-shadow:1px 1px 3px rgba(0, 0, 0, 0.2); }
.block8 .cf .each:nth-child(3n) { margin-right:0px; }
.block8 .cf .each:nth-child(3n+1) { clear:both; }
.block8 .cf h3 { font-size:16px; font-weight:bold; padding:20px 10px 10px 10px; color:#f76fb5; text-align: center; }
.block8 .cf span { display:block; margin:0px 20px 0px 20px; border-bottom:#e4e4e4 solid 1px; font-size:12px; padding:0px 0px 12px 0px; }
.block8 .cf p { font-size:14px; padding:15px 20px 25px 20px; min-height: 264px; }

.block9 { width:960px; margin:0 auto; text-align:left; padding:30px 0px 80px 0px; }
.block9 .cf { border:#e4e4e4 solid 1px; width:auto; padding:50px 49px 20px 49px; }
.block9 .cf div { width:430px; }
.block9 table { width:100%; border-collapse:collapse; }
.block9 th, .block9 td { vertical-align:top; font-size:14px; padding-bottom:30px; }
.block9 th { font-weight:bold; font-size:16px; width:90px; }
.block9 iframe { width: 100%; height: 200px;}

/* Footer */

.footer { background-color:#464646; }
address { width:940px; padding:16px 0px 16px 0px; margin:0 auto; text-align:right; font-style:normal; font-size:12px; color:#FFFFFF; }

.ptop { position:fixed; right:25px; bottom:-150px; width:70px; z-index:100; }
.ptop a { width:70px; height:70px; background:url(images/ptop.png) no-repeat center top; text-indent:-9999px; text-align:left; display:block; }
.ptop a:hover { filter:alpha(opacity=75); opacity:0.75; }

/* Enviroments */

.lf { float:left; }
.rh { float:right; }
.clr { clear:both; }
.cf:after { content:" "; display:block; height:0; clear:both; overflow:hidden; visibility:hidden; }
.only-sp { display: none; }

@media screen and (max-width: 767px) {
	
body { width:100%; min-width:0px; -webkit-text-size-adjust:none; border-top:none; }
a:hover { text-decoration:none; }
a:hover img { filter:alpha(opacity=100); opacity:1; }

.header { border-bottom:#cfcfcf solid 1px; height:42px; }
.header .cont { width:auto; }
.header .lf { padding:7px 0px 0px 10px; }
.header .lf img { height:32px; }
.header .rh { padding:0px; float:none; position:fixed; bottom:0px; left:0px; width:100%; height:39px; border-bottom:#cfcfcf solid 1px; z-index:1000; text-align:center; display: flex; }
.header .rh div {width: 50%; float: none;}
.header .rh div a { display: block; width: 100%!important; box-sizing: border-box; display: flex; align-items: center; justify-content: center;}
/*.header .rh .tel { background:none; padding:0px; margin-top:0px; margin-right:0px; width:33.33%; background: #fff; }
.header .tel a { font-size:17px; line-height:39px; color:#000; pointer-events:auto; padding-left:0; }
.header .tel span { background:url(../sp/images/hb1.png) no-repeat left center; background-size: auto 14px; padding: 0 0 0 28px; display: inline-block; position: relative; line-height: 39px; font-size: 15px; width: auto;}*/
.header .btn2 a { background:linear-gradient(#117cc6, #1076c3, #0f70c0); border-left:#729bf8 solid 1px; border-radius:0px; font-size:12px; box-shadow:none; padding: 0; height: 39px; color: #fff; font-weight: bold; }
.header .btn2 a span { background: url(../sp/images/hb2.png) no-repeat 0px center; background-size: auto 14px; padding: 0 0px 0 16px; font-size: 13px; }
.header .btn a { background: #ea178a ;line-height: 13px; border-radius:0px; font-size:12px; box-shadow:none; height: 39px; padding: 0;}
.header .btn a span { background: url(images/mail.png) no-repeat left center; background-size:17px auto; padding: 0 0 0 24px; text-align: center; }
  
  
  
  
/*.header .tel { background:none; padding:0px; float:left; margin-top:0px; margin-right:0px; width:33.33%; }
.header .tel a { border-right:#1843a5 solid 1px; font-size:17px; line-height:39px; color:#000; pointer-events:auto; padding-left:0; }
.header .tel span { background:url(../sp/images/hb1.png) no-repeat left center; background-size: auto 14px; padding: 0 0 0 25px; display: inline-block; position: relative; line-height: 39px; font-size: 15px; width: auto;}
.header .btn { float:left; width:33.33%; display: -webkit-box; display: -ms-flexbox; display: flex; }
.header .btn a { background:#ea178a url(images/mail.png) no-repeat 13px center; background-size:17px auto; border-left:#729bf8 solid 1px; line-height: 14px; border-radius:0px; font-size:12px; box-shadow:none; padding: 4px 0 0px 24px; height: 39px;}*/


.tdesc { border-bottom:#f58a0e solid 3px; padding:12px 5px; }
.tdesc p { width:auto; font-size:12px; line-height: 1.4em; }

.cta { padding:20px 10px; }
.cta .ti { font-size:16px; line-height:20px; margin-bottom:20px; margin-top: 10px; background-size: 100% auto; }
.cta .btn { padding-bottom:10px; }
.cta .btn img { width:100%; height:auto; }
  .cta .tel { margin-top: 25px; }
  .cta .tel a { background-size: 29px auto; font-size:27px; font-weight:bold; pointer-events:auto; cursor:default; padding-left:34px; line-height:22px; padding-bottom: 30px;}
  .cta .tel .hours { font-size:10px; padding-top:2px; }
  .cta .tel .hours .note { font-size: inherit; }
  .cta ul { width: 100%; font-size: 12px; margin-bottom: 20px; }
  .cta ul li .note {font-size: 10px; margin-left: 12px; }
  

.block1 div { width:auto; }
.block1 h2 { font-size:20px; line-height:25px; padding:25px 0px 20px 0px; }
.block1 ul { background-size:auto 22px; padding:0px 0px 35px 0px; margin-bottom:-28px; position:relative; }
.block1 li { background-size:14px auto; background-position:12px 4px; font-size:14px; line-height:20px; color:#FFFFFF; padding:0px 10px 10px 35px; }

.block2 img { width:100%; height:auto; }

.block3 { padding:25px 10px; }
.block3 .cf { width:auto; }
.block3 .lf { width:auto; float:none; }
.block3 h2 { font-size:20px; padding-bottom:15px; }
.block3 p { font-size:14px; padding-bottom:10px; }
.block3 .rh { padding:10px 20px; float:none; }
.block3 .rh img { width:100%; height:auto; }

.block4 { padding:25px 10px; }
.block4 h2 { font-size:20px; line-height:24px; padding-bottom:20px; }
.block4 .cf { width:auto; }
.block4 .cf div { margin:0px 0px 15px 0px; float:none; width:auto; padding:10px; }
.block4 .cf div:nth-child(3n) { float:none; }
.block4 .cf img { margin: 0 0 10px; width:100%; height:auto; float:none; }
.block4 .cf h3 { font-size:18px; line-height:24px; text-align:left; padding:10px 0px 20px; height: auto;}
.block4 .cf h3 span { font-size:14px; }
.block4 .cf p { line-height:170%; padding-top:0px; font-size:14px; min-height: auto; }

.block5 { padding:25px 10px 1px 10px; }
.block5 h2 { font-size:20px; line-height:24px; padding-bottom:20px; }
.block5 .each { width:auto; position:relative; height:auto; margin-bottom:10px; }
.block5 .each .cont { width:auto; background-image:none; position:static; padding:0px; background-color:#FFFFFF; }
.block5 .each .cont .cf { float:none; width:auto; padding:10px; }
.block5 .each .cont .cf .im { float:none; }
.block5 .each .cont .cf .im img { width:100%; height:auto; }
.block5 .each .tx { width:auto; float:none; padding:5px 0px; }
.block5 .each .tx h3 { line-height:1.4em; font-size:18px; padding-bottom:10px; margin-bottom:10px; padding-left: 70px; position: relative; }
.block5 .each .tx h3 span { font-size:14px; margin-right:0; background-color:#ff8a00; padding:3px 10px; vertical-align:middle; position: absolute; left: 0; top: 50%; transform: translateY(-70%); }
.block5 .each .tx h4 { font-size:17px; line-height:1.4em; padding-bottom:5px; }
.block5 .each .tx p { line-height:170%; font-size:14px; margin-bottom:20px; }
.block5 .each:nth-child(odd) .cont .cf { float:none; }
.block5 .each:nth-child(odd) .cont .cf .im { float:none; }
.block5 .each:nth-child(odd) .tx { float:none; }

.block6 { padding:25px 10px; }
.block6 h2 { font-size:20px; line-height:24px; padding-bottom:20px; }
.block6 .cf { width:auto; }
.block6 .each { width:auto; margin:0px 0px 20px 0px; float:none; }
.block6 .each h3 { padding:12px 0px; font-size:14px; }
.block6 .each div { font-size:14px; background-color:#fffcd4; padding:12px 0px; line-height:18px; }
.block6 .each div span { display:block; font-size:18px; color:#f55220; padding-top:2px; }
.block6 .each p { padding:12px 0px; font-size:14px; line-height:16px; }
.block6 .each p span { font-size:13px; }

.block7 { width:auto; padding:25px 10px; }
.block7 h2 { font-size:20px; line-height:24px; padding-bottom:20px; }
.block7 div { background-size:40px 40px, 40px 40px; padding:40px 0px; }
.block7 table { background:url(images/bg3.png) repeat-y center center; border-collapse:collapse; width:100%; display:block; padding:15px 0px; }
.block7 th { font-size:14px; line-height:20px; }
.block7 td { font-size:10px; line-height:16px; }
.block7 th, .block7 td { padding:10px 0px; font-size:13px; }
.block7 th:first-child, .block7 td:first-child { padding-right:20px; }
.block7 th:last-child, .block7 td:last-child { padding-left:20px; }
.block7 th:before { font-size:14px; line-height:20px; width:20px; border-radius:20px; left:-10px; }
.block7 th:first-child:before { left:auto; right:-10px; }
  .block7 p { margin-top: 15px; }

.block8 { padding:25px 10px 1px 10px; }
.block8 h2 { font-size:20px; line-height:24px; padding-bottom:20px; }
.block8 .cf { width:auto; }
.block8 .cf img { width:100%; height:auto; }
.block8 .cf .each { width:auto; float:none; margin:0px 0px 20px 0px; }
.block8 .cf h3 { font-size:17px; padding:10px 5px; }
.block8 .cf span { margin:0px 10px 0px 10px; font-size:12px; padding:0px 0px 10px 0px; line-height:1.2em; }
.block8 .cf p { font-size:14px; line-height:1.7em; padding:10px 10px 15px 10px; min-height: auto; }

.block9 { width:auto; padding:20px 10px; }
.block9 .cf { border:#e4e4e4 solid 1px; width:auto; padding:15px 10px; }
.block9 .cf div { width:auto; float:none; }
.block9 th, .block9 td { vertical-align:top; font-size:12px; padding-bottom:10px; line-height:16px; }
.block9 th { font-size:13px; width:70px; }

  .block10 { width: auto; padding: 20px 10px; }
  .block10 img { max-width: 100%; }  
  .block10 h2 { margin-bottom: 40px; }
  
address { width:auto; padding:5px 10px; font-size:7px; }

.ptop { right:10px; width:35px; }
.ptop a { width:35px; height:35px; background-size:100% 100%; }
.only-pc { display: none; }
.only-sp { display: block; }
}

.orange { color: #ff6000; }