@charset "utf-8";
/* Reset CSS
************************************************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thmain-text-areaead, tr, th, td{
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section{
	display: block;
}
audio, canvas, video{
	display: inline-block;
	max-width: 100%;
}

html, body {
	width: 100%;
	height:100%;
	padding:0;
	margin:0;
}
html{
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
}
body{
	color: #666;
	position: relative;
	margin: 0 auto;
	padding: 0;
	font-family: 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 2em;
	letter-spacing: 0.05em;
	font-size: 1.3rem;
}
body::after {
	content: "";
	position: absolute;
	top: 249px;
	width: 100%;
	height: 1px;
	background: #eeeeee;
}
body.index.iPad::before,
body.iPad::after {
	width: 1100px;
}
body.index::before {
	content: "";
	position: absolute;
	top: 350px;
	width: 100%;
	height: 1px;
	background: #eeeeee;
}
body.index::after {
	top: 290px;
}

.clearfix:after{
	content: ".";
	display: block;
	height: 0.1px;
	line-height: 0;
	clear: both;
	visibility: hidden;
}

* html .clearfix{
	height: 1%;
}

.clearfix{
	display: block;
}

.clearfix{
	zoom: 100%;
}
a{
	color: #000;
	cursor: pointer;
	text-decoration: underline;
	outline: 0;
}
nav a {
	text-decoration: none;
}
a:visited{
}
a:focus{
}
a:hover, a:active{
}

h1, h2, h3, h4, h5, h6{
	clear: both;
	margin: 0;
}
address{
	font-size: 1.2rem;
	font-style: normal;
	margin-bottom: 24px;
}
abbr[title]{
	cursor: help;
}
b, strong{
	font-weight: 600;
}
cite, dfn, em, i{
	font-style: italic;
}
mark, ins{
	text-decoration: none;
}
p{
	line-height: 2em;
	text-align: left;
}

.tx_right{
	line-height: 2em;
	text-align: right;
}
code, kbd, tt, var, samp, pre{
	font-family: monospace, serif;
	font-size: 14px;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}
pre{
	border: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 24px;
	max-width: 100%;
	overflow: auto;
	padding: 12px;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}
blockquote, q{
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after{
	content: "";
	content: none;
}
blockquote{
	font-size: 100%;
	font-style: italic;
	font-weight: 300;
}
blockquote cite, blockquote small{
	font-size: 14px;
	font-weight: 400;
}
blockquote em, blockquote i, blockquote cite{
	font-style: normal;
}
blockquote strong, blockquote b{
	font-weight: 400;
}
small{
	font-size: 1rem;
}
big{
	font-size: 125%;
}
sup, sub{
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup{
	bottom: 1ex;
}
sub{
	top: .5ex;
}
ul{
	list-style-type: none;
}
ol{

}
li > ul, li > ol{
	margin: 0 0 0 0px;
}
img{
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
	max-width: 100%;
}
a:hover img{
	filter: alpha(opacity=80);
	-moz-opacity: 0.80;
	opacity: 0.80;
}
figure{
	margin: 0;
}
fieldset{
	border: 1px solid rgba(0, 0, 0, 0.1);
	margin: 0 0 24px;
	padding: 11px 12px 0;
}
legend{
	white-space: normal;
}
button, input, select, textarea{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
button, input{
	line-height: normal;
}

input, textarea{
	background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0));
}
button, html input[type="button"], input[type="reset"], input[type="submit"]{
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled], input[disabled]{
	cursor: default;
}
input[type="checkbox"], input[type="radio"]{
	padding: 0;
}
input[type="search"]{
	-webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner{
	border: 0;
	padding: 0;
}
textarea{
	overflow: auto;
	vertical-align: top;
}
table, th, td{
	border: none;
}
table{
	font-size: 100%;
	/*border-collapse: collapse;*/
}
caption, th, td{
	font-size: 100%;
	font-weight: normal;
}

.indent {
	display: inline-block;
}

.sp-disp,
.sp-break {
	display: none;
}

@media screen and (max-width: 767px) {
	body{
		font-size: 1.5rem;
	}
	body::after,
	body.index::before {
		display: none;
	}

	header {
		margin-bottom: 30px;
	}

	img {
		max-width: 100%;
	}

	.sp-disp,
	.sp-break {
		display: block;
	}

	.pc-disp,
	.pc-break {
		display: none;
	}
}

