@charset "utf-8";
/* CSS Document */

/* ---------------------------------------------------------------------------------- */
/* Reset */
/* ---------------------------------------------------------------------------------- */
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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	margin: 0;
	padding: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



/* ---------------------------------------------------------------------------------- */
/* Webフォント */
/* ---------------------------------------------------------------------------------- */
body {
    font-family: 'Noto Serif JP', serif;
}



/* ---------------------------------------------------------------------------------- */
/* Base */
/* ---------------------------------------------------------------------------------- */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
a, a:link {
}
a:hover {
}
a:visited {
}
body {
	color: #333;
	font-size: 1.2vw;
	line-height: 1.9em;
}
img {
	width: 100%;
}
p {
	padding: 0 0 0.5em 0;
}
h2 {
	margin: 0 0.5em 0.5em 0;
	padding: 0.3em 0 0.3em 0.8em;
	font-size: 1.4em;
	font-weight: bold;
    background-image: url(images/olimg.png);
    background-repeat: no-repeat;
    background-position:left center;
    background-size:0.3em 0.8em;
    color:#56422A;    
}
section {
	padding: 0 5% 5% 5%;
}
td {
    text-align: left;
    padding: 10px 0 10px 0;
}
.title {
    width: 6em;
}
section a {
    color:firebrick;
}
section a:hover {
    color: gray;
}
section a:visited {
    color:firebrick;
}


/* ---------------------------------------------------------------------------------- */
/* レイアウト */
/* ---------------------------------------------------------------------------------- */

header {
	clear: both;
	width: 100%;
	overflow: hidden;
}
#wrapper {
	width: 100%;
	padding: 0 1% 1em 1%;
}
#container {
	clear: both;
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
#index .content {
	width: 100%;
	padding: 0;
	background: #FFF;
}
.content {
	padding: 0 0% 0 0%;
	background: linear-gradient( to right, #FFFFFF 80%, rgba(255, 255, 255, 0) 100%);
	width: 100%;
}
#top {
	width: 100%;
	margin-bottom: 0em;
}
#main {
	width: 100%;
}
footer {
	clear: both;
	width: 100%;
	height: 100px;
}



/* ---------------------------------------------------------------------------------- */
/* header */
/* ---------------------------------------------------------------------------------- */
header {
	position : relative;
	max-width : 100%;
}
header a {
	text-decoration: none;
}
header a:link {
	text-decoration: none;
}
.headerNav {
	position : absolute;
	top : 0;
	left : 0;
	bottom : 0;
	right : 0;
	width: 100%;
	text-align: right;
}
.headerNav a span {
	margin-right: 0.5em;
	padding: 0.5em;
	background: #E4DED0;
	color: #000;
	font-size: 0.8em;
}
.headerNav a span:hover {
	background: #CCC;
}
.headerNav a:visited {
}
.logo {
	padding: 20px 0px;
    background-color: #FFF;
}
.logo img {
    width: 35%;
}
header .photo {
    position: relative;
}
header .overlay {
	position : absolute;
	top : 20%;
	left : 38%;
	bottom : 0;
	right : 0;
	width: 60%;
    margin-bottom: 30px;
	padding: 1em;
	background: rgba(255,255,255,0.9);
   	border: #56422A solid 1px;
    border-left: #cbb8a2 solid 5px;
	color: #333;
	font-size: 1.1em;
	line-height: 1.5em;
	opacity: 1;
}
header .overlay .small {
    background-image: url(images/olimg.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size:0.3em 0.8em;
    font-size: 1.2em;
    margin-bottom: 20px;
    padding: 0 0 0 0.5em;
}
header .photo .overlayPages {
	position: absolute;
	top: 0%;
    left: 60%;
	bottom : 0;
	right : 0;
	width: 50%;
	height: 98%;
	color: #FFF;
	font-size: 3em;
	font-weight:bold;
	color: #56422A;
	letter-spacing: 0.05em;
	background: rgba(212, 199, 170, 0.9);
	padding: 15% 0 0 1em;
    line-height: 1.6em;
}
.overlayhide {
    position: absolute;
	top: 93%;
    left: 0;
	width: 100%;
	height: 10%;
	background: #FFF;
}



/* ---------------------------------------------------------------------------------- */
/* nav */
/* ---------------------------------------------------------------------------------- */
/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}
.nav {
	position : absolute;
	top : 20px;
	right : 0;
	bottom : 0;
	right : 0;
	width: 65%;
	height: 0;
	margin: 0;
	padding: 0 10px 0 60px;
}
header ul {
	display: flex;
	justify-content: space-between;
}
header li a {
	display: block;
	font-size: 0.8em;
    font-weight: bold;
	color: #56422A;
	transition: 0.1s;
	-webkit-transition: 0.1s;
}
header li a:hover {
	transform: translateY(0.1em);
	border-bottom: solid 1px #56422A;
}



/* ---------------------------------------------------------------------------------- */
/* TOPページ */
/* ---------------------------------------------------------------------------------- */
#index .content {
	margin: 0 0 1em 0;
}
#index section {
	margin-bottom: 0em;
	margin: 0;
	padding: 0;
	border: none;
}
#index #main a {
	text-decoration: none;
}
#index #main a:link {
	text-decoration: none;
}
#index .menuPhoto {
	position: relative;
	width: 100%;
}
#index .menuPhoto img {
	border: #ccc solid 1px;
}
#index .menuPhoto p {
    height: 100%;
	padding: 30% 0 0 10%;
    line-height: 1.6em;
}
#index .menuPhoto .overlay {
	position: absolute;
	top: 0%;
    left: 50%;
	width: 50%;
	height: 97%;
	background: rgba(212, 199, 170, 0.9);
	font-size: 4vw;
    font-weight:bold;
	color: #56422A;
}
#index #main .content a {
	color: #333;
}



