/*
 Theme Name: 法律事務所あかつき_re
 Description:
 Theme URI: 
 Author: 
 Author URI: 
 Version: 2.0
 License: 
 License URI: 
*/
@charset "UTF-8";
* {
	box-sizing: border-box;
}

/*body {
  background-image: url('images/bg_top.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: .8;
}*/

html, body {
  position: relative;
  z-index: 0;
  margin: 0;
  height: 100%;
}

/*.site-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('images/bg_top.png') center/cover no-repeat;
  z-index: -1;
  pointer-events: none;
  opacity: .8;
  transition: opacity 1s ease;
}*/

.site-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s ease;
}

/* 読み込み完了後に適用される状態 */
.site-bg.loaded {
  background: url('images/bg_top.png') center/cover no-repeat;
  opacity: 0.8;
}


.cf:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;	
    clear: both; 
	visibility:hidden;
}
.cf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .cf{
	height: 1%;
}
.cf{
	display:block;
}

.is_sp {
	display: none;
}

a {
	text-decoration: none;
	transition: all .3s;
}
a.txt,
a p.txt {
	display: inline-block;
	color: #2CAAA7;
	border-bottom: solid 1px #2CAAA7;
	font-size: 14px;
	padding-bottom: 0.2em;
    line-height: 1.7;
}
a.txt::after,
a p.txt::after {
	content: '';
    background-image: url(images/arrow_r.svg);
    background-position: center right;
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.45em;
    height: 1em;
    vertical-align: text-top;
    display: inline-block;
    transition: all .3s;
    margin-left: .5em;
}
a.txt:hover::after,
a:hover p.txt::after {
	margin-left: .8em;
	margin-right: -.3em;
}

a.btn {
	display: inline-block;
	background-color: #181B39;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	min-width: 200px;
	min-height: 50px;
	line-height: 50px;
	text-decoration: none;
	position: relative;
	transition: all .3s;
	overflow: hidden;
}
a.btn,
a.slide {
	overflow: hidden;
	position: relative;
}
a.btn span,
a.slide span {
	position: relative;
	z-index: 1;
}
a.btn::before,
a.slide::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	content: '';
	width: 120%;
	height: 100%;
	background: #144F9F;
	transform-origin: right top;
	transform: skewX(-30deg) scale(0, 1);
	transition: transform .3s;
}
a.btn:hover::before,
a.slide:hover::before {
	transform-origin: left top;
	transform: skewX(-30deg) scale(1, 1);
}
a.slide::before {
	background: #D4B855;
}
nav#gnav a.slide::before {
	width: 130%;
}

a.btn .fa-angle-left {
	position: absolute;
    font-size: 1.2em;
    left: 0.8em;
    top: 50%;
    margin-top: -.5em;
}
a.btn .fa-angle-right {
	position: absolute;
    font-size: 1.2em;
    right: 0.8em;
    top: 50%;
    margin-top: -.5em;
}
a.btn:hover {
}
a.btn:hover::after {
    right: -2px;
}

a.fade {
	transition: all 0.1s ease;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
}

a.more {
	font-family: 'EB Garamond', serif;
	display: inline-flex;
	align-items: center;
    text-align: left;
	padding-left: 2.5em;
	border: solid 1px #CCC;
	letter-spacing: .04em;
	color: #181B39;
	font-weight: bold;
	min-width: 200px;
	min-height: 46px;
	position: relative;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	line-height: 1;
    white-space: nowrap;
}
a.more::before {
	content: '';
	border-right: solid 1px #CCC;
	position: absolute;
	top: .5em;
	right: 2.5em;
	bottom: .5em;
	z-index: 1;
    will-change: transform,opacity;
}
a.more i {
	overflow: hidden;
}
a.more i::before,
a.more i::after {
	content: '┘';
	transform-origin: left;
    transform: translateX(0) rotate(-45deg);
	position: absolute;
    top: 1.25em;
    right: 0.35em;
	z-index: 1;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out .2s;
}
a.more i::before {
    transform: translateX(-100%) rotate(-45deg);
    opacity: 0;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out;
}
a.more:hover i::before {
    transform: translateX(0) rotate(-45deg);
    opacity: 1;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out .2s;
}
a.more:hover i::after {
    transform: translateX(100%) rotate(-45deg);
    opacity: 0;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out;
}
a.more .line {
	overflow: hidden;
}
a.more .char {
  transition: transfrom 0.1s;
}
a.more:hover .char {
  transform: translateY(120%);
}

span.anchor {
	position: absolute;
	top: -80px;
}


img {
	max-width: 100%;
}

h1.ttl {
	font-family: 'EB Garamond', serif;
}
h1.ttl span {
}
h1.ttl em {
	display: inline-block;
	color: #2CAAA7;
	font-size: 12px;
	margin-left: 1.5em;
	padding-left: 1.5em;
	border-left: solid 1px #333;
	vertical-align: text-top;
}
h2.ttl {
	margin-bottom: 40px;
}
h2.ttl span {
	font-family: 'EB Garamond', serif;
	font-size: 30px;
	color: #181B39;
	letter-spacing: .03em;
}
h2.ttl em {
	display: inline-block;
	color: #A89265;
	font-size: 14px;
	vertical-align: text-top;
	letter-spacing: .1em;
}
h2.ttl em::before {
	display: inline-block;
	content: '／';
	margin: 0 .5em 0 1.5em;
	color: #1A1A1A;
	font-size: .8em;
}
.catch {
	margin-bottom: 40px;
}
.catch em {
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 30px;
	line-height: 1.6;
}



.hvr-sweep-to-right {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
.hvr-sweep-to-right:hover,
.hvr-sweep-to-right:focus,
.hvr-sweep-to-right:active {
    color: white;
}
.hvr-sweep-to-right:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000;/* 背景色 */
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.hvr-sweep-to-right:hover:before,
.hvr-sweep-to-right:focus:before,
.hvr-sweep-to-right:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}
.hvr-sweep-to-right.red:before {
    background: #a82025;
}
.hvr-sweep-to-right.red:hover,
.hvr-sweep-to-right.red:focus,
.hvr-sweep-to-right.red:active {
	color: #FFF!important;
}
.hvr-sweep-to-right.white:before {
    background: #FFF;
}
.hvr-sweep-to-right.white:hover,
.hvr-sweep-to-right.white:focus,
.hvr-sweep-to-right.white:active {
	color: #000!important;
}

/* fadein up */
.fadein-up {
	transition: 1s;
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px);
	will-change: transform,opacity;
}
.fadein-up.on {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

.drawer--navbarTopGutter {
    padding-top: 0;
}

.aligncenter {
    display: block;
    margin: 0 auto 10px auto;
}
.alignright {
    float: right;
    margin: 0 0 10px 10px;
}
.alignleft {
    float: left;
    margin: 0 10px 10px 0;
}

p {
    word-break:break-all;
}


.bg.project,
.bg.project a {
	background-color: #8ed2c9;
}
.bg.work,
.bg.work a {
	background-color: #e48728;
}
.bg.rent,
.bg.rent a {
	background-color: #1e2e53;
}
.bg.event,
.bg.event a {
	background-color: #52b9e0;
}

html {
	scroll-behavior: smooth;
    scroll-padding-top: 100px;
}
body {
	color: #1A1A1A;
    width: 100%;
	min-width: 1280px;
    font-size: 16px;
	line-height: 1.0;
	-webkit-text-size-adjust: 100%;
/*	font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS Pgothic","Osaka",sans-serif,Helvetica, Helvetica Neue, Arial, Verdana;*/
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.wrap1 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.wrap2 {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}


/* --------------- HEADER --------------- */
/*
body.header_fixed {
	padding-top: 80px;
}
*/
header {
	min-width: 1280px;
	position: relative;
	z-index: 10;
	transition: all .3s;
}
header.scrolled {
	background-color: rgba(255,255,255,0.9);
}
header.scrolled nav#gnav > ul > li a {
	color: #333;
}
header nav#gnav {
	height: 100px;
/*    background-color: #FFF;*/
}
header nav#gnav > ul {
	display: flex;
	justify-content: space-between;
	height: 100%;
}
header nav#gnav > ul > li {
	padding: 0 1em;
}
header nav#gnav > ul > li:not(.contact) {
	align-self: center;
}
header nav#gnav > ul > li.logo {
	flex-grow: 1;
	padding-left: 50px;
}
header nav#gnav > ul > li.logo a figure {
	display: block;
	position: relative;
	/*width: 300px;
	height: 44px;*/
	width: 180px;
	height: 50px;
}
header nav#gnav > ul > li.logo a figure img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all .3s;
    will-change: opacity;
}
header nav#gnav > ul > li.logo a figure img.bk {
	opacity: 0;
}
header nav#gnav > ul > li.logo a figure img.wh {
	opacity: 1;
}
header.scrolled nav#gnav > ul > li.logo a figure img.bk {
	opacity: 1;
}
header.scrolled nav#gnav > ul > li.logo a figure img.wh {
	opacity: 0;
}
header nav#gnav > ul > li a {
	display: inline-block;
	font-size: 14px;
	color: #FFF;
	text-decoration: none;
	text-align: center;
	height: 100%;
	transition: all .3s;
	white-space: nowrap;
}
header nav#gnav > ul > li a:hover {
	opacity: .8;
}
header nav#gnav > ul > li.logo a:hover {
	opacity: .6;
}
header nav#gnav > ul > li.menu a {
	padding: .5em 0;
	transition: all .3s;
	position: relative;
}
header nav#gnav > ul > li.menu a:hover,
header nav#gnav > ul > li.menu.on a {
}
header nav#gnav > ul > li.menu a::after {
	content: '';
	display: block;
    width: 0%;
    height: 1px;
    background-color: #A89265;
    margin: .5em auto -0.5em;
	transition: all .3s;
	position: absolute;
	left: 0;
}
header nav#gnav > ul > li.menu.on a::after,
header nav#gnav > ul > li.menu a:hover::after {
	width: 100%;
}
/*
header nav#gnav > ul > li:nth-last-child(2) {
	padding-right: 2em;
}
*/
header nav#gnav > ul > li.recruit,
header nav#gnav > ul > li.contact {
	padding: 0;
	align-self: center;
}
header nav#gnav > ul > li.recruit a,
header nav#gnav > ul > li.contact a {
	color: #FFF;
	width: 150px;
    height: auto;
	padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: all .3s;
}
header nav#gnav > ul > li.recruit a {
	background-color: #A89265;
}
header nav#gnav > ul > li.recruit a:hover {
	color: #A89266;
}
header nav#gnav > ul > li.recruit a::before {
	background-color: #F9F7F4;
}
header nav#gnav > ul > li.contact a {
	background-color: #181B39;
}
header nav#gnav > ul > li.contact a:hover {
	color: #181B39;
}
header nav#gnav > ul > li.contact a::before {
	background-color: #F9F7F4;
}
/*
header nav#gnav > ul > li.contact a.slide::before {
	background: #194AB2;
}
*/
header nav#gnav > ul > li.recruit a:hover,
header nav#gnav > ul > li.contact a:hover {
	opacity: 1;
}
header nav#gnav > ul > li:last-child {
	padding-right: 50px;
}


.breadcrumbs {
	padding: 20px 60px;
	color: #666;
	font-size: 10px;
	line-height: 1.7;
	text-align: right;
}
.breadcrumbs a {
	color: #666;
}
.breadcrumbs a:hover {
	text-decoration: underline;
}



/*
header,
header nav#gnav,
header nav#gnav > ul > li,
header nav#gnav > ul > li.logo,
header nav#gnav > ul > li a,
header nav#gnav > ul > li.logo > a img,
header nav#breadcrumb ul{
	transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
*/
.header_fixed header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}
/*
.header_fixed header nav#gnav {
	height: 60px;
}
.header_fixed header nav#gnav > ul > li > a {
    height: 60px;
    line-height: 60px;
}
*/
/*
.header_fixed header nav#gnav > ul > li.logo {
	width: 130px;
}
.header_fixed header nav#gnav > ul > li.logo > a img {
    width: 100px;
}
.header_fixed header nav#breadcrumb ul {
	padding: 5px 0;
}
*/

/* --------------- /HEADER --------------- */



/* --------------- HOME --------------- */
/*body.home main::before {
	content: '';
	position: absolute;
	top: 674px;
    left: 0;
	border-top: solid 630px #181B39;
	border-right: solid 410px transparent;
    z-index: 0;
	opacity: .8;
}
body.home main::after {
	content: '';
    position: absolute;
    right: 0;
    bottom: 0;
	z-index: -1;
    border-top: solid 138.5vw transparent;
    border-right: solid 100vw #F9F7F4;
	opacity: .8;
}*/
body.home #hero {
/*
	height: 720px;
	background-image: url("images/pc_slider_1.jpg");
	background-size: cover;
	background-position: center;
*/
	position: relative;
	color: #FFF;
	margin-bottom: 100px;
}
body.home #hero::before {
	content: '';
	position: absolute;
	top: 0;
    left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background-color: #181B39;
	opacity: .4;
}
/*body.home #hero::after {
	content: '';
    position: absolute;
    top: 230px;
    left: 0;
    right: 0;
	bottom: 0;
	width: 480px;
	height: 300px;
    margin: 0 auto;
	z-index: 3;
	opacity: .3;
	background-image: url("images/symbol_wh.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}*/
body.home #hero::after {
	content: '';
    position: absolute;
    top: 160px;
    left: 0;
    right: 0;
	bottom: 0;
	width: 480px;
	height: 200px;
    margin: 0 auto;
	z-index: 3;
	opacity: .3;
	background-image: url("images/logo_wh_symbol.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
body.home #hero h1 {
	font-family: "Zen Antique", serif;
	font-weight: 400;
	position: absolute;
	/*top: 310px;*/
	top: 380px;
	left: 0;
	right: 0;
	z-index: 4;
	text-align: center;
	font-size: 40px;
	line-height: 1.8;
	letter-spacing: .1em;
	text-shadow: 0px 3px 8px #1A1A1A;
}
body.home #hero h1 small {
	font-family: 'EB Garamond', serif;
	display: block;
	font-size: 20px;
	letter-spacing: .02em;
    margin-top: 0.5em;
}
body.home #hero  p {
	position: absolute;
	top: 390px;
	left: 105px;
	z-index: 3;
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: .1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
}

/*body.home main > .overlay {
	width: 100%;
    background-image: url(images/bg_top.png);
    background-size: cover;
    background-position: center;
	position: absolute;
	height: 100dvh;
	z-index: -1;
    opacity: .8;
    margin-top: -100px;
}*/