/* common
************************************************/
main {
	margin-bottom: 80px;
}

.wrapper {
	width: 1040px;
	margin: 0 auto;
}

.iPad .wrapper,
.iPad .footer-inner {
	padding: 0 30px;
}

/* page-top */
#page-top {
	position: fixed;
	bottom: 25px;
	right: 20px;
}

.page-top-btn {
	cursor: pointer;
	display: block;
	position: relative;
}

/* font-style */
.fs14 {
	font-size: 14px;
}
.color01 {
	color: #690 !important;
}
.color02 {
	color: #000 !important;
}
.color03 {
	color: #666;
}

@media screen and (max-width: 767px) {
	header, main, footer {
		margin-right: 30px;
		margin-left: 30px;
	}

	.wrapper {
		width: auto;
	}
}

/* header
************************************************/
header {
	/*margin-top: 30px;*/
	margin-bottom: 80px;
	position: relative;
}
header h1 {
	margin-bottom: 56px;
}
header h2 {
	position: relative;
	margin-bottom: 60px;
}

header h3 {
	margin-bottom: 20px;
}

.header-inner {
	display: flex;
	justify-content: space-between;
}

.header-inner .inner01 {
	max-width: 460px;
	margin-top: 30px;
}
.header-message {
	letter-spacing: 2px;
}
.header-inner .inner02 {
	width: 500px;
	z-index: 2;
}

.header-inner .signature {
	text-align: right;
}

/* nav-menu */
.menu-area {
	background-color: #fff;
}
.menu-area a {
	color: #fff;
}
.menu01 .nav-area {
	background-image: url(../img/menu_bg.png);
	background-repeat: no-repeat;
	border-top: 1px solid #fff;
	height: 120px;
	padding-top: 10px;
}
.nav-area ul {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
}
.nav-area ul li {
	position: relative;
	padding-left: 10px;
	width: 100%;
}
.nav-area ul li a {
	display: block;
	padding: 10px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.38);
	height: 80px;
	white-space: nowrap;
}
.nav-area ul li a.current,
.nav-area ul li a:hover {
	background-color: #fff;
	color: #690;
}
.nav-area ul li::after {
	content: "";
	background-color: #fff;
	width: 1px;
	height: 40%;
	position: absolute;
	top: 30%;
	left: -10px;
}
.nav-area ul li:first-child::after {
	 width: 0;
}

.menu02 ul {
	display: table;
	width: 100%;
}
.menu02 ul li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: calc(100% / 3);
}
.menu02 ul .blog {
	background-color: #f1f2f2;
}
.menu02 ul li a {
	display: block;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.38);
}


@media screen and (max-width: 767px) {
	header {
		margin: 0 0 90px;
	}
	header h1 {
		margin-right: 30px;
		margin-left: 30px;
		margin-bottom: 10px;
	}
	header h2 {
		font-size: 4rem;
		line-height: 5rem;
		margin-bottom: 30px;
	}

	.header-inner {
		flex-direction: column;
		padding-top: 45px;
	}

	.header-inner .inner01 {
		max-width: 100%;
		margin-top: 5vw;
	}

	.header-inner .sp-logo {
		max-width: 40%;
	}

	.header-inner .main-visual.sp-disp {
		margin-bottom: 30px;
	}

	.header-inner .header-message {
		margin: 0 30px;
	}

	.header-inner .inner02 {
	}

	.menu02 {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		width: 100%;
	}

	.menu02 ul {
		display: flex;
	}

	.menu02 ul li a {
		font-size: 1rem;
	}
	.menu02 ul li img {
		width: 100%;
	}

	/* sp-menu */
	.menu-btn {
		background-image: url(../img/sp_menu_btn.png);
		background-repeat: no-repeat;
		background-size: 17vw;
		width: 17vw;
		height: 17vw;
		display: block;
		position: fixed;
		top: 27vw;
		right: 30px;
		z-index: 999;
	}
	.menu-btn.close {
		background-image: url(../img/sp_close_btn.png);
	}

	/* drawer menu */
	.drawer-menu {
		background-image: url(../img/sp_menu_bg.png);
		background-repeat: no-repeat;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		display: none;
		padding-bottom: 100%;
		position: fixed;
		top: 14vw;
		right: 0;
		left: 0;
		z-index: 99;
		overflow: auto;
	}
	.drawer-menu.active {
		display: block;
	}

	.drawer-menu ul {
		padding: 0;
	}

	.drawer-menu li {
		text-align: center;
		margin-bottom: 20px;
	}

	.drawer-menu li a {
		color: #fff;
		display: block;
		font-size: 1.5rem;
		padding: 10px 0;
		margin: 0 auto;
		width: 50%;
		position: relative;
	}
	.drawer-menu li a::after {
		content: "";
		background-color: #fff;
		display: block;
		margin: auto;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		width: 30%;
		height: 1px;
	}

}


