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

body {
	font-size:14px;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.left {
	float: none;
}
.right {
	float: none;
}
.flex {
	display: block;
}
.pr,
.pa {
	position: static;
}
.pc_wrap::before {
	content:"";
    white-space: normal;	
}
.sp_wrap::before {
	content:"\A";
    white-space: pre;	
}
/********** header *******************/
header#header {
	position: fixed;
	padding-bottom: 1em;
}
header#header #spnav {
    display: block;
    font-size: 3em;
    position: absolute;
    top: 0.3em;
    right: 10px;
}
header#header #spnav a i {
	color:#000;
}
header#header #spnav a span {
	font-size: 10px;
	display: block;
	margin-left: 1px;
	color: #000;
	line-height: 0em;
	font-style: initial;
	margin-top: -4px;
}
header#header nav ul#nav {
	z-index:100;
	width:100%;
	margin:0 0 1px 0;
	display:none;
	background-color: #FFF;
	padding-bottom: 0;
	padding-top: 1em;
	margin-top: 0em;
}
header#header nav ul#nav li {
	display:block;
	margin:1em auto;
	padding-left: 2em;
	font-size:1.0rem;
	border:none;
	text-align:left;
	width: 100%;
	max-width: 500px;
	padding-right: 0;
	height: 1em;
	padding-bottom: 0;
}

header#header nav ul#nav li:first-of-type {
	margin-bottom: 2em;
}
header#header nav ul#nav li a {
	text-align: left;
}
header#header ul li img {
    margin-bottom: 1em;
    display: inline-block;
    margin-right: 1em;
}
header#header h1.flex_item01 {
    width: 100%;
    text-align: left;
    line-height: 1em;
}
header#header h1.flex_item01 a {
	font-size: 1.2rem;	
}
header#header .flex_item02 {
    width: 100%;
}
header#header h1 img#logo {
	width: 28%;
	float: left;
	margin-top: 0.8em;
	max-width:55px;
}
header#header .flex_item02 div.tel {
    width: 57%;
	float: left;
}
header#header .flex_item02 div.tel p {
	font-size:0.65rem;
}
header#header .flex_item02 div.tel p span {
	font-size: 1.4rem;
	line-height: 1em;
}
header#header .flex_item02 div.mail {
    width: 43%;
    float: right;
}
header#header .flex_item02 a i {
    margin-right: 0.2em;
    font-size: 1rem;
}
header#header .flex_item02 a.mail {
    background: linear-gradient(to right,#Ed5A5E 0% ,#EA4335 100%);
    padding: 0.7em 0;
    border-radius: 4px;
    margin-top: 1.4em;
    font-size: 0.68rem;
}
header#header .flex_item02 img {
    margin-top: 1.2em;
    margin-right: 0.5em;
    float: left;
    width: 15%;
}
header#header .flex_item02 p {
    text-align: left;
    line-height: 1.25em;
    margin-top: 1em;
}
header#header .logotext_r {
    display: block;
    line-height: 0.8;
	position: relative;
	top: -0.2em;
}
header#header .logotext_l {
    display: block;
	position: relative;
	top: -0.2em;
}
header#header .logo_subtxt {

}
/**********************************footer***********************************/
footer#footer {
    padding-top: 2em;
    padding-bottom: 1.5em;
}
footer#footer h6 {
    max-width: 323px;
    width: 82%;
	font-size: 1.8rem;
}
footer#footer h6 span {
	font-size: 1rem;
}
footer#footer h6 img {
	float: left;
	width: 15%;
	margin-top:0.9em;
}
footer#footer .logotext_r {
    display: block;
    line-height: 0.8;
	position: relative;
	top: -0.2em;
	font-size:0.7em;
}
footer#footer .logotext_l {
    display: block;
	position: relative;
	top: -0.2em;
	font-size:0.7em;
}
footer#footer .logo_subtxt {

}