body.home main > #about {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: flex-end;
	margin-bottom: 100px;
} 


body.home main > #about::before {
	content: '';
	position: absolute;
	z-index: 3;
	width: 800px;
	height: 100%;
	background-image: url("images/top_about.jpg");
	background-size: cover;
	background-position: center;
	top: 0;
	left: -100px;
}

body.home main > #about > div {
    margin: 50px -70px 50px 0;
    width: 600px;
	padding: 50px 70px 60px;
    background-color: #FFF;
    position: relative;
    z-index: 4;
} 
body.home main > #about > div h3 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
	margin-bottom: .5em;
} 
body.home main > #about > div h3 + p {
	line-height: 2.2;
	margin-bottom: 3em;
} 

body.home main > #service {
    background-image: url(images/top_service.jpg);
    background-size: cover;
    background-position: center;
	margin-bottom: 100px;
	padding: 80px 0 100px;
	position: relative;
}
body.home main > #service::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background-color: rgba(255,255,255,.8);
}
body.home main > #service > div {
	position: relative;
	z-index: 2;
}
body.home main > #service h2 {
	text-align: center;
}
body.home main > #service p {
	line-height: 2.2;
	text-align: center;
	margin-bottom: 60px;
}
body.home main > #service ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
body.home main > #service ul li {
	width: 435px;
	border-bottom: solid 1px #181B39;
}
body.home main > #service ul li:nth-child(-n + 2) {
	border-top: solid 1px #181B39;
}
body.home main > #service ul li a {
	display: block;
	color: #1A1A1A;
}
body.home main > #service ul li a h3 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
	padding: 20px 0;
	min-height: 130px;
}
body.home main > #service ul li a h3 span {
	margin-left: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 46px;
	height: 46px;
	background-color: #FFF;
	transition: all .3s;
}
body.home main > #service ul li a:hover h3 span {
	background-color: #181B39;
}
body.home main > #service ul li a h3 span::after {
	content: '┘';
	transform: rotate(-45deg);
    margin-left: 0.4em;
	transition: all .3s;
}
body.home main > #service ul li a:hover h3 span::after {
	color: #FFF;
}
body.home main > #service ul li a figure {
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: 50px;
	height: 50px;
	margin-right: 1em;
}
body.home main > #service ul li.icon01 a figure {
	background-image: url("images/practice_icon01.svg");
}
body.home main > #service ul li.icon02 a figure {
	background-image: url("images/practice_icon02.svg");
}
body.home main > #service ul li.icon03 a figure {
	background-image: url("images/practice_icon03.svg");
}
body.home main > #service ul li.icon04 a figure {
	background-image: url("images/practice_icon04.svg");
}
body.home main > #service ul li.icon05 a figure {
	background-image: url("images/practice_icon05.svg");
}
body.home main > #service ul li.icon06 a figure {
	background-image: url("images/practice_icon06.svg");
}
body.home main > #service ul li.icon07 a figure {
	background-image: url("images/practice_icon07.svg");
}
body.home main > #service ul li.icon08 a figure {
	background-image: url("images/practice_icon08.svg");
}
body.home main > #service ul li.icon09 a figure {
	background-image: url("images/practice_icon09.svg");
}
body.home main > #service ul li.icon10 a figure {
	background-image: url("images/practice_icon10.svg");
}
body.home main > #service ul li.icon11 a figure {
	background-image: url("images/practice_icon11.svg");
}

body.home main > #advisory > div {
	position: relative;
	margin-bottom: 100px;
}
body.home main > #advisory img {
	width: 490px;
}
body.home main > #advisory .txt {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: 420px;
}
body.home main > #advisory .txt p {
	line-height: 2.2;
	margin-bottom: 50px;
}
body.home main > #fees > div {
	position: relative;
	margin-bottom: 210px;
}
body.home main > #fees .img1 {
	position: relative;
	left: -193px;
	width: 360px;
}
body.home main > #fees .img2 {
	position: absolute;
	top: 120px;
	right: 0;
	width: 250px;
}
body.home main > #fees .txt {
	position: absolute;
	top: 80px;
	left: 240px;
	z-index: 1;
	width: 420px;
}
body.home main > #fees .txt p {
	line-height: 2.2;
	margin-bottom: 50px;
}
body.home main > #lawyers > div {
	position: relative;
	margin-bottom: 200px;
}
body.home main > #lawyers img {
	position: absolute;
	right: -193px;
	width: 683px;
}
body.home main > #lawyers .txt {
	position: relative;
	top: 100px;
	z-index: 1;
	width: 420px;
}
body.home main > #lawyers .txt p {
	line-height: 2.2;
	margin-bottom: 50px;
}
body.home main > #news {
	/*padding: 90px 0 100px;*/
	padding: 140px 0 100px;
} 
body.home main > #news > h2.ttl {
	text-align: center;
} 
body.home main > #news > p {
	text-align: center;	
}
body.home main > #news.blog {
    padding: 160px 0 10px;
	position: relative;
	left: 50%;
	margin-left: -490px;
}
body.home main > #news.blog > article {
	padding-bottom: 0;
}
body.home main > #news.blog > h2.ttl {
	text-align: left;
}
body.home main > #news.blog > p {
	text-align: left;
}
body.home main > #news.blog .slides-blog .slick-track {
}
body.home main > #news.blog .slides-blog .slick-slide {
}
body.home main > #news.blog .slides-blog .slick-slide > div {
    padding-right: 60px;
}
body.home main > #news.blog .slides-blog .slick-slide img {
	width: 100%;
}
.slick-prev, .slick-next {
    background: #FFF;
    border: solid 1px #CCC;
    top: -80px;
	right: initial;
	left: 940px;
    width: 46px;
    height: 46px;
	transition: all .3s;
}
.slick-prev:hover, .slick-next:hover {
    background: #181B39;
}
.slick-prev {
	left: 865px;
}
.slick-prev:before, .slick-next:before {
	content: "\f104";
	font: normal normal normal 14px / 1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    color: #181B39;
	transition: all .3s;
}
.slick-prev:hover::before, .slick-next:hover::before {
	color: #FFF;
}
.slick-next:before {
	content: "\f105";
}
/* --------------- /HOME --------------- */


/* --------------- MAIN COMMON --------------- */
main {
	position: relative;
	overflow: hidden;
}
/*
body.home main::before {
    content: '';
    position: absolute;
	height: 1770px;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    z-index: -1;
	background-color: #F9F7F4;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
*/
/*.page.about #lawyers::after,
.archive main::after,
.single main::after {
	content: '';
	width: 23.4%;
    height: 0;
    padding-top: 31.5%;
	position: absolute;
	right: 0;
	bottom: 0;
    display: block;
    z-index: -1;
    background-image: linear-gradient( -53.5deg, #F9F7F4 0%, #F9F7F4 50%, transparent 50%, transparent 100% );
}*/
/*.page.service #practices::before {
    content: '';
    position: absolute;
    top: 0;
    left: 45%;
    right: 0;
    bottom: 0;
    display: block;
    z-index: -1;
    background-color: #F9F7F4;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	opacity: .8;
}*/
#headline {
	width: 100%;
	background-color: #181B39;
	height: 400px;
	color: #FFF;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-size: cover;
    background-position: center;
	position: relative;
}
#headline::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background-color: #000;
	opacity: .35;
}
#headline > * {
	position: relative;
	z-index: 2;
}
/*main::before {
	content: '';
	position: absolute;
	top: 400px;
    left: 0;
	border-top: solid 400px #181B39;
	border-right: solid 316px transparent;
    z-index: -1;
	opacity: .8;
}*/
/*.page.about main::after,
.page-service-child main::after,
.page.legal-fees main::after,
.page-lawyers-child main::after,
.page.recruit main::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
    z-index: -1;
	border-top: solid 300px transparent;
	border-right: solid 216px #F9F7F4;
	opacity: .8;
}*/

/*
#headline.v2 {
	background-image: url("images/kv_bg.jpg");
}
*/
#headline h1.ttl span {
	font-size: 50px;
	line-height: 1.84;
    letter-spacing: 0.03em;
}
#headline p.ttl {
	color: #A89265;
	font-weight: bold;
	line-height: 1.78;
    letter-spacing: 0.1em;
}
.page .top.common {
	margin: 50px auto 100px;
}
.page .top.common p {
	text-align: center;
	line-height: 2.2;
}

table.common {
	width: 100%;
	text-align: center;
	font-size: 14px;
	margin-bottom: 50px;
}
table.common tr th,
table.common tr td {
	border: solid 1px #2CAAA7;
	vertical-align: middle;
	line-height: 1.4;
	padding: 0.4em 0;
	width: 20%;
}
table.common tr th {
	background-color: #F2FBFA;
}
table.common tr th small {
	font-size: 12px;
}
table.common tr th:first-child::before,
table.common tr td:first-child::before {
	content: '';
	display: inline-block;
	min-height: 2.8em;
	vertical-align: middle;
}
.bn-fee {
	border: solid 1px #CCC;
	margin-bottom: 100px;
	padding: 50px 100px;
	position: relative;
	background-color: #FFF;
}
.bn-fee::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	border-left: 90px solid #181B39;
	border-bottom: 125px solid transparent;
}
.bn-fee::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	border-top: 125px solid transparent;
	border-right: 90px solid #F9F7F4;
}
.bn-fee h2 {
	margin-bottom: 30px;
}
.bn-fee p {
	line-height: 2.2;
}
.bn-fee a {
	position: absolute;
	right: 100px;
	bottom: 50px;
	z-index: 1;
}
/* --------------- /MAIN COMMON --------------- */



/* --------------- PAGE-ABOUT --------------- */
.page.about #headline {
	background-image: url("images/about_kv.jpg");
}
.page.about section.bg {
	display: block;
	background-image: url("images/about_bg.jpg");
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 320px;
	margin-bottom: 100px;
}
.page.about #top {
	margin-top: 80px;
}
.page.about #top::before {
	content: '';
	height: 620px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100px;
	z-index: 1;
	/*background-color: #FFF;*/
}
/*.page.about #top::after {
	content: '';
    position: absolute;
    right: 0;
    bottom: 0;
	z-index: -1;
    border-top: solid 1485px transparent;
    border-right: solid 1072px #F9F7F4;
	opacity: .8;
}*/
.page.about #top > div {
	position: relative;
}
.page.about #top h2.top {
	writing-mode: vertical-rl;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	letter-spacing: .28em;
	margin: 0 auto;
	position: relative;
    width: 100%;
    display: flex;
    align-items: center;
	z-index: 2;
}
.page.about #top h2.top::before {
	content: '';
	display: block;
	width: 360px;
	height: 260px;
	/*background-image: url("images/icon-192x192.png");*/
	background-image: url("images/logo_symbol.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	/*top: 50px;*/
	top: 30px;
	left: 0;
	right: 0;
	z-index: -1;
	margin: 0 auto;
	opacity: .2;
}
.page.about #top .img1 {
	position: absolute;
	top: 385px;
	left: -200px;
	z-index: 1;
	width: 800px;
}
.page.about #top .img2 {
	position: absolute;
	top: 240px;
	right: -100px;
	z-index: 1;
	width: 300px;
}
.page.about #top .img3 {
	position: absolute;
	top: 780px;
	right: 40px;
	z-index: 1;
	width: 260px;
}
.page.about #top h3 {
	margin-top: 405px;
	width: 600px;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: .5em;
	line-height: 1.7;
	letter-spacing: .1em;
}
.page.about #top h3 + p {
	line-height: 2.2;
	width: 600px;
	margin-bottom: 130px;
}
.page.about #top .img4 {
	position: relative;
	z-index: 1;
	width: 490px;
	margin-bottom: 285px;
}
.page.about #top #strength {
	position: absolute;
	right: 0;
	bottom: 180px;
	z-index: 1;
	width: 420px;
}
.page.about #top #strength p {
	line-height: 2.2;
}
.page.about #greetings {
	position: relative;
	padding-bottom: 440px;
	margin-bottom: 100px;
}
.page.about #greetings h3 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
	margin-bottom: 1em;
	width: 420px;
}
.page.about #greetings .img1 {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	width: 400px;
}
.page.about #greetings p {
	line-height: 2.2;
	width: 500px;
	margin-bottom: 2em;
}
.page.about #greetings h4 {
	font-weight: bold;
	font-size: 22px;
	letter-spacing: .1em;
	line-height: 1.7;
}
.page.about #greetings h4 span {
	display: block;
	font-size: 14px;
}
.page.about #greetings h4 small {
	display: block;
	font-size: 16px;
	color: #A89265;
}
.page.about #greetings .img2 {
	position: absolute;
	right: -100px;
	bottom: 80px;
	z-index: 1;
	width: 700px;
}
.page.about #greetings .img3 {
	position: absolute;
	left: 170px;
	bottom: 0;
	z-index: 2;
	width: 390px;
}
.page.about #outline h2 {
	text-align: center;
	margin-bottom: 20px;
}
.page.about #outline table {
	margin-bottom: 100px;
}
.page.about #outline table tr {
	border-bottom: solid 1px #CCC;
	letter-spacing: .08em;
}
.page.about #outline table tr th {
	font-size: 14px;
	padding: 30px 0;
	text-align: left;
	width: 200px;
}
.page.about #outline table tr td {
	font-size: 16px;
	font-weight: bold;
}
/* --------------- /PAGE-ABOUT --------------- */

/* --------------- PAGE-SERVICE --------------- */
.page.service #headline {
	background-image: url("images/service_kv.jpg");
}
/*
.page.service p {
	text-align: center;
	line-height: 2.2;
}
.page.service main .top {
	margin: 50px auto 100px;
}
*/
.page.service #practices {
	position: relative;
}
/*
.page.service #practices::after {
	content: '';
	display: block;
	background-image: url("images/practice_main.jpg");
	background-size: cover;
	position: absolute;
	top: 0;
	left: 50%;
	right: 0;
	height: 350px;
    margin-left: -80px;
}
*/
.page.service #practices > div {
	position: relative;
}
.page.service #practices > div > div {
	position: absolute;
	top: 40px;
	left: -40px;
	z-index: 2;
	background-color: #FFF;
	width: 580px;
	height: 270px;
	padding: 30px 40px;
}
.page.service #practices ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
/*    align-items: center;*/
/*	padding: 430px 0 90px;*/
	padding: 0 0 230px;
}
.page.service #practices ul li {
	width: 475px;
	border: solid 1px #CCC;
	margin-bottom: 30px;
    display: inline-table;
    background-color: #FFF;
	align-self: flex-start;
    position: relative;
}
.page.service #practices ul li:nth-child(odd) {
}
.page.service #practices ul li:nth-child(even) {
	top: 160px;
