@charset "utf-8";

/* =================================== */
/*	Basic Style 
/* =================================== */

body {
	position: relative;
    background-color: #fff;
    font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    line-height: 24px;
    font-size: 16px;
    color: #555;
}


a, a:hover, a:active, a:visited{
	text-decoration: none;
	color: #484848;
}

.pc{
	display: none;
}
#pagetop{
	position:fixed;
	font-size: 3em;
	padding: 4px;
	color: rgba(0,152,219,1);
	border-radius: 6px;
	right: 10px;
	bottom: 10px;
	background: rgba(0,152,219,0.3);
	cursor: pointer;
	z-index: 10;
}
.fa-chevron-up {
	color: rgba(6,116,195,1);
}

/* =================================== */
/*	汎用
/* =================================== */
a:hover, a:active, a:visited{
	color: #484848;
	text-decoration: none;
}

.container{
	width: 90%;
	margin: 0 auto;
}
.container_wide{
	width: 100%;
}

.keisan_button{
	position: relative;
	display: block;
	background: #feffae;
	border-top: solid 1px #0b5180;
	border-bottom: solid 4px #0b5180;
	border-left: solid 1px #0b5180;
	border-right: solid 1px #0b5180;
	border-radius: 8px;
}
.keisan_button a{
	display: block;
	color: #00497e;
	font-size: 18px;
	line-height: 1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 10px 0 10px 20px;
	border-radius: 4px;
	text-align: center;
}

.keisan_button:before{
	position: absolute;
	top: 4px;
	left: 26px;
	content: '';
	width: 50px;
	height: 30px;
	background: url(../img/icon_calc_b.png);
	background-repeat: no-repeat;
	background-size: contain;
}


/* =================================== */
/*	グローバルナビゲーション
/* =================================== */
#top-info{
	display: block;
}
#top-info h1{
	margin-top: 20px;
}
#top-info h1 a{
	font-size: 12px;
	margin-left: 4px;
}
#top-info.container{
	width: 100%;
}
#head_tab{
	margin: 10px 0;
	width: 100%;
}
#head_tab li{
	display: inline-table;
	padding: 10px 0;
	width: 100%;
}
#head_tab .line_01{
	text-align: center;
	background: #e0f2ff;
	border-bottom: solid 1px #e0f2ff;
}
#head_tab .line_02{
	color: #fff;
	text-align: center;
	background: #ed9206;
}


#top-info h1{
	text-align: center;
}

#head_contact_container{
	width: 100%;
	margin: 8px 0;
}
#head_access_container .freedial{
	width: 100%;
	text-align: center;
	vertical-align: middle;
	font-size: 35px;
	line-height: 35px;
	font-weight: bold;
}
#head_access_container .freedial:before{
	position: relative;
	top: 4px;
	content: '';
	display: inline-block;
	width: 50px;
	height: 30px;
	background: url(../img/freedial_logo.png);
	background-repeat: no-repeat;
	background-size: contain;
}
#head_access_container .business_hour{
	width: 100%;
	text-align: center;
	vertical-align: middle;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.4;
}


#global_navigation{
	width: 100%;
	background: #0071c2;
}
#global_navigation ul{
	margin: 0;
	padding: 0;
	width: 100%;
}
#global_navigation li{
	box-sizing: border-box;
	display: inline-block;
	width: 50%;
	text-align: center;
	color: #fff;
	border-bottom: solid 1px #fff;
}
#global_navigation li:nth-child(odd){
	border-right: solid 1px #fff;
}

#global_navigation li a{
	position: relative;
	display: block;
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #fff;
	padding: 0 0 10px 0;
}

#global_navigation li a:hover{
	background: #00497e;
}


