@charset "utf-8";

/* ----------------------------------------------------------
common_element
----------------------------------------------------------- */

a.tel{
	cursor: default;
	color: #000000;	
}

body{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	color: #000000;
	background: #ffffff;
}

.all_wrap{
	position: relative;
	overflow: hidden;
	min-height: 100%;
}

.gecko img,.gecko input[type="image"]{
	background: rgba(255, 255, 255, 0.01);	
}

input[type="submit"]{
	cursor: pointer;	
}

.loading{
	z-index: 20000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 200%;
	background: #ffffff;
}

.blue_link{
	color: #0099cc !important;	
}

.gray_link{
	color: #999999 !important;
}

.feed_back{
	margin: 0 0 40px 0;	
}

.feed_back .common_title01:after{
	background: #cfdae6 !important;
}

.feed_back_content{
	margin: 15px 0 0 0;	
}

.feed_back_content textarea{
	background: #ffffff;
	border: 1px solid #e6e6e6;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	height: 80px;
}

.feed_back_content h3{
	font-size: 109%;
	margin: 0 0 10px 0;	
}

.bt_feed_back{
	width: 84px;
	height: 24px;
	color: #ffffff;
	background: #666666;
	-moz-box-shadow:0px 2px 0px #333333;
    -webkit-box-shadow:0px 2px 0px #333333;
    box-shadow:0px 2px 0px #333333;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	border: none;
	display: block;
	margin: 10px auto 0 auto;
}

.bt_feed_back:hover{
	background: #333333;
}

/* ----------------------------------------------------------
header
----------------------------------------------------------- */

header{
	z-index: 9999;
	position: relative;
}

header h1{
	background: url(../img/header_bg.jpg);	
}

header nav.main_nav{
	background: url(../img/header_nav_bg.jpg);	
}

header nav.main_nav a{
	color: #ffffff;
	text-decoration: none !important;
}

header nav.main_nav li{
	letter-spacing: 0.025em;	
}

header nav.main_nav li.active .nav_title a{
	-ms-filter: "alpha(opacity=50)" !important;
	-khtml-opacity: 0.5 !important;
	filter: alpha(opacity=50) !important;
	-moz-opacity: 0.5 !important;
	opacity: 0.5 !important;	
}

header nav.main_nav ul.main_sub_nav_list li.active a{
	-ms-filter: "alpha(opacity=50)" !important;
	-khtml-opacity: 0.5 !important;
	filter: alpha(opacity=50) !important;
	-moz-opacity: 0.5 !important;
	opacity: 0.5 !important;	
}

/* ----------------------------------------------------------
footer
----------------------------------------------------------- */

footer{
	position: relative;
	overflow: hidden;	
}

.footer_content a{
	color: #ffffff;	
}

.footer_logo img{
	width: 175px;	
}

footer .pageup img{
	width: 73px;
	height: 17px;
}

/* ----------------------------------------------------------
.main .main_sub
----------------------------------------------------------- */

a.common_link01{
	display: inline-block;
	color: #999999;
	padding: 0 0 0 11px;
	background: url(../img/common_link01.jpg) no-repeat 2px center;
}

/* ----------------------------------------------------------
.main_wrap
----------------------------------------------------------- */

.main_wrap{
	position: relative;	
}

/* ----------------------------------------------------------
.common_title
----------------------------------------------------------- */

.main .main_sub .common_title01{
	border-bottom: none !important;	
}

/* ----------------------------------------------------------
input
----------------------------------------------------------- */