/*    bottom: -140px;*/
}
.page.service #practices ul li a {
	display: block;
	color: #1A1A1A;
	padding: 40px 35px;
	position: relative;
}
.page.service #practices ul li a span {
	position: absolute;
	top: 40px;
	right: 35px;
	border: solid 1px #181B39;
	width: 46px;
	height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
	transition: all .3s;
}
.page.service #practices ul li a span::before {
	content: '┘';
    transform: rotate(-45deg);
    margin-left: 0.3em;
	transition: all .3s;
}
.page.service #practices ul li a:hover span {
	background-color: #181B39;
}
.page.service #practices ul li a:hover span::before {
	color: #FFF;
}
.page.service #practices ul li h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.55;
	letter-spacing: .1em;
    display: flex;
    align-items: center;
	padding-right: 60px;
}
.page.service #practices ul li h3 small {
	font-size: 16px;
}
.page.service #practices ul li h3 figure {
	display: inline-block;
	width: 50px;
	height: 50px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 20px;
}
.page.service #practices ul li.icon01 h3 figure {
	background-image: url("images/practice_icon01.svg");
}
.page.service #practices ul li.icon02 h3 figure {
	background-image: url("images/practice_icon02.svg");
}
.page.service #practices ul li.icon03 h3 figure {
	background-image: url("images/practice_icon03.svg");
}
.page.service #practices ul li.icon04 h3 figure {
	background-image: url("images/practice_icon04.svg");
}
.page.service #practices ul li.icon05 h3 figure {
	background-image: url("images/practice_icon05.svg");
}
.page.service #practices ul li.icon06 h3 figure {
	background-image: url("images/practice_icon06.svg");
}
.page.service #practices ul li.icon07 h3 figure {
	background-image: url("images/practice_icon07.svg");
}
.page.service #practices ul li.icon08 h3 figure {
	background-image: url("images/practice_icon08.svg");
}
.page.service #practices ul li.icon09 h3 figure {
	background-image: url("images/practice_icon09.svg");
}
.page.service #practices ul li.icon10 h3 figure {
	background-image: url("images/practice_icon10.svg");
}
.page.service #practices ul li.icon11 h3 figure {
	background-image: url("images/practice_icon11.svg");
}
.page.service #practices ul.v2 {
	padding-bottom: 50px;
}
.page.service #practices ul.v2 li {
	margin-bottom: 60px;
}
.page.service #practices ul li.icon04 {
	top: 130px;
}
.page.service #practices ul li.icon06 {
	top: 100px;
}
.page.service #practices ul li.icon07 {
	top: -120px;
}
.page.service #practices ul li.icon09 {
	top: -200px;
}
.page.service #practices ul li.icon11 {
	top: 100px;
}
/*
.page.service #practices ul.v2 li:nth-child(4) {
	bottom: -63px;
}
.page.service #practices ul.v2 li:nth-child(6) {
	bottom: 40px;
}
.page.service #practices ul.v2 li:nth-child(8) {
	bottom: 130px;
}
*/
.page.service #practices ul li p {
	font-size: 14px;
	line-height: 2.0;
	text-align: left;
    margin-top: 1.5em;
	border-top: solid 1px #A89265;
    padding-top: 1.5em;
}
/* --------------- /PAGE-SERVICE --------------- */

/* --------------- /PAGE-SERVICE-CHILD --------------- */
.page-service-child main {
	position: relative;
}
.page-service-child #catchphrase > div {
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
.page-service-child #catchphrase > div .txt {
	width: 420px;
	padding-top: 50px;
}
.page-service-child #catchphrase > div .txt h3 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: 1em;
}
.page-service-child #catchphrase > div .txt p {
	line-height: 2.2;
}
.page-service-child #catchphrase > div .img {
	width: 490px;
	height: 390px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	order: 1;
}
.page-service-child #features {
	position: relative;
	padding-bottom: 100px;
}
.page-service-child #features::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 375px;
	z-index: -1;
	background-color: #181B39;
}
.page-service-child #features h2 {
	text-align: center;
	margin-bottom: 40px;
}
.page-service-child #features ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	color: #FFF;
}
.page-service-child #features ul li {
	width: 285px;
}
.page-service-child #features ul li figure {
	position: relative;
	margin-bottom: 40px;
}
.page-service-child #features ul li figure figcaption {
	position: absolute;
	right: -20px;
	bottom: -20px;
	z-index: 2;
	color: #A89265;
	font-size: 72px;
	font-weight: bold;
	font-family: 'EB Garamond', serif;
}
.page-service-child #features ul li figure + p {
	font-size: 14px;
	letter-spacing: .08em;
	margin-bottom: 1em;
}
.page-service-child #features ul li h3 {
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 1.2em;
	line-height: 2.2;
}
.page-service-child #features ul li h3 + p {
	font-size: 14px;
	line-height: 2.0;
}
.page-service-child #p-area {
	padding: 90px 0 100px;
}
.page-service-child #p-area > div {
	display: flex;
	justify-content: space-between;
}
.page-service-child #p-area > div dl {
	width: 650px;
	margin-top: -25px;
}
.page-service-child #p-area > div dl dt {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .1em;
	padding: 30px 0;
	border-bottom: solid 1px #CCC;
	position: relative;
/*	cursor: pointer;*/
}
/*
.page-service-child #p-area > div dl dt::before{
	content: "＋";
	position: absolute;
	right: 20px;
	background-color: #CCC;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
}
.page-service-child #p-area > div dl dt.open::before{
	content: "－";
}
*/
.page-service-child #p-area > div dl dd {
/*	display: none;*/
	padding-top: 25px;
}
.page-service-child #p-area > div dl dd ul li {
	font-size: 14px;
	line-height: 2.0;
    padding-left: 1.5em;
}
.page-service-child #p-area > div dl dd ul li::before {
	content: '-';
	display: inline-block;
	margin: 0 .5em 0 -1em;
    text-indent: 0em;
}
.page-service-child #others h2 {
	text-align: center;
	margin-bottom: 40px;
}
.page-service-child #others ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 100px;
}
.page-service-child #others ul li {
	width: 485px;
	height: 74px;
	border: solid 1px #CCC;
	margin-bottom: 10px;
	background-color: #FFF;
}
.page-service-child #others ul li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #1A1A1A;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
	position: relative;
    padding-right: 48px;
}
.page-service-child #others ul li a span {
	transition: all .3s;
}
.page-service-child #others ul li a:hover span {
	opacity: .6;
}
.page-service-child #others ul li a::before {
	content: '';
	border-right: solid 1px #CCC;
	position: absolute;
	z-index: 1;
	top: 22px;
	right: 46px;
	bottom: 22px;
}
.page-service-child #others ul li a i {
	overflow: hidden;
}
.page-service-child #others ul li a i::before,
.page-service-child #others ul li a i::after {
	content: '┘';
	transform-origin: left;
    transform: translateX(0) rotate(-45deg);
	position: absolute;
    top: 1.85em;
    right: 0.55em;
	z-index: 1;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out .2s;
}
.page-service-child #others ul li a i::before {
    transform: translateX(-100%) rotate(-45deg);
    opacity: 0;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out;
}
.page-service-child #others ul li a:hover i::before {
    transform: translateX(0) rotate(-45deg);
    opacity: 1;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out .2s;
}
.page-service-child #others ul li a:hover i::after {
    transform: translateX(100%) rotate(-45deg);
    opacity: 0;
    transition: transform .4s ease-in-out,opacity .2s ease-in-out;
}

/*
.page-service-child #others ul li a::after {
	content: '┘';
	transform: rotate(-45deg);
    margin-right: 12px;
}
*/
.page-service-child #others ul li a figure {
	display: block;
	width: 74px;
	height: 74px;
	background-color: #181B39;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto;
}
.page-service-child #others ul li.icon01 a figure {
	background-image: url("images/practice_icon01_wh.svg");
}
.page-service-child #others ul li.icon02 a figure {
	background-image: url("images/practice_icon02_wh.svg");
}
.page-service-child #others ul li.icon03 a figure {
	background-image: url("images/practice_icon03_wh.svg");
}
.page-service-child #others ul li.icon04 a figure {
	background-image: url("images/practice_icon04_wh.svg");
}
.page-service-child #others ul li.icon05 a figure {
	background-image: url("images/practice_icon05_wh.svg");
}
.page-service-child #others ul li.icon06 a figure {
	background-image: url("images/practice_icon06_wh.svg");
}
.page-service-child #others ul li.icon07 a figure {
	background-image: url("images/practice_icon07_wh.svg");
}
.page-service-child #others ul li.icon08 a figure {
	background-image: url("images/practice_icon08_wh.svg");
}
.page-service-child #others ul li.icon09 a figure {
	background-image: url("images/practice_icon09_wh.svg");
}
.page-service-child #others ul li.icon10 a figure {
	background-image: url("images/practice_icon10_wh.svg");
}
.page-service-child #others ul li.icon11 a figure {
	background-image: url("images/practice_icon11_wh.svg");
}
/* --------------- /PAGE-SERVICE-CHILD --------------- */

/* --------------- PAGE-SERVICE-INSURANCE --------------- */
.page.insurance #headline {
	background-image: url("images/mv_insurance.jpg");
}
.page.insurance #catchphrase > div .img {
	background-image:  url("images/insurance_main.jpg");
}
/* --------------- /PAGE-SERVICE-INSURANCE --------------- */

/* --------------- PAGE-SERVICE-DEBT-COLLECTION --------------- */
.page.debt-collection #headline {
	background-image: url("images/mv_debt-collection.jpg");
}
.page.debt-collection #catchphrase > div .img {
	background-image:  url("images/debt-collection_main.jpg");
}
/* --------------- /PAG-SERVICEE-DEBT-COLLECTION --------------- */

/* --------------- PAGE-SERVICE-LABOR --------------- */
.page.labor #headline {
	background-image: url("images/mv_labor.jpg");
}
.page.labor #catchphrase > div .img {
	background-image:  url("images/labor_main.jpg");
}
/* --------------- /PAGE-SERVICE-LABOR --------------- */

/* --------------- PAGE-SERVICE-OTHER --------------- */
.page.other #headline {
	background-image: url("images/mv_other-practices.jpg");
}
.page.other .box.even {
	background-color: #F9F7F4;
}
.page.other .box > div {
	display: flex;
	justify-content: space-between;
	padding-top: 100px;
}
.page.other .breadcrumbs + .box > div {
	padding-top: 50px;
}
.page.other .box.even > div figure {
	order: 1;
}
.page.other .box > div figure {
	width: 490px;
}
.page.other .box > div .txt {
	width: 420px;
}
.page.other .box > div .txt h2 {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 2;
	margin: 1em auto;
}
.page.other .box > div .txt p {
	line-height: 2.2;
/*	border-bottom: solid 1px #181B39;*/
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.page.other .box > div .txt ul {
	margin-bottom: 70px;
}
.page.other .box > div .txt ul li {
	font-size: 14px;
	line-height: 2.0;
    text-indent: -0.5em;
    padding-left: 1em;
}
.page.other .box > div .txt ul li::before {
	content: '-';
	display: inline-block;
    width: 0.5em;
}
.page.other .box > div .txt .bn-fee {
	padding: 40px 60px;
	background-color: #FFF;
}
.page.other .box > div .txt .bn-fee::before {
    border-left: 40px solid #181B39;
    border-bottom: 55px solid transparent;
}
.page.other .box > div .txt .bn-fee::after {
    border-top: 55px solid transparent;
    border-right: 40px solid #F9F7F4;
}
.page.other .box > div .txt .bn-fee h2 {
	margin: 0 0 20px;
	line-height: 1.0;
}
.page.other .box > div .txt .bn-fee h2 em {
	vertical-align: middle;
}
.page.other .box > div .txt .bn-fee p {
	font-size: 14px;
	line-height: 2.0;
	border-bottom: none;
	margin: 0 0 20px;
	padding: 0;
}
.page.other .box > div .txt .bn-fee p br {
	display: none;
}
.page.other .box > div .txt .bn-fee a {
    position: relative;
    right: initial;
    bottom: initial;
}
.page.other #others {
	padding-top: 100px;
}
/* --------------- /PAGE-SERVICE-OTHER --------------- */


/* --------------- PAGE-LEGAL-FEES --------------- */
.page.legal-fees #headline {
	background-image: url("images/mv_legal-fees.jpg");
}
.page.legal-fees #table > div > p {
	text-align: center;
	line-height: 2.2;
	padding: 2em 0;
}
.page.legal-fees #table > div > .border {
	border-top: dotted 1px #CCC;
	border-bottom: dotted 1px #CCC;
}
.page.legal-fees #table > div > .border em {
	font-weight: bold;
}
.page.legal-fees #table > div > table {
	margin-bottom: 70px;
}
.page.legal-fees #table > div > table > tbody > tr > th {
	width: 300px;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	padding: 30px 1em;
	border-top: solid 1px #181B39;
	border-bottom: solid 1px #181B39;
	line-height: 1.6;
}
.page.legal-fees #table > div > table > tbody > tr > td {
	width: 680px;
	padding: 30px 1em;
	border-top: solid 1px #A89265;
	border-bottom: solid 1px #A89265;
	line-height: 2.2;
}
.page.legal-fees #table > div > table > tbody > tr:last-child > th,
.page.legal-fees #table > div > table > tbody > tr:last-child > td {
	border-bottom: none;
}
.page.legal-fees #table > div > table > tbody > tr > td table {
	width: 630px;
	text-align: center;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr th {
	background-color: #F9F7F4;
	font-weight: bold;
	padding: .5em 0;
	border-left: solid 1px #FFF;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr td {
	border: solid 1px #CCC;
	padding: .5em 0;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr th:first-child,
.page.legal-fees #table > div > table > tbody > tr > td table tr td:first-child {
	width: 280px;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr th:last-child,
.page.legal-fees #table > div > table > tbody > tr > td table tr td:last-child {
	width: 150px;
	font-size: 14px;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr th:first-child,
.page.legal-fees #table > div > table > tbody > tr > td table tr td:first-child {
	border-left: none;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr td:last-child {
	border-right: none;
}
.page.legal-fees #table > div > table > tbody > tr > td table tr:last-child td {
	border-bottom: none;
}
.page.legal-fees .bn-fee h2 {
	display: none;
}
/* --------------- /PAGE-LEGAL-FEES --------------- */