.navi_icon{
	position: relative;
	top: 8px;
	right: 4px;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: contain;
}
.navi_icon.home{
	content: url(../img/icon_home.png);
}
.navi_icon.hatena{
	content: url(../img/icon_hatena.png);
}
.navi_icon.saimuseiri{
	content: url(../img/icon_saimeseiri.png);
}
.navi_icon.nagare{
	content: url(../img/icon_nagare.png);
}
.navi_icon.about{
	content: url(../img/icon_about.png);
}
.navi_icon.calc{
	content: url(../img/icon_calc_w.png);
}

/* =================================== */
/*	メインバナー
/* =================================== */
#main_banner{
	position: relative;
	width: 100%;
}
#main_banner_text{
	width: 90%;
	margin: 0 auto;
	overflow: hidden;
}
#main_banner_text img{
	width: 100%;
	height: auto;
}
#main_banner_text .main-text{
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: solid 1px #484848;
	margin-bottom: 10px;
	text-align: center;
}
#main_banner_text .sub-text{
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4;
	color: #0071c2;
	text-align: center;
}

#main_banner_keisanki_button{
	width: 90%;
	margin: 10px auto 20px auto;
	padding-bottom: 10px;
	border-radius: 12px;
	background: #fff;
	border: solid 6px #b6ccd6;
}
#main_banner_keisanki_button h1{
	text-align: center;
	margin-top: 20px;
}
#main_banner_keisanki_button p{
	width: 90%;
	margin: 0 auto;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
#main_banner_keisanki_button .catch-list{
	display: table;
	width: 90%;
	margin: 0 auto 30px auto;
}
#main_banner_keisanki_button .catch-list li{
	display: table-cell;
	width: 50%;
	background: #0071c2;
	color: #fff;
	font-weight: bold;
	font-size: 1em;
	text-align: center;
	border: solid 2px #fff;
}
#main_banner .keisan_button{
	width: 200px;
	margin: 4px auto;
}
	

/* =================================== */
/*	パンくずリスト
/* =================================== */
#bread-crum{
	margin-top: 15px;
	margin-bottom: 15px;
	background: #ccc;
}

/* =================================== */
/*	メイン
/* =================================== */
#main{
	overflow: hidden;
	margin-top: 20px;
}
#main-content{
	box-sizing: border-box;
	width: 96%;
	margin: 0 auto;
	font-size: 1em;
	line-height: 2;
	margin-bottom: 20px;
	box-sizing:border-box;
}
.page_content p{
	font-size: 1em;
	line-height: 1.5;
	padding: 0 0 30px 0;
}
.page_content_header{
	background: #e6f5ff;
	font-weight: 1.5em;
	line-height: 1.2;
	letter-spacing: 0.1em;
	padding: 8px 8px 8px 20px;
	margin-top: 50px;
	margin-bottom: 30px;
	border-left: solid 4px #0098db;
}
.page_content_h2{
	font-size: 1.2em;
	color: #0071c2;
	margin: 1.5em 0 0.5em 0;
}
.bullet_list{
	list-style-type: disc;
	margin-left: 1em;
}
#top-main-keisan_button{
	box-sizing: border-box;
	background: #fef4e5;
	position: relative;
	border: solid 1px #0071c2;
	border-radius: 20px;
}
#top-main-keisan_button .button_area .keisan_button{
	background: #0098db;
	display: block;
	width: 100%;
	margin: 0 auto;
}

#top-main-keisan_button .keisan_button:before{
	background: none;
}
#top-main-keisan_button .check_list{
	position: relative;
	margin: 0 auto;
}

#top-main-keisan_button .check_list li{
	position: relative;
	display: inline-block;
	padding: 10px;
	font-weight: bold;
	padding-left: 30px;
}
#top-main-keisan_button .check_list li:before{
	position: relative;
	content: url(../img/checkbox.png);
	width: 21px;
	height: 21px;
	top: 4px;
	left: -8px;
}

