@charset "utf-8";

/*
GLOBAL
***************************************************************************/
html {
	overflow-y: scroll;
}

body {
	width: 100%;
	min-width: 1000px;
	height: auto;
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	text-align: left;
	font-size: 12px;
	color: #5d5d5d;
	line-height: 1.8;
	background: #ffffff;
	-webkit-text-size-adjust: none;
}

.base_box {
	width: 1000px;
	margin: 0 auto;
}

/*
DEFAULT
***************************************************************************/
body,
h1,h2,h3,h4,h5,h6,p,
ul,ol,li,dl,dt,dd,
form,fieldset,legend,pre,blockquote,
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	margin: 0;
	padding: 0;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display:block;
}

p {
	word-break: break-all;
}

.clearfix:after {
	display: block;
	clear: both;
	content: "";
	overflow: hidden;
}

li {
	list-style-type: none;
}

table {
	border-collapse: collapse;
}

/* ▼LINK▼ */
a {
	color: #43a3e0;
	text-decoration: underline;
	outline: none;
}

a:hover {
	color: #76bdea;
	text-decoration: none;
}

/* ▼IMG▼ */
img, input[type="image"]{
	vertical-align: middle;
	font-size: 0;
	line-height: 0;
	border: 0;
}

a:hover img, input:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}

.no_filter a:hover img, .no_filter input:hover,
a.no_filter:hover img, input.no_filter:hover {
	filter: alpha(opacity=100);
	opacity: 1;
}

/*
HEADER
***************************************************************************/
header {
	background: #ffffff;
	border-top: solid 6px #24a9e1;
}

/* ▼NAVI▼ */
#gnavi_list li {
	float: left;
}

/*
NAVI
***************************************************************************/
#snavi {
	position: fixed;
	top: 200px;
	right: -216px;
	width: 295px;
	padding: 3px 0;
	background: url(../common_img/bg_snavi.png) repeat-y;
	z-index: 10000;
}

#snavi_box { background:url(../common_img/btn_snavi_off.png) left center no-repeat; }
#snavi_box.opened { background:url(../common_img/btn_snavi_on.png) left center no-repeat; }

#snavi_list {
	margin-left: 78px;
	padding: 12px 11px 10px 14px;
	background: url(../common_img/bg02.png) repeat;
}

#snavi_list li {
	margin-bottom: 10px;
}

#snavi_list li:last-child { margin-bottom:0; }

/*
TOPIMG
***************************************************************************/
#topimg {
	background: #022e67 url(../images/topimg.jpg) center top no-repeat;
}

#ptitle {
	background: #062a48 url(../common_img/bg_ptitle.jpg) center top no-repeat;
}

.page_title {
	width: 1000px;
	margin: 0 auto;
	font-size: 48px;
	font-weight: bold;
	color: #ffffff;
	line-height: 220px;
}

/*
CONTENTS
***************************************************************************/
#contents {
	background: url(../common_img/bg01.png) center center repeat;
}

/* ▼TITLE▼ */
.title_box01 {
	position: relative;
	padding: 70px 0 80px;
	background: url(../common_img/bg03.png) repeat;
}

.title01 {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #ffffff;
	line-height: 1.5;
}

.title_box02 {
	position: relative;
	padding: 70px 0 80px;
	background: url(../common_img/bg04.png) repeat;
}

.title02 {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	color: #004876;
	line-height: 1.5;
}

.title_parts {
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -28px;
	z-index: 1;
}

/* ▼CONTACT▼ */
.contact_area {
	padding: 60px 0;
	background: #ffffff url(../common_img/line02.png) center top repeat-x;
}

/*
TOP
***************************************************************************/
/* ▼SOLUTION▼ */
#tsol_area {
	padding-bottom: 45px;
	background: url(../common_img/bg01.png) repeat;
}

.tsol_box {
	float: left;
	width: 300px;
	margin: 0 50px 45px 0;
}

.tsol_box:nth-child(3n) { margin-right:0; }

/* ▼CONTACT▼ */
#tcontact_area {
	padding: 60px 0;
	background: url(../common_img/bg01.png) repeat;
}

/* ▼SERVICE▼ */
#tservice_area {
	padding-bottom: 40px;
	background: url(../common_img/bg03.png) repeat;
}

#tservice_title {
	background: url(../common_img/bg02.png) repeat;
}

#tservice_block {
	width: 1000px;
	margin: 0 auto;
	padding-top: 75px;
	background: url(../images/parts01.png) center top no-repeat;
}

.tservice_box {
	float: left;
	width: 450px;
	margin: 0 100px 50px 0;
}

.tservice_box:nth-child(2n) { margin-right:0; }

