@charset "Shift_JIS";

/*--          Common          --*/
body, h1, h2, h3, h4, h5, h6, div, p, ul, ol, li, img, form, input, menu{
margin:0;padding:0;
color:#333333;
font-family:"Osaka","ＭＳ Ｐゴシック",sans-serif;
}

li{list-style-type:none;}

img{border:0;}

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	visibility: hidden;
	clear: both;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}


/*--          Link          --*/
a:link{
color:#033fc1;
text-decoration:underline;
}
a:visited{
color:#033fc1;
text-decoration:underline;
}
a:hover{
color:#243143;
text-decoration:none;
}
a:active{
color:#243143;
text-decoration:none;
}

#sidenaviuserinfo a:link,#sidenavicontact a:link,#zemax-tem a:link{
color:#243143;
text-decoration:underline;
}
#sidenaviuserinfo a:visited,#sidenavicontact a:visited,#zemax-tem a:visited{
color:#243143;
text-decoration:underline;
}
#sidenaviuserinfo a:hover,#sidenavicontact a:hover,#zemax-tem a:hover{
color:#999999;
text-decoration:none;
}
#sidenaviuserinfo a:active,#sidenavicontact a:active,#zemax-tem a:active{
color:#999999;
text-decoration:none;
}

/*--          text          --*/
.txbold{
font-weight:bold;
}

.alignleft{
text-align:left;
}

.aligncenter{
text-align:center;
}

.alignright{
text-align:right;
}

.txmini{
font-size:10px;
}

.tx033fc1{
color:#033fc1;
}

.tx002357{
color:#002357;
}

.tx012478{
color:#012478;
}

.txff0000{
color:#ff0000;
}

/*--          space          --*/
.bspace8{
margin-bottom:8px;
}

.bspace10{
margin-bottom:10px;
}

.bspace16{
margin-bottom:16px;
}

.bspace32{
margin-bottom:32px;
}

/*--          Base          --*/
html{overflow-y: scroll;}

body{width:100%;text-align:center;background-color:#DFDFDF;}

#headerwrap{
width:100%;
text-align:center;
background:url(./image/usr/header_bg.gif) repeat-x;
}

#header{
width:800px;
height:76px;
margin:0 auto;
text-align:left;
position:relative;
top:0;
left:0;
}

#mainwrap{background-color:#DFDFDF;}

#main{
width:780px;
margin:0 auto;
text-align:left;
padding:4px 10px 30px 10px;
background-color:#FFF;
background:url(./image/usr/leftmenu_bg.gif) repeat-y;
}

#main1column{
width:780px;
margin:0 auto;
text-align:left;
padding:4px 10px 30px 10px;
background-color:#FFF;
}

#footer{
width:780px;
height:50px;
text-align:center;
margin: 0 auto;
padding:16px 10px 20px 10px;
clear:both;
background:url(./image/usr/footer_l.gif) no-repeat top center;
background-color:#FFF;
font-size:12px;
}


/*--          Logo          --*/
#temlogo{
width:164px;
height:38px;
position:absolute;
top:0;
right:10px;
}

#zemaxlogocaption{
width:780px;
height:32px;
position:absolute;
top:38px;
left:10px;
}

#zemaxlogo{
float:left;
width:170px;
}

#zemaxcaption{
float:left;
width:350px;
color:#FFF;
font-size:10px;
font-weight:normal;
position:absolute;
top:8px;
left:180px;
line-height:1.25em;
}


/*--          Gnavi          --*/
#gnaviwrap{
width:100%;
height:29px;
text-align:center;
background:url(./image/usr/gnavi_bg.gif) repeat-x;
}

#gnavi{
width:800px;
margin:0 auto;
text-align:left;
position: relative;
}

#gnavibutton{float:left;}

#gnavibutton ul{margin-left:10px;}

#gnavibutton li{float:left;}

#gnavicart{
float:right;
position:absolute;
top:-9px;
right:10px;
overflow: hidden;
}


/*--          Main_LeftNavi          --*/
#mainleftnavi{
width:160px;
background-color:#EDEDED;
float:left;
}

#sidenavisearch{
width:160px;
margin:0 auto;
background:url(./image/usr/lnavi_t_search.gif) top no-repeat;
}

#sidenavicategory{
width:160px;
margin:0 auto;
background:url(./image/usr/lnavi_t_category.gif) top no-repeat;
}