#top-main-keisan_button .button_area{
	position: relative;
	width: 90%;
	margin: 10px auto;
	background: #fff;
	border-radius: 12px;
	padding: 10px;
}
#top-main-keisan_button .button_area_text{
	vertical-align: middle;
	width: 100%;
}
#top-main-keisan_button .button_area_text h1{
	color: #ff1233;
	font-size: 1.7em;
	font-weight: bold;
	padding: 10px 0;
	text-align: center;
}
#top-main-keisan_button .button_area_text p{
	font-size: 14px;
	font-weight: bold;
	line-height: 18px;
	margin: 10px 0;
}

#top-main-keisan_button .button_area .keisan_button_wrapper{
	display: block
}

#top-main-keisan_button .button_area .keisan_button .icon_calc{
	position: relative;
	top: 10px;
	content: '';
	display: inline-block;
	width: 50px;
	height: 40px;
	background: url(../img/icon_calc_w.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#top-main-keisan_button .button_area .keisan_button a{
	color: #fff;
	font-size: 25px;
	padding: 0 0 16px 0;
}

#top-main-keisan_button .head_text{
	background: #0071c2;
	font-size: 28px;
	letter-spacing: 0.1em;
	font-weight: bold;
	line-height: 50px;
	color: #fff;
	padding: 10px;
	border-radius: 20px 20px 0 0;
}
/* =================================== */
/*	トップページ・選ばれる４つの理由 */
#top #reason{
	margin: 0 20px;
}
#top #reason div{
	position: relative;
	vertical-align: top;
	width: 100%;
}
#top #reason div:after{
	position: absolute;
	content:'';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: solid 2px #0098db;
	border-radius: 8px;
	z-index: -20;
}
#top #reason p{
	font-size: 1.5em;
	position: relative;
	text-align: center;
	font-weight: bold;
	padding-top: 30px;
}


#top #reason h3{
	width: 100px;
	color: #0098db;
	margin-top: 10px;
	margin-left: 10px;
}
#top #reason_01:before{
	position: absolute;
	content: url(../img/icon_piggy.png);
	top: -10px;
	left: 40%;
}
#top #reason_02:before{
	position: absolute;
	content: url(../img/icon_money.png);
	top: -10px;
	left: 40%;
}
#top #reason_03:before{
	position: absolute;
	content: url(../img/icon_soudan.png);
	top: -10px;
	left: 40%;
}
#top #reason_04:before{
	position: absolute;
	content: url(../img/icon_calendar.png);
	top: -10px;
	left: 40%;
}

/* =================================== */
/*	トップページ・解決までの流れ */
#top #flow{
	background: #f4f4f4;
	border-spacing: 10px; 
}
#top .top-main-step{
	position: relative;
	width: 95%;
	margin: 30px auto;
	background: #fff;
	padding: 8px;
	border: solid 1px #ccc;
}
#top .step1:after, #top .step2:after, #top .step3:after{
	position: absolute;
	content:'';
	bottom: -25px;
	left: 40%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 25px 0 25px;
	border-color: #ed9006 transparent transparent transparent;
}
#top .top-main-step img{
	display: block;
	width: 70%;
	min-width: 70%;
	height: auto;
	margin: 10px auto;

	box-shadow:0px 0px 6px 3px #e0e0e0;
	-moz-box-shadow:0px 0px 6px 3px #e0e0e0;
	-webkit-box-shadow:0px 0px 6px 3px #e0e0e0;
	border-radius:6px;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border:1px solid #cccccc;
}


