@charset "euc-jp";

/* init **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
*{ margin:0; padding:0; }
select option{ padding:0 5px; }
body{ color:#333; background:url(../images/bg.png) repeat; font:16px "¥Ò¥é¥®¥Î³Ñ¥´ Pro W3","Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo,"£Í£Ó £Ð¥´¥·¥Ã¥¯",Osaka,sans-serif; line-height:1.8; text-align:center; letter-spacing:normal; min-width:1140px;_display: inline;_zoom:1; }
h1 , h2 , h3 , h4 , h5 , h6 , address{ font-style:normal; font-weight:normal; font-size:100%; }
ul{ list-style-type:none; }
img{ border:0; vertical-align:bottom; }

table{ border-spacing:0; border:0; }
table th{ text-align:left; vertical-align:top; font-weight:normal; }
table td{ word-break:break-all; }

a:link , a:visited{ color:#004ead; text-decoration:underline; }
a:hover{ color:#3a92ff; text-decoration:underline; }

.floatR{ float:right; }
.floatL{ float:left; }

.alignL{ text-align:left; }
.alignR{ text-align:right; }
.alignC{ text-align:center; }

.fontSS{ font-size:12px; }
.fontS{ font-size:14px; }
.fontL{ font-size:20px; }
.fontLL{ font-size:24px; line-height:1.6; }

.tcR{ color:#ed2323; font-weight:bold; }
.tcB{ color:#004ad3; font-weight:bold; }

.str{ font-weight:bold; }
.strN{ font-weight:normal; }
.ilc{ font-style:italic; }
.uLine{ text-decoration:underline; }
.uLine2{ border-bottom:double medium #333; }
.waveLine{ background:url(../images/wave_line.png) repeat-x left bottom; padding-bottom:7px; }
.waveLineR{ background:url(../images/wave_line_red.png) repeat-x left bottom; padding-bottom:7px; }
.waveLineB{ background:url(../images/wave_line_blue.png) repeat-x left bottom; padding-bottom:7px; }
.marker{background-color:#fff600; }

.idt , .mailform li{ padding-left:1.0em; text-indent:-0.9em; }
.idtStr{ padding-left:1.0em; text-indent:-1.0em; }
.idtS{ padding-left:0.5em; text-indent:-0.4em; }

.spt5{ padding-top:5px; }
.spt10{ padding-top:10px; }
.spt15{ padding-top:15px; }
.spt20{ padding-top:20px; }
.spt25{ padding-top:25px; }
.spt30{ padding-top:30px; }
.spt35{ padding-top:35px; }

.spb5{ padding-bottom:5px !important; }
.spb10{ padding-bottom:10px !important; }
.spb15{ padding-bottom:15px !important; }
.spb20{ padding-bottom:20px !important; }
.spb25{ padding-bottom:25px !important; }
.spb30{ padding-bottom:30px !important; }
.spb35{ padding-bottom:35px !important; }

.smt5{ margin-top:5px; }
.smt10{ margin-top:10px; }
.smt15{ margin-top:15px; }
.smt20{ margin-top:20px; }
.smt25{ margin-top:25px; }
.smt30{ margin-top:30px; }
.smt35{ margin-top:35px; }
.smt40{ margin-top:40px; }
.smt45{ margin-top:45px; }
.smt50{ margin-top:50px; }

.smb5{ margin-bottom:5px !important; }
.smb10{ margin-bottom:10px !important; }
.smb15{ margin-bottom:15px !important; }
.smb20{ margin-bottom:20px !important; }
.smb25{ margin-bottom:25px !important; }
.smb30{ margin-bottom:30px !important; }
.smb35{ margin-bottom:35px !important; }
.smb40{ margin-bottom:40px !important; }
.smb45{ margin-bottom:45px !important; }
.smb50{ margin-bottom:50px !important; }

.sml20{ margin-left:20px; }
.sml30{ margin-left:30px; }
.sml50{ margin-left:50px; }
.sml70{ margin-left:70px; }

.smr10{ margin-right:10px; }
.smr20{ margin-right:20px; }
.smr30{ margin-right:30px; }
.smr50{ margin-right:50px; }
.smr70{ margin-right:70px; }
.smr80{ margin-right:80px; }

.rel{ position:relative; }
.abs{ position:absolute; }

p{ margin:0 70px 30px; }
p.spN{ margin-bottom:0px; }
p.spSS{ margin-bottom:5px; }
p.spS{ margin-bottom:10px; }
p.spL{ margin-bottom:40px; }
p.spLL{ margin-bottom:50px; }
p.lhN{ line-height:1.0; }

.shadow{ box-shadow:0px 0px 10px rgba(0,0,0,0.4); }


/* clearfix **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
/* For modern browsers */
.cf:before , .cf:after{ content:""; display:table; }
.cf:after{ clear:both; }

/* For IE 6/7 (trigger hasLayout) */
.cf{ zoom:1; } 