/**********************************popup****************************************************/
section.pop_up img {
	width: 96%;
}
section.pop_up div,
section.pop_up p {
	width: 96%;
}
section.pop_up p.ind {
	text-indent: 1rem;
}
section.pop_up ul li,
section.pop_up p.fs14 {
	text-indent: -1rem;
	padding-left: 1rem;
}
/***********************************contents_contact***************************************/
section#contents_contact .wh-tr {
    padding-top: 1em;
}
section#contents_contact h2 {
    margin-top: 0.5em;
    margin-bottom: 1em;
    font-size: 1.4rem;
}
section#contents_contact div.flex p {
	font-size: 1rem;
}
section#contents_contact div.flex_item01, 
section#contents_contact div.flex_item02 {
    width: 100%;
	margin-bottom: 3em;
}
section#contents_contact div.flex_item01 a {
    padding: 0.2em 0.2em 0.4em 0.2em;    
    width: 84%;
	font-size: 1.4rem;
}
section#contents_contact div.flex_item01 a i {
	font-size: 1.25rem;
}
section#contents_contact div.flex_item02 a {
    padding: 0.4em 0.2em 0.6em 0.2em;
    width: 84%;
    font-size: 1.1rem;
}
section#contents_contact div.flex_item02 a i {
    font-size: 1.4rem;
}
section#contents_contact .bg {
    padding: 2.5em 0 1em 0;
}
/******************************************top*******************************************/
a.anchor {
    display: block;
    position: relative;
    top: -165px;
    visibility: hidden;
}
div#slide .swiper-slide {
    position: relative;
}
div#slide div.swiper-slide div.pa {
	position: absolute;
	top:2em;
}
div#slide div.swiper-slide p {
	font-size: 1.5rem;
}
div#slide div.swiper-slide p span {
	font-size: 0.85rem;
}
div#slide div.swiper-slide.slide1 p {
    line-height: 1.3em;
}
div#slide div.swiper-slide.slide2 p {
    line-height: 1.1em;
}
div#slide div.swiper-slide.slide3 p {
    line-height: 1.3em;
}
div#slide div.swiper-slide.slide1 p span {
    margin-top: 1.5em;
}
div#slide div.swiper-slide.slide2 p span {
    margin-top: 1.5em;
}
div#slide div.swiper-slide.slide3 p span {
    margin-top: 1.5em;
}
section#top_slide {
    margin-top: 145px;
}
.y_line {
    height: 40px;
}
section#concept .y_line {
    margin-top: -1em;
}
section#concept h2 {
    font-size: 1.5rem;
}
section#concept h2 span {
	font-size: 1.25rem;
}
section#concept .bg .flex .flex_item01 {
    margin-top: -3em;
    width: 100%;
}
section#concept .bg .flex .flex_item01 img {
    width: 96%;
}
section#concept .bg .flex .flex_item02 {
    padding-top: 2em;
    width: 100%;
    text-align: center;
}
section#concept .bg .flex .flex_item02 a {
	font-size:0.95em;
}
section#concept .na_line01 {
    margin: 0 auto;
}
section#concept .bg .flex .flex_item02 h3 {
    margin-bottom: 0;
    line-height: 1.5em;
    font-size: 2.25rem;
}
section#concept .bg .flex .flex_item02 p.fs28 {
    margin-bottom: 0.5em;
    font-size: 1.25rem;
}
section#concept .bg .flex .flex_item02 p.fs16 {
    width: 93%;
    text-align: left;
    display: block;
    margin: 1.5em auto 3em auto;
}
section#lawyer {
    padding-top: 3em;
}
section#lawyer .flex .half {
	width: 100%;
	margin-bottom: 3em;
}
section#lawyer .name_box {
    width: 80%;
    margin-top: -4em;
    box-shadow: 0px 0px 20px #666;
    position: relative;
}
section#lawyer .name_box p {
    margin-bottom: 1em;
	font-size: 1.125em;
}
section#lawyer .name_box a {
    width: 33%;
    float: right;
}
section#lawyer .stickarrow {
    float: right;
}
section#lawyer .item03 {
    width: 100%;
}
section#lawyer .item03 img.center.heading {inline-size: min(960px,100%);}
section#lawyer h2, 
section#service h2, 
section#access h2 {
    font-size: 2.3rem;
}
section#lawyer h2 span, 
section#service h2 span, 
section#access h2 span {
    font-weight: 600;
    font-size: 1.1rem;
}
section#lawyer a.gld_btn {
    padding: 0.8em 2em 0.8em 3em;
    width: 52%;
    margin-top: 2em;
}
section#lawyer .lawyer1_2 {margin-block-start: 0;}