.tservice_txt {
	float: right;
	width: 160px;
	margin-top: 30px;
	color: #9ad7ff;
}

.tservice_title {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: bold;
	color: #ffffff;
	line-height: 1.3;
}

/* ▼POLICY▼ */
.policy_box {
	float: left;
	width: 470px;
}

.policy_box:nth-child(1), .policy_box:nth-child(2) {
	border-bottom: dotted 1px #cacaca;
}

.policy_box:nth-child(1), .policy_box:nth-child(3) {
	width: 469px;
	border-right: dotted 1px #cacaca;
}

.policy_box:nth-child(1), .policy_box:nth-child(3) {
	padding: 55px 30px 40px 0;
}

.policy_box:nth-child(2), .policy_box:nth-child(4) {
	padding: 55px 10px 40px 20px;
}

.policy_txt {
	float: right; 
	width: 290px;
}

.policy_title {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
	color: #262626;
	line-height: 2;
}

/*
SERVICE
***************************************************************************/
.service_box {
	float: left;
	width: 300px;
	margin: 0 50px 0 0;
}

.service_box:nth-child(3n) { margin-right:0; }

.service_inner {
	position: relative;
	padding: 7px 7px 30px;
	border: solid 3px #e7e7e7;
	border-radius: 3px;
}

.service_title {
	margin-bottom: 25px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #2e98dc;
	line-height: 1.3;
}

.service_parts {
	position: absolute;
	top: -13px;
	left: 50%;
	margin-left: -50px;
	z-index: 1;
}

.slist_box {
	float: left;
	width: 260px;
	margin: 0 110px 40px 0;
}

.slist_box:nth-child(3n) { margin-right:0; }

/*
PRICE
***************************************************************************/
.price_box {
	position: relative;
	margin-bottom: 40px;
	padding: 40px 50px 60px;
	line-height: 1.6;
	background: #ffffff;
	border: solid 2px #e3e3e3;
}

.price_parts {
	position: absolute;
	bottom: -2px;
	right: -2px;
	z-index: 1;
}

.price_title {
	margin-bottom: 15px;
	padding: 6px 15px;
	font-size: 18px;
	font-weight: bold;
	color: #004876;
	background: url(../common_img/bg05.jpg) repeat;
}

.price_tbl {
	width: 100%;
	text-align: left;
	border: solid 1px #a9deff;
}

.price_tbl th, .price_tbl td {
	padding: 10px 20px;
	vertical-align: middle;
	line-height: 1.3;
	border: solid 1px #a9deff;
}

.price_tbl th {
	text-align: center;
	font-weight: normal;
	color: #004876;
	background: url(../common_img/bg06.jpg) repeat;
}

.price_tbl td {
	color: #004876;
	background: #ffffff;
}

.price_tbl tr td:first-child {
	font-size: 14px;
	font-weight: bold;
}

.price_tbl tr td:nth-child(2) {
	text-align: center;
}

.price_tbl tr td:last-child {
	text-align: right;
	font-size: 14px;
	font-weight: bold;
	color: #ff5071;
}

/*
FLOW
***************************************************************************/
.flow_box {
	position: relative;
	padding: 30px 35px;
	border: solid 3px #e7e7e7;
	border-radius: 3px;
}

.flow_txt {
	float: right;
	width: 800px;
	font-size:14px;
}

.flow_title {
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: bold;
	color: #2e98dc;
}

.flow_parts {
	position: absolute;
	top: -3px;
	left: 21px;
	z-index: 1;
}

/*
FAQ
***************************************************************************/
.faq_box {
	position: relative;
	float: left;
	width: 302px;
	margin: 0 47px 70px 0;
	padding-top: 5px;
	background: url(../faq/images/bg_faq_top.png) center top no-repeat;
}

.faq_box:nth-child(3n) { margin-right:0; }

.faq_box_inner {
	padding-bottom: 5px;
	background: url(../faq/images/bg_faq_btm.png) center bottom no-repeat;
}

.faq_txt {
	padding: 45px 30px 35px;
	background: url(../faq/images/bg_faq_mid.png) repeat-y;
}

.faq_title {
	margin: 0 12px 20px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #262626;
	line-height: 1.3;
}

.faq_icon {
	position: absolute;
	top: -30px;
	left: 50%;
	width: 60px;
	margin-left: -30px;
	z-index: 1;
}

/*
COMPANY
***************************************************************************/
.company_info {
	float: right;
	width: 550px;
	margin-right: 50px;
}

.company_tbl {
	width: 100%;
	text-align: left;
}

.company_tbl th, .company_tbl td {
	padding: 15px;
	vertical-align: top;
}