#sidenaviuserinfo{
width:160px;
margin:0 auto;
background:url(./image/usr/lnavi_t_user.gif) top no-repeat;
}

#sidenavicontact{
width:160px;
margin:0 auto;
background:url(./image/usr/lnavi_t_contact.gif) top no-repeat;
}

/* 検索 */
.sidenavitxt{
padding:40px 0 25px 6px;
font-size:12px;
}

.sidenavitxt FONT,.sidenavitxt2 FONT,.sidenavitxt3 FONT{font-size:12px;}

.sidenavitxt table{
margin:0;
padding:0;
}

.sidenavitxt td,.sidenavitxt3 td{vertical-align:middle;}

.sidenavitxt INPUT,.sidenavitxt3 INPUT{width:80px;}


/* カテゴリリスト */
.sidenavitxt2{
padding:40px 0 25px 6px;
font-size:12px;
}

.sidenavitxt2 table,.sidenavitxt2 td{
padding:0;
margin:0;
}

.category1 LI{
width:115px;
height:32px;
line-height:32px;
list-style-type:none;
margin-left:0px;
background:url(./image/usr/lnavi_category_bg.gif) no-repeat;
padding-left:30px;
text-align:left;
font-size:12px;
}

/* サブカテゴリあり */
.category2 LI{
width:100px;
height:32px;
line-height:32px;
list-style-type:none;
margin-left:15px;
background:url(./image/usr/lnavi_category_bg.gif) no-repeat;
padding-left:30px;
text-align:left;
font-size:12px;
}

/* 〜IE6　サブカテゴリあり */
* html .category2 LI{
width:93px;
height:32px;
line-height:32px;
list-style-type:none;
margin-left:-10px;
background:url(./image/usr/lnavi_category_bg.gif) no-repeat;
padding-left:30px;
text-align:left;
font-size:12px;
}

/* IE7 */
*:first-child+html .category1 LI{
width:115px;
height:auto;
line-height:32px;
list-style-type:none;
margin-left:0px;
background:url(./image/usr/lnavi_category_bg.gif) no-repeat;
padding-left:30px;
text-align:left;
font-size:12px;
}

*:first-child+html .category2 LI{
width:93px;
height:32px;
line-height:32px;
list-style-type:none;
margin-left:-10px;
background:url(./image/usr/lnavi_category_bg.gif) no-repeat;
padding-left:30px;
text-align:left;
font-size:12px;
}

/* ログイン */
.sidenavitxt3{
padding:40px 0 8px 11px;
font-size:12px;
}

.sidenavitxt3 table{
margin:0;
padding:0;
}

.sidenavitxt3 td{
margin:2px;
}

/* 会員登録 */
.sidenavitxt4{
padding:2px 2px 8px 10px;
font-size:12px;
line-height:80%;
}

/* 会員登録 トップ以降 */
.sidenavitxt8{
padding:44px 2px 8px 10px;
font-size:12px;
line-height:80%;
}



/* 購入履歴 */
.sidenavitxt5{
padding:2px 2px 6px 10px;
font-size:12px;
}

/* 送付先メンテナンス */
.sidenavitxt6{
padding:2px 2px 30px 10px;
font-size:12px;
}

/* お問い合わせ先 */
.sidenavitxt7{
padding:40px 0 0 10px;
font-size:12px;
}

.sidenavitxt7 p{
line-height:125%;
margin-bottom:18px;
}


/*--          Main_Contents          --*/
#maincontents{
width:610px;
margin:0;
float:right;
text-align:left;
}

.contentsspc{
margin-bottom:10px;
}

#topmainbutton li{
float:left;
}


/*　おすすめ商品　*/
#recommend{
width:608px;
border-left:solid 1px #999;
border-right:solid 1px #999;
border-bottom:solid 1px #999;
text-align:center;
}

#recommendgoods{
width:570px;
margin:10px auto;
font-size:12px;
text-align:left;
}

#recommendgoods .valignmiddle{
vertical-align:middle;
}

.recommendcomment{
margin:2px 0 14px 0;
line-height:140%;
}

.recommendcomment font{
font-size:14px;
}


/*　トピックス・リンクボタン　*/
#freemessage-linkbutton{
width:610px;
}

#freemessage{
float:left;
margin-top:1px;
}

#freemessageframe{
width:402px;
height:147px;
overflow:auto;
}

#freemessageframe table{
margin:0 auto;
width:380px;
}