/* main
************************************************/
.main-contents-area {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
.main-contents-area .contents-row {
	display: flex;
	justify-content: space-between;
}
.main-contents-area .contents01 {
	margin-top: 60px;
}
.index .main-contents-area .contents01 {
	margin-top: 0;
}

.news-area .date {
	margin-right: 30px;
}

.info-img {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.index .main-contents-area {
		flex-direction: column-reverse;
	}

	.contents01 {
		margin: 0 auto;
		text-align: center;
	}

	.news-area {
		margin-bottom: 80px;
	}

	.news-area ul li {
		margin-bottom: 20px;
	}

	.info-img {
		margin-bottom: 70px;
	}
	.info-img img {
		margin: 0 auto;
	}
}

/* footer
************************************************/
footer {
	padding-top: 30px;
	position: relative;
}
/* for iPad */
.iPad footer {
	width: 1100px;
}
footer::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #eee;
}
.footer-inner {
	display: block;
	margin: 0 auto;
	width: 1040px;
}

.company span:first-child {
	font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
	footer::after {
		display: none;
	}
	.footer-inner {
		width: auto;
	}
	.company {
		font-size: 1.2rem;
	}
}

/* sub-page-contents */
.contents-box02 {
	background: #fafaec;
	padding: 30px;
}
.contents03 {
	width: 720px;
	margin: 60px auto;
}
.contents03 h3 {
	text-align: center;
	margin-bottom: 30px;
}
.contents04 {
	width: 780px;
	margin: auto;
}
.list01 {
	float: left;
}
.list02 {
	padding-left: 150px;
}
.index .list02 {
	padding-left: 100px;
}

@media screen and (max-width: 767px) {
	.contents03,
	.contents04 {
		width: auto;
	}

	.list01 {
	float: none;
}
	.list02 {
		padding-left: 0;
	}
}

/* トップページ index.html */
.index .contents02 {
	width: 420px;
}

@media screen and (max-width: 767px) {
	.index .main-contents-area .contents-row {
		flex-direction: column-reverse;
	}

	.index .contents02 {
		width: auto;
	}

	.index .list02 {
		padding-left: 0;
	}
}

/* 弁護士紹介 profile.html */
.profile .biography li {
	margin-bottom: 20px;
}

.profile .contents04 {
	width: 780px;
	margin: 0 auto;
}

.profile .list02 {
	padding-left: 200px;
}

@media screen and (max-width: 767px) {
	.profile .contents04 {
		width: auto;
	}

	.profile .list02 {
		padding-left: 0;
	}

}
/* 取扱分野 service.html*/
.service h4 {
	margin-bottom: 20px;
}
.service .contents03 ul {
	list-style-type: disc;
	padding-left: 20px;
}
.service .case01 {
	margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.service .contents03 {
		width: 100%;
		margin-bottom: 0;
	}
}
/* 弁護士費用 price.html*/
.price .main-contents-area h3 {
	text-align: left;
}

.price .contents-box02 li {
	margin-bottom: 30px;
}

.price .contents04 {
	width: 720px;
	margin: 0 auto;
}

.price .contents04 .contents-box {
	display: flex;
	margin-bottom: 30px;
}

.price .contents04 h3,
.price h4 {
	margin-bottom: 30px;
}

.price .table02 td {
	border: none;
	padding-left: 41px;
}

.price .table02 .list02 {
	padding: 0;
}

.price .case-heading {
	background: #f7f7f7;
	padding-left: 15px;
}
.price .case-contents {
	background: #fafaec;
	padding-left: 30px;
}

.price .list02 {
	padding-left: 100px;
	padding-right: 30px;
}
.price table {
	margin-bottom: 20px;
}
.price th {
	display: block;
	white-space: nowrap;
	width: 100px;
	margin-right: 30px;
	text-align: right;
}
.price td {
	border-left: 1px solid #cdcdc4;
	padding-left: 10px;
}