/* --------------- PAGE-LAWYERS --------------- */
.page.lawyers #headline {
	background-image: url("images/mv_lawyers.jpg");
}
.page.lawyers #lawyers {
	margin-top: 180px;
}
.page.lawyers #lawyers ul li {
	position: relative;
	height: 330px;
	background-color: #F9F7F4;
	margin-bottom: 250px;
}
.page.lawyers #lawyers ul li figure figcaption {
	font-family: 'EB Garamond', serif;
	color: #A89265;
	font-size: 42px;
	font-weight: bold;
	writing-mode: vertical-rl;
	position: absolute;
	top: -60px;
	z-index: 3;
}
.page.lawyers #lawyers ul li figure img {
	width: 360px;
	position: absolute;
	top: -75px;
	z-index: 2;
}
.page.lawyers #lawyers ul li > div {
	position: absolute;
	bottom: 100px;
	z-index: 2;
	letter-spacing: .1em;
}
.page.lawyers #lawyers ul li > div p {
	color: #181B39;
	line-height: 2.0;
	font-weight: bold;
	margin-bottom: 1em;
}
.page.lawyers #lawyers ul li > div h2 {
	font-family: "Yuji Syuku", serif;
	font-size: 42px;
	font-weight: bold;
	line-height: 1.7;
	font-weight: 400;
	font-style: normal;
}
.page.lawyers #lawyers ul li > div small {
	font-size: 14px;
	line-height: 2.2;
}
.page.lawyers #lawyers ul li a {
	position: absolute;
	z-index: 2;
	bottom: -23px;
}
.page.lawyers #lawyers ul li:nth-child(odd) {
	margin-left: calc(50vw - 490px);
}
.page.lawyers #lawyers ul li:nth-child(odd) figure figcaption {
	left: 80px;
}
.page.lawyers #lawyers ul li:nth-child(odd) figure img {
	left: 100px;
}
.page.lawyers #lawyers ul li:nth-child(odd) div {
	left: 560px;
}
.page.lawyers #lawyers ul li:nth-child(odd) a {
	left: 700px;
}
.page.lawyers #lawyers ul li:nth-child(even) {
	margin-right: calc(50vw - 490px);
}
.page.lawyers #lawyers ul li:nth-child(even) figure figcaption {
	right: 60px;
}
.page.lawyers #lawyers ul li:nth-child(even) figure img {
	right: 80px;
}
.page.lawyers #lawyers ul li:nth-child(even) div {
	left: calc(50vw - 390px);
}
.page.lawyers #lawyers ul li:nth-child(even) a {
	left: calc(50vw - 250px);
}
/* --------------- /PAGE-LAWYERS --------------- */

/* --------------- /PAGE-LAWYERS-CHILD --------------- */
.page-lawyers-child #headline {
	background-image: url("images/mv_lawyers.jpg");
}
.page-lawyers-child #main #profile  {
	position: relative;
	margin: 75px auto 110px;
}
.page-lawyers-child #main #profile img {
	width: 600px;
}
.page-lawyers-child #main #profile div {
	position: absolute;
	right: 0;
	bottom: -60px;
	z-index: 2;
	min-width: 460px;
	min-height: 280px;
	background-color: #181B39;
	color: #FFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 60px 10px;
	letter-spacing: .1em;
}
.page-lawyers-child #main #profile div p {
	font-size: 14px;
	line-height: 2.0;
	margin-bottom: 2em;
}
.page-lawyers-child #main #profile div h2 {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: .2em;
	font-family: "Yuji Syuku", serif;
	font-weight: 400;
	font-style: normal;
}
.page-lawyers-child #main #profile div h2 span {
	font-size: 16px;
	color: #A89265;
	margin-left: 2em;
}
.page-lawyers-child #main #profile div small {
	font-size: 14px;
	color: #CCC;
}
.page-lawyers-child #main dl {
	padding: 0 0 50px;
	clear: both;
}
.page-lawyers-child #main dl dt {
	font-size: 18px;
	font-weight: bold;
	color: #A89265;
	line-height: 1.55;
	margin-bottom: 1em;
}
.page-lawyers-child #main dl dd {
	line-height: 1.875;
	margin-bottom: 50px;
	border-left: solid 1px #A89265;
	padding-left: 30px;
	margin-left: 20px;
}
.page-lawyers-child #main dl dd ul li span:first-child {
	display: inline-block;
	min-width: 8em
	
}
.page-lawyers-child #main dl dd a {
	color: #004F9F;
	text-decoration: underline;
}
/* --------------- /PAGE-LAWYERS-CHILD --------------- */

/* --------------- PAGE-RECRUIT --------------- */
.page.recruit #headline {
	background-image: url("images/mv_recruit.jpg");
}
.page.recruit #message {
	margin: 180px auto 100px;
}
.page.recruit #message > div {
	position: relative;
	padding-bottom: 550px;
}
.page.recruit #message .txt {
	width: 420px;
}
.page.recruit #message .txt h3 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
	margin-bottom: .5em;
}
.page.recruit #message .txt p {
	line-height: 2.2;
}
.page.recruit #message > div::before {
	content: '';
	position: absolute;
	top: 40px;
	right: -190px;
	z-index: 1;
	width: 683px;
	height: 380px;
	background-color: #F9F7F4;
}
.page.recruit #message .img1 {
	position: absolute;
	top: -80px;
	right: -100px;
	z-index: 2;
	width: 400px;
}
.page.recruit #message .img2 {
	position: absolute;
	top: 150px;
	right: 160px;
	z-index: 3;
	width: 250px;
}
.page.recruit #message .img3 {
	position: absolute;
	left: -100px;
	bottom: 0;
	z-index: 3;
	width: 700px;
}
.page.recruit #requirements h2 {
	text-align: center;
	margin-bottom: 60px;
}
.page.recruit #requirements h3 {
	position: relative;
	margin-bottom: 25px;
}
.page.recruit #requirements h3 span {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: .1em;
	padding-right: 1em;
	position: relative;
	z-index: 1;
	display: inline-block;
	background-color: #FFF;
}
.page.recruit #requirements h3::after {
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	right: 0;
	z-index: 0;
	border-top: solid 1px #A89265;
}
.page.recruit #requirements table {
	margin-bottom: 80px;
}
.page.recruit #requirements table tr {
	border-bottom: solid 1px #CCC;
	letter-spacing: .08em;
}
.page.recruit #requirements table tr th {
	width: 200px;
	font-weight: bold;
	text-align: left;
	padding: 30px 0;
	font-size: 16px;
}
.page.recruit #requirements table tr td {
	font-size: 14px;
	line-height: 2.0;
	padding: 30px 0;
}
/* --------------- /PAGE-RECRUIT --------------- */

/* --------------- PAGE-ADVISORY --------------- */
.page.advisory #headline {
	background-image: url("images/advisory_kv.jpg");
}
.page.advisory p {
    text-align: center;
	line-height: 2.2;
}
.page.advisory main .top {
	margin: 50px auto 100px;
}
.page.advisory main #merit {
	background-color: #F9F7F4;
	padding: 50px 0 60px;
	text-align: center;
}
.page.advisory main #merit h2 + p {
	margin-bottom: 50px;
}
.page.advisory main #merit ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: left;
}
.page.advisory main #merit ul li {
	width: 310px;
	background-color: #FFF;
	padding: 40px 25px;
	position: relative;
}
.page.advisory main #merit ul li h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
	margin-bottom: 1em;
}
.page.advisory main #merit ul li p {
	font-size: 14px;
	line-height: 2.0;
}
.page.advisory main #merit ul li p:first-child {
	font-family: 'EB Garamond', serif;
	font-size: 20px;
	line-height: 1.0;
	background-color: #B5A27C;
	position: absolute;
	top: -10px;
	left: 0;
	color: #FFF;
    padding: 0.2em 1em 0.3em 0.5em;
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
}
.page.advisory main #fee {
	padding: 0 0 80px;
    text-align: center;
}
.page.advisory main #fee p {
	margin-bottom: 50px;
}
.page.advisory main #fee p small {
	font-size: 14px;
}
/* --------------- /PAGE-ADVISORY --------------- */


/* --------------- PAGE-PRIVACY-POLICY --------------- */
.page.privacy-policy #main {
	margin: 0 auto;
	padding: 55px 0 150px;
}
.page.privacy-policy #main p {
	line-height: 2.2;
	margin-bottom: 4em;
}
.page.privacy-policy #main dl dt {
	font-size: 24px;
	margin-bottom: 1em;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-left: solid 8px #A89265;
    padding-left: 0.8em;
}
.page.privacy-policy #main dl dd {
	line-height: 2.2;
	margin-bottom: 3em;
	letter-spacing: 0.03em;
}
/* --------------- /PAGE-PRIVACY-POLICY --------------- */


/* --------------- PAGE-CONTACT --------------- */

.page.contact main > section#contact_form {
	width: 980px;
	margin: 0 auto;
	padding: 100px 0;
}
.page.contact main > section#contact_form h1 {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
.page.contact main > section#contact_form p.tel {
	font-size: 20px;
	padding-bottom: 50px;
	border-bottom: solid 1px #000;
	margin-bottom: 50px;
}
.page.contact main > section#contact_form p.tel i {
	margin-right: 1em;
	color: #4b4b4b;
}
.page.contact main > section#contact_form p.tel a {
	font-size: 40px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	margin: 0 30px 0 50px;
    vertical-align: sub;
}
.page.contact main > section#contact_form p.tel span {
	font-size: 16px;
}
.page #contact_form {
	border-top: solid 1px #CCC;
	margin-bottom: 70px;
	padding-top: 60px;
	margin-top: -30px;
}
.page #contact_form table {
	width: 100%;
	margin-bottom: 40px;
	/*background-color: #FFF;*/
}
.page #contact_form table .required {
	font-size: 13px;
    color: #FFF;
    background-color: #A89265;
    display: inline-block;
    padding: 0.2em 0.4em;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    margin-right: 0.5em;
    line-height: 1.0;
    font-weight: normal;
}
.page #contact_form table caption {
	margin-bottom: 20px;
	text-align: left;
}
.page #contact_form table caption p {
	font-size: 20px;
	line-height: 2.0;
	letter-spacing: 0.1em;
}
.page #contact_form table caption p i {
	margin-right: 1em;
	color: #4b4b4b;
}
.page #contact_form table caption p a {
	color: #000;
}
.page #contact_form table caption p span {
	margin-left: 50px;
	vertical-align: middle;
}
.page #contact_form table caption p small {
	font-size: 14px;
}
.page #contact_form table tbody tr {
	font-size: 16px;
	letter-spacing: 0.1em;
}
.page #contact_form table tbody tr th,
.page #contact_form table tbody tr td {
	font-weight: bold;
}
.page #contact_form table tbody tr th {
	width: 240px;
	vertical-align: top;
	text-align: left;
	padding: 15px 0 30px 0;
	font-weight: bold;
}
.page #contact_form table tbody tr th .required {
	margin-right: 2em;
}
.page #contact_form table tbody tr th small {
	font-size: 12px;
}
.page #contact_form table tbody tr td {
	width: 560px;
	padding: 0 0 30px 0;
	text-align: left;
}
.page #contact_form table tbody tr td input:placeholder-shown,
.page #contact_form table tbody tr td input::-webkit-input-placeholder {
	color: #CCC;
}
.page #contact_form table tbody tr td input,
.page #contact_form table tbody tr td select,
.page #contact_form table tbody tr td textarea {
	border: none;
	background-color: #F9F7F4;
	padding: 1em 1em;
    font-size: 16px;
}
.page #contact_form table tbody tr td input[type="text"],
.page #contact_form table tbody tr td input[type="tel"],
.page #contact_form table tbody tr td input[type="email"] {
	width: 100%;
}
.page #contact_form table tbody tr td input[type="date"],
.page #contact_form table tbody tr td select {
	width: 50%;
}
.page #contact_form table tbody tr td.birth div > span {
	display: inline-block;
	float: left;
	margin: 10px;
}
.page #contact_form table tbody tr td.birth div > span.wpcf7-form-control-wrap {
	width: 20%;
	margin: 0;
}
.page #contact_form table tbody tr td.birth div > span input.wpcf7-text {
	width: 100%;
}
.page #contact_form table tbody tr td textarea {
	width: 100%;
	min-height: 240px;
	resize: none;
}
.page #contact_form table tbody tr td span.wpcf7-list-item {
    margin: 0 1em 0 0;
}
.page #contact_form table tbody tr td .your-touch .wpcf7-list-item.first {
	display: none;
}
.page #contact_form table tbody tr td .your-file input {
	background-color: transparent;
    line-height: 1.0;
	font-weight: normal;
}
.page #contact_form #terms {
	border: solid 1px #e1e1e1;
	background-color: #FFF;
	padding: 30px;
	font-size: 14px;
	letter-spacing: 0.1em;
	height: 240px;
	overflow: scroll;
}
.page #contact_form #terms h4 {
	font-weight: bold;
	margin-bottom: 25px;
}
.page #contact_form #terms p {
	line-height: 2.0;
}
.page #contact_form #agree {
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.1em;
	margin: 50px 0;
}
.page #contact_form #agree input[type="checkbox"] {
	font-size: 20px;
    vertical-align: text-bottom;
	margin-right: 0.5em;
}
.page #contact_form #note {
	font-size: 14px;
    margin-bottom: 70px;
}
.page #contact_form #submit {
	text-align: center;
}
.page #contact_form #submit input {
	width: 200px;
	height: 50px;
	line-height: 50px;
	background-color: #181B39;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
	margin-left: 20px;
	border: none;
	cursor: pointer;
	transition: all 0.3s;
}
.page #contact_form #submit input:hover {
	background-color: #F9F7F4;
	color: #181B39;
}
.page #contact_form #submit input:disabled {
	opacity: 0.3;
}
/* --------------- /PAGE-CONTACT --------------- */