section#service .flex .flex_item01, 
section#service .flex .flex_item02, 
section#service .flex .flex_item03 {
    width: 100%;
    margin-bottom: 3em;
}
section#service {
    background: linear-gradient(0deg,#f1f1f1 0%,#f1f1f1 58%,#fff 58%,#fff 100%);
    padding-top: 3em;
    padding-bottom: 3em;
}
section#service .flex h3 {
    margin-top: 0.7em;
    margin-bottom: 1em;
    font-size: 1.3rem;
}
section#service .flex p {
    width: 86%;
    margin-bottom: 1em;
	font-size: 1.075em;
}
section#service a.gld_btn {
    padding: 0.8em 3.8em 0.8em 4.8em;
    width: 40%;
    margin-top: 3em;
}
section#link .flex .flex_item01, 
section#link .flex .flex_item02 {
    width: 100%;
	margin-bottom: 3em;
}
section#link {
    padding-top: 3em;
}
section#link h3 {
    margin-top: 0.2em;
    line-height: 1.5em;
    font-size: 2.3rem;
}
section#link p {
    font-size: 1.3rem;
}
section#access {
    padding-top: 1em;
}
section#access .bggr {
    padding: 2.5em 0 2em 0;
}
section#access p {
    margin-bottom: 2em;
    font-size: 0.9375rem;
}
section#access .map iframe {
	height: 300px;
}
section#top_contact {
    padding-top: 1em;
}
section#top_contact h2 {
    margin-top: 0.5em;
    margin-bottom: 1em;
    font-size: 1.4rem;
}
section#top_contact div.flex p {
	font-size: 1rem;
}
section#top_contact div.flex_item01, 
section#top_contact div.flex_item02 {
    width: 100%;
	margin-bottom: 3em;
}
section#top_contact div.flex_item01 a {
    padding: 0.2em 0.2em 0.4em 0.2em;    
    width: 84%;
	font-size: 1.4rem;
}
section#top_contact div.flex_item01 a i {
	font-size: 1.25rem;
}
section#top_contact div.flex_item02 a {
    padding: 0.4em 0.2em 0.6em 0.2em;
    width: 84%;
    font-size: 1.1rem;
}
section#top_contact div.flex_item02 a i {
    font-size: 1.4rem;
}
section#top_contact .bg {
    padding: 2.5em 0 1em 0;
}
/**************************************about***************************************/
	.first_tr h2 {
		font-size: 2rem;
		margin-top: 0.5em;
	}
	.first_tr h2 span {
		font-size: 1rem;
	}
	.first_tr {
    padding-top: 1em;
    padding-bottom: 3em;
    margin-top: -3em;
}
	.top_section .gr_line {
    margin-top: -2em;
    margin-bottom: 2em;
}
	.gr_line {
    height: 50px;
	position: relative;
}
	section#about_top .wh-tr.heading {
    padding-top: 2em;
    padding-bottom: 1em;
    margin-bottom: 3em;
}
	section#about_top .wh-tr.heading h3 {
    font-size: 1.25rem;
}
	section#about_top .wh-tr.heading h3 span {
	font-size: 1.25rem;
}
	section#about_top .wh-tr.heading p.at_p02 {
    width: 60%;
    margin: 1em auto;
}
	section#about_top {
    padding-bottom: 2em;
}
	div.outside.gr_line {
    margin-bottom: -2em;
	z-index: 1000;
}
	section#about_parking h2,
	section#about_access h2,
	section#about_profile h2 {
    font-size: 1.8rem;
}
	section#about_parking h2 span,
	section#about_access h2 span,
	section#about_profile h2 span {
    font-size: 1rem;
}
	section#about_profile .wh-tr {
    padding-top: 3em;
    padding-bottom: 1em;
}
	section#about_profile {
    padding-bottom: 2em;
}
	.wh-tr {
	position: relative;
}
section#about_top .wh-tr.heading p.at_p01 {
    margin-top: 0.25em;
    font-size: 1.075rem;
}
section#about_top .wh-tr.heading p.at_p02 {
    width: 96%;
    margin: 1em auto;
}
section#about_top .flex .flex_item01, 
section#about_top .flex .flex_item02, 
section#about_top .flex .flex_item03 {
    width: 100%;
	margin-bottom: 2em;
}
section#about_profile dl {
    width: 96%;
    max-width: 767px;
}
section#about_profile dl dt {
    width: 5em;
    padding-right: 1em;
}
section#about_access .a_map iframe,
section#about_parking .p_map iframe {
	height: 250px;
}
/***************************lawyer****************************************/

	body#lawyer .top_section {
    margin-top: 165.2px;
    padding-top: 3.5em;
    padding-bottom: 1em;
}
	section#akimoto, section#seno,section#satou,section#naito {
    width: 96%;
    padding-left: 0;
	margin-bottom: 6em;
}
	section#akimoto div.right, section#seno div.left,section#satou div.right, section#naito div.left {
    width: 100%;
    margin-right: 0;
}
	section#akimoto div.wh-tr, section#seno div.wh-tr,section#satou div.wh-tr, section#naito div.wh-tr {
    margin-top: -9em;
    width: 100%;
	margin-right: 0;
	margin-left: 0;
}
	section#akimoto div.wh-tr, section#seno div.wh-tr,section#satou div.wh-tr, section#naito div.wh-tr {
    margin-top: -11em;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-top: 1em;
    padding-bottom: 1em;
}
section#akimoto .na_line01, section#seno .na_line01,section#satou .na_line01, section#naito .na_line01 {
    margin-left: 2%;
    margin-top: 2em;
    margin-bottom: 1em;
}
section#akimoto h3, section#seno h3,section#satou h3, section#naito h3 {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
}
section#akimoto h3 img, section#seno h3 img,section#satou h3 img, section#naito h3 img {
    width: 50%;
}
section#akimoto h3 span, section#seno h3 span,section#satou h3 span, section#naito h3 span {
    margin-bottom: 0em;
}
section#akimoto div.wh-tr dl, section#seno div.wh-tr dl,section#satou div.wh-tr dl, section#naito div.wh-tr dl {
    margin-left: auto;
    margin-right: auto;
    width: 96%;
    border-bottom: 1px solid #d5d5d5;
    padding-bottom: 1em;
}
section#akimoto div.wh-tr p, section#seno div.wh-tr p,section#satou div.wh-tr p, section#naito div.wh-tr p {
    width: 96%;
    margin: 1em auto 2em auto;
    font-size: 1.0rem;
}
/********************************contact**********************************/
section#contact_form table td input {
    width: 90.5%;
}
section#contact_form table td textarea {
    width: 90.5%;
}
section#contact_form div.top_img {
    background-position: center top;
    background-size: cover;
    padding: 5em 0 5em 0;
}
section#contact_form div.top_img h3 img {
    width: 70%;
}
section#contact_form p.fs30 {
    font-size: 1rem;
}
section#contact_form input[type="submit"] {
    width: 60%;
}
section#contact_form {
    background-size: 100%;
    padding: 0 0 3em 0;
}
section#contact_form div.lower_inner p {
    width: 100%;
    margin-bottom: 2em;
    text-align: left;
}
section#contact_form p.text_box {
    margin-top: 1em;
    text-align: left;
}