#freemessageframe li{
list-style:url(./image/usr/icon_arrow_bl.gif);
list-style-position:outside;
font-size:12px;
line-height:120%;
margin:0 0 8px 10px;
padding:0;
}


#linkbutton{
float:right;
}

#linkbutton table,#linkbutton td{
margin:0;
padding:0;

}

#linkbutton td{
vertical-align:top;
}


/*　ZEMAX・TEM　*/
#zemax-tem{
width:610px;
}

#zemax-tem td{
vertical-align:top;
}

.zemaxtitle{
width:400px;
border-left:solid 1px #999;
border-right:solid 1px #999;
}

.temtitle{
width:202px;
border-left:solid 1px #999;
border-right:solid 1px #999;
}

.titlespace{
width:8px;
}

.zemaxtext{
width:400px;
border-left:solid 1px #999;
border-right:solid 1px #999;
border-bottom:solid 1px #999;
}

.zemaxtext p{
margin:10px;
font-size:12px;
line-height:140%;
}

.zemaxlinks{
text-align:right;
margin:10px;
font-size:12px;
}

.zemaxlinks img{
margin-left:8px;
margin-right:4px;
}

.temtext{
width:202px;
border-left:solid 1px #999;
border-right:solid 1px #999;
border-bottom:solid 1px #999;
font-size:13px;
}

.temlinks{
margin:10px 10px 0 10px;
pading:0;
}

.temlinks li{
margin:0 0 10px 0;
}

.temlinks img{
margin-right:4px;
}


/*　メーカーロゴ　*/
#makerlogo{
width:610px;
}

#makerlogo td{
background-color:#c8d3d5;
border:1px solid #999999;
}








/*--          Category_Goods          --*/
.pannavi{
font-size:12px;
width:608px;
margin-bottom:6px;
}

.categorytitle2column{
margin:1px 0 20px 0;
padding:0;
}

.categorytitle2column td{
margin:0;
padding:0 0 5px;
font-size:12px;
}


.categorytitle{
margin:15px 0 20px 0;
padding:0;
}

.categorytitle td{
margin:0;
padding:0 0 5px;
font-size:12px;
}

.sort{
width:608px;
}

.sort td{
text-align:left;
vertical-align:middle;
}


/*　商品カテゴリ一覧　*/
#category{
width:608px;
text-align:center;
}

#categorygoods{
width:570px;
margin:10px auto;
font-size:12px;
text-align:left;
}

#categorygoods .valignmiddle{
vertical-align:middle;
}

.categorycomment{
margin:2px 0 14px 0;
line-height:140%;
}

.categorycomment font{
font-size:12px;
}




/*--          layout_2column_message          --*/
#message440c{
width:440px;
margin:40px auto;
padding:80px 30px;
text-align:center;
border:solid 1px #999;
font-size:12px;
line-height:140%;
}

.pagebottombutton{
width:608px;
margin:10px auto;
text-align:center;
}


/*--          layout_2column_subcategory          --*/
.categorylisttitle{
margin:5px auto;
}

.categorylist{
margin:0 0 30px 0;
padding:0 10px;
font-size:12px;
}

.categorylist li{
list-style:url(./image/usr/icon_arrow_bl.gif);
list-style-position:inside;
font-size:12px;
line-height:120%;
margin:0 0 0 15px;
padding:0;
}


/*--          layout_2column_goodsdatail          --*/
.goodsdatailimg{
margin:15px auto 10px;
text-align:center;
}

.goodsdatailotherimg{
margin:0 auto 30px;
text-align:center;
}

#goodsdatail{
width:512px;
margin:0 auto 60px;
font-size:12px;
}

#goodsdatail td{
vertical-align:middle;
}

.goodsdatailinfo{
text-align:left;
margin:10px auto 10px auto;
}

.goodsdatailinfo .info{
padding:6px 0;
}

.goodsdatailinfo .point{
margin:8px 0 0 0;
}

.goodsdatailinfo td{
margin:0;
padding:0;
}

#goodsdatail p{
line-height:140%;
margin:16px 0 24px 0px;
}


#relategoods{
width:512px;
margin:20px auto 30px auto;
font-size:12px;
}

#relategoodstitle{
margin-bottom:10px;
}

#relategoods .valignmiddle{
vertical-align:middle;
}

.relategoodscomment{
margin:2px 0 14px 0;
line-height:140%;
}

.relategoodscomment font{
font-size:12px;
}


/*--          Main_Contents　カート以降1カラム          --*/
#maincontents1column{
width:702px;
margin:0 auto;
text-align:left;
}