/* --------------- ARCHIVE --------------- */
.archive #headline {
	background-image: url("images/information_kv.jpg");
	
}
#news {
}
#news > h1 {
	text-align: center;
	margin-bottom: 50px;
}
#news > nav.cat {
	margin:  70px auto 100px;
}
#news > nav.cat ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
#news > nav.cat ul li {
	font-size: 16px;
	line-height: 1.75;
	padding-right: 1.5em;
}
#news > nav.cat ul li:last-child {
	padding-right: 0;
}
#news > nav.cat ul li:not(:last-child)::after {
	content: '|';
	display: inline-blockin;
	margin-left: 1.5em;
}
#news > nav.cat ul li a {
	display: inline-block;
	color: #333;
	text-decoration: none;
}
#news > nav.cat ul li.current-cat a,
#news > nav.cat ul li a:hover {
	font-weight: bold;
	color: #A89265;
	text-decoration: underline;
}
#news article {
	padding-bottom: 80px;
}
#news article > ul {
	width: 100%;
}
#news article > ul li {
	width: 100%;
	border-bottom: solid 1px #CCC;
}
#news article > ul li:last-child {
	border-bottom: none;
}
#news article > ul li a {
	display: flex;
	color: #333;
	padding: 1.6em 0;
	line-height: 2.2;
}
#news article > ul li a h2 {
	transition: all .3s;
}
#news article > ul li a:hover h2 {
	opacity: .6;
}
#news article > ul li a figure {
	margin-bottom: 20px;
	overflow: hidden;
	font-size: 0;
}
#news article > ul li a figure img {
	transition: all .5s;
}
#news article > ul li a:hover figure img {
	transform: scale(1.1);
}
#news article > ul li a p.info {
	min-width: 270px;
    padding-right: 1em;
	line-height: 1.4;
}
#news article > ul li a p.info .date {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	padding-right: 1.8em;
	letter-spacing: .1em;
    line-height: 2.2;
}
/*
#news article > ul li a p.info .date::after {
	display: inline-block;
	content: '|';
    margin-left: 1em;
    vertical-align: top;
    transform: scale(0.7);
}
*/
#news article > ul li a p.info .cat {
	white-space: nowrap;
	background-color: #A89265;
	color: #FFF;
	font-size: 14px;
    padding: .2em 0.4em;
    letter-spacing: .1em;
}
#news article > ul li a:hover h2 {
/*	text-decoration: underline;*/
}
#news article > ul li a p.more {
	display: inline-block;
	font-size: 14px;
	color: #2CAAA7;
	border-bottom: solid 1px #2CAAA7;
	padding-bottom: .5em;
}

#news nav.pagination {
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	font-size: 20px;
	padding-bottom: 120px;
}
#news nav.pagination a.prev,
#news nav.pagination a.next {
	font-size: 1.5em;
    vertical-align: text-bottom;
    color: #1A1A1A;
}
#news nav.pagination a.prev svg,
#news nav.pagination a.next svg {
	display: inline-block;
	width: 20px;
    vertical-align: middle;
	fill: #B4B4B4;
}
#news nav.pagination a.prev:hover svg,
#news nav.pagination a.next:hover svg {
	fill: #2CAAA7;
}
#news nav.pagination .page-numbers {
	color: #999;
	padding: 0 0.5em;
}
#news nav.pagination .dots {
	vertical-align: text-bottom;
}
#news nav.pagination .current,
#news nav.pagination a.page-numbers:hover {
	color: #A89265;
	position: relative;
	font-weight: bold;
}
#news nav.pagination .current::after {
	content: '';
    position: absolute;
    left: 50%;
    bottom: -0.1em;
    display: inline-block;
    width: 0.6em;
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #A89265;
}
/* --------------- /ARCHIVE --------------- */

/* --------------- BLOG ARCHIVE --------------- */
.post-type-archive-blog #headline {
	background-image: url("images/mv_blog.png");
}
.post-type-archive-blog #news.blog nav.search  {
	border-top: solid 1px #181B39;
	border-bottom: solid 1px #181B39;
	padding: 40px 0;
	margin: 60px 0 40px;
}
.post-type-archive-blog #news.blog nav.search dl dt {
	font-weight: bold;
	margin-bottom: 1em;
	letter-spacing: .08em;
}
.post-type-archive-blog #news.blog nav.search dl dd.cat ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.post-type-archive-blog #news.blog nav.search dl dd.cat ul li {
	margin-right: 10px;
}
.post-type-archive-blog #news.blog nav.search dl dd.cat ul li a {
	display: inline-block;
	border: solid 1px #181B39;
	letter-spacing: .1em;
	padding: 0 .5em;
	line-height: 1.7;
	color: #181B39;
}
.post-type-archive-blog #news.blog nav.search dl dd.cat ul li.all a,
.post-type-archive-blog #news.blog nav.search dl dd.cat ul li.current-cat a {
	background-color: #181B39;
	color: #FFF;
}
.post-type-archive-blog #news.blog nav.search dl dt .toggle {
	position: relative;
    display: inline-block;
    width: 1.6em;
    height: 1.6em;
    vertical-align: -0.4em;
    margin-left: 1em;
	cursor: pointer;
	background:#CCC;
}
.post-type-archive-blog #news.blog nav.search dl dt .toggle::before,
.post-type-archive-blog #news.blog nav.search dl dt .toggle::after{
	position:absolute;
	content:'';
	top:1px;
	left: 0.4em;
	right:20px;
	bottom:0;
	width:12px;
	height:1px;
	margin:auto;
	background:#151E2F;
}
.post-type-archive-blog #news.blog nav.search dl dt .toggle::after{
	transform:rotate(-90deg);
	transition:transform 0.3s;
}
.post-type-archive-blog #news.blog nav.search dl dt .toggle.active::after{transform:rotate(0deg);}

.post-type-archive-blog #news.blog nav.search dl dd.tag ul {
	display: flex;
	flex-wrap: wrap;
}
.post-type-archive-blog #news.blog nav.search dl dd.tag ul li {
	margin-right: 10px;
}
.post-type-archive-blog #news.blog nav.search dl dd.tag ul li a {
	color: #181B39;
	font-size: 12px;
	letter-spacing: .08em;
}

#news.blog articled {
	margin-bottom: 0;
}
#news.blog article > h2 {
	position: relative;
}
#news.blog article > h2::before {
	content: '';
    display: inline-block;
    border-left: none;
	border-top: solid 1px #A89265;
	width: auto;
	position: absolute;
	top: 20px;
	left: 135px;
	right: 0;
}
#news.blog article > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#news.blog article > ul li {
	width: 306px;
	margin-bottom: 60px;
	border-bottom: none;
}
#news.blog article > ul li a {
	color: #333333;
	padding: 0;
	display: initial;
}
#news.blog article > ul li figure img {
	width: auto;
    margin-bottom: 1em;
}
#news.blog article > ul li .cat {
	margin-bottom: .5em;
    line-height: initial;
}
#news.blog article > ul li .cat a {
	display: inline-block;
	background-color: #181B39;
	color: #FFF;
	letter-spacing: .1em;
	padding: 0 .5em;
	line-height: 1.7;
}
#news.blog article > ul li h2 {
	margin: 0 0 1em;
    font-size: initial;
}
#news.blog article > ul li h2::before {
	display: none;
}
#news.blog article > ul li h2 a {
	font-weight: bold;
	line-height: 1.7;
}
#news.blog article > ul li .tag {
	border-top: dashed 1px #A89265;
	border-bottom: dashed 1px #A89265;
	margin-bottom: 1em;
	padding: .5em 0;
	font-size: 12px;
	letter-spacing: .08em;
}
#news.blog article > ul li .date {
	text-align: right;
	font-size: 12px;
	letter-spacing: .08em;
}
/* --------------- /BLOG ARCHIVE --------------- */

/* --------------- SINGLE --------------- */
body.single #headline {
	background-image: url("images/information_kv.jpg");
}
body.single main {
	min-height: 1000px;
}
body.single main article {
	margin: 50px auto 0;
	padding-bottom: 100px;
}
body.single main article h1 {
	font-size: 28px;
	font-weight: bold;
	color: #181B39;
	line-height: 1.7;
	letter-spacing: .1em;
	padding-bottom: 1em;
	border-bottom: solid 1px #181B39;
	margin-bottom: 70px;
}
body.single main article h2 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.7;
    margin: 2em 0 1.5em;
	letter-spacing: .1em;
}
body.single main article h2::before {
	content: '';
	display: inline-block;
	border-left: solid 8px #A89265;
	height: 1em;
    vertical-align: text-top;
    padding-left: .5em;
}
body.single main article > div figure:first-child {
	margin-bottom: 2em;
}
body.single main article p.info .date {
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
	margin-right: 30px;
}
body.single main article p.info .cat {
    background-color: #A89265;
    color: #FFF;
    font-size: 14px;
    padding: .2em 0.4em;
    letter-spacing: .1em;
}
body.single main article p {
	font-size: 15px;
	line-height: 2.6;
	margin-bottom: 2em;
}
body.single main nav {
	margin-top: 120px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
body.single main nav a {
	color: #999;
	transition: all .3s;
	border-bottom: solid 1px #FFF;
	padding-bottom: .5em;
	fill: #999;
    font-weight: bold;
}
body.single main nav a:hover,
body.single main nav a.back {
	color: #181B39;
	fill: #181B39;
}
body.single main nav a:hover {
	border-bottom: solid 1px #181B39;
}
body.single main nav a i {
	display: inline-block;
    vertical-align: middle;
    padding-bottom: 0.2em;
	transition: transform .3s;
    transform: scale(1.5);
}
body.single main nav a[rel="prev"] i {
	margin-right: 1em;
}
body.single main nav a[rel="next"] i {
	margin-left: 1em;
}
body.single main nav a[rel="prev"]:hover i {
	transform: scale(1.5) translateX(-.3em);
}
body.single main nav a[rel="next"]:hover i {
	transform: scale(1.5) translateX(.3em);
}
body.single main nav a.back {
	position: absolute;
	left: 0;
	right: 0;
    text-align: center;
	display: inline-block;
    width: 5.5em;
    margin: 0 auto;
}
/* --------------- /SINGLE --------------- */

/* --------------- SINGLE-BLOG --------------- */
body.single-blog main {
	padding-top: 100px;
}
body.single-blog main::before {
	top: 100px;
}
body.single-blog main > article .blog-cat a {
    display: inline-block;
    background-color: #181B39;
    color: #FFF;
    border: solid 1px #181B39;
    letter-spacing: .1em;
    padding: 0 .5em;
    line-height: 1.7;
}
body.single-blog main > article h1 {
	margin: 20px 0;
	border-bottom: none;
}
body.single-blog main > article .blog-tag {
	display: flex;
	flex-wrap: wrap;
	border-top: dashed 1px #A89265;
	border-bottom: dashed 1px #A89265;
	padding: .7em 0;
	margin-bottom: .5em;
}
body.single-blog main > article .blog-tag a {
	display: inline-block;
	color: #181B39;
	font-size: 12px;
	letter-spacing: .08em;
	margin-right: 1em;
}
body.single-blog main > article .date {
	text-align: right;
	font-size: 12px;
	letter-spacing: .08em;
}
body.single-blog main > article .thumbnail {
	width: 100%;
}
body.single-blog main > article h2 {
    margin: 2em 0 1em;
}
body.single-blog main > article h2::before {	
    border-left: solid 8px #181B39;
	height: 1.2em;
    vertical-align: sub;
}
body.single-blog main > article h3 {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	border-bottom: solid 1px #CCC;
	padding-bottom: .7em;
	margin-bottom: .5em;
}
body.single-blog main > article p {
	font-size: 16px;
	color: #1A1A1A;
}
body.single-blog main > article img {
	margin-bottom: 1em;
}
body.single-blog main > article .bn-fee {
	margin-bottom: 1em;
	padding: 40px 60px;
}
body.single-blog main > article .bn-fee p {
	margin-bottom: 0;
	line-height: 2.0;
}
body.single-blog main > article .bn-fee a {
	right: 60px;
}
body.single-blog main > article .bn-fee::before {
    border-left: 40px solid #181B39;
    border-bottom: 55px solid transparent;
}
body.single-blog main > article .bn-fee::after {
    border-top: 55px solid transparent;
    border-right: 40px solid #F9F7F4;
}
body.single-blog #news {
	margin-bottom: 80px;
}
body.single-blog #news article {
	padding-bottom: 0;
	margin-top: 0;
}
body.single-blog #news.blog article > ul li {
	margin-bottom: 0;
}

div#ez-toc-container .ez-toc-title {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: .08em;
}
div#ez-toc-container {
	border: none;
	padding: 45px 35px;
	margin: 20px 0 40px;
}
div#ez-toc-container nav {
	margin-top: 30px;
	padding-top: 30px;
    border-top: solid 1px #CCC;
}
div#ez-toc-container ul.ez-toc-list a {
	border-bottom: none;
}
#ez-toc-container a:hover {
	text-decoration: none;
}
.ez-toc-cssicon {
	border: none;
}
.ez-toc-icon-toggle-span {
    flex-direction: column;
}
.ez-toc-icon-toggle-span svg {
	display: none;	
}
.ez-toc-icon-toggle-span::before {
	content: '▲';
    font-size: 8px;
    margin-bottom: 1px;
    transform: scaleX(1.5);
}
.ez-toc-icon-toggle-span::after {
	content: '▼';
    font-size: 8px;
    transform: scaleX(1.5);
}
.ez-toc-counter nav ul li a::before {
	margin-right: 1em;
	color: #A89265;
}
ul.ez-toc-list > li a {
	text-decoration: none;
}
ul.ez-toc-list > li > a {
	font-weight: bold;
}
ul.ez-toc-list > li li a  {
	font-weight: normal;
}
ul.ez-toc-list > li li a {
	margin-left: 1.5em;
}
ul.ez-toc-list > li li a::before {
	display: none;
}

#author {
	margin-top: 50px;
	border: solid 10px #F9F7F4;
	display: flex;
	padding: 50px 50px 40px;
}
#author > figure {
	width: 160px;
	margin-right: 30px;
}
#author > figure {
	overflow: hidden;
	width: 160px;
	height: 160px;
	border-radius: 50%;
}
#author > figure img {
	overflow: hidden;
	border-radius: 50%;
}
#author > div {
	width: 490px;
}
#author > div > p {
	font-size: 14px;
	color: #333;
	margin-bottom: 10px;
	line-height: 1.0;
}
#author > div > h3 {
	border-bottom: none;
	margin-bottom: 0;
}
#author > div > h3 span {
	display: inline-block;
	color: #A89265;
	margin-left: 1em;
	letter-spacing: .1em;
	font-size: 14px;
}
#author > div > h3 + p {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.7;
	margin-bottom: 1.5em;
}
#author > div > a img {
	margin-bottom: 0;
}
/*
#ez-toc-container .ez-toc-js-icon-con, #ez-toc-container label {
	border-bottom: solid 1px #CCC;
}
*/
/*
body.single-blog header nav#gnav > ul > li.logo a figure img.bk {
	opacity: 1.0;
}
body.single-blog header nav#gnav > ul > li.logo a figure img.wh {
	opacity: 0;
}
*/
/* --------------- /SINGLE-BLOG --------------- */