.top-main-step h3, .top-main-step .flow_title{
	display: inline-block;
}
#top #flow h3{
	background: #0071c2;
	width: 150px;
	font-size: 1em;
	font-weight: bold;
	color: #fff;
	width: 80px;
	text-align: center;
	letter-spacing: 0.1em;
}
.top-main-step.step4 h3{
	background: #00c272 !important;
}
.top-main-step p{
	padding: 0;
}
.top-main-step .flow_title{
	font-size: 0.9em;
	padding: 8px 0;
	font-weight: bold;
}
.top-main-step .flow_text{
	font-size: 0.8em;
}
/* =================================== */
/*	アサイド
/* =================================== */
aside{
	width: 100%;
	margin-top: 50px;
}
#aside_keisanki_banner{
	position: relative;
	background: #0098db;
	padding-bottom: 10px;
}
#aside_keisanki_banner img{
	display: block;
	position: absolute;
	top: -10px;
	right: 0;
}
#aside_keisanki_banner h1{
	position: relative;
	font-size: 1.6em;
	color: #fff;
	line-height: 1.3;
	padding-left: 10px;
	padding-top: 60px;
}
#aside_keisanki_banner h1 span{
	display: block;
	font-size: 0.9em;
}

#aside_keisanki_banner_text{
	position: relative;
	display: table;
	width: 95%;
	margin: 0 auto;
}
#aside_keisanki_banner_text p{
	display: table-cell;
	vertical-align: middle;
}
.muryo_keisan{
	width: 45px;
	height: 45px;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
	background: #fff;
	border-radius: 50%;
}
#aside_keisanki_banner_text .sub-text{
	font-size: 1em;
	line-height: 1.5;
	font-weight: bold;
	color: #fff;
	padding-left: 4px;
}
#aside_keisanki_banner .keisan_button{
	position: relative;
	width: 200px;
	margin: 0 auto;
}
#aside_keisanki_banner .keisan_button_wrapper{
	background: #fff;
	width: 210px;
	padding: 4px 0;
	border-radius: 12px;
	margin: 10px auto 0 auto;
}

/* =================================== */
/*	アサイド - ナビ -
/* =================================== */
#side_navigation{
	margin-top: 30px;
	margin-bottom: 30px;
}
#side_navigation h1{
	height: 60px;
	line-height: 60px;
	color: #fff;
	background: #0071c2;
	padding-left: 50px;
}

#side_navigation a{
	display: block;
	padding: 10px;
	border-right: solid 1px #8fb4ce;
	border-bottom: solid 1px #8fb4ce;
	border-left: solid 4px #8fb4ce;
}
#side_navigation a:hover{
	background: #e0f2ff;
	border-left-color: #0071c2;
}


/* =================================== */
/*	下バナー
/* =================================== */
#foot_banner{
	background: #0071c2;
	padding: 16px 0;
}

#foot_banner_inner{
	background: #fff;
	border-radius: 12px;
	padding-bottom: 20px;
}
#foot_banner_inner h1{
	font-size: 1.2em;
	padding: 10px;
}


#foot_banner_inner .contact{
	position: relative;
	width: 100%;
}
#foot_banner_inner .keisanki_banner{
	position: relative;
	width: 90%;
	margin: 10px auto 0 auto;
}
#foot_banner_inner .keisanki_banner_wrapper{
	border: solid 1px #0071c2;
	border-radius: 18px;
	background: #fef4e5;
	padding-bottom: 10px;
}
#foot_banner_inner .keisanki_banner_wrapper img{
	display: block;
	width: 100%;
	min-width: 100%;
	height: auto;
}

#foot_banner_inner .keisanki_banner .keisan_button{
	position: relative;
	width: 90%;
	margin: 0 auto;
}
#foot_banner_inner .keisanki_banner .keisan_button a{
	padding: 0 0 14px 0;
	background: #0098db;
	color: #fff;
	font-size: 1.2em;
}
#foot_banner_inner .contact_text_container{
	display: table;
	width: 100%;
}
#foot_banner_inner .contact_text_container .cell{
	vertical-align: middle;
}
#foot_banner_inner .contact_text_container .line_01 p{
	background: #0071c2;
	color: #fff;
	letter-spacing: 0.2em;
	line-height: 1.5;
	padding: 5px;
	margin: 10px;
	text-align: center;
	font-size: 0.8em;
	border-radius: 6px;
	white-space: nowrap;
}
#foot_banner_inner .contact_text_container .line_02{
	font-size: 0.8em;
	font-weight: bold;
	color: #0071c2;
	text-align: center;
	padding: 0 0 0 10px;
}