#cartnavi{
width:641px;
margin:15px auto 30px;
}

.titlenonavi{
width:702px;
margin:15px auto 20px auto;
}

.pagebottombutton1column{
width:641px;
margin:10px auto;
text-align:center;
}

.pagebottombutton1column .valignmiddle{
vertical-align:middle;
}


/*--          layout_1column_message          --*/
#message520c{
width:520px;
margin:40px auto;
padding:80px 30px;
text-align:center;
border:solid 1px #999;
font-size:14px;
line-height:140%;
}

#errormessageframe{
width:520px;
margin:40px auto;
padding:40px 50px;
text-align:center;
border:solid 1px #999;
font-size:14px;
line-height:140%;
}



/*--          layout_1column_cart          --*/
#cartinfo{
width:500px;
margin:20px auto 40px;
font-size:12px;
}


/*--          layout_1column_SendInfoAssign          --*/
#sendinfo{
width:600px;
margin:0 auto;
font-size:12px;
text-align:left;
}

.sendinfotitle{
margin-bottom:5px;
}

.sendinfoinput{
margin-bottom:20px;
}

.sendinfoinput textarea{
width:600px;
}

.sendinfoloop{
border-bottom:1px dotted #CCC;
margin-bottom:14px;
}

/*--          layout_1column_PaymentChoice          --*/
.pointtitle{
margin-top:50px;
}

.pointinput{
margin-bottom:20px;
line-height:150%;
}

.pointinput b{
color:#F00;
}

/*--          layout_1column_FinalConfirm          --*/
.finalconfirmloop{
width:500px;
border-bottom:1px dotted #CCC;
margin-bottom:14px;
}


/*--          layout_1column_PaymentComplete          --*/
#completemessageframe{
width:520px;
margin:40px auto;
padding:50px 20px;
text-align:center;
border:solid 1px #999;
font-size:12px;
line-height:140%;
}

#completemessageframe table,#completemessageframe td{
text-align:center;
margin:0 auto;
}

#completemessageframe p{
margin-bottom:5px;
}

.query{
margin:20px auto 0 auto;
padding-top:10px;
border-top:solid 1px #CCC;
width:400px;
text-align:center;
}

.colorf00{
color:#F00;
margin-bottom:10px;
}

/*--          layout_1column_FaxOrder          --*/
#completemessageframe .faxorder{
margin-bottom:15px;
line-height:140%;
}

#faxsendinfo{
width:500px;
margin:0 auto;
font-size:12px;
text-align:left;
}


/*--          layout_1column_ScheduleFrom          --*/
#ordernumber{
width:600px;
margin:0 auto 15px;
}


/*--          layout_1column_2box          --*/
#boxframe{
width:640px;
margin:0 auto;
}

#boxframenobutton{
width:640px;
margin:0 auto 40px auto;
}

#boxleft{
width:312px;
height:280px;
float:left;
border:solid 1px #999;
padding:0 0 10px 0;
text-align:left;
}

#boxright{
width:312px;
height:280px;
float:right;
border:solid 1px #999;
padding:0 0 10px 0;
text-align:left;
}

#boxcenter{
width:640px;
border:solid 1px #999;
padding:0 0 10px 0;
text-align:center;
}

.orderinputbox table{
width:300px;
margin:0 auto;
text-align:left;
}

.box2orderinputbox table{
width:250px;
margin:0 auto;
text-align:left;
}

.boxtitle{
color:#2a2a2a;
font-weight:bold;
font-size:14px;
text-align:center;
padding:14px 0 10px 0;
margin:0 0 16px 0;
background:url(./image/usr/boxtitle_bg.gif) repeat-x #e5e5e5;
}

.boxtxtcenter{
padding:0 16px 0 16px;
font-size:12px;
line-height:140%;
text-align:center;
}

.boxtxtleft{
padding:0 16px 0 16px;
font-size:12px;
line-height:140%;
text-align:left;
}


/*--          layout_1column_UserRegist_Revise_MailForm          --*/
#inputformframe{
width:660px;
margin:20px auto;
padding:20px 10px;
text-align:left;
border:solid 1px #999;
font-size:12px;
line-height:140%;
}

#inputformframe table{
width:650px;
}

#inputformframe td{
white-space:normal;
}

.note{
font-size:12px;
line-height:140%;
}

.note span{
color:#F00;
}

table.LTCell{
width:650px;
}