#reservation {
	background-image: url("images/contact_bg.jpg");
	background-position: center;
	background-size: cover;
	text-align: center;
	padding: 110px 0;
}
#reservation a.btn {
	font-size: 24px;
	width: 600px;
	height: 120px;
	line-height: 120px;
}
#reservation a.btn:hover {
	opacity: 1.0;
	background-color: #56BBB8;
}

.page.contact-thanks #main {
	text-align: center;
}
.page.contact-thanks #main h2 {
    font-size: 20px;
	line-height: 1.5;
    font-weight: bold;
    margin-bottom: 60px;
    letter-spacing: .05em;
}
.page.contact-thanks #main p {
	text-align: center;
    line-height: 2.2;
    margin-bottom: 80px;
}

.page.contact main,
.page.contact-thanks main,
body.error404 main {
	border-bottom: solid 1px #CCC;
}
.page.contact main #main,
.page.contact-thanks main #main,
body.error404 main #main {
	margin: 0 auto;
	padding: 55px 0 150px;
	text-align: center;
}
.page.contact main #main h2,
.page.contact-thanks main #main h2,
body.error404 main #main h2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 60px;
	letter-spacing: .05em;
}
.page.contact main #main > p,
.page.contact-thanks main #main p,
body.error404 main #main p {
	text-align: center;
	line-height: 2.2;
	margin-bottom: 80px;
}

/* --------------- FOOTER --------------- */
footer #access {
	display: flex;
}
footer #access::before {
	content: '';
	display: block;
	flex-grow: 1;
}
footer #access > div:first-child {
	width: 640px;
	padding: 90px;
}
footer #access > div:first-child h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
    margin: 3em 0 1.5em;
}
footer #access > div:first-child h4 {
	font-weight: bold;
	line-height: 1.75;
    margin: 1.5em 0 0.5em;
}
footer #access > div:first-child p {
	font-size: 14px;
	line-height: 2.0;
	margin-bottom: 30px;
	letter-spacing: .05em;
}
footer #access > div:first-child p a {
	color: #333;
}
footer #access > div:first-child p small {
	font-size: 14px;
	line-height: 2.0;
}
footer #access > div:first-child > div {
	margin-top: 40px;
}
footer #access > div:first-child > div img {
	display: inline-block;
	width: 266px;
}
footer #access > div:first-child > div img:first-child {
	margin-right: 30px;
}
footer #access > div:last-child{
	width: 50%;
}

footer #foot_contact {
	background-image: url("images/contact_bg.jpg");
	background-position: center;
	background-size: cover;
	height: 318px;
	color: #FFF;
	text-align: center;
	padding-top: 80px;
}
footer #foot_contact h2 {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 55px;
}
footer #foot_contact > div {
	display: flex;
    justify-content: center;
	align-items: center;
}
footer #foot_contact > div a {
	margin: 0 35px;
}
footer #foot_contact > div a:hover {
}
footer #foot_contact > div a.tel {
	color: #FFF;
	letter-spacing: .1em;
}
footer #foot_contact > div a.tel img {
	width: 34px;
	margin-right: 8px;
	position: relative;
    top: 8px;
}
footer #foot_contact > div a.tel span {
	font-size: 40px;
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.375;
}
footer #foot_contact > div a.tel small {
	display: block;
	font-size: 14px;
	line-height: 1.7;
    text-align: right;
}
footer #foot_contact > div a.form {
	display: inline-block;
	width: 370px;
	height: 70px;
	line-height: 70px;
	background-color: #A89265;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	position: relative;
}
footer #foot_contact > div a.form i {
	position: absolute;
    right: 0.8em;
    top: 50%;
    bottom: 0;
    margin-top: -.5em;
    font-size: 1.2em;
}
footer #foot_recruit {
	background-image: url("images/contact_bg.jpg");
	background-position: center;
	background-size: cover;
	color: #FFF;
	display: flex;
	position: relative;
}
footer #foot_recruit a {
	position: relative;
	z-index: 2;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
	width: 50%;
	height: 300px;
	color: #FFF;
	padding: 0 80px;
}
footer #foot_recruit a > *{
	z-index: 2;
}
footer #foot_recruit a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	display: block;
/*	background-color: rgba(12,38,93,.8);*/
	background-color: rgba(24,27,56,.8);
	transition: all .3s;
}
footer #foot_recruit a:hover::before {
	background-color: #181B39;
	opacity: .2;
}
footer #foot_recruit a:first-child {
	border-right: solid 1px #FFF;
}
footer #foot_recruit h2.ttl {
	display: flex;
	align-items: center;
	margin-bottom: 1em;
}
footer #foot_recruit h2.ttl span {
	display: block;
    color: #FFF;
    margin-bottom: 0.4em;
}
footer #foot_recruit h2.ttl em::before {
	content: '／';
	color: #FFF;
	margin-left: 1em;
}
footer #foot_recruit p {
	font-size: 14px;
	line-height: 2.0;
	text-align-last: left;
}
footer #foot_recruit a > span {
	position: absolute;
	right: 80px;
	bottom: 100px;
	z-index: 2;
	margin-left: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 46px;
	height: 46px;
	background-color: #A89265;
	transition: all .3s;
}
footer #foot_recruit a:hover > span {
	background-color: #FFF;
}
footer #foot_recruit a > span::after {
	content: '┘';
	transform: rotate(-45deg);
    margin-left: 0.4em;
	transition: all .3s;
}
footer #foot_recruit a:hover > span::after {
	color: #A89265;
}

footer #footer {
	padding: 30px 50px;
	display: flex;
	justify-content: space-between;
}
footer #footer div img.logo {
	display: block;
	/*width: 300px;*/
	width: 180px;
}
footer #footer div p {
	line-height: 1.75;
}
footer #footer ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
footer #footer ul li {
	margin-bottom: 1.3em;
    margin-left: 2em;
}
footer #footer ul li a {
	color: #333;
	font-size: 15px;
	padding-bottom: .5em;
	transition: all .3s;
	border-bottom: solid 1px #FFF;
	white-space: nowrap;
}
footer #footer ul li a:hover {
	color: #333;
	border-bottom: solid 1px #333;
}
footer #footer ul.sub li {
	margin-bottom: 0;
}
footer #footer ul.sub li a {
	font-size: 12px;
	color: #666666;
}
footer #copyright {
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #181B39;
	color: #FFF;
	font-size: 10px;
	text-align: right;
	padding: 1em 50px;
	letter-spacing: .1em;
}
/* --------------- /FOOTER --------------- */


/* --------------- RESET iOS style --------------- */
main input[type="submit"],
main input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
main input[type="submit"]::-webkit-search-decoration,
main input[type="button"]::-webkit-search-decoration {
  display: none;
}
main input[type="submit"]::focus,
main input[type="button"]::focus {
  outline-offset: -2px;
}
/* --------------- /RESET iOS style --------------- */


/* =============================================================================================================================================
															SMARTPHONE
============================================================================================================================================= */
@media screen and (max-width : 767px) {

	/* display:none */
	.is_pc {
		display: none!important;
	}
	.is_sp {
		display: inherit!important;
	}

	/* drawer */
	/*
	.drawer--navbarTopGutter {
		padding-top: 3.2rem;
	}
	.drawer-navbar-header {
		height: 3.2rem;
	}
	*/
	.drawer-nav {
		width: 100%;
		color: #FFF;
/*		background-color: #FFF;*/
		overflow: scroll;
	}
	.drawer--right .drawer-nav {
		right: -100%;
	}
	.drawer--top .drawer-nav {
	    height: 100%;
	}
	/*.drawer-navbar .drawer-brand {
		width: 55vw;
		max-width: 55vw;
		display: block;
		padding: 1.5vw 1vw 0;
	    height: 3.75rem;
	}*/
	.drawer-navbar .drawer-brand {
		width: 60vw;
		max-width: 60vw;
		display: block;
		padding: 0 0 0 30vw;
	    height: 3.75rem;
	}
	.drawer-navbar .drawer-brand figure {
		position: relative;
	}
	.drawer-navbar .drawer-brand figure img {
		position: absolute;
		top: 2.5vw;
		left: 0;
		z-index: 2;
		width: 100%;
		transition: all .3s;
		will-change: opacity;
	}
	.drawer-navbar .drawer-brand figure img.bk {
		opacity: 0;
	}
	.drawer-navbar .drawer-brand figure img.wh {
		opacity: 1;
	}
	.drawer-navbar.scrolled .drawer-brand figure img.bk {
		opacity: 1;
	}
	.drawer-navbar.scrolled .drawer-brand figure img.wh {
		opacity: 0;
	}
	.drawer-hamburger {
		width: 1.5rem;
	    padding-right: 5vw;
	}
	.drawer-hamburger-icon {
		height: 0;
	}
	.drawer-hamburger-icon:after {
		top: 1vw;
	}
	.drawer-hamburger-icon:before {
		top: -1vw;		
	}
	.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
		background-color: #FFF;
		transition: all .3s;
		will-change: opacity;
	}
	.scrolled .drawer-hamburger-icon, .scrolled .drawer-hamburger-icon:after, .scrolled .drawer-hamburger-icon:before {
		background-color: #1A1A1A;
	}
	.drawer-navbar .drawer-menu {
		padding: 5vw 0 7vw;
		position: relative;
	}
	.drawer-navbar .drawer-menu::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 13.3vw;
		bottom: 5.3vw;
	    background-color: #0A2051;
		z-index: -1;
		clip-path: polygon(100% 0, 0 0, 0 100%);	
	}
	.drawer-menu-item {
		color: #FFF;
		padding: 1.8em 0;
		margin: 0 14vw;
		letter-spacing: .05em;
	    text-align: center;
		border-bottom: solid 1px #ffffff80;
	}
	.drawer-navbar .drawer-menu li:last-child .drawer-menu-item {
		border-bottom: none;
	}
	.drawer-menu-item:hover {
		color: #FFF;
		text-decoration: none;
	}
	.drawer-navbar .drawer-navbar-header {
		/*border-bottom: none;*/
		border-bottom: solid 0.3px #fff;
		background-color: transparent;
		transition: all .3s;
	}
	.drawer-navbar.scrolled .drawer-navbar-header {
		background-color: #FFF;
	}
	.drawer--top .drawer-nav {
		-webkit-transition: background .36s cubic-bezier(0.32, 0.08, 0.24, 1),top .56s cubic-bezier(0.52, 0.16, 0.24, 1);
		transition: background .36s cubic-bezier(0.32, 0.08, 0.24, 1),top .56s cubic-bezier(0.52, 0.16, 0.24, 1);
	}
	.drawer-open .drawer-nav {
		background-color: #181B39;
	}
	.drawer-nav > div {
		background-image: url(images/contact_bg.jpg);
		background-position: center;
		background-size: cover;
		color: #FFF;
		text-align: center;
		padding: 8vw 10vw 10vw;
		border-top: solid 2px #FFF;
	}
	.drawer-nav > div > p:first-child {
		border-bottom: solid 1px #ffffff80;
		padding-bottom: 1.8em;
		width: 74vw;
		margin: 0 auto 1.8em;
	}
	.drawer-nav > div > div a {
		color: #FFF;
		display: block;
	}
	.drawer-nav > div > div a.tel {
		color: #FFF;
		letter-spacing: .1em;
		margin: 0 auto;
	}
	.drawer-nav > div > div a.tel img {
		width: 6.4vw;
		margin-right: 2vw;
		position: relative;
		top: 2vw;
	}
	.drawer-nav > div > div a.tel span {
		font-size: 7.2vw;
		margin-bottom: 2vw;
		display: inline-block;
		font-weight: bold;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.375;
	}
	.drawer-nav > div > div a.tel small {
		display: block;
		line-height: 1.7;
		text-align: center;
		font-size: 3.2vw;
		margin-bottom: 10vw;
	}
	.drawer-nav > div > div a.form {
		display: inline-block;
		width: 100%;
		height: 13.3vw;
		line-height: 13.3vw;
		background-color: #A89265;
		color: #FFF;
		text-align: center;
		font-weight: bold;
		position: relative;
	}
	.drawer-nav > div > div a.form i {
		position: absolute;
		right: 0.8em;
		top: 50%;
		bottom: 0;
		margin-top: -.5em;
		font-size: 1.2em;
	}



	span.anchor {
		top: -3.75rem;
	}

	body {
		min-width: inherit;
		font-size: 4.2vw;
	}

	a.btn,
	.wrap1,
	.wrap2,
	#reservation a.btn,
	body.error404 main > section {
		width: auto;
		min-width: auto;
	}

	img {
		max-width: 100%;
	}

	.catch em {
		font-size: 6.5vw;
	}
	a.txt, a p.txt {
    	font-size: 4.3vw;
	}
	a.btn {
		min-width: 53.3vw;
		min-height: 13.3vw;
	    line-height: 13.3vw;
		font-size: 4.3vw;
	}
	a.btn::after {
		right: 1vw;
	    width: 5.5vw;
	}
	
	h1.ttl {
		margin-bottom: 8vw;
	}
	h1.ttl span {
		font-size: 8vw;
	}	
	h1.ttl em {
		font-size: 3.2vw;
	}
	h2.ttl {
		margin-bottom: 10vw;
	}
	h2.ttl span {
		font-size: 8vw;
	}
	h2.ttl em {
		font-size: 3.2vw;
	}

	
	.breadcrumbs {
		padding: 4vw 5vw;
		font-size: 2.6vw;
	}

	.drawer-navbar {
		z-index: 100;
		opacity: 1;
	}
	body.header_fixed {
/*		padding-top: 3.75rem;*/
	}
	
	main::before {
		top: 69.3vw;
		border-top: solid 22vw #181B39;
    	border-right: solid 16vw transparent;
	}
	.page.about main::after	.page-service-child main::after, .page.legal-fees main::after, .page-lawyers-child main::after, .page.recruit main::after {
		border-top: solid 59.1vw transparent;
		border-right: solid 42.7vw #F9F7F4;
	}
	
	#headline {
		height: 69.3vw;
	}
	#headline.v2 {
		background-position: 20%;
	}
	#headline h1.ttl {
	    margin-bottom: -1vw;
	}
	#headline h1.ttl span {
		font-size: 8.5vw;
	}
	#headline p.ttl {
		font-size: 3vw;
	}
	
	.page .top.common {
		margin: 16vw 5vw;
	}
	.page .top.common p {
		text-align: left;
	}
	
	.bn-fee {
		padding: 13.3vw 5vw;
		text-align: center;
		margin-bottom: 16vw;
	}
	.bn-fee::before {
		border-left: 13.3vw solid #181B39;
		border-bottom: 18.5vw solid transparent;
	}
	.bn-fee::after {
		border-top: 18.5vw solid transparent;
		border-right: 13.3vw solid #F9F7F4;
	}
	.bn-fee h2 {
		margin-bottom: 8vw;
	}
	.bn-fee p {
		margin-bottom: 8vw;
	}
	.bn-fee a {
		position: relative;
		right: initial;
		bottom: initial;
	}

	body.home main::before {
		top: 136vw;
		border-top: solid 22.1vw #181B39;
		border-right: solid 16vw transparent;
	}
	body.home main::after {
		border-top: solid 535vw transparent;
		border-right: solid 386vw #F9F7F4;
	}
	body.home #hero {
		height: 136vw;
		background-image: none;
		margin-bottom: 24vw;
	}
	body.home #hero::before {
	}