.company_tbl th {
	text-align: right;
	font-weight: bold;
}

/*
SENDING
***************************************************************************/
.sending_box {
	position: relative;
	margin: 0 15px 25px;
	padding: 25px 35px;
	border: solid 3px #e7e7e7;
	border-radius: 3px;
}

.sending_txt {
	float: right;
	width: 650px;
}

.sending_title {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: bold;
	color: #2e98dc;
}

.sending_parts {
	position: absolute;
	top: -3px;
	left: 21px;
	z-index: 1;
}

/*
CONTACT
***************************************************************************/
.form_box {
	padding: 35px 0;
	border-top: dotted 1px #cecece;
}

.form_name {
	float: left;
	width: 175px;
	text-align: right;
	font-weight: bold;
	color: #004876;
}

.form_input {
	float: right;
	width: 565px;
}

.must {
	padding-left: 40px;
	background: url(../contact/images/icon01.png) left center no-repeat;
}

.pp_box {
	width: 460px;
	margin-bottom: 20px;
	padding: 1px;
	background: #ffffff;
	border: solid 1px #dddddd;
}

.pp_txt {
	height: 160px;
	padding: 20px 0;
	overflow-y: auto;
	overflow-x: hidden;
}

/*
FOOTER
***************************************************************************/
#fbox {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #525252 url(../common_img/bg_fbox.jpg) center top repeat-x;
	z-index: 10000;
}

#fbox.no_fixed {
	position: static;
}

.copy_txt {
	float: left;
	width: 300px;
	margin-top: 25px;
	color: #ffffff;
}

footer {
	padding: 95px 0 30px;
	text-align: center;
	color: #ffffff;
	background: #444444 url(../common_img/bg_footer.jpg) center top repeat-x;
}

.f_title {
	margin-bottom: 10px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
}

/* ▼NAVI▼ */
#fnavi_list {
	margin-bottom: 25px;
}

#fnavi_list li {
	display: inline-block;
	color: #b9b9b9;
	line-height: 1.5;
}

#fnavi_list li a {
	margin: 0 15px 0 10px;
	color: #b9b9b9;
	text-decoration: none;
}

#fnavi_list li a:hover { color:#ffffff; }

/*
COMMON PARTS
***************************************************************************/
/* ▼display▼ */
.block { display:block!important; }
.inline { display:inline!important; }

.posit_r { position:relative!important; }
.posit_a { position:absolute!important; }
.posit_f { position:fixed!important; }

.align_c { text-align:center!important; }
.align_r { text-align:right!important; }
.align_l { text-align:left!important; }

.disp_l { float:left!important; }
.disp_r { float:right!important; }

.va_top { vertical-align:top!important; }
.va_mid { vertical-align:middle!important; }
.va_btm { vertical-align:bottom!important; }

.indent13 { margin-left:12px; text-indent:-13px; }
.indent11 { margin-left:12px; text-indent:-11px; }

/* ▼width▼ */
.w10per { width:10%; }
.w15per { width:15%; }
.w20per { width:20%; }
.w22per { width:22%; }
.w25per { width:25%; }
.w30per { width:30%; }
.w50per { width:50%; }
.w55per { width:55%; }
.w56per { width:56%; }
.w60per { width:60%; }
.w70per { width:70%; }
.w75per { width:75%; }
.w78per { width:78%; }
.w80per { width:80%; }

.w80 { width:80px!important; }
.w120 { width:120px!important; }
.w190 { width:190px!important; }
.w200 { width:200px!important; }
.w230 { width:230px!important; }
.w300 { width:300px!important; }
.w400 { width:400px!important; }
.w460 { width:460px!important; }
.w500 { width:500px!important; }

.h100 { height:100px!important; }
.h340 { height:340px!important; }

/* ▼area▼ */
.mb120 { margin-bottom:120px!important; }
.mb95 { margin-bottom:95px!important; }
.mb90 { margin-bottom:90px!important; }
.mb80 { margin-bottom:80px!important; }
.mb75 { margin-bottom:75px!important; }
.mb70 { margin-bottom:70px!important; }
.mb65 { margin-bottom:65px!important; }
.mb60 { margin-bottom:60px!important; }
.mb55 { margin-bottom:55px!important; }
.mb50 { margin-bottom:50px!important; }
.mb45 { margin-bottom:45px!important; }
.mb40 { margin-bottom:40px!important; }
.mb35 { margin-bottom:35px!important; }
.mb30 { margin-bottom:30px!important; }
.mb25 { margin-bottom:25px!important; }
.mb20 { margin-bottom:20px!important; }
.mb15 { margin-bottom:15px!important; }
.mb12 { margin-bottom:12px!important; }
.mb10 { margin-bottom:10px!important; }
.mb5 { margin-bottom:5px!important; }

