@charset "UTF-8";

/* MEMO */
/* #164265：紺色(共通強調色) */
/* #ad8b4b：小麦色(各ページタイトル) */
/* #c4c4c4：グレー(弁護士枠) */

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,h1,h2,h3,p,img,a,dl,dt,dd,ol,ul,li,form,label,table,tbody,tr,th,td,footer,header,nav { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; font-weight:normal; word-wrap:break-word; }
footer,header,nav { display:block; }
div, section { overflow:hidden; }
ul { list-style:none; }
table { border-collapse:collapse; border-spacing:0; table-layout:fixed; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
form, input,select,textarea { vertical-align:middle; box-sizing:border-box; }

/*================================================
 *  タグ定義
 ================================================*/
html { background-image:url("images/common_background.png"); background-repeat:repeat; }
body { width:100%; margin:0 auto; font-size:14px; color:#333; background-color:white;
       font-family: "メイリオ", sans-serif; line-height:1; -webkit-text-size-adjust:none; }
h3, p, a, li, dt, dd, th, td, footer { line-height:1.6; }
a { color:#333; background:transparent; text-decoration:none; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0); }
a:hover, a:focus { text-decoration:none; outline:none; }
a:hover { opacity:0.5; }
h1 { font-size:30px; text-align:center; letter-spacing:8px; padding-top:50px; }
h2 { font-size:25px; text-align:center; letter-spacing:6px; margin-bottom:30px; color:#ad8b4b; }
h3 { font-size:20px; }
section { width:880px; margin:40px auto 80px; background-color:white; }
p { margin-bottom:0.3em; }
img { vertical-align:bottom; }
ul li { list-style:disc; }
ol li { list-style:decimal; }
li { margin-left:1.5em; }
dt { border-left:0.5em solid #164265; padding-left:0.5em; margin-bottom:1em; }
dd { margin-left:1.5em; margin-bottom:1em; }
table { width:100%; border:1px solid #ddd; margin-bottom:20px; }
th { padding:10px; vertical-align:middle; border:1px solid #ddd; background:#ddd; white-space:nowrap; }
td { padding:10px; vertical-align:middle; border:1px solid #ddd; text-align:left; }

/*================================================
 *  ヘッダ・ナビ
 ================================================*/
header { background-image:url("images/common_header_back.jpg"); background-repeat:repeat-x; background-position:top center; background-size:100% 50%; }
header h1 { padding:30px 0; }
header h1 a { display:inline-block; width:auto; padding:5px; text-align: center; }
header div.sp_button { display:none; }
nav ul { width:880px; margin:0 auto; display:flex; justify-content:center; }
nav ul.sp_menu { display:none; }
nav ul li { display:block; height:auto; margin:0; list-style:none; }
nav ul li.nav_select { background-color:#032c4d; }
nav ul li a { display:block; }
nav ul li a:hover { background-color:#032c4d; }
nav ul li img, nav ul li a img { width:100%; }

/*================================================
 *  パンくずリスト
 ================================================*/
div.breadcrumb { width:880px; margin:20px auto; color:#666; }
div.breadcrumb a { margin:0 10px; color:#666; }
div.breadcrumb a:first-child { margin-left:0; }
div.breadcrumb a:last-child { margin-right:0; }
div.breadcrumb a:hover { text-decoration:underline dotted; }

/*================================================
 *  フッタ
 ================================================*/
footer { text-align:center; padding:20px 0 60px; color:white; }
/* footer p { margin-bottom:0; } */
footer ul { }
footer ul li, footer ul li a { display:inline; font-size:14px; letter-spacing:1px; color:white; }
footer ul li:first-child { margin-left:0; }
footer ul li a:hover { text-decoration:underline dotted; }
footer div.footer_profile h1 { font-size:20px; margin-bottom:20px; }
footer div.footer_profile h1 a { display:inline-block; }
footer div.footer_profile h1 a p { color:white; line-height:1.2; letter-spacing:6px; }
footer div.footer_profile h1 a p.english { font-size:10px; letter-spacing:2px; }
footer div.footer_profile div.footer_address { margin-bottom:40px; }

/*================================================
 *  ページ共通
 ================================================*/
.inner { width:880px; margin:0 auto; }
.serif { font-family:"Times New Roman", serif; }
a.underline { text-decoration:underline dotted; }
a.outlink::after { content:url('images/common_outlink_white.png'); margin-left:10px; }
div.sign { float:right; text-align:center; margin-top:3em; }
.blue_back { background-image:url("images/common_background.png"); background-repeat:repeat; }
.gray_back { background-image:url("images/common_gray.png"); background-repeat:repeat; }

/*================================================
 *  ページ別定義
 ================================================*/
/* TOPページ */
section.top { margin-top:0; width:100%; }
section.top div.slider-pro div { overflow:visible; }
section.top div.top_info { margin-top:80px; }
section.top div.top_info h2 { border-bottom:1px solid #164265; line-height:1.6; }
section.top div.top_info dl dd { margin-bottom:40px; }

/* 弁護士紹介ページ */
section.member ul { display:flex; justify-content:space-around; flex-wrap:wrap; }
section.member ul li { display:block; width:220px; margin:0 10px 80px; text-align:center; border:1px solid #c4c4c4; }
section.member ul li a { display:block; padding:30px 0; color:#444; }
section.member ul li a h3 { font-size:20px; font-weight:bold; color:#164265; }
section.member ul li a h3 span { font-size:14px; font-weight:bold; color:#164265; margin-left:5px; }
section.member ul li a img { width:160px; margin:20px 20px 0; }
section.member div.member_header { }
section.member div.member_header div.member_name { float:left; width:calc(100% - 302px); padding:15px 30px; border:1px solid #c4c4c4; }
section.member div.member_header div.member_name h3 { font-weight: bold; color:#164265; line-height:2; }
section.member div.member_header div.member_name h3 span { font-size:14px; margin-left:10px; color:#164265; font-weight: bold; }
section.member div.member_header div.member_name h3 span.english { font-weight:normal; }
section.member div.member_header div.member_name p { line-height:1; }
section.member div.member_header img { float:right; display:block; width:180px; margin-left:60px; }
section.member dl.member_data p.member_error { margin-left:0; }
section.member dl.member_data dt { font-size:18px; }
section.member dl.member_data dd { line-height:2; margin-bottom:30px; }
section.member dl.member_data dd dl dt { padding-left:0; border:0; font-size: 14px; }
section.member a.member_go_list { display:block; margin:50px auto 20px; width:300px; height:50px; line-height:50px; font-size:18px; background-color:#164265; color:white; text-align:center; }

/* 費用ページ */
section.fee h3 { margin-bottom:4em; font-size:16px; }
section.fee dl { margin-bottom:40px; }
section.fee dl dt { font-size:18px; }
section.fee table tr th { border-bottom:1px solid white; width:100px; letter-spacing:4px; }
section.fee table tr td p:last-child { margin-bottom:0; }
section.fee table tr:last-child th { border-bottom:1px solid #ddd; }
section.fee h3.table_title { margin:50px 0 10px; text-align:center; font-size:20px; letter-spacing:4px; }
section.fee table.fee_price tr th { border-right:1px solid white; border-bottom:1px solid white; width:150px; }
section.fee table.fee_price thead tr th:last-child { border-right:1px solid #ddd; }
section.fee table.fee_price tbody tr:last-child th { border-bottom:1px solid #ddd; }
section.fee table.fee_price tbody tr th { letter-spacing:0; }
section.fee table.fee_price .fee_tbl1 { width:210px; }
section.fee table.fee_price .fee_tbl2, section.fee table.fee_price .fee_tbl3 { width:303px; }

/* アクセスページ */
section.access div.address { padding:10px 30px; margin-bottom:60px; }
section.access div.address div { float:left; }
section.access div.address div p { font-size:16px; }
section.access div.address div p:first-of-type { margin-top:2em; }
section.access div.address img { float:right; width:auto; }
section.access div#Gmap { width:100%; height:450px; margin:0 auto 0.5em; position:relative; }
section.access div#Gmap iframe { position:absolute; top:0; left:0; width:100% !important; height:450px !important; }
section.access div#Gmap * { overflow:visible; }
section.access img.map { display:block; margin-top:60px; margin-bottom:0.5em; }
section.access div.pdf { text-align:center; }
section.access div.pdf a:hover { text-decoration:underline dotted; }
section.access table { margin-top:60px; }
section.access table th, section.access table td { padding:20px; }
section.access table th { border-bottom:1px solid white; width:250px; }
section.access table td { width:547px; vertical-align:middle; }
section.access table tr:last-child th { border-bottom:1px solid #ddd; }

/* お問合せページ */
section.inquery dl { margin-bottom:80px; font-size:30px; padding:20px; }
section.inquery dl dt, section.inquery dl dd { text-align:center; margin:0; padding:0; border-left:0; line-height:1; }
section.inquery dl dt { padding-bottom:10px; }
section.inquery dl dd p { display:inline-block; line-height:1; margin-bottom:0; vertical-align:middle; }
section.inquery dl dd span { font-size:16px; margin-left:20px; vertical-align:middle; }
section.inquery dl.inquery_tel dd img { width:30px; margin-right:20px; vertical-align:middle; }
section.inquery dl.inquery_email dd { display:block; width:300px; margin:0 auto; }
section.inquery dl.inquery_email dd a, section.inquery dl.inquery_email dd a img { display:block; }

/* パートナー募集ページ */
section.partner ol { position:relative; }
section.partner ol li { list-style:none; list-style-position:outside; margin-left:0; margin-bottom:0.3em; padding-left:1em; }
section.partner ol li span { position:absolute; left:0; }
section.partner p { text-indent:1em; }

/* プライバシーポリシーページ */
section.privacy dl dt { border-left:0; padding-left:0; }
section.privacy dl dd p { text-indent:1em; }

/* 免責事項ページ */
section.exemption ol { position:relative; }
section.exemption ol li { list-style:none; list-style-position:outside; margin-left:0; margin-bottom:1em; padding-left:2em; }
section.exemption ol li span { position:absolute; left:0; }

/*================================================
 *  ページトップへの戻り
 ================================================*/
#page-top { position:fixed; bottom:20px; right:3%; opacity:0.7; background-color:#164265; border:1px solid white; }
#page-top a { display:block; width:50px; height:50px; background:url('images/common_totop.png'); }
#page-top a:hover { text-decoration:none; background-color:#001050; }

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:890px) {
* { box-sizing:border-box; }
body { width:100%; font-size:1.6vw; }
h1 { font-size:4vw; padding-top:3vw; }
h2 { font-size:3vw; letter-spacing:0.5vw; margin-bottom:7vw; }
h3 { font-size:2vw; }
a:hover { opacity:1; }
section { width:100%; box-sizing:border-box; padding:0 10px; margin:10vw auto 15vw; }
footer { padding-bottom:60px; }

header h1 { padding:3vw 0; }
nav ul { width:100%; }
nav ul li { width:20%; }
nav ul li, nav ul li a { font-size:2.2vw; }
nav ul li { box-sizing:content-box; }

div.breadcrumb { width:100%; padding-left:10px; }

footer ul { margin-bottom:3vw; }
footer ul li, footer ul li a { font-size:1.6vw; }
footer a { color:white; }
footer div.footer_profile h1 { font-size:2vw; margin-bottom:2vw; }
footer div.footer_profile div.footer_address { margin-bottom:4vw; }
footer div.copyright { margin-bottom:4vw; }

section.top div.top_info { width:100%; margin-top:10vw; }
section.top div.top_info dl dd { margin-bottom:4vw; }

section.member ul li { width:200px; margin:0 5px 30px; }
section.member ul li a { padding:2vw 0; }
section.member ul li a h3 { font-size:18px; }
section.member ul li a p { font-size:14px; }
section.member ul li a img { margin-top:2vw; }
section.member div.member_header { height:25vw; }
section.member div.member_header div.member_name { width:75%; padding:1.5vw 3vw; }
section.member div.member_header div.member_name h3 span { font-size:1.8vw; }
section.member div.member_header img { width:20%; margin-left:0; }
section.member dl.member_data dt { font-size:2vw; }
section.member dl.member_data dd dl dt { font-size:1.6vw; }
section.member a.member_go_list { width:40vw; height:7vw; line-height:7vw; font-size:2.2vw; }

section.fee h3 { font-size:1.6vw; margin-bottom:2em; }
section.fee dl dt { font-size:2vw; }
section.fee h3.table_title { font-size:2vw; }
section.fee table.fee_price { table-layout:auto; }

section.access div.address { padding:1vw 3vw; margin-bottom:8vw; }
section.access div.address div p { font-size:2.2vw; }
section.access div.address div p a { color:#333; }
section.access div.address img { }
section.access div#Gmap { height:300px; }
section.access img.map { width:100%; margin-top:8vw; }
section.access table { table-layout:auto; margin-top:8vw; }
section.access table th, section.access table td { padding:1vw; }

section.inquery dl { margin-bottom:5vw; padding:2vw; }
section.inquery dl dt { font-size:3vw; }
section.inquery dl dd span { font-size:1.6vw; margin-left:2vw; }
section.inquery dl.inquery_tel dd, section.inquery dl.inquery_tel dd a { font-size:3vw; }
section.inquery dl.inquery_tel dd img { width:3vw; margin-right:2vw; }
section.inquery dl.inquery_email dd { width:30vw; min-width:230px; }
section.inquery dl.inquery_email dd a img { width:100%; }

}

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  スマートフォン
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:480px) {

body { font-size:4vw; }
header { position:relative; }
h1 { font-size:7vw; }
h2 { font-size:5.5vw; letter-spacing:0.1vw; }
h3 { font-size:4.3vw; }

header h1  { text-align:left; padding:3vw 0; }
header h1 a { margin:0; }
header h1 a img { width:auto; margin-left:10px; }
header div.sp_button { display:block; position:absolute; top:20px; right:3%; font-size:8vw; color:white; border:1px solid white; width:50px; height:50px; background-image:url('images/common_humberger.png'); background-color:#164265; background-size:50px 50px; }
nav ul.pc_menu { display:none; }
nav ul.sp_menu { display:block; border:1px solid #164265; font-size:0; display:none; float:right; position:fixed; right:0; top:76px; width:70vw; z-index:10; }
nav ul.sp_menu li { display:block; width:100%; vertical-align:middle; border-bottom:1px solid white; background-color:#164265; }
nav ul.sp_menu li, nav ul li a { font-size:4vw; }
nav ul.sp_menu li.nav_select { background-color:white; padding:10px 0 10px 10px; }
nav ul.sp_menu li:last-child { border-bottom:0; }
nav ul.sp_menu li a { padding:10px 0 10px 10px; color:white; }

div.breadcrumb { margin:2vw 0; }
div.breadcrumb, div.breadcrumb a { font-size:3vw; }
div.breadcrumb a { margin:0 5px; }

section h2 img { width:100%; }

section.member ul li { width:calc(50% - 10px); height:auto; }
section.member ul li a h3 { font-size:4.5vw; }
section.member ul li a h3 span { font-size:3.5vw; }
section.member ul li a p { font-size:3vw; }
section.member ul li a img { width:calc(100% - 40px); }
section.member div.member_header { height:auto; }
section.member div.member_header div.member_name { float:none; width:100%; }
section.member div.member_header div.member_name h3 { font-size: 4.5vw; }
section.member div.member_header div.member_name h3 span { font-size:3.5vw; }
section.member div.member_header div.member_name p { font-size:4.3vw; }
section.member div.member_header img { float:none; margin:10px auto; width:50%; }
section.member dl.member_data { margin-top:10px; }
section.member dl.member_data dt { font-size:4vw; }
section.member dl.member_data dd { line-height:1.6; margin-left:0.5em; }
section.member dl.member_data dd dl dt { font-size:4vw; }
section.member a.member_go_list { width:60%; height:12vw; line-height:12vw; font-size:5vw; }

section.fee h3 { font-size:4vw; }
section.fee dl dt { font-size:4vw; }
section.fee table, section.fee table thead, section.fee table tbody, section.fee table tr, section.fee table tr th, section.fee table td { display:block; width:100%; }
section.fee table { border:0; }
section.fee table tr { margin-bottom:20px; }
section.fee table tr th { border-bottom:0; }
section.fee table tr td { border:1px solid #ddd; }
section.fee h3.table_title { font-size:5vw; }
section.fee table.fee_price thead { display:none; }
section.fee table.fee_price tbody tr .fee_tbl1, section.fee table.fee_price tbody tr .fee_tbl2, section.fee table.fee_price tbody tr .fee_tbl3 { width:100%; }
section.fee table.fee_price tbody tr .fee_tbl1 { border:0; }
section.fee table.fee_price tbody tr th:before { content:"経済的利益の額："; }
section.fee table.fee_price tbody tr td.fee_tbl2:before { content:"着手金："; }
section.fee table.fee_price tbody tr td.fee_tbl3:before { content:"報　酬："; }
section.fee table.fee_price tbody tr td.fee_tbl3 { border-top:0; }

section.access div.address div { float:none; }
section.access div.address div p { font-size:4vw; text-align:center; margin-bottom:0; }
section.access div.address div p:first-of-type { margin-top:15px; }
section.access>p { font-size:3vw; }
section.access div.address img { float:none; display:block; margin:10px auto; }
section.access table, section.access table tr, section.access table tr, th, section.access table tr td { display:block; width:100%; border:0; }
section.access table tr { margin-bottom:15px; }
section.access table th, section.access table td { padding:2vw; }
section.access table tr th { border:0; width:100%; }
section.access table tr td { border:1px solid #ddd; }

section.inquery dl { float:none; width:100%; margin-bottom:10vw; padding:5vw 0; }
section.inquery dl dt { font-size:6vw; }
section.inquery dl dd { font-size:6vw; margin-left:0; line-height:1.6; }
section.inquery dl dd span { display:block; margin-left:0; font-size:3.2vw; }
section.inquery dl.inquery_tel dd, section.inquery dl.inquery_tel dd a { font-size:6vw; }
section.inquery dl.inquery_tel dd img { width:5vw; height:5vw; }
section.inquery dl.inquery_email dd { width:70vw; }
section.inquery dl.inquery_email dd a { width:100%; height:auto; }

footer { font-size:4vw; padding-bottom:80px; }
footer ul { display:none; }
footer a { color:white; }
footer div.footer_profile h1 { font-size:5vw; margin:1vw 0 2pvw; }
footer div.footer_profile h1 img { width:100%; }
footer div.footer_profile div.footer_address { margin-bottom:4vw; }
footer div.copyright { margin-bottom:4vw; }

}