/*	body.home #hero::after {
		top: 42.7vw;
		width: 60vw;
		height: 48.5vw;
	}
	body.home #hero h1 {
		top: 42.7vw;
		font-size: 6.4vw;
		height: 48vw;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}*/
	body.home #hero::after {
		top: 40.7vw;
		width: 50vw;
		height: 25.5vw;
	}
	body.home #hero h1 {
		top: 52.7vw;
		font-size: 6.4vw;
		height: 48vw;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	body.home #hero > div * {
		height: 136vw;
	}

	body.home #hero h1 small {
		font-size: 3.7vw;
	}
	body.home main > #about {
		padding-bottom: 100vw;
		/*margin-bottom: 16vw;*/
		margin-bottom: 0;
		display: block;
	}
	body.home main > #about::before {
		width: auto;
		top: 120vw;
		left: 0;
		right: 0;
		bottom: 0;
		height: 84vw;
	}
	body.home main > #about > div {
		width: auto;
		margin: 0 5vw;
		/*padding: 0 5vw 15vw;*/
		padding: 0 5vw;
		background: none;
	}
	body.home main > #about > div h3 {
		font-size: 6.7vw;
	}
	body.home main > #about > div p:last-child {
		text-align: center;
	}
	body.home main > #service {
		/*padding: 0 5vw 8vw;*/
		padding: 16vw 5vw 8vw;
		margin-bottom: 16vw;
	}
	body.home main > #service p {
		text-align: left;
	}
	body.home main > #service ul li {
		width: 100%;
	}
	body.home main > #service ul li:nth-child(2) {
		border-top: none;
	}
	body.home main > #service ul li:last-child {
		border-bottom: none;
	}
	body.home main > #service ul li a h3 {
		font-size: 4.8vw;
		padding: 8vw 0;
		min-height: 26.7vw;
	}
	body.home main > #service ul li a figure {
		width: 10vw;
		height: 10vw;
		min-width: 10vw;
		min-height: 10vw;
	}
	body.home main > #service ul li a h3 span {
		width: 10vw;
		height: 10vw;
	}
	body.home main > #advisory {
		display: block;
		padding: 0 5vw 10vw;
	}
	body.home main > #advisory > div {
		width: 100%;
		padding: 0;
		margin-bottom: 0;
	}
	body.home main > #advisory > div img {
		width: 80vw;
		margin: 0 0 10vw -5vw;
	}
	body.home main > #advisory .txt {
		position: static;
		width: 80vw;
	}
	body.home main > #fees > div {
		position: relative;
		margin-bottom: 24vw;
	}
	body.home main > #fees .img1 {
		position: relative;
		left: 0;
		width: 53.3vw;
	}
	body.home main > #fees .txt {
		position: static;
		width: auto;
		margin-top: 28vw;
		padding: 0 10vw;
	    text-align: center;
	}
	body.home main > #fees .txt h2 + p {
	    text-align: left;
	}
	body.home main > #fees .img2 {
		top: 24vw;
		width: 32vw;
	}
	body.home main > #lawyers img {
		position: relative;
		left: 10vw;
		right: initial;
		width: 90vw;
	}
	body.home main > #lawyers .txt {
		position: relative;
		top: 10vw;
		left: 15vw;
		width: 80vw;
	}
	body.home main > #lawyers > div {
		margin-bottom: 24vw;
	}
	
	body.home main > #news.blog {
        position: static;
        margin-left: 5vw;
		padding-top: 10vw;
	}
	body.home main > #news.blog > h2.ttl {
		margin-bottom: 10vw;
	}
	body.home main > #news.blog .slides-blog .slick-slide {
		width: 80vw;
	}
	body.home main > #news.blog .slides-blog .slick-slide > div {
		padding-right: 0;
        margin-left: 16vw;
        margin-right: -8vw;
    }
	.slick-prev, .slick-next {
		top: -14vw;
		left: 78vw;
		width: 10vw;
		height: 10vw;
	}
	.slick-prev {
		left: 63vw;
	}
	

	body.home main > #news {
		padding: 14vw 5vw 24vw;
	}
	body.home main > #news > h2.ttl {
		margin-bottom: 3vw;
	}
	body.home main > #news article > div {
		margin-bottom: 16vw;
	}
	body.home main > #news > p a.btn {
	}

	#news {
		padding: 0 5vw;
	}
	#news > h1 {
		text-align: left;
		margin-bottom: 12vw;
	}
	#news > nav.cat {
	    margin: 5vw auto 5vw;
	}
	#news > nav.cat ul {
		justify-content: flex-start;
	}
	#news > nav.cat ul li {
		font-size: 3.7vw;
	}
	#news > nav.cat ul li:first-child {
		padding-left: 0;
	}
	#news article {
		padding-bottom: 5vw;
	}
	#news article > ul li a {
		flex-wrap: wrap;
	}
	#news article > ul li a p.info .cat {
		font-size: 3.7vw;
	}
	#news article > ul li a h2 {
		width: 100%;
	}
	#news nav.pagination {
		font-size: 5vw;
		margin-bottom: 0;
		padding-bottom: 25vw;
	}
	
	#news.blog article > ul {
		
	}
	#news.blog article > ul li {
		width: 100%;
	}
	#news.blog article > ul li figure img {
		width: 100%;
	}
	#news.blog article > ul li .cat a {
		font-size: 3.7vw;
	}
	#news.blog article > ul li .tag,
	#news.blog article > ul li .date {
		font-size: 3.2vw;
	}
	
	.post-type-archive-blog #news.blog nav.search {
		padding: 8vw 0;
		margin: 10vw 0 15vw;
	}
	.post-type-archive-blog #news.blog nav.search dl dt {
		font-size: 3.7vw;
	}
	.post-type-archive-blog #news.blog nav.search dl dd.cat ul {
		margin-bottom: 5vw;
	}
	.post-type-archive-blog #news.blog nav.search dl dd.cat ul li {
		font-size: 3.7vw;
		margin-bottom: 1em;
	}
	.post-type-archive-blog #news.blog nav.search dl dd.tag ul li {
		margin: 0 .5em .5em 0;
	}
	.post-type-archive-blog #news.blog nav.search dl dd.tag ul li a {
		font-size: 3.2vw;
	}

	body.single main article {
		margin: 0 5vw;
		padding-bottom: 25vw;
	}
	body.single main article h1 {
		font-size: 5vw;
		margin-bottom: 10vw;
	}
	body.single main article img {
		height: auto;
	}
	body.single main article p {
		font-size: 4vw;
	}
	body.single main article h2 {
		font-size: 5vw;
	}
	body.single main nav {
		margin-top: 20vw;
	}
	body.single-blog main {
        padding-top: 3.75rem;
    }
	body.single-blog main::before {
        top: 3.75rem;
	}
	body.single-blog main article {
		margin-top: 5vw;
		padding-bottom: 5vw;
	}
	body.single-blog main article .blog-cat {
		font-size: 3.7vw;
	}
	body.single-blog main article h1 {
        margin-bottom: 0;
    }
	body.single-blog main > article .date {
		font-size: 3.2vw;
		margin-bottom: 7vw;
	}
	div#ez-toc-container {
		padding: 7vw;
		margin: 3vw 0 7vw;
	}
	body.single-blog main > article .bn-fee {
		margin-bottom: 1em;
		padding: 10vw 5vw;
	}
	body.single-blog main > article .bn-fee p {
		font-size: 3.7vw;
        margin-bottom: 8vw;
	}
	body.single-blog main > article .bn-fee a {
		right: 0;
	}
	body.single-blog main article p {
		line-height: 2.0;
	}
	body.single-blog #author {
		display: block;
		padding: 12vw;
	}
	body.single-blog #author > figure {
		width: 36vw;
		height: 36vw;
		display: block;
		margin: 0 auto 7vw;
	}
	body.single-blog #author > div {
		width: auto;
	}
	body.single-blog #author > div > p {
		font-size: 3.7vw;
	}
	body.single-blog #author > div > h3 {
		font-size: 5vw;
	}
	body.single-blog #author > div > h3 span {
		font-size: 3.7vw;
	}
	body.single-blog #author > div > p {
		font-size: 3.2vw;
	}

	.page.about #top {
		margin-top: 16vw;
		padding: 0 5vw;
	}
	.page.about #top::before {
		display: none;
	}
	.page.about #top::after {
		border-top: solid 420vw transparent;
		border-right: solid 310vw #F9F7F4;
	}
	.page.about #top h2.top {
		font-size: 8vw;
	}
	.page.about #top h2.top::before {
		/*width: 32vw;*/
		width: 82vw;
		top:0
	}
	.page.about #top img {
		display: block;
	}
	.page.about #top .img1 {
		position: relative;
		top: -16vw;
		left: 0;
		margin-bottom: -16vw;
		width: 90vw;
		height: 64vw;
		object-fit: cover;
	}
	.page.about #top h3 {
		margin-top: 10vw;
		font-size: 6.4vw;
		width: auto;
	}
	.page.about #top h3 + p {
		width: auto;
		margin-bottom: 16vw;
	}
	.page.about #top .img2 {
		position: relative;
		top: 0;
		left: 39vw;
		right: initial;
		width: 56vw;
	}
	.page.about #top .img3 {
		position: relative;
		margin-top: 10vw;
		top: 0;
		left: 8vw;
		right: initial;
		width: 50vw;
	}
	.page.about #top .img4 {
		position: relative;
		margin-top: 16vw;
		top: 0;
		left: 5vw;
		right: 5vw;
		z-index: 2;
		width: 80vw;
		margin-bottom: 0;
	}
	.page.about #top #strength {
		position: relative;
		top: -46vw;
		margin-bottom: -20vw;
		width: auto;
		/*background-color: #FFF;*/
		padding: 53vw 5vw 16vw;
	}
	.page.about section.bg {
	    height: 53.3vw;
		margin-bottom: 16vw;
	}
	.page.about #greetings {
		padding: 0 10vw 48vw;
		margin-bottom: 0;
	}
	.page.about #greetings .img1 {
		position: relative;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
		width: 80vw;
		margin-bottom: 10vw;
		display: block;
	}
	.page.about #greetings h3 {
		width: auto;
		font-size: 6.4vw;
	}
	.page.about #greetings p {
		width: auto;
		margin-bottom: 6.4vw;
	}
	.page.about #greetings h4 {
		margin-bottom: 16vw;
		font-size: 5.3vw;
	}
	.page.about #greetings h4 span {
		font-size: 3.7vw;
	}
	.page.about #greetings .img2 {
		position: absolute;
		right: 0;
		bottom: initial;
		z-index: 1;
		width: 74.7vw;
		height: 42.7vw;
		object-fit: cover;
	}
	.page.about #greetings .img3 {
		position: relative;
		top: 32vw;
		left: -5vw;
		bottom: 0;
		z-index: 2;
		width: 42.7vw;
		height: 21.3vw;
		object-fit: cover;
	}
	.page.about #outline table {
		margin-bottom: 0;
		width: 80vw;
	}
	.page.about #outline table,
	.page.about #outline table * {
		display: block;
	}
	.page.about #outline table tr {
		padding: 8vw 0;
	}
	.page.about #outline table tr th {
		padding: 0 0 4vw;
		width: auto;
	}
	.page.about #outline table tr td {
		line-height: 1.7;
	}

	
	.page.service main .top {
		margin: 0;
		padding: 5vw;
	}
	.page.service main .top p {
		text-align: left;
	}
	.page.service #practices {
		padding: 5vw 5vw 0;
	}
	.page.service #practices::after {
		top: 60vw;
		left: 0;
		right: 0;
		height: 50vw;
		margin-left: 0;
	    z-index: -1;
	}
	.page.service #practices > div > div {
		position: static;
		width: 100%;
		height: auto;
		padding: 5vw;
	    margin-bottom: 30vw;
	}
	.page.service #practices ul {
		display: block;
		padding: 0;
	}
	.page.service #practices ul li {
		width: 100%;
		margin-bottom: 10vw;
		display: block;
	}
	.page.service #practices ul.v2 {
		padding-bottom: 5vw;
	}
	.page.service #practices ul.v2 li {
	    margin-bottom: 10vw;
	}
	.page.service #practices ul li a {
		padding: 8vw 5vw;
	}
	.page.service #practices ul li h3 {
		font-size: 4.2vw;
		padding-right: 10vw;
	}
	.page.service #practices ul li h3 br {
		display: none;
	}
	.page.service #practices ul li h3 figure {
	    min-width: 10vw;
		width: 10vw;
		height: 10vw;
		margin-right: 5vw;
	}
	.page.service #practices ul li p {
		font-size: 3.5vw;
	}
	.page.service #practices ul li:nth-child(even) {
		position: static;
	}
	.page.service #practices::before {
		left: 0;
	}
	.page.service #practices ul li a span {
		top: 8vw;
		right: 4.9vw;
		width: 10vw;
		height: 10vw;
	}
	.page.service #practices ul li.icon07,
	.page.service #practices ul li.icon09 {
		top: initial;
	}
	
	.page-service-child #catchphrase > div {
		display: block;
		padding: 0 5vw;
		margin-bottom: 16vw;
	}
	.page-service-child #catchphrase > div .img,
	.page-service-child #catchphrase > div .txt {
		width: 100%;
	}
	.page-service-child #catchphrase > div .img {
		height: 64vw;
	}
	.page-service-child #catchphrase > div .txt {
		padding-top: 10vw;
	}
	.page-service-child #catchphrase > div .txt h3 {
		font-size: 6.4vw;
	}
	.page-service-child #features {
		padding-bottom: 16vw;
	}
	.page-service-child #features ul li figure img {
		width: 76vw;
	}
	.page-service-child #features ul li figure figcaption {
		font-size: 19.2vw;
		right: 14.5vw;
		bottom: -7vw;
	}
	.page-service-child #features ul li figure + p,
	.page-service-child #features ul li h3,
	.page-service-child #features ul li h3 + p {
		width: 76vw;
	}
	.page-service-child #p-area {
		padding: 16vw 5vw;
	}
	.page-service-child #p-area > div {
		display: block;
	}
	.page-service-child #p-area > div dl {
		width: 100%;
	}
	.page-service-child #p-area > div dl dt {
		font-size: 4.8vw;
		padding: 6.4vw 10vw 6.4vw 0;
		line-height: 1.7;
	}
	.page-service-child #p-area > div dl dt::before {
		right: 0;
		width: 6.7vw;
		height: 6.7vw;
	}
	.page-service-child #fee {
		padding: 0 5vw;
	}
	.page-service-child #fee .bn-fee {
		margin-bottom: 0;
	}
	.page-service-child #others {
		padding: 16vw 5vw;
	}
	.page-service-child #others h2 {
		text-align: left;
	}
	.page-service-child #others ul {
		padding-bottom: 0;
	}
	.page-service-child #others ul li {
		width: 100%;
		height: 17vw;
	}
	.page-service-child #others ul li.icon05,
	.page-service-child #others ul li.icon07 {
		font-size: 3.2vw;
	}
	.page-service-child #others ul li.icon05 span,
	.page-service-child #others ul li.icon07 span {
		max-width: 52vw;
		text-align: left;
	}	
	.page-service-child #others ul li.icon05 span br {
		display: none;
	}	
	.page-service-child #others ul li a {
		padding-right: 12vw;
	}
	.page-service-child #others ul li a figure {
		width: 17vw;
		height: 17vw;
	}
	.page-service-child #others ul li a i {
		font-size: 4.2vw;
	}
	.page-service-child #others ul li a i::before, .page-service-child #others ul li a i::after{
		top: 6.5vw;
		right: 2.5vw;
	}
	.page-service-child #others ul li a span {
		letter-spacing: .04em;
	}
	.page.other .box {
		padding: 0 5vw 10vw;
	}
	.page.other .box > div {
		display: block;
		padding-top: 10vw;
	}
	.page.other .box > div figure,
	.page.other .box > div .txt {
		width: auto;
	}
	.page.other .box > div .txt h2 {
		font-size: 5.3vw;
	}
	.page.other .box > div .txt ul {
		margin-bottom: 10vw;
	}
	.page.other .box > div .txt ul li {
		font-size: 3.7vw;
		padding-left: 5vw;
	}
	.page.other .box > div .txt .bn-fee {
		margin-bottom: 0;
	}
	.page.other #others h2 {
		text-align: left;
		margin-bottom: 8vw;
	}
	
	.page.legal-fees #table {
		padding: 0 5vw;
	}
	.page.legal-fees #table > div > p {
		text-align: left;
	}
	.page.legal-fees #table > div > .border {
		text-align: center;
		padding: 10vw 5vw;
	}
	.page.legal-fees #table > div > .border em {
		display: inline-block;;
	}
	.page.legal-fees #table > div > table,
	.page.legal-fees #table > div > table > tbody > tr,
	.page.legal-fees #table > div > table > tbody > tr > th,
	.page.legal-fees #table > div > table > tbody > tr > td {
		display: block;
		border-top: none;
		border-bottom: none;
		width: auto;
	}
	.page.legal-fees #table > div > table > tbody > tr {
		border-top: solid 1px #181B39;
		padding: 8vw 0;
	}
	.page.legal-fees #table > div > table > tbody > tr > th {
		border-bottom: solid 1px #A89265;
		margin: 0 5vw 5.2vw;
		padding: 0 0 5.2vw;
		font-size: 4.8vw;
	}
	.page.legal-fees #table > div > table > tbody > tr > td {
		margin: 0 5vw;
		padding: 0;
	}
	.page.legal-fees #table > div > table > tbody > tr > td > div {
		overflow-x: scroll;
		width: 80vw;
	}
	.page.legal-fees #table > div > table > tbody > tr > td table {
		white-space: nowrap;
	}
	.page.legal-fees #table > div > table > tbody > tr > td table tr th:first-child,
	.page.legal-fees #table > div > table > tbody > tr > td table tr td:first-child {
		width: 75vw;
	}
	
	.page.lawyers #lawyers {
		margin-top: 37.3vw;
	}
	.page.lawyers #lawyers ul li {
		height: auto;
		margin-bottom: 42.7vw;
	}
	.page.lawyers #lawyers ul li:last-child {
		margin-bottom: 21.3vw;
	}
	.page.lawyers #lawyers ul li:nth-child(odd) {
		margin-left: auto;
	}
	.page.lawyers #lawyers ul li:nth-child(even) {
		margin-right: auto;
	}
	.page.lawyers #lawyers ul li:nth-child(odd) div,
	.page.lawyers #lawyers ul li:nth-child(even) div {
		left: 0;
	}
	.page.lawyers #lawyers ul li figure img {
		position: relative;
		width: 80vw;
		top: -21vw;
	}
	.page.lawyers #lawyers ul li:nth-child(odd) figure img,
	.page.lawyers #lawyers ul li:nth-child(even) figure img {
		right: initial;
		left: 10vw;
	}
	.page.lawyers #lawyers ul li > div {
		position: static;
		margin-top: -15vw;
		padding: 0 10vw 15vw;
	}
	.page.lawyers #lawyers ul li > div h2 {
		font-size: 9.6vw;
	}
	.page.lawyers #lawyers ul li > div p {
		margin-bottom: 0;
	}
	.page.lawyers #lawyers ul li figure figcaption {
		font-size: 8.5vw;
	}
	.page.lawyers #lawyers ul li:nth-child(odd) figure figcaption,
	.page.lawyers #lawyers ul li:nth-child(even) figure figcaption {
		left: 6vw;
		right: initial;
	}
	.page.lawyers #lawyers ul li:nth-child(odd) a,
	.page.lawyers #lawyers ul li:nth-child(even) a {
		left: 10vw;
	}
	
	.page-lawyers-child #main #profile {
		margin: 12vw auto;
	}
	.page-lawyers-child #main #profile img {
		width: 85.3vw;
	}
	.page-lawyers-child #main #profile div {
		position: relative;
		right: initial;
		bottom: initial;
		min-width: initial;
		min-height: initial;
		padding: 10vw;
		top: -5vw;
		left: 10vw;
	}
	.page-lawyers-child #main #profile div p {
		font-size: 3.2vw;
		margin-bottom: 2vw;
	}
	.page-lawyers-child #main #profile div h2 {
		font-size: 6.4vw;
	}
	.page-lawyers-child #main #profile div h2 span {
		font-size: 3.47vw;
	}
	.page-lawyers-child #main #profile div small {
		font-size: 3.2vw;
	}
	.page-lawyers-child #main dl {
		padding: 0 10vw 0 3.4vw;	
	}
	.page-lawyers-child #main dl dt {
		font-size: 4.8vw;
	}
	.page-lawyers-child #main dl dd {
		padding-left: 5vw;
		margin-left: 1.6vw;
		font-size: 3.73vw;
	}
	.page-lawyers-child #main dl dd ul li {
		border-bottom: solid 1px #CCC;
		padding-bottom: 3vw;
		margin-bottom: 3vw;
	}
	.page-lawyers-child #main dl dd ul li:last-child {
		border-bottom: none;
	}
	.page-lawyers-child #main dl dd ul li span {
		display: block;
	}
	.page-lawyers-child #main dl dd ul li span:nth-child(2) {
		margin-left: 1em;
	}
	
	.page.recruit #message {
		margin: 0 10vw 16vw;
	}
	.page.recruit #message > div {
		padding-bottom: 100vw;
	}
	.page.recruit #message > div::before {
		z-index: -1;
		top: initial;
		left: -10vw;
		right: -10vw;
		bottom: 10vw;
		width: 100vw;
		height: 56vw;
	}
	.page.recruit #message .txt {
		width: auto;
	}
	.page.recruit #message .txt h3 {
		font-size: 6.4vw;
	}
	.page.recruit #message .img1 {
		top: initial;
		right: 0;
		bottom: 25vw;
		width: 58.7vw;
	}
	.page.recruit #message .img2 {
		top: initial;
		right: initial;
		left: 0;
		bottom: 0;
		z-index: 3;
		width: 34.7vw;
	}
	.page.recruit #message .img3 {
		display: none;
	}
	.page.recruit #requirements {
		padding: 0 5vw;
	}
	.page.recruit #requirements table {
		padding: 0 5vw;
	}
	.page.recruit #requirements table, 
	.page.recruit #requirements table tr,
	.page.recruit #requirements table tr th,
	.page.recruit #requirements table tr td {
		display: block;
	}
	.page.recruit #requirements table tr th {
		padding: 8vw 0 2vw
	}
	.page.recruit #requirements table tr td {
		padding:  0 0 8vw;
	}
	
	.page.advisory main .top {
		margin: 5vw 5vw 10vw;
	}
	.page.advisory main #merit {
		padding: 10vw 5vw 5vw;
	}
	.page.advisory main #merit h2 + p {
		margin-bottom: 15vw;
		text-align: left;
	}
	.page.advisory main #merit ul li {
		width: 100%;
		padding: 8vw 5vw;
	    margin-bottom: 10vw;
	}
	.page.advisory main #merit ul li p:first-child {
		font-size: 5vw;
	}
	.page.advisory main #merit ul li h3 {
		font-size: 4.5vw;
	}
	.page.advisory main #merit ul li p {
		font-size: 4vw;
	}
	.page.advisory main #fee {
		padding: 10vw 5vw;
	}
	.page.advisory main #fee p {
		margin-bottom: 10vw;
	}
	
	
	.page.contact main #main, .page.contact-thanks main #main, body.error404 main #main {
		padding: 10vw 5vw;
	}
	.page.contact-thanks main #main, body.error404 main #main {
		padding: 10vw 5vw 20vw;
	}
	.page.contact main #main h2, .page.contact-thanks main #main h2, body.error404 main #main h2 {
		font-size: 5vw;
		margin-bottom: 15vw;
		text-align: left;
		line-height: 1.7;
	}
	.page.contact main #main p, .page.contact-thanks main #main p, body.error404 main #main p {
		text-align: left;
		margin-bottom: 10vw;
		font-size: 4vw;
	}

	.page #contact_form {
		margin-bottom: 15vw;
		padding-top: 10vw;
		margin-top: 0;
	}
	.page #contact_form table ,
	.page #contact_form table tbody ,
	.page #contact_form table tbody tr,
	.page #contact_form table tbody tr th,
	.page #contact_form table tbody tr td {
		width: auto;
		display: block;
	}
	.page #contact_form table tbody tr th {
		padding: 3vw 0 5vw;
	}
	.page #contact_form table tbody tr td {
		padding: 0 0 5vw 0;
	}
	.page #contact_form #note {
		font-size: 3.7vw;
		margin-bottom: 15vw;
	}

	
	.page.privacy-policy #main {
		padding: 5vw;
	}
	.page.privacy-policy #main p {
		font-size: 3.7vw;
	}
	.page.privacy-policy #main dl dt {
		font-size: 4.5vw;
		line-height: 1.7;
	}
	.page.privacy-policy #main dl dd {
		font-size: 3.7vw;
	}

	
	footer #access {
		display: block;
		margin-top: -3.75rem;
		padding-top: 3.75rem;
	}
	footer #access > div:first-child {
		width: auto;
		padding: 14vw 5vw 8vw;
	}
	footer #access > div:first-child h1 {
		margin-bottom: 14vw;
	}
	footer #access > div:first-child h3 {
		font-size: 5vw;
		margin: 1em 0;
	}
	footer #access > div:first-child p {
		margin-bottom: 8vw;
		font-size: 3.7vw;
	}
	footer #access > div:first-child p small {
		font-size: 3.7vw;
	}
	footer #access > div:first-child > div {
		margin-top: 12vw;
		display: block;
	}
	footer #access > div:first-child > div img:first-child {
		margin-right: 0;
	}
	footer #access > div:first-child > div img {
		width: 100%;
	}
	footer #access > div:last-child {
		width: 100%;
		height: 0;
		position: relative;
		padding-top: 75%;
	}
	footer #access > div:last-child iframe {
		max-width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	footer #foot_contact {
		height: auto;
		padding: 10vw 5vw;
	}
	footer #foot_contact h2 {
		font-size: 5vw;
		margin-bottom: 8vw;
	}
	footer #foot_contact > div {
		flex-wrap: wrap;
	}
	footer #foot_contact > div a {
		margin: 0 auto;
	}
	footer #foot_contact > div a.tel span {
		font-size: 8.8vw;
		margin-bottom: 2vw;
		display: inline-block;
	}
	footer #foot_contact > div a.tel small {
		font-size: 3.4vw;
		margin-bottom: 10vw;
	}
	footer #foot_contact > div a.form {
		width: 100%;
		height: 18.6vw;
		line-height: 18.6vw;
		font-size: 5vw;
	}
	footer #foot_recruit {
		display: block;
	}
	footer #foot_recruit a {
		width: 100%;
		height: auto;
		padding: 13vw 5vw;
	}
	footer #foot_recruit a:first-child {
		border-right: none;
		border-bottom: solid 1px #FFF;
	}
	footer #foot_recruit p {
		font-size: 3.2vw;
		width: 70vw;
	}
	footer #foot_recruit a > span {
		right: 5vw;
		bottom: 19vw;
	}
	
	footer #footer {
		padding: 13.3vw 17.3vw;
		display: block;
	}
	footer #footer div img.logo {
		display: block;
		width: 64vw;
		margin-bottom: 13.3vw;
	}

	footer #footer ul {
		justify-content: space-between;
	}
	footer #footer ul li {
		min-width: 25vw;
		width: auto;
		margin-bottom: 10vw;
		margin-left: 0;
	}
	footer #footer ul li a {
		font-size: 3.7vw;
		letter-spacing: .1em;
	}
	footer #footer ul.sub li a {
		font-size: 3.2vw;
	}
	footer #copyright {
		font-size: 2.7vw;
		padding: 0.75em 0;
		text-align: center;
	}


}















