@charset "UTF-8";

/* ========== common ========== */

body
{
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color: #000000;
font-size: 14px;
line-height: 1.75em;
word-wrap: break-word;

border-top:5px solid #365ca2;
}

a { color: #005bab; text-decoration: none; }
a:visited { color: #005bab; text-decoration: none; }
a:hover { color: #005bab; text-decoration: underline; }

br.clear-both, div.clear-both { clear:both; font: 1px/1px monospace; display: block; }
.left { float: left; }
.right { float: right; }

/* clearfix */
.clearfix:after {
display:block;
clear:both;
visibility:hidden;
height:0;
content:".";
}
.clearfix { display:inline-block; }
.clearfix { display:block; }
* html .clearfix { height:1%; }

/* iepng */
* html .iepng { behavior: expression(IEPNGFIX.fix(this)); }

/* margin */
.marginB0 	{margin-bottom:0;}
.marginB5 	{margin-bottom:5px;}
.marginB8 	{margin-bottom:8px;}
.marginB10 	{margin-bottom:10px;}
.marginB12 	{margin-bottom:12px;}
.marginB15 	{margin-bottom:15px;}
.marginB20 	{margin-bottom:20px;}
.marginB30 	{margin-bottom:30px;}
.marginB40 	{margin-bottom:40px;}
.marginB50 	{margin-bottom:50px;}
.marginB60 	{margin-bottom:60px;}
.marginL3 	{margin-left:3px;}
.marginL5 	{margin-left:5px;}
.marginL8 	{margin-left:8px;}
.marginL10 	{margin-left:10px;}
.marginL15 	{margin-left:15px;}
.marginL20 	{margin-left:20px;}
.marginL25 	{margin-left:25px;}
.marginL30 	{margin-left:30px;}
.marginL35 	{margin-left:35px;}
.marginT5 	{margin-top:5px;}
.marginT8 	{margin-top:8px;}
.marginT10 	{margin-top:10px;}
.marginT50 	{margin-top:50px;}
.marginLR5 {margin:0 5px;}
.marginR15 	{margin-right:15px;}
.marginR30 	{margin-right:30px;}

/* ========== CONTENTS ========== */
/* ----- COMMON ----- */
/* IMG LINK */
a img { background:none!important; }
a:hover img { opacity:0.6; filter:alpha(opacity=60); -ms-filter: "alpha( opacity=60 )"; background:none!important; }

.inner { display:block; width:970px; margin: 0 auto 0 auto; position:relative; }
.center { text-align:center; }
.strong { font-weight:bold; }
/*.notice { color:#F00; }*/

sup { font-size: 75.5%; vertical-align: top; position: relative; top: -0.2em; }

/* ========== HEADER ========== */
header { display:block; width:970px; height:100px; margin:0 auto; padding:15px 0 0; position:relative; }
header .tagline { font-size:11px; font-weight:bold; }
header .link { font-size:10px; display:block; position:absolute; top:15px; left:625px; }
header .tel { display:block; position:absolute; top:45px; left:625px; }
header .contact { display:block; position:absolute; top:45px; right:0; }
header .tel img, header .contact img { display:block; }

/* ========== ARTICLE ========== */
article { display:block; width:970px; margin:0 auto; position:relative; }
.message { font-size:12px; line-height:1.5em; display:block; text-align:center; width:780px; margin:0 auto 25px; padding:10px 0; border:1px solid #191919; }

/* ========== NAV ========== */
nav {}
nav ul {}
nav ul a { color:#000000; font-size:17px; font-weight:bold; text-align:center; background:url(../images/bg_nav_off.png) repeat-x; display:block; float:left; width:193px; height:45px; padding-top:20px; margin-bottom:35px; border-right:1px solid #fff; }
nav ul #g05 a { width:194px; height:55px; padding-top:10px; border-right:none; }
nav ul a:visited { color:#000000; }
nav ul a:hover { color:#fff; background:url(../images/bg_nav_on.png) repeat-x; text-decoration: none; }

/* ========== S00 ========== */
#s00 {}
#s00 .catch { font-size:30px; font-weight:bold; line-height:1.5em; letter-spacing:-0px; text-align:center; margin-bottom:20px; }
#s00 .catch span { font-size:25px; font-weight:bold; }
#s00 .mv { background:url(../images/mv.png) no-repeat; display:block; height:514px; position:relative; padding:30px 0 0; }
#s00 .mv .mvcatch { color:#fff; font-size:27px; font-weight:bold; text-align:center; margin-bottom:25px; }
#s00 .mv h1 { color: #fff; font-size: 57px; font-weight: bold; text-align:center; text-shadow: 5px 5px 5px rgba(0,0,0,0.4); }
#s00 .mv .titlecatch { color:#fff; font-size:22px; font-weight:bold; background:#000; display:inline-block; /*width:690px;*/ padding:8px 20px 8px 20px; position:absolute; top:393px; left:45px; }
#s00 .mv .title { color:#fff; font-size:40px; font-weight:bold; line-height:1em; position:absolute; bottom:15px; left:45px; }
#s00 .mv .title span { font-size:30px; font-weight:bold; }

#s00 #s00_reason { background:url(../images/bg_0.png) repeat-x 0 bottom; height:424px; }
#s00 #s00_reason .inner { padding-top:40px; }
#s00 h2 { font-size:55px; font-weight:bold; position:absolute; top:15px; left:120px; }
#s00 .reason { display:block; width:970px; height:130px; position:relative; margin:0; }
#s00 .reason .num { color:#008077; font-size:100px; font-weight:bold; line-height:1em; display:block; position:absolute; top:-10px; left:25px; }
#s00 .reason .tx { font-size: 17px; font-weight: bold; position:absolute; top:70px; left:120px; }
#s00 .reason .tx span { font-size: 10px; }
#s00 .reason .img { position:absolute; bottom:30px; left:745px; }

/* ========== about ========== */
#about, #about .txt, #about .img { display: block; }
#about { padding: 20px; margin-bottom: 35px; }
#about h3 { color: #fff; font-size: 30px; font-weight: bold; background: url(../images/bg_hd.png) repeat-x; display: block; text-align: center; height: 35px; padding-top: 12px; margin-bottom: 20px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; }
#about .txt { float: left; width: 525px;  }
#about .img { background: url(../images/img_0_4.jpg) no-repeat; float: right; width: 402px; height: 258px; position: relative; }
#about .img p { font-size: 9px; line-height: 1.75em; position: absolute; left: 0; bottom: 0; }

section { position: relative; }
.cap { font-size: 9px; line-height: 1.75em; }
.txal_ri { text-align: right; }

#s01, #s02 { margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #040000; }
#s03 { margin-bottom: 50px; }

.line_left { padding: 100px 0 0 12px; border-left: 8px solid #b2b2b2; position: relative; }
.line_left h2 { font-size: 56px; font-weight: bold; display: block; height: 143px; padding: 25px 0 0 100px; position: absolute; top: 0; left: -8px; }
#s01 .lead, #s02 .lead, #s03 .lead { font-size: 18px; font-weight: bold; margin-bottom: 15px; }
#s01 .catch, #s02 .catch, #s03 .catch { color: #008077; font-size: 30px; font-weight: bold; margin-bottom: 25px; }

/* ========== S01 ========== */
#s01 {}
#s01 .line_left h2 { background: url(../images/bg_number1.png) no-repeat; }
#s01 .w625l { display: block; width: 625px; padding-right: 325px; margin-bottom: 50px; position: relative; }
#s01 .w625l .img_1_1 { display: block; position: absolute; top: -130px; left: 450px; }
#s01 .w625l .img_1_2 { display: block; width: 261px; position: absolute; top: -130px; right: 0; }
#s01 .w625l .img_1_2 img { margin: 0 0 0 24px; }
#s01 dl, #s01 dd, #s01 dt { display: block; position: relative; }
#s01 dd { float: left; width: 286px; }
#s01 dt { float: right; width: 625px; margin-bottom: 50px; }
#s01 dd .img_1_3, #s01 dd .img_1_4 { display: block; width: 286px; position: absolute; }
#s01 dd .img_1_3 { top: -45px; left: 0; }
#s01 dd .img_1_4 { top: 260px; left: 0; }
#s01 .youtube { display: block; text-align: center; }

/* ========== S02 ========== */
#s02 {}
#s02 .line_left h2 { background: url(../images/bg_number2.png) no-repeat; }
#s02 .diagram, #s02 .diagram dd, #s02 .diagram dt { display: block; }
#s02 .diagram { margin-bottom: 30px; }
#s02 .diagram dd { float: left; width: 467px; }
#s02 .diagram dd .title { font-weight: bold; }
#s02 .diagram dd .title span { color: #008077; font-weight: bold; }
#s02 .diagram dt { float: right; width: 465px; }
#s02 .beforeafter, #s02 .beforeafter dd, #s02 .beforeafter dt { display: block; }
#s02 .beforeafter { background: #edf2ed; padding: 30px 0 5px 0; margin-bottom: 30px; position: relative; }
#s02 .beforeafter img { display: block; }
#s02 .beforeafter dd { float: left; width: 455px; padding-left: 20px; }
#s02 .beforeafter dd .cap { display: block; width: 135px; position: absolute; top: 30px; left: 320px; }
#s02 .beforeafter dt { float: right; width: 455px; padding-left: 20px; }
#s02 .option, #s02 .option dd, #s02 .option dt { display: block; }
#s02 .option { border: 1px solid #000000; position: relative; }
#s02 .option .title { font-weight: bold; background: #e5e5e5; display: block; padding: 0 10px; border-right: 1px solid #000000; border-bottom: 1px solid #000000; position: absolute; top: 0; left: 0; }
#s02 .option dd { float: left; width: 500px; padding: 50px 0 20px 20px; }
#s02 .option dd .op_catch { font-size: 20px; font-weight: bold; line-height: 1.5em; margin-bottom: 20px; }
#s02 .option dd .op_catch span { font-size: 22px; font-weight: bolder; }
#s02 .option dt { float: right; width: 380px; padding: 20px 20px 20px 0; }

/* ========== S03 ========== */
#s03 {}
#s03 .line_left h2 { background: url(../images/bg_number3.png) no-repeat; }
#s03 .effect, #s03 .effect dd, #s03 .effect dt { display: block; position: relative; }
#s03 .effect { margin-bottom: 15px; }
#s03 .effect dd { float: left; width: 515px; }
#s03 .effect dd .cap { display: block; width: 160px; position: absolute; bottom: 0; right: 0;}
#s03 .effect dt { float: right; width: 405px; padding: 90px 0 0; }
#s03 .effect dt .img_3_1 { position: absolute; top: -150px; left: 0; }
#s03 .test { display: block; padding: 20px; border: 1px solid #000000; }
#s03 .t1, #s03 .t1 dd, #s03 .t1 dt { display: block; }
#s03 .t1 { margin-bottom: 15px; }
#s03 .t1 dd { float: left; }
#s03 .t1 .d1 { width: 360px; padding-right: 20px; }
#s03 .t1 .d2 { width: 129px; }
#s03 .t1 dd.d1 .title { font-size: 19px; font-weight: bold; }
#s03 .t1 dd.d1 .supple { font-size: 12px; font-weight: bold; margin-bottom: 10px; }
#s03 .t1 dd.d1 .txt { font-size: 10px; line-height: 1.75em; }
#s03 .t1 dt { float: right; width: 370px; }
#s03 .t1 dt { font-size: 12px; line-height: 1.75em; }
#s03 .t2, #s03 .t2 dd, #s03 .t2 dt { display: block; }
#s03 .t2 dd { float: left; }
#s03 .t2 .d1 { width: 393px; padding-right: 20px; }
#s03 .t2 .d2 { width: 350px; }
#s03 .t2 dd table { width: 100%; border-top: 1px solid #000000; border-left: 1px solid #000000; }
#s03 .t2 dd table th, #s03 .t2 dd table td { border-bottom: 1px solid #000000; border-right: 1px solid #000000; }
#s03 .t2 dd table th { font-size: 10px; background: #d9e6e3; text-align: center; }
#s03 .t2 dd table td { font-size: 10px; text-align: center; }
#s03 .t2 dd table td.const { text-align: left; padding-left: 3px; }
#s03 .t2 dd table td.yellow { background: #ffff00; }
#s03 .t2 dt { float: right; width: 130px; }

/* ========== S04 ========== */
#s04 ,#s05 { background: url(../images/dot_green.png) repeat-x 0 22px; }
#s04 h2, #s05 h2 { color: #fff; font-size: 30px; font-weight: bold; background: #008077; display: inline-block; padding: 10px 25px; }

#s04 { margin-bottom: 10px;}
#s04 dl, #s04 dd, #s04 dt { display: block; }
#s04 dd { float: left; width: 455px; padding: 40px 0 0 20px; }
#s04 dd .catch { font-size: 18px; font-weight: bold; padding-bottom: 10px; }
#s04 dd .title { color: #008077; font-size: 30px; font-weight: bold; padding-bottom: 15px; }
#s04 dt { float: right; }
#s04 dt img { display: block; margin-bottom: 10px; }

/* ========== S05 ========== */
#s05 { margin-bottom: 10px;}
#s05 h2 { margin-bottom: 35px; }
#s05 h3 { color: #008077; font-size: 30px; font-weight: bold; padding: 0 0 50px 20px; }
#s05 dl, #s05 dd, #s05 dt { display: block; }
#s05 dd { float: left; width: 400px; padding: 0 0 0 20px; }
#s05 dt { background: url( ../images/img_5_2bg.jpg) no-repeat 0 0; float: right; width: 527px; height: 80px; padding-top: 544px; position: relative; }
#s05 dt img { display: block; position: absolute; }
#s05 dt .btn1 { top: 1px; left: 182px; }
#s05 dt .btn2 { top: 0; right: 0; }
#s05 dt .btn3 { top: 73px; right: 0; }
#s05 dt .btn4 { top: 375px; left: 0; }
#s05 dt .btn5 { top: 375px; right: 0; }

/* ========== FT ========== */
#ft { margin-bottom:20px; }
#ft .inner { padding-top:45px; border-top:1px solid #989898; }
#ft dl { display:block; margin-bottom:20px; }
#ft dl dt { float:left; }
#ft dl dd { float:right; padding-top:80px; }
#ft dl img { display:block; }

#ft .contact { font-size:19px; line-height:1.5em; font-weight:bold; text-align:center; display:block; background: url(../images/bg_ft.png) repeat-x; height:67px; padding:15px 0 0; margin-bottom:25px; }
#ft .comname { font-size:24px; font-weight:bold; text-align:center; display:block; }
#ft .comname span { font-size:19px; font-weight:normal; }
#ft .cominfo { font-size:17px; text-align:center; display:block; } 

/* ========== FOOTER ========== */
footer { display:block; background:url(../images/bg_footer.png) repeat-x; }
footer { padding:35px 0; }
footer dl {}
footer dl dt { float:left; }
footer dl dd { float:right; }

footer dl dt .tagline { color:#727171; font-size:10px; }
footer dl dt img { display:block; }
footer dl dd { font-size:10px; line-height:1.5em; text-align:right; }

.btn_pagetop {}
.btn_pagetop a { background: url(../images/btn_pagetop.png) no-repeat; display: block; text-indent: -9999px; width: 46px; height: 47px; position: fixed; bottom: 10px; right: 10px; }