/*--          layout_1column_MailForm          --*/
#mailquery{
width:400px;
margin:20px auto 0 auto;
padding-top:10px;
border-top:solid 1px #CCC;
}

#mailquery table{
width:360px;
margin:0 auto;
}


/*--          layout_1column_Memorial          --*/

#boxframenotitle{
width:640px;
margin:20px auto;
}

#memorialbox{
width:624px;
border:solid 1px #999;
padding:0 0 10px 0;
}

.memoralboxinner{
width:560px;
margin:0 auto;
}

.memoralboxinner textarea{
width:550px;
}




/*--          Html_aboutZemax          --*/
.gopagetop{
text-align:right;
font-size:12px;
margin:14px auto 0;
width:608px;
}

.htmlcontents{
width:600px;
margin:0;
padding:0;
}


.htmlcontentsimg{
vertical-align:top;
text-align:left;
}

.htmlcontentstxt{
text-align:left;
font-size:12px;
line-height:140%;
}

.htmlcontentstxt p{
margin-bottom:10px;
}

.htmlcontentslinetop{
height:8px;
vertical-align:bottom;
}

.htmlcontentsline{
height:1px;
}

.htmlcontentslist{
font-size:12px;
line-height:150%;
text-align:center;
padding:10px;
}

.htmlsubtitle{
width:608px;
height:34px;
text-align:left;
margin:20px 0 8px 0;
background:url(./image/usr/html_st_bg.gif) repeat-x;
line-height:34px;
}

.subtitletxt{
font-size:14px;
color:#243143;
font-weight:bold;
margin-left:10px;
}

.subtitlenote{
font-size:11px;
color:#333333;
margin-left:10px;
}

.htmltxt{
font-size:12px;
line-height:140%;
margin-bottom:5px;
}

.htmltxt2{
font-size:12px;
line-height:150%;
margin-bottom:10px;
}

.htmltxt th{
background-color:#5082bd;
color:#FFF;
text-align:center;
}

.htmltxt td{
background-color:#dfdfdf;
}

.htmltxt .tdwhite{
background-color:#FFF;
}

.compare{
width:600px;
}

.compare .th01{
background-color:#FFF;
width:182px;
}

.compare .th02{
background-color:#5082bd;
text-align:center;
color:#FFF;
font-weight:bold;
font-size:14px;
width:209px;
}

.compare .th03{
background-color:#20487b;
text-align:center;
color:#FFF;
font-weight:bold;
font-size:14px;
width:209px;
}


.compare .tdt01{
background-color:#97b1d4;
text-align:left;
color:#333;
font-weight:bold;
font-size:12px;
}

.compare .tdt02{
background-color:#dbe5f1;
text-align:left;
color:#333;
font-weight:bold;
font-size:12px;
}

.compare .tdtx01{
background-color:#dbe5f1;
text-align:left;
color:#333;
font-weight:normal;
font-size:12px;
}

.compare .tdtx02{
background-color:#f2f2f2;
text-align:left;
color:#333;
font-weight:normal;
font-size:12px;
}

.compare .tdicon{
width:20px;
}

.compare .tdtxt{
width:189px;
}

.tdlinkbutton{
text-align:right;
vertical-align:text-bottom;
}

.linkalignright{
text-align:right;
font-size:12px;
margin-bottom:4px;
}

.release{
border:solid 1px #CCC;
border-left:solid 4px #CCC;
padding:5px;
margin:0 2px 8px 0;
}

.positionmiddle{
margin-left:2px;
margin-bottom:4px;
vertical-align:middle;
}

.pricetable{
width:608px;
margin-top:10px;
}

.pricetable .packnamebase{
background-color:#ffffaa;
font-weight:bold;
color:#033fc1;
font-size:14px;
width:294px;
}


.pricetable .packnametxt{
color:#333;
font-weight:normal;
font-size:12px;
margin-left:5px;
}

.pricetable .packnametxtred{
color:#F00;
font-weight:bold;
font-size:12px;
margin-left:5px;
}

.pricetable .packnameicon{
background-color:#ffffaa;
width:20px;
}

.pricetable .packnameprice{
font-size:14px;
color:#333;
background-color:#ffffaa;
width:294px;
padding-left:10px;
font-weight:bold;
}

.pricetable .packnamelist{
font-size:14px;
color:#0099ff;
font-weight:bold;
}

.pricetable .rankimg{
margin:5px;
}

.pricetable .contactbutton{
margin-bottom:10px;
}