#foot_contact_container{
	display: table;
	width: 100%;
}
#foot_contact_container .freedial{
	font-size: 35px;
	line-height: 35px;
	font-weight: bold;
	text-align: center;
}
#foot_contact_container .freedial:before{
	position: relative;
	top: 4px;
	content: '';
	display: inline-block;
	width: 50px;
	height: 30px;
	background: url(../img/freedial_logo.png);
	background-repeat: no-repeat;
	background-size: contain;
}
#foot_contact_container .business_hour{
	font-weight: bold;
	text-align: center;
}
.business_hour span{
	color: #cc3300;
}
.mail_button .line_01 a{
	position: relative;
	display: block;
	font-size: 1em;
	color: #fff;
	text-align: left;
	background: #ed9206;
	padding-left: 46px;
	line-height: 4em; 
}
.mail_button .line_01 a span{
	display: block;
	position: relative;
}
.mail_button .line_01 a span:before{
	position: absolute;
	content:'\f0e0';
	font-family: FontAwesome;
	font-size: 25px;
	top:-1px;
	left:-30px;
}
.mail_button .line_02{
	font-size: 0.8em;
}
#foot_banner_inner .keisan_button:before{
	background: none;
}
#foot_banner_inner .keisan_button .icon_calc{
	position: relative;
	top: 10px;
	content: '';
	display: inline-block;
	width: 50px;
	height: 30px;
	background: url(../img/icon_calc_w.png);
	background-repeat: no-repeat;
	background-size: contain;
}
/* =================================== */
/*	フッター
/* =================================== */
#footer_container{
	width: 100%;
}
#footer_container .cell{
	padding: 20px 0;
}
#footer_navigation{
	width: 100%;
	padding: 0 50px 30px 0;
}
#footer_navigation h1{
	position: relative;
	color: #0071c2;
	font-size: 1.1em;
	padding-left: 26px;
	padding-bottom: 10px;
	border-bottom: solid 1px #0071c2;
}
#footer_navigation h1:before{
	position: absolute;
	top:0;
	left:0;
	content: url(../img/icon_sitemenu.png);
}

#footer_navigation a{
	position: relative;
	display: block;
	font-size: 0.9em;
	padding: 10px 10px 10px 40px;
	border: solid 2px #fff;
	background: #d6ecf6;
}
#footer_navigation a:before{
	position: absolute;
	content: '';
	top: 40%;
	left: 15px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #007bff;
}

#footer_navigation ul{
	list-style-type: none;
}
#footer_navigation li{
}


#office-list-container h1{
	color: #0071c2;
	font-size: 1.5em;
	margin-bottom: 10px;
}
#office-list-container h1 span{
	font-size: 0.8em;
}
.office-list-box{
	position: relative;
	width: 100%;
	padding: 10px 0;
}
.office-list-box.item_01{
	border-top: solid 1px #00497e !important;
}
.office-list-box.item_04{
	border-bottom: solid 1px #00497e !important;
}
.office-list-box.item_01, .office-list-box.item_02, .office-list-box.item_03{
	border-bottom: dotted 1px #00497e !important;
}
.office-list-box h2{
	display: inline-block;
	background: #0071c2;
	color: #fff;
	letter-spacing: 0.2em;
	line-height: 1.5;
	padding: 0 10px;
	font-size: 0.8em;
	border-radius: 12px;
}
.office-list-box ul{
	display: table;
	width: 100%;
}
.office-list-box ul>li{
	font-size: 13px;
	line-height: 21px;
}
.office-list-box li.cell{
	padding: 0 !important;
}
.map_button{
	position: absolute;
	top: 10px;
	right: 0;
	font-size: 12px;
	line-height: 1;
	padding: 2px 8px;
}
.map_button a{
	display: block;
	border: solid 1px #004973;
	padding: 2px 4px;
}padding: 2px 8px;
}
.map_button a, .map_button a:hover, .map_button a:active, .map_button a:visited{
	color: #0071c2;
}