/* wrap **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.wrap{ width:1100px; margin:0 auto; position:relative; text-align:left; }
.header .wrap{ width:980px; }


/* header **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.header{ background:url(../images/header_bg.jpg) no-repeat center top; height:1973px; }



/* mailform **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.mailform{ background:url(../images/form_bg.png) no-repeat center top; width:958px; height:318px; margin:0 auto; position:relative; }
.mailform .gift{ position:absolute; top:-20px; left:-50px; }
.mailform ul{ text-align:left; line-height:1.4; margin:208px 0 0 75px; font-size:14px; }
.mailform .nam{ position:absolute; top:107px; left:174px; width:445px; height:33px; border:none; font-size:16px; }
.mailform .mai{ position:absolute; top:150px; left:174px; width:445px; height:33px; border:none; font-size:16px; }
.mailform .btn{ position:absolute; top:102px; left:630px; }


/* contents **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.contents{ background-color:#fff; border-radius:10px 10px 0 0; margin-top:-30px; padding-top:30px; }

.pv{ background:url(../images/bg_ptn1.jpg) repeat; border-radius:5px; border:solid 1px #fff; width:960px; height:540px; padding:10px; margin:0 auto 30px; }

.subhead{ height:258px; margin-bottom:30px; position:relative; }
.subhead img{ position:absolute; top:0px; left:-19px; }

.box{ margin:0 70px; }

.section1 .box{ padding:15px; margin-bottom:20px; box-shadow:0px 0px 8px rgba(0,0,0,0.2); border-radius:5px; }
.section1 .col1{ background-color:#e5ebf3; border:solid 1px #f8fcff; }
.section1 .col2{ background-color:#f8e6e6; border:solid 1px #fff8f8; }
.section1 .box .in{ background-color:rgba(255,255,255,0.80); box-shadow:0px 0px 8px rgba(0,0,0,0.2); padding:100px 15px 15px 15px; border-radius:10px; position:relative; }
.section1 .box h3{ position:absolute; top:-9px; left:-9px; }
.section1 .box .txt{ margin-bottom:15px; padding-left:10px; }
.section1 .box .photo{ float:right; margin:0 0 15px 20px; }
.section1 .box .msg1{ position:absolute; top:105px; left:785px; }
.section1 .box .msg2{ position:absolute; top:170px; left:760px; }
.section1 .box .ngt{ margin-top:-80px; }
.section1 .box .bn02{ position:absolute; top:85px; right:-25px; }
.section1 .box .bn03{ position:absolute; top:95px; right:130px; }
.section1 .box .bn06{ position:absolute; top:-30px; right:-25px; }
.section1 .box .cmt{ position:relative; background-color:#fff9e6; border:solid 1px #f2e6bf; padding:20px 20px 20px 55px; border-radius:10px; }
.section1 .box .cmt .point{ position:absolute; top:-10px; left:-25px; }

.section2 .pic1{ background:url(../images/sec2_pic01.jpg) no-repeat top right; margin-right:1px; }

.lesson{ background:#fff9e6 url(../images/lesson_bg.jpg) no-repeat center top; border-radius:10px; border:solid 1px #fff; margin-bottom:40px; padding:10px; }
.lesson .in{ background-color:rgba(255,255,255,0.60); border-radius:6px; padding:20px 0 0; }
.lesson dl{ margin:30px 40px; }
.lesson dt{ margin:25px 0 10px; }
.lesson dd{ background-color:rgba(255,255,255,0.9); padding:20px; border-radius:5px; border:solid 1px #fff; box-shadow:0px 0px 8px rgba(0,0,0,0.4); }

.tokuten{ background-color:#f5f1e6; margin-bottom:20px; padding:10px; }
.tokuten .in{ border:solid 2px #c5c1a6; padding:20px 20px 5px; }
.tokuten dl{ margin:0 20px 20px; }
.tokuten dt{ position:relative; }
.tokuten dt img{ position:absolute; top:-8px; left:-42px; }
.tokuten dd{ border-radius:6px; padding:100px 25px 15px 35px; line-height:1.6; background-color:#fff; box-shadow:0px 0px 5px rgba(0,0,0,0.2); }

.letter{ background:url(../images/bg_ptn2.png) repeat; margin-bottom:40px; border:solid 1px #fff; padding:0; position:relative; }
.letter .photo{ background:url(../images/letter_photo.jpg) no-repeat top right; }
.letter p{ margin:0 50px 30px; }
.letter .abs{ top:40px; right:-30px; }
.letter .pic1{ background:url(../images/letter_pic1.png) no-repeat center right; }

.profile{ background:url(../images/bg_ptn1.jpg) repeat; margin-bottom:30px; padding:10px; border-radius:10px; border:solid 1px #fff; }
.profile .in{ background-color:rgba(255,255,255,0.70); border-radius:3px; padding-top:30px; }
.profile p{ margin:0 30px 30px; }

.kankyo{ width:740px; margin:35px auto 0; }
.kankyo p{ margin:0; }
.kankyo .txtS{ font-size:12px; }
.kankyo ul , .kankyo ol{ margin-left:30px; margin-bottom:15px; }
.kankyo ul li{ list-style-type:disc; }
.kankyo table{ border-collapse:separate; border-spacing:1px; background-color:#cdcdcd; line-height:2; margin-bottom:15px; width:730px; font-size:14px; }
.kankyo table th , .kankyo table td{ border:1px solid #fff; padding:5px 10px; }
.kankyo table th{ font-weight:bold; background-color:#cdcdcd; width:200px; vertical-align:middle; }
.kankyo table td{ background-color:#fff; }

.kiyaku{ padding:20px; margin-top:40px; background-color:#f6f6f6; border-radius:3px; border:solid 1px #cdcdcd; font-size:12px; line-height:1.6; text-align:left; }
.kiyaku .ttl{ font-weight:bold; font-size:14px; text-align:center; }

.assist{ border:solid 1px#ccc; margin:0 70px 30px; padding:10px; font-size:14px; }
.assist p{ margin:0px; }


/* footer **********
///////////////////////////////////////////////////////////////////////////////////////////////*/
.footer{ background-color:#666; text-align:center; padding:20px 0; }