/******************************flow***************************************/
section#flow {
    padding-bottom: 1em;
}
section#flow .flow_contents01 .flex_item01, 
section#flow .flow_contents01 .flex_item02 {
    width: 100%;
    height: auto;
}
section#flow p.fs48 {
    margin-top: 0em;
    font-size: 1.7rem;
}
section#flow h3 {
	font-size: 1.25rem;
}
section#flow .flow_contents01 p.ls07 {
    margin-bottom: 2em;
    font-size: 1.0rem;
}
section#flow .flow_contents01 .flex_item01, 
section#flow .flow_contents01 .flex_item02 {
    width: 100%;
    height: auto;
    margin: 2em auto 3em auto;
}
section#flow .flow_contents01 .flex_item01 p.fcbl2,
section#flow .flow_contents01 .flex_item02 p.fcre2 {
    margin-bottom: 0.5em;
	font-size: 1.5rem;
}
section#flow .flow_contents01,
section#flow .flow_contents02,
section#flow .flow_contents03 {
	padding-top: 0em;
    padding-bottom: 0em;
}
section#flow .lower_inner {
	width: 96%;
}
section#flow .flow_contents02 .lower_inner p.fs16 {
	text-align: left;
}
section#flow .na_line03 {
    height: 35px;
    margin-top: 1em;
    margin-bottom: 1em;
}
section#flow .flow_contents04 p.fs16 {
	text-align: left;
	font-size: 0.9375em;
}
section#flow a.flow_btn03 {
    width: 73%;
    padding: 0.4em 0 0.3em 0;
}
section#flow .flow_contents01 .flex_item01 a,
section#flow .flow_contents01 .flex_item02 a {
    position: static;
	margin-top: 0.5em;
	width: 90%;
}
section#flow .flow_contents04 h4 {
    text-align: left;
    font-size: 1.0rem;
    margin-bottom: 0.5em;
}
section#fee h3 span {
    font-size: 1.6rem;
}
section#fee h3 {
    font-size: 1.25rem;
    margin-bottom: 1em;
}
section#fee .lower_inner {
	width: 96%;
}
section#fee div.outside.gr_line {
    margin-bottom: -2em;
    margin-top: 4em;
}
section#fee .hr_line {
    margin-top: 1em;
    margin-bottom: 1em;
}
.fee_contents01 p.fcbl {
	font-size: 1.1rem;
}
.fee_contents02 p.fcbl,
.fee_contents03 p.fcbl {
	font-size: 1.1rem;
}
span.break {
    margin-right: 1em;
}
section#fee .fee_contents02 p.fs14 {
	text-align: left;
	text-indent: -1em;
	padding-left: 1em;
}
section#fee .fee_contents03 table th,
section#fee .fee_contents03 table td {
    width: calc(100% / 3);
}
section#fee .fee_contents03 table td {
	padding-left: 0.5em;
	padding-right: 0.25em;
	vertical-align: text-top;
}
section#fee .fee_contents01 p.fs14,
section#fee .fee_contents03 p.fs14 {
	text-align: left;
}
section#fee .fee_contents03 p.p_03 {
    text-indent: -1em;
    padding-left: 1em;
}
section#fee .fee_contents01, section#fee .fee_contents02, section#fee .fee_contents03, section#fee .fee_contents04, section#fee .fee_contents05 {
	padding-top: 3em;
}
section#fee img {
    margin-bottom: 1.5em;
}
section#fee .fee_contents04 p {
	text-align: left;
    font-size: 0.938rem;
}
section#fee .fee_contents05 p.fw6 {
    font-size: 0.938rem;
}
	section#privacy .wh-tr {
    padding-top: 4em;
}
section#privacy .hr_line2 {
	margin-top: 3em;
	}