#copyright{
	box-sizing: border-box;
	width: 100%;
	font-size: 0.8em;
	padding: 10px 30px;
	text-align: center;
	color: #fff;
	letter-spacing: 0.1em;
	margin: 50px 0;
	background: #0071c2;
}

/* =================================== */
/*	ページ
/* =================================== */
.page p{
	margin-bottom: 20px;
}
.page strong{
	background: #fafaea;
}

.page .flow_box{
	position: relative;
	border: solid 2px #0071c2;
	padding: 10px;
	border-radius: 6px;
	margin-bottom: 50px;
}
.page .flow_box h2{
	color: #ff1233;
}
.page .flow_box:after{
	position: absolute;
	content:'';
	bottom: -40px;
	left: 40%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 25px 0 25px;
	border-color: #ed9006 transparent transparent transparent;
}
/* =================================== */
/*	サイトマップ
/* =================================== */
.site_list li a{
	position: relative;
	display: block;
	padding: 10px 10px 10px 50px;
	color: #0071c2;
}
.site_list li a:before{
	position: absolute;
	content:'\00bb';
	top: 10px;
	left: 20px;
	color: #0071c2;
}
.site_list li{
	border-bottom: solid 1px #0098db;
	border-right: solid 1px #0098db;
	border-left: solid 1px #0098db;
}
.site_list li:first-child{
	border-top: solid 1px #0098db;
}
/* =================================== */
/*	業者リスト
/* =================================== */
#gyosha_list{
	border-collapse: collapse;
	font-size: 0.8em;
	border: solid 1px #ccc;
}
#gyosha_list th{
	background: #bee1f0;
}
#gyosha_list th, #gyosha_list td{
	width: 33.33%;
	padding: 6px;
	border: solid 1px #ccc;
}
#gyosha_list th:last-child, #gyosha_list td:last-child{
	width: 15%;
}
#gyosha_list td:last-child{
	text-align: center;
}

/* =================================== */
/*	よくある質問
/* =================================== */
#faq_list dt, #faq_list dd{
	display: block;
	margin: 10px 0 10px 50px;
	text-indent: -50px;
}
#faq_list dt:first-letter, #faq_list dd:first-letter{
	font-size: 24px;
	padding-right: 20px;
	font-weight: bold;
	
}
#faq_list dt{
	margin-top: 30px;
	font-weight: bold;
}
#faq_list dt:first-letter{
	color: #ff6633;
}
#faq_list dd:first-letter{
	color: #0071c2;
}
/* =================================== */
/*	事務所案内
/* =================================== */
#jimusho_01{
	font-size: 1em;
	line-height: 2;
	margin-bottom: 50px;
}
.jimusho h1{
	position: relative;
	font-size: 1.2em;
	color: #0071c2;
	margin: 10px 0 10px 20px;
	
}
.jimusho h1:before{
	position: absolute;
	top: 4px;
	left: -20px;
	content: '';
	width: 10px;
	height: 1.4em;
	background: #0071c2;
}
.jimusho table{
	width: 100%;
}

.jimusho th, .jimusho td{
	display: block;
	text-align: left;
	width: 100%;
	border-bottom: dotted 1px #ccc;
}

.hiyou_tbl{
	width:95%;
	margin:20px auto;
}

.hiyou_tbl th,
.hiyou_tbl td{
	padding:10px;
	box-sizing:border-box;
}

.hiyou_tbl th{
	width:30%;
	border-bottom:solid 2px #0071C2;
}

.hiyou_tbl td{
	width:70%;
	border-bottom:solid 1px #0071C2;
}