.mlr115 { margin-left:115px!important; margin-right:115px!important; }
.mlr70 { margin-left:70px!important; margin-right:70px!important; }
.mlr55 { margin-left:55px!important; margin-right:55px!important; }
.mlr40 { margin-left:40px!important; margin-right:40px!important; }
.mlr30 { margin-left:30px!important; margin-right:30px!important; }
.mlr25 { margin-left:25px!important; margin-right:25px!important; }
.mlr20 { margin-left:20px!important; margin-right:20px!important; }
.mlr16 { margin-left:16px!important; margin-right:16px!important; }
.mlr15 { margin-left:15px!important; margin-right:15px!important; }
.mlr11 { margin-left:11px!important; margin-right:11px!important; }
.mlr10 { margin-left:10px!important; margin-right:10px!important; }
.mlr8 { margin-left:8px!important; margin-right:8px!important; }
.mlr5 { margin-left:5px!important; margin-right:5px!important; }
.mlr-20 { margin-left:-20px!important; margin-right:-20px!important; }

.mr50 { margin-right:50px!important; }
.mr40 { margin-right:40px!important; }
.mr30 { margin-right:30px!important; }
.mr25 { margin-right:25px!important; }
.mr20 { margin-right:20px!important; }
.mr15 { margin-right:15px!important; }
.mr10 { margin-right:10px!important; }
.mr5 { margin-right:5px!important; }
.mr0 { margin-right:0px!important; }

.ml20 { margin-left:20px!important; }
.ml-5 { margin-left:-5px!important; }

.mt30 { margin-top:30px!important; }
.mt20 { margin-top:20px!important; }
.mt5 { margin-top:5px!important; }

.pb25 { padding-bottom:25px!important; }
.pb0 { padding-bottom:0!important; }

.p20 { padding:20px!important; }
.p15 { padding:15px!important; }
.p10 { padding:10px!important; }

.pt60 { padding-top:60px!important; }

.ptb20 { padding-top:20px!important; padding-bottom:20px!important; }
.ptb15 { padding-top:15px!important; padding-bottom:15px!important; }

.plr25 { padding-left:25px!important; padding-right:25px!important; }

/* ▼font▼ */
.bold { font-weight:bold!important; }
.normal { font-weight:normal!important; }

.size10 { font-size:10px!important; }
.size11 { font-size:11px!important; }
.size12 { font-size:12px!important; }
.size14 { font-size:14px!important; }
.size16 { font-size:16px!important; }
.size18 { font-size:18px!important; }
.size20 { font-size:20px!important; }

.white { color:#ffffff!important; }
.black { color:#262626!important; }
.green { color:#00bc5e!important; }
.lgreen { color:#a8ffec!important; }
.lred { color:#ff3737!important; }
.lblue { color:#2e98dc!important; }

.lh2 { line-height:2!important; }

/* ▼link▼ */
a.line { text-decoration:underline!important; }
a.no_line { text-decoration:none!important; }

/* ▼line▼ */
.line01 { height:5px; background:url(../common_img/line01.png) repeat-x; }
.line02 { height:4px; background:url(../common_img/line02.png) repeat-x; }

/* ▼list▼ */
.list01 li {
	margin: 0 0 2px 5px;
	padding-left: 20px;
	background:url(../common_img/icon01.png) left 5px no-repeat;
}

/* ▼table▼ */
.tbl01 {
	width: 100%;
	text-align: left;
	border: solid 1px #a9deff;
}

.tbl01 th, .tbl01 td {
	padding: 8px;
	vertical-align: middle;
	text-align: center;
	border: solid 1px #a9deff;
}

.tbl01 th {
	font-weight: bold;
	color: #ffffff;
	background: #6ec7ff;
}

.tbl01 td {
	color: #176ba1;
	background: #ffffff;
}

.tbl02 {
	width: 100%;
	text-align: left;
}

.tbl02 th, .tbl02 td {
	vertical-align: top;
}

.tbl02 th {
	text-align: left;
	font-weight: bold;
}

.tbl02 td {
	padding-left: 10px;
}

/* ▼form▼ */
input[type="text"], select, textarea, input[type="file"] {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	padding: 2px;
	vertical-align: middle;
	background: #ffffff;
	border: solid 1px #dddddd;
}

input[type="text"] { height:22px; }

input[type="radio"], input[type="checkbox"] {
	margin-right: 8px;
	vertical-align: -1px;
}

input.active { ime-mode:active; }
input.disabled { ime-mode:disabled; }