section#privacy p:last-of-type {
    margin-top: 3em;
	text-align: left;
}
section#privacy h2 {
    margin-bottom: 0.5em;
	font-size: 1.2rem;
}
section#privacy .lower_inner {
	width: 96%;
}
section#flow .flow_contents02 p.fs17,
section#flow .flow_contents03 p.fs17,
section#flow .flow_contents04 p.fs17 {
    font-size: 1.125em;	
}
.fee_contents05 .fs22 {
	font-size: 1.25em;
}
.fee_contents03 p.ls07 {
    font-size: 0.938rem;
}
.fee_contents03 p.fs21 {
    font-size: 1.25em;	
}
section#fee .fee_contents05 p {
    font-size: 0.938rem;
}
/****************************service***************************************/
section#service_middle .service_inner img {
    width: 100%;
}
section#service_middle div.left {
    width: 100%;
}
section#service_middle div.left h3 {
    margin: 1em 0 1em 0;
    font-size: 1.8rem;
	text-align: center;
}
section#service_middle div.left p {
    width: 100%;
    margin-left: 0;
    margin-bottom: 1em;
    text-align: left;
    font-size: 1.0rem;
}
section#service_list h3 {
    line-height: 1.25em;
    margin-bottom: 2em;
    font-size: 1.1rem;
}
section#service_list h3 span {
	font-size: 1.8rem;
}
section#service_list .flex .flex_item01, 
section#service_list .flex .flex_item02, 
section#service_list .flex .flex_item03 {
    background-color: #04274B;
    width: 100%;
    margin-bottom: 1.25em;
    padding: 1.5em 0 1em 0;
    position: relative;
}
section#service_list .flex .flex_item01 p.fs22, 
section#service_list .flex .flex_item02 p.fs22, 
section#service_list .flex .flex_item03 p.fs22 {
	font-size: 1.2rem;
}
/*************************contact*********************************************/
div.link_box .flex .flex_item01, 
div.link_box .flex .flex_item02 {
    width: 100%;
    margin-bottom: 1em;
}
section#contact_top p.fcbl2 {
    font-size: 1.0rem;
    text-align: left;
    width: 80%;
}
body#contact .first_tr {
    padding-bottom: 2em;
}
section#inquiry form dt {
    font-size: 0.95rem;
    margin-top: 1em;
}
section#inquiry form dd .entry_example {
    display: block;
    font-size: 0.8rem;
}
section#inquiry form input[type="text"], section#inquiry form textarea {
    width: 95%;
	height: 1em;
}
section#inquiry form input[type="submit"] {
    width: 100%;
	font-size: 1rem;
}
div.link_box .flex .flex_item01 i, 
div.link_box .flex .flex_item02 i {
    float: right;
}
.mfp-iframe-scaler iframe {
    height: 52rem;
}
/*************************************************************************/
@media (min-width: 376px) and (max-width: 499px) {
.mfp-iframe-scaler iframe {
    height: 46rem;
}
}
/*************************************************************************/
@media (min-width: 500px) and (max-width: 650px) {
.mfp-iframe-scaler iframe {
    height: 44rem;
}
}
/*************************************************************************/
@media (min-width: 651px) and (max-width: 767px) {
.mfp-iframe-scaler iframe {
    height: 40rem;
}
}
/*********************************IE*************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}