input[type="text"]{
	border: 1px solid #e6e6e6;	
	background: #f7f7f7;
	height: 32px;
	padding: 5px 10px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

textarea{
	width: 100%;
	border: 1px solid #e6e6e6;	
	background: #f7f7f7;
	padding: 5px 10px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;      
}

.works_common_wrap p.text{
	font-size: 109%;
    line-height: 24px;
}

.works_common_wrap p.checktext{
	font-size: 117%;
	margin: 20px 0;
	line-height: 24px;	
	color: #666666;
}

/* ----------------------------------------------------------
.all_wrap
----------------------------------------------------------- */

.all_wrap{
	padding-top: 0px !important;	
}

/* ----------------------------------------------------------
header
----------------------------------------------------------- */

header h1{
	position: relative;
	text-align: center;
	height: 134px;	
}

header h1 img{
	position: absolute;
	top: 40px;
	left: 50%;
	margin: 0 0 0 -178px;
	width: 356px;
	height: 49px;
}

header nav.main_nav{
	letter-spacing: -4px;
	text-align: center;
	height: 46px;
}

header nav.main_nav li.main_nav_list{
	line-height: 46px;
	display: inline-block;
	margin: 0 20px;
}

header nav.main_nav li.main_nav_list .nav_title a{
	display: block;
	line-height: 46px;
}

/* ----------------------------------------------------------
.main
----------------------------------------------------------- */

.main{
	padding: 0 0 200px 0;	
}

.main_inner{
	padding: 40px 0 0 0;
	margin: 0 auto;
	width: 950px;
}

/* ----------------------------------------------------------
.main_wrap
----------------------------------------------------------- */

.main_wrap{
	position: relative;	
}

/* ----------------------------------------------------------
.main .main_content
----------------------------------------------------------- */

.main .main_content{
	float: right;
	width: 680px;	
}

/* ----------------------------------------------------------
.main_sub
----------------------------------------------------------- */

.main .main_sub{
	float: left;
	width: 210px;
}

/* .main_sub_nav */

.main .main_sub .main_sub_nav{
	margin: 0 0 75px 0;
}

.main .main_sub .main_sub_nav li{
	margin: 0 0 15px 0;	
}

.main .main_sub .main_sub_nav li a{
	text-decoration: none !important;
	display: inline-block;
	padding: 0 0 0 12px;
	background: url(../img/main_sub_nav_a01.jpg) no-repeat left center;
}

.main .main_sub .main_sub_nav li a:hover{
	color: #b3b3b3;
	background: url(../img/main_sub_nav_a02.jpg) no-repeat left center;
}

.main .main_sub .main_sub_nav li a.active{
	color: #b3b3b3;
	background: url(../img/main_sub_nav_a02.jpg) no-repeat left center;
}

/* .topics */

.main .main_sub .topics{
	
}

.main .main_sub .topics ul li{
	margin: 0 0 30px 0;	
}

.main .main_sub .topics dl dt{
	font-size: 109%;
	line-height: 18px;
	margin: 15px 0 10px 0;
}

.main .main_sub .topics dl dd{
	line-height: 18px;
	color: #666666;
}

.main .main_sub .topics p.bottom_link{
	margin: 10px 0 0 0;
}

/* ----------------------------------------------------------
footer
----------------------------------------------------------- */

footer{
	color: #ffffff;	
}

footer .sns_area{
	letter-spacing: -4px;
	text-align: right;
	width: 950px;
	margin: 0 auto 20px auto;	
}

footer .sns_area li{
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0 13px;
}

footer .footer_content_wrap{
	padding: 26px 0 33px 0;
	background: url(../img/footer_bg.jpg);	
}

footer .footer_content{
	position: relative;
	width: 950px;
	margin: 0 auto;	
}

footer .footer_in01{
	letter-spacing: -4px;
}

footer .footer_link_list{
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	margin: 0 22px 0 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

footer .footer_link_list.link_list01{
	min-width: 50px;
}

footer .footer_link_list.link_list02{
	min-width: 140px;
}

footer .footer_link_list.link_list03{
	min-width: 120px;
}

footer .footer_link_list.link_list04{
	min-width: 120px;
}

footer .footer_link_list.link_list05{
	min-width: 120px;
}

footer .footer_link_list.link_list06{
	min-width: 100px;
}

.footer_logo{
	margin: 35px 0 0 0;
	text-align: center;	
}

footer .footer_link_list .link_title{
	height: 12px;
	padding: 0 0 11px 3px;
	background: url(../img/img_border01.png) repeat-x bottom;	
}

footer .footer_link_list ul{
	padding: 10px 0 0 3px;
}

footer .footer_link_list ul li{
	line-height: 24px;	
}

footer p.copyright{
	text-align: center;
	padding: 14px 0 0 0;
	font-size: 92%;
	line-height: 18px;
	font-family: "Times New Roman", Times, serif;
}

footer .pageup{
	position: absolute;
	top: 0;
	right: 0px;
}

/* ----------------------------------------------------------
common_title
----------------------------------------------------------- */

.common_title01{
	border-bottom: 1px solid #e5e5e5;
	position: relative;
	padding: 0 0 23px 23px;
	font-size: 92%;
	font-family:"Times New Roman", Times, serif;
}

.common_title01:after{
	content: "";
	top: 4px;
	left: 0;
	position: absolute;
	width: 15px;
	height: 3px;
	background: #e6e6e6;
}

.common_title02{
	border-bottom: 1px solid #e5e5e5;
	position: relative;
	padding: 0 0 16px 23px;
	font-size: 134%;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.common_title02:after{
	content: "";
	top: 6px;
	left: 0;
	position: absolute;
	width: 15px;
	height: 3px;
	background: #e6e6e6;
}

.common_title03{
	border-bottom: 1px dotted #e5e5e5;
	position: relative;
	padding: 0 0 23px 3px;
	font-size: 92%;
	font-family:"Times New Roman", Times, serif;
}

/* ----------------------------------------------------------
.page_title
----------------------------------------------------------- */

.page_title{
	background: #f3f3f3;
	height: 80px;
}

.page_title span{
	position: relative;
	display: block;
	font-size: 167%;
	letter-spacing: 0.05em;
	line-height: 80px;
	width: 950px;
	margin: 0 auto;
}

/* ----------------------------------------------------------
ul.bread
----------------------------------------------------------- */

ul.bread{
	letter-spacing: -4px;
	text-align: right;
	position: absolute;
	width: 950px;
	left: 50%;
	top: 34px;
	margin: 0 0 0 -475px;
}

ul.bread li{
	display: inline-block;
	letter-spacing: 0.05em;
}

ul.bread li a{
	color: #999999;
}

ul.bread li.sep{
	margin: 0 4px;
	color: #999999;
}

/* ----------------------------------------------------------
.outline
----------------------------------------------------------- */

.outline{
	margin: 0 0 0 0;
}

.outline_list{
	padding: 20px 0 0 0;	
}

.outline_list h3{
	font-size: 150%;
	line-height: 28px;	
}

.outline_list ul{
	margin: 22px 0 0 0;
	width: 720px;
	letter-spacing: -4px;	
}

.outline_list ul li{
	display: inline-block;
	vertical-align: top;
	width: 204px;
	margin: 0 32px 26px 0;
}

.outline_list ul li figure{
	overflow: hidden;
	width: 202px;
	height: 134px;
	border: 1px solid #ecf0f5;
}

.outline_list ul li dl{
	
}

.outline_list ul li dl dt{
	font-size: 134%;
	line-height: 20px;
	letter-spacing: normal;
	margin: 18px 0 0 0;
}

.outline_list ul li dl dd{
	margin: 9px 0 0 0;
	color: #666666;
	font-size: 109%;
	letter-spacing: normal;
	line-height: 20px;
}

/* ----------------------------------------------------------
.works_common
----------------------------------------------------------- */

.works_common_wrap{
	padding: 35px 0;	
}

.works_common_wrap.detail{
	padding: 15px 0 35px 0;	
}

.works_common_wrap p.lead{
	font-size: 124%;
	line-height: 36px;
	color: #666666;
}

.works_common_wrap ul.work_list{
	padding: 35px 0 0 0;	
	letter-spacing: -4px;
	width: 740px;
}

.works_common_wrap ul.work_list li{
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 324px;
	margin: 0 32px 32px 0;
}

.works_common_wrap ul.work_list li figure{
	height: 216px;	
}

.works_common_wrap ul.work_list li p{
	margin: 20px 0 0 0;
	font-size: 109%;
}

.works_common_wrap .work_photo_wrap{
	margin: 50px 0 0 0;
}

.works_common_wrap ul.work_photo{
	letter-spacing: -4px;
}

.works_common_wrap ul.work_photo li{
	display: inline-block;
	vertical-align: top;
	margin: 0 12px 12px 0;
}

.works_common_wrap ul.work_photo_text{
	margin: 20px 0 0 0;	
}

.works_common_wrap ul.work_photo_text li{
	font-size: 109%;
	line-height: 24px;
	color: #000000;
}

.works_common_title01{
	font-size: 117%;
	line-height: 24px;
	margin: 0 0 30px 0;
	padding: 0 0 0 4px;
}

.works_common_title01{
	font-size: 117%;
	line-height: 24px;
	margin: 0 0 30px 0;
	padding: 0 0 0 4px;
}

/* ----------------------------------------------------------
.works_common_wrap .book_content
----------------------------------------------------------- */

.works_common_wrap .book_content{
	display: table;
	width: 100%;
	margin: 32px 0 32px 0;
}

.works_common_wrap .book_content .text{
	display: table-cell;
	vertical-align: top;
	padding: 0 0 0 30px;
}

.works_common_wrap .book_content .text .price{
	font-size: 117%;
	line-height: 24px;
	padding: 10px 3px;
	border-bottom: 1px dotted #e6e6e6;
}

.works_common_wrap .book_content .text .explain{
	padding: 15px 3px 0 3px;
	font-size: 117%;
	line-height: 24px;
}

.works_common_wrap .book_content .image{
	display: table-cell;
	vertical-align: top;
	width: 360px;
}

.works_common_wrap .book_content .image .bx-pager{
	margin: 20px 0 0 0;
	text-align: center;
	letter-spacing: -4px;	
}

.works_common_wrap .book_content .image .bx-pager .bx-pager-item{
	letter-spacing: normal;
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 9px;
}

.works_common_wrap .book_content .image .bx-pager .bx-pager-item a{
	display: block;
	width: 6px;
	height: 6px;
	background: url(../img/pagenation_on.jpg) no-repeat;
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
}

.works_common_wrap .book_content .image .bx-pager .bx-pager-item a.active{
	background: url(../img/pagenation_off.jpg) no-repeat;
}

/* ----------------------------------------------------------
.works_common_wrap .book_content
----------------------------------------------------------- */

.works_common_wrap .ad_area{
	display: table;
	width: 100%;	
}

.works_common_wrap .ad_area .image{
	display: table-cell;
	vertical-align: top;
	width: 300px;
}

.works_common_wrap .ad_area .text{
	display: table-cell;
	vertical-align: top;
	/*padding: 0 0 0 30px;*/
	font-size: 117%;
	line-height: 24px;
}

/* ----------------------------------------------------------
.common_gray_box
----------------------------------------------------------- */

.common_gray_box{
	padding: 28px 34px;
	border: 3px solid #f2f2f2;
	background:url(../img/common_gray_box_bg.jpg);
}

.common_gray_box p{
	font-size: 117%;
	line-height: 24px;
}

.common_gray_box dl{
	display: table;
	width: 100%;
	margin: 0 0 25px 0;
}

.common_gray_box dl.last{
	margin: 0px;
}

.common_gray_box dl dt{
	display: table-cell;
	vertical-align: top;
	width: 90px;
	font-size: 117%;
	line-height: 24px;
}

.common_gray_box dl dd{
	display: table-cell;
	vertical-align: top;
	font-size: 117%;
	line-height: 24px;
	color: #666666;	
}

/* ----------------------------------------------------------
.btn_area
----------------------------------------------------------- */

.btn_area{
	margin: 30px 0 0 0;
}

.btn_area .btn_wrap{
	display: inline-block;
}

.btn_area a.btn01{
	display: table;
	height: 46px;
	text-decoration: none !important;
}

.btn_area .btn01 span{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 210px;
	padding: 0 10px;
	color: #ffffff;
	background: #3380cc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
    -moz-box-shadow: 0px 2px 0px #1b5199;
    -webkit-box-shadow: 0px 2px 0px #1b5199;
    box-shadow: 0px 2px 0px #1b5199;
}

.btn_area .btn01 span:hover{
	background: #1b5199;
	-moz-box-shadow: 0px 2px 0px #1b5199;
    -webkit-box-shadow: 0px 2px 0px #1b5199;
    box-shadow: 0px 2px 0px #1b5199;	
}

.btn_area input.type01{
	text-align: center;
	color: #ffffff;
	border: none;
	width: 218px;
	height: 39px;
	background: #000000;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin: 0 10px;
}

.btn_area input.type01.return{
	background: #626262;	
}

/* ----------------------------------------------------------
.common_table
----------------------------------------------------------- */

.common_table{
	margin: 30px 0 0 0;
	border-top: 1px solid #f1f1f1;
	border-left: 1px solid #f1f1f1;
	border-right: 1px solid #f1f1f1;
}

.common_table .table_tr{
	display: table;
	width: 100%;
	border-bottom: 1px solid #f1f1f1;	
}

.common_table .table_th{
	font-size: 109%;
	display: table-cell;
	border-right: 1px solid #f1f1f1;	
	vertical-align: middle;
	width: 168px;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.common_table .table_td{
	font-size: 109%;
	display: table-cell;
	vertical-align: middle;
	padding: 15px 40px 15px 74px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

input[type="text"].long01{
	width: 320px;
}

input[type="text"].long02{
	width: 90px;
}

select.select01{
	width: 120px;
}

.common_table .table_td .space{
	margin: 0 10px;
}

.common_table .table_tr.check .table_td{
	background: url(../img/contact_check.jpg) no-repeat 28px 23px;
}

.confirm .common_table .table_tr.check .table_td{
	background: url(../img/contact_check.jpg) no-repeat 28px 18px;
}

.form_block{
	margin: 0 0 10px 0;	
}

.form_block.last{
	margin: 0 0 0px 0;	
}

.table_tr.hankaku_number .form_block:after{
	content: "半角英数";
	font-size: 14px;
	color: #268fd0;
	margin: 10px 0 0 0;
}

.table_tr.hankaku_mail .form_block:after{
	content: "半角英数";
	font-size: 14px;
	color: #268fd0;
	margin: 10px 0 0 0;
}

/* ----------------------------------------------------------
.common_table02
----------------------------------------------------------- */

.common_table02{
	margin: 30px 0 0 0;
	border-top: 1px solid #f1f1f1;
	border-left: 1px solid #f1f1f1;
	border-right: 1px solid #f1f1f1;
	background: #fffef2;
}

.common_table02 .table_tr{
	display: table;
	width: 100%;
	border-bottom: 1px solid #f1f1f1;	
}

.common_table02 .table_th{
	font-size: 109%;
	display: table-cell;
	border-right: 1px solid #f1f1f1;	
	vertical-align: middle;
	width: 168px;
	padding: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.common_table02 .table_td{
	font-size: 109%;
	display: table-cell;
	vertical-align: middle;
	padding: 15px 35px 15px 35px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.order_block{
	vertical-align: middle;
	display: inline-block;
	width: 260px;
}

ul.book_order{
	display: table;
	width: 100%;	
}

ul.book_order li{
	display: table-cell;
}

ul.book_order li.title{
	width: 95px;
}

ul.book_order li.select{
	text-align: center;
	width: 115px;	
}

/* .privacy_wrap */

.privacy_wrap{
	margin: 40px 0;	
}

.privacy_wrap .privacy_wrap_in{
	margin: 20px 0;
	padding: 18px 25px;
	border: 1px solid #f1f1f1;
}

.privacy_wrap .privacy_wrap_in p{
	line-height: 18px;
}

.privacy_wrap .privacy_wrap_in li{
	line-height: 18px;
}

.privacy_wrap .privacy_wrap_in ol{
	margin: 0 0 0 20px;	
}

.privacy_wrap .privacy_wrap_in ol li{
	list-style: decimal;	
}

.privacy_wrap .privacy_wrap_in ul{
	margin: 0 0 0 -5px;
}

.privacy_wrap .privacy_wrap_in ul li{
	list-style: none;
}

.privacy_wrap .accept_wrap{
	margin: 20px 0;
	text-align: center;
}

.privacy_wrap .accept_wrap label{
	margin: 0 10px;
}

.privacy_wrap h3.common_title02{
	border: none !important;
	padding-bottom: 0 !important;	
}