@media screen and (max-width: 767px) {
	.price .contents04,
	.price .case-heading {
		width: auto;
	}

	.price .case-contents {
		padding: 0;
		width: 100%;
	}

	.price table {
		border-collapse: separate;
		padding: 10px;
	}
	.price th {
		white-space: normal;
		padding-right: 0;
		margin-right: 0;
		text-align: left;
	}

	.price .table02 td {
		padding-left: 0;
	}

	.price .list02 {
		padding: 0;
	}

	.price .contents04 .contents-box {
		flex-direction: column;
	}

	.price .case-heading {
		padding: 20px;
		margin-bottom: 0;
	}

}

/* ご相談の流れ flow.html*/
.flow .contents-box {
	padding: 30px 60px;
}

.flow .img-center {
	margin: 30px 0;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.flow .contents-box {
		padding: 20px;
	}
}
/* 取扱分野 service.html 解決事例 case.html*/
.service .contents-box,
.case .contents-box {
	display: flex;
	padding: 0 30px 30px;
}
.case .case01 {
	margin-bottom: 80px;
}
.service .contents-box,
.flow .contents-box,
.case .contents-box {
	background: #f7f7f7;
}

.case .contents-box {
	margin-bottom: 30px;
}

.case-heading {
	width: 250px;
	padding-top: 20px;
}
.case-contents {
	width: 500px;
	padding-top: 30px;
	margin: auto;
}
.case-heading img {
	display: block;
	margin: 0 auto;
}

.case .case-contents ul {
	margin-bottom: 20px;
	margin-left: 20px;
}

.case .case-contents img {
	display: block;
	margin: 10px auto;
}

.case .list02 {
	padding-left: 50px;
}

.point {
	background: #fafaec;
	border: 1px solid #690;
	padding: 10px 20px;
	margin-top: 10px;
}

.point .list01 {
	float: none;
}
.point .list02 {
	padding-left: 0;
}

@media screen and (max-width: 767px) {
	.service .contents-box,
	.case .contents-box {
	flex-direction: column;
	padding: 0 10px 20px;
}
	.case-heading {
		margin-bottom: 20px;
		width: 100%;
	}
	.case-contents {
		padding-top: 10px;
		width: 100%;
	}
	.case .case-contents ul {
		margin-left: 10px;
	}
	.case .list01 {
		float: none;
	}
	.case .list02 {
		padding-left: 0;
	}
}
/* ご相談予約・お問い合わせ contact.html*/
.contact header {
	margin-bottom: 30px;
}
.contact .contents03 {
	margin-bottom: 0;
}
.contact .contents03:nth-of-type(1) {
	margin-bottom: 0;
}
.contact .contents03 label {
	cursor: pointer;
}

.contact .contents03 input,
.contact .contents03 textarea {
	border: 1px solid #dcdcdc;
	font-size: 1.6rem;
	padding: 5px;
}

.contact .contents03 textarea {
	width: 400px;
}

.contact-table {
	margin: 0 auto;
	text-align: left;
}

.contact-table tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}

.contact-table .contact-td input {
	width: 100%;
}

.contact .cont-center {
	text-align: center;
}

.contact .send-btn {
	background-image: url(../img/confirm_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	text-align: center;
}
.contact .send-btn input {
	background: none;
	border: none;
	color: #fff;
	width: 150px;
	padding: 20px 0;
}

@media screen and (max-width: 767px) {
	.contact .contents03:nth-of-type(1) {
		margin: 0;
	}
	.contact-table .contact-td input,
	.contact-table .contents03 textarea {
		width: 100%;
	}

	.contact .contents03 textarea {
		width: 100%;
	}
}

/* スクロール時のナビ */
.menu-area.pc-fixed {
	/*-webkit-font-smoothing: antialiased;*/
	-moz-osx-font-smoothing: auto;
	position: fixed;
	top: 0;
	width: 500px;
	z-index: 100;
}

/* フォーム確認画面 */
.mail table {
	margin: auto;
}

.mail table td:nth-of-type(1) {
	display: block;
	margin-right: 20px;
}

.mail input.submitbtn {
	margin: 10px auto;
	text-align: center;
	display: block;
	border: none;
	padding: 10px;
	width: 90px;
}