/* ---------------------------------------------------------------------------------- */
/* footer */
/* ---------------------------------------------------------------------------------- */
footer {
	text-align: right;
}
.copy {
	clear: both;
	width: 100%;
	border-top: solid 1px #cbb8a2;
	color: #999;
    font-size: 12px;
}



/* ---------------------------------------------------------------------------------- */
/* 概要 */
/* ---------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------- */
/* 弁護士紹介 */
/* ---------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------- */
/* 地図 */
/* ---------------------------------------------------------------------------------- */
iframe {
	width: 100%;
	height: 50vw;
	max-height: 500px;
}


/* ---------------------------------------------------------------------------------- */
/* お知らせ */
/* ---------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------- */
/* 個人情報保護方針 */
/* ---------------------------------------------------------------------------------- */




/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */

/* Media Queries */
/* ---------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------- */

/*68：iPad縦 / iPhone 7/6 Plus横----------------------------------------------------------*/
@media print, screen and (max-width: 768px) {
body {
	font-size: 3vw;
}
h2 {
	font-size: 4vw;
	line-height: 1.4em;
}
.logo {
	width: 100%;
	padding: 2vw 20vw 2vw 0vw;
}
.logo img {
    width: 95%;
}
#index header{
    margin-bottom: 20px;        
    }
header{
    margin-bottom: 0px;        
    }
header .overlay {
	padding: 1.7vw;
    margin-bottom: 0.6em;
	font-size: 3.2vw;
	line-height: 1.4em;
    top : 17%;
	left : 35%;
	bottom : 0;
	right : 0;
	width: 64%;
}
header .overlay .small{
    margin-bottom: 0.6em;
}
header .photo .overlayPages {	
	height: 95.3%;
	font-size: 1.1em;
    line-height: 1.6em;
}
.content {
	padding: 0 0 1em 0;
	background: linear-gradient( to right, #FFFFFF 80%, rgba(255, 255, 255, 0) 85%);
}
article {
    font-size: 3.4vw;
}

    
    
/* TOPページ */

#index .photo img {
	height: 60vw;
}

    
/* 各ページ */    
.copy {
	font-size: 2vw;
}
.officefdata table {
    font-size: 2.7vw;

}
    
    

/* ------------------------------ */    
/* ------------------------------ */
/* ハンバーガーメニュー */
/* ------------------------------ */
/* ------------------------------ */
.nav {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0 30px;
	line-height: 3em;
}
header ul {
	display: block;
	font-size: 1.4em;
	margin-bottom: 50px;
}
.headerNav {
	display: none;
}
.sitemapNav {
	display: block;
}
.nav li {
	margin-bottom: 1em;
}
#nav-drawer {
	position: fixed;
	top: 2.5vw;
	right: 2%;
	z-index: 111;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}
/*アイコンのスペース*/
#nav-open {
	display: inline-block;
	width: 30px;
	height: 22px;
	vertical-align: middle;
}
/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 3px;/*線の太さ*/
	width: 25px;/*長さ*/
	border-radius: 3px;
	background: #cbb8a2;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -8px;
}
#nav-open span:after {
	bottom: -16px;
}
/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	right: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}
/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;/*最前面に*/
	width: 60%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 330px;/*最大幅（調整してください）*/
	height: 100%;
	background: rgba(212, 199, 170, 0.9);/*背景色*/
	opacity: .95;
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(105%);
	transform: translateX(105%);/*左に隠しておく*/
}
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}
#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}



}
/*768：PC（タブレット）----------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
body {
	font-size: 15px;
}
header {
        margin-bottom: 0px;
}    
header .overlay {
    top: 18%;
    width: 61%;
    margin-bottom: 1.5vw;
	padding: 1.2vw;
	font-size: 2.5vw;
    line-height: 3.6vw;
}
header .photo .overlayPages {	
	font-size: 1.8em;
}       
.nav{
    font-size: 2vw;
}
    
    
/* レイアウト */
#index header {
	margin-bottom: 16px;
}
    
    
/* 各ページ */
#index #main {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
#index #main .content {
	width: 49%;
}
#index .menuPhoto .overlay {
	font-size: 2.3vw;
}
#index .menuPhoto .overlay p {
 	padding: 30% 0 0 5%;
}    



}
/*1000以上：PC（デスクトップ）----------------------------------------------------------*/
@media print, screen and (min-width: 1000px) {
body {
	font-size: 19px;
}
header .overlay {
	padding: 1em 0.5em;
	font-size: 22px;
    line-height: 1.5em;
}
.nav{
    font-size: 20px;
}
/* レイアウト */
#wrapper {
	width: 1000px;
	margin: 0 auto;
}
#index header {
	height: 500px;
    margin-bottom: 20px;
}
#index #container {
	display: block;
}

/* 各ページ */
#index #main {
	float: left;
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
#index #main .content {
	width: 32%;
}
#index .menuPhoto .overlay {
	font-size: 15px;
}
#index .menuPhoto .overlay p {
 	padding: 30% 0 0 7%;
}    
}
