@charset "UTF-8";

/*
Theme Name: prost_rousai
Theme URI: https://wordpress.org/themes/twentytwentyone/
Author: the WordPress team
Author URI: https://wordpress.org/
Version: 1.01
Text Domain: prost_rousai
prost_rousai WordPress Theme, (C) 2020 WordPress.org
prost_rousai is distributed under the terms of the GNU GPL.
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@400;700&display=swap');

/*----------------------------------------------------
	印刷用スタイル
----------------------------------------------------*/
@media print {
	* html body {
		zoom: .7;
	}
	body {
		/*
		width: 1000px !important;
		*/
		/*
		transform: scale(0.67);
		-moz-transform: scale(0.67);
		-webkit-transform: scale(0.67);
		transform-origin: 0 0;
		*/
	}
}


/*************************************************************************************************************************

■ 共通

*************************************************************************************************************************/


/******************************************************************** loading
*/

#loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background-color: #fff;

	display: flex;
	justify-content: center;
	align-items: center;

	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
/*
	background-image:url(./images/common/logo2.svg);
	background-repeat:no-repeat;
	background-size:90px auto;
	background-position:center center;
*/
}

.spinner,
.spinner:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.spinner {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 0.4em solid rgba(0, 72, 49, 0.2);
  border-right: 0.4em solid rgba(0, 72, 49, 0.2);
  border-bottom: 0.4em solid rgba(0, 72, 49, 0.2);
  border-left: 0.4em solid #004744;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* ローディングアニメーション */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(1.0);
    opacity: 0;
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}








*{ 
	margin: 0;
	padding: 0;
	font-size: 1em;
	font-style: normal;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
body{
	color: #141d1d;
	line-height: 1.6;
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	word-break: break-word;
}
a {
	color: #004744;
	transition:0.3s;
}
a:link,
a:visited,
a:active {
	text-decoration: none;
	color: #004744;
}
a:hover {
	text-decoration: none;
	transition:0.3s;
	opacity:0.7;
	color:#004744;
}
a:focus{
	overflow:hidden;
}


a.link2 {
	color: #005BAC;
	text-decoration: underline;
	transition:0.3s;
}
a.link2:link,
a.link2:visited,
a.link2:active {
	text-decoration: underline;
	color: #005BAC;
}
a.link2:hover {
	transition:0.3s;
	opacity:0.7;
	color: #005BAC;
}



a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition:0.3s 
}
a.alpha:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition:0.3s 
}
.text-narrow {
    transform: scale(0.8, 1);
}
.text-wide {
    transform: scale(1.5, 1);
}
.non_letter-spacing{
	letter-spacing: 0 !important;
}
ol.ol_base{
	list-style-type: decimal;
	padding-left:1rem;
	margin-bottom:20px;
}
ul.ul_base{
	list-style-type: disc;
	padding-left:1rem;
	margin-left:10px;
	margin-bottom:20px;
}
a.text_line{
	text-decoration: underline;
}
.underline{
	text-decoration: underline;
}
.indent{
	margin-left:20px;
}

.noborder{
	border:none !important;
}
.alpha{
	opacity:0.3;
}
.alpha a{
	opacity:0.3;
}

p.txt {
    margin-top: 1em;
}
p.image {
    margin-top: 1em;
}
.no_bg{
 	background:none !important;
	background-color: transparent !important;
}


img{
	border:none;
	margin: 0;
	padding: 0;
	vertical-align:bottom;
}
ul{
	margin: 0;
	padding: 0;
	list-style: none;
}



/******************************************************************** Float containers fix
===================================================================== a.k.a. clearfix */

/******************** exp IE
*/
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}

/******************** for IE
Level 2.1*/
.clearfix { display: inline-block;}  

/* Holly Hack Targets IE Win only \*/
* html .clearfix { height: 1%;}
.clearfix { display: block;}
/* End Holly Hack */


/******************************************************************** universal
*/

.aL { text-align: left !important;}
.aC { text-align: center !important;}
.aR { text-align: right !important;}
.fR { float: right !important;}
.fL { float: left !important;}

.mb0 {margin-bottom:0px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb40 {margin-bottom:40px !important;}
.mb50 {margin-bottom:50px !important;}
.mb80 {margin-bottom:80px !important;}
.mb100 {margin-bottom:100px !important;}

.mt0 {margin-top:0px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mt25 {margin-top:25px !important;}
.mt30 {margin-top:30px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.mt80 {margin-top:80px !important;}
.mt100 {margin-top:100px !important;}

.mt-50-pc{margin-top:-50px !important;}
.mt-100-pc{margin-top:-100px !important;}
.mt-150-pc{margin-top:-150px !important;}
.mt-200-pc{margin-top:-200px !important;}


.mr0 {margin-right:0px !important;}
.mr10 {margin-right:10px !important;}
.mr15 {margin-right:15px !important;}
.mr20 {margin-right:20px !important;}
.mr25 {margin-right:25px !important;}
.mr30 {margin-right:30px !important;}
.mr40 {margin-right:40px !important;}
.mr50 {margin-right:50px !important;}
.mr80 {margin-right:80px !important;}
.mr100 {margin-right:100px !important;}

.ml0 {margin-left:0px !important;}
.ml10 {margin-left:10px !important;}
.ml15 {margin-left:15px !important;}
.ml20 {margin-left:20px !important;}
.ml25 {margin-left:25px !important;}
.ml30 {margin-left:30px !important;}
.ml40 {margin-left:40px !important;}
.ml50 {margin-left:50px !important;}
.ml80 {margin-left:80px !important;}
.ml100 {margin-left:100px !important;}
.ml150 {margin-left:150px !important;}
.ml200 {margin-left:200px !important;}
.ml250 {margin-left:250px !important;}
.ml300 {margin-left:300px !important;}
.ml350 {margin-left:350px !important;}
.ml400 {margin-left:400px !important;}

.pb0 {padding-bottom:0px !important;}

.bold{
	font-weight:bold;
}
.large{
	font-size:110%;
}
.mini{
	font-size:84%;
}
.red{
	color:red;
}
.red2{
	color:#CC0000;
}
.red_b{
	color:#CC0000;
	font-weight:bold;
}
.blue{
	color:blue;
}
.brown{
	color:#600;
}
.strong_l{
	font-size:1.3em;
	font-weight:bold;
}
.marker{
	background:linear-gradient(transparent 60%, #FDE67C 60%);
	font-weight:bold;
}
/* 写真左寄せ */
.img_l {
	margin: 0 15px 10px 0;
	float: left;
}
.img_l2 {
	margin: 0 15px 0 0;
	float: left;
}

/* 写真右寄せ */
.img_r {
	margin: 0 0 10px 15px;
	float: right;
}
.img_r2 {
	margin: 0 0 0 15px;
	float: right;
}
/*
p.image{
	margin-top:1em;
	margin-bottom:1em;
}

p.txt{
	margin-top:1em;
}
*/
p.photoTxt {
	line-height: 1.8;
	overflow: hidden;
	_zoom: 1;
}


.attent{
	font-weight:bold;
	color:#F60;
}
.attention{
	color:red;
}

/******************************************************************** clearfix
*/

.clearfix {
    zoom: 1;/*for IE 5.5-7*/
}
.clearfix:after {/*for modern browser*/
    content:".";
    display: block;
    height: 0px;
    clear: both;
    visibility: hidden;
}

.clearfix{

  overflow:hidden;

}

* html .clearfix {
	display: inline-table;
	/*\*/display:block;/**/
}

.clearfix2 {
    zoom: 1;/*for IE 5.5-7*/
}
.clearfix2:after {/*for modern browser*/
    content:".";
    display: block;
    height: 0px;
    clear: both;
    visibility: hidden;
}


* html .clearfix2 {
	display: inline-table;
	/*\*/display:block;/**/
}

.clear {
    clear: both;
}


.wrapper{
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}



h1.ttl{
	margin:0 auto 4px auto;
	position:relative;
	font-size:40px;
	text-align:center;
	color:#004744;
	line-height:1.4;
}
.container h2.ttl_sub {
    color:#fff;
    background-color:#004744;
}


.flow-contents h2.ttl_sub {
    color: #fff !important;
    background-color: transparent !important;
}














.contact_info .tel a .number:before {
    content: "";
    background: url(./images/common/ico_free_white.svg) no-repeat left center/ contain;
    width: 60px;
    height: 1em;
    margin-right: 0.2em;
    display: inline-block;
    vertical-align: -0.12em;
}











.oneArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 1020px;
  margin: 50px auto;
  padding: 0;
}
.oneArea .onebox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.oneArea .onebox:nth-child(even) {
  flex-direction: row-reverse;
  margin-top: 20px;
}
.oneArea .onebox .imgArea {
  width: 16%;
  position: relative;
}
.oneArea .onebox .imgArea img {
  width: 100%;
  max-width: 140px;
  position: absolute;
  top: 0;
}
.oneArea .onebox:nth-child(odd) .imgArea img {
  left: 0;
  padding-right: 30px;
}
.oneArea .onebox:nth-child(even) .imgArea img {
  right: 0;
  padding-left: 30px;
}
.oneArea .onebox .fukiArea {
  width: 72%;
}
.oneArea .onebox .fukidasi {
  width: 100%;
  position: relative;
  padding: 40px;
  background-color: #f2f3f7;
  font-size: 18px;
  color: #231815;
  border-radius: 12px;
  box-sizing: border-box;
  line-height:1.6;
}
.oneArea .onebox .fukidasi::before {
  content: '';
  position: absolute;
  display: block;
  top: 22px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 30px 15px 0;
  border-color: transparent #f2f3f7 transparent transparent;
}
.oneArea .onebox:nth-child(odd) .fukidasi::before {
  left: -20px;
}
.oneArea .onebox:nth-child(even) .fukidasi {
  background-color: #f2f3f7;
}
.oneArea .onebox:nth-child(even) .fukidasi::before {
  right: -20px;
  border-color: transparent #f2f3f7 transparent transparent;
  transform: rotate(180deg);
}






/*----------------------------------------------------
	解決事例
----------------------------------------------------*/

section.Num_tac {
	position: relative;
}

.Num_post {
	position: absolute;
	top: 10px;
	right: 0;
	font-size: 16px;
}

.Num_post span {
	font-size: 22px;
	font-weight: bold;
}

.caseArea {
	padding: 10px 10px 10px 5px;
	border-radius: 5px;
	margin-bottom: 40px;
	background: #fff;
	box-shadow: 0px 0px 5px 3px #ddd;
	margin-left: 10px;
	border-radius:8px;
}

.cases_list .caseArea:hover,
.caseArea_ind:hover {
	opacity: 0.7;
	cursor: pointer;
}

.single-case .caseArea:hover {
	opacity: 1;
	cursor: default;
}

#index .caseArea {
	margin: 0;
}

.caseData {
	background: #fff;
	padding: 15px 40px;
	margin-left: 5px;
}

.caseData h3 {
	text-align: left;
	position: relative;
	width: 110%;
	color: #fff;
	padding: 13px 20px 15px 20px;
	font-size: 116%;
	margin: 0 0 5px -69px;
	margin-bottom: 20px !important;
	font-weight: normal;
	background: linear-gradient(90deg, rgba(4, 84, 78, 1) 0%, rgba(0, 71, 68, 1) 50%, rgba(0, 53, 49, 1) 100%);
	font-size: 21px;
	font-weight: bold;
	line-height: 1.6;
}

.caseData h3:before {
	position: absolute;
	content: '';
	left: 0;
	bottom: -9px;
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-top: 10px solid #002D2A;
}

.caseData .name_Box {
	overflow: hidden;
	margin-bottom: 20px;
}

.caseData .name_Box .name {
	width: 38%;
	float: left;
	box-sizing: border-box;
}

.caseData .name_Box .name img {
	width: 100%;
}

.caseData .name_Box .name ul li {}

.caseData .name_Box .name .ttl {
	font-size: 21px;
}

.caseData .name dt {
	font-weight: bold;
	font-size: 130%;
}

.caseData .name dd {
	font-size: 15px;
	color: #000;
}

.caseData .illness {
	width: 54%;
	float: right;
}

.caseData .illness dl {
	margin-bottom: 10px !important;
	display: flex;
}

.caseData .illness dl {
	margin-top: 8px;
	margin-bottom: 0 !important;
}

.caseData .illness dt {
	display: inline-block;/display: block;
	border-radius: 5px;
	text-align: left;
	font-size: 16px;
}

.caseData .illness dd {
	display: inline-block;
	font-size: 16px;
	color: #000;
	width: 225px;
	vertical-align: middle;
}
.caseData table {
    font-size: 1.1em;
    border-collapse:collapse;
    margin-bottom:20px;
    width:100%;
}
.caseData tr {
    border-top: 1px solid #CCC;
}
.caseData th, .caseData td {
	/*padding:5px 10px;*/
	/*background: #f3f6fa;*/
	border: none;
	font-weight:bold;
}

.caseData td {
	text-align: right;
	font-size:1.2em;
	padding: 10px 14px;
	padding-right: 25px;
}

.caseData .price {
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.caseData th {
	width: 50%;
	text-align: left;
	/*
	font-weight: normal;
	*/
	padding: 10px 14px;
	padding-left: 25px;
	font-size:1.2em;
}

.caseData th.ttl {
	width: 40% !important;
	vertical-align: middle;
	text-align: center !important;
	font-weight: bold !important;
	background: #1A75BB !important;
	color: #FFF;
}

.caseData .price th {
	/*background:#DDEEFB;color: #1A75BB;*/
	font-weight: bold;
}

.caseData .price td {
	/*background:#DDEEFB;color:#9A0000;*/
	font-weight: bold;
}

.caseData .pre {
	text-align: center;
	padding: 20px 10px;
	color: #004744;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.4;
	background: #fffbf2;
}

.caseData .data {
	text-align: right;
	margin: 0.8em 0 0 !important;
}

.caseData .data a {
	text-decoration: underline;
}

.caseData .data a:hover {
	opacity: .7;
}

.caseData .imgArea {
	margin: 0 !important;
	clear: both;
}

.caseTop {
	overflow: hidden;
	margin-right: -15px;
	margin-bottom: 0 !important;
}

.caseTop li {
	width: 310px;
	float: left;
	margin: 0 15px 0 0 !important;/margin-right: 5px !important;
}

.caseTop li.ind {
	width: 635px;
	float: left;
	margin: 0 0 20px 0 !important;/margin-right: 5px !important;
	padding: 10px 10px 10px 5px;
	border-radius: 5px;
	margin-bottom: 30px;
}

#blogArea h1 {
	margin-bottom: 5px !important;
}

#blogArea time {
	display: inline-block;
	/display: inline;
	background: #690;
	padding: 0 10px;
	color: #fff;
}

#blogArea .body {

}
#blogArea .case_textarea{
	border: 5px solid #E6E4DA;
	padding: 20px;
	margin: 10px 0;
	border-radius:8px;
}
#blogArea .case_textarea2{
	border: 5px solid #E6E4DA;
	padding: 20px;
	margin: 10px 0;
	border-radius:8px;
}
#blogArea .case_textarea3{
	border: 5px solid #E6E4DA;
	padding: 20px;
	margin: 10px 0;
	border-radius:8px;
}

#blogArea .data {
	text-align: right;
	margin: 0;
}

#blogArea .data a:hover {
	opacity: .8;
}

#blogArea h2 {
	/*
	border: 1px solid #ddd;
	border-left: 5px solid #1A75BB;
	padding: 10px;
	font-size: 116%;
	margin-bottom: 25px;
	background: none;
	*/
}

#blogArea h3 {
	background: linear-gradient(90deg, rgba(4, 84, 78, 1) 0%, rgba(0, 71, 68, 1) 50%, rgba(0, 53, 49, 1) 100%);
	font-size: 116%;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	margin-bottom:1rem;
	padding: 10px;
}

#blogArea h4 {
	border-bottom: 1px solid #ddd;
	color: #1A75BB;
	padding: 2px 5px;
	margin-bottom: 15px
}

#blogArea h5 {
	color: #690;
	margin-bottom: 10px;
}

#blogArea .body ul, #blogArea .body ol {
/*
	background: #F7F6F2;
*/
	padding: 10px;
}

#blogArea .body ul li {
	list-style-type: disc;
	margin-left: 2em;
}

#blogArea .body ol li {
	list-style-type: decimal;
	margin-left: 2em;
}

.single-case #blogArea .post p, .search-results #blogArea .post p {
	font-size: 16px;
}

.single-case #blogArea .post h3, .search-results #blogArea .post h3 {
	font-size: 150% !important;
}


#blogArea p {
	margin-bottom:1rem;
	line-height:1.6;
}

.pagenavi{
	margin-top:20px;
	text-align:center;
}
/*
.pagenavi a{
    padding: 3px 8px;
    background: #fff;
    color: #004744;
    border: 2px solid #004744;
    margin: 0 5px 0 5px;
    text-decoration: none;
    border-radius: 3px;
    line-height:1;
}
*/

#blogArea .case_textarea{
	border: 5px solid #E6E4DA;
	padding: 0 40px 50px 40px;
	margin: 5vmin 0;
	border-radius:8px;
}
#blogArea .case_textarea2{
	border: 5px solid #E6E4DA;
	padding: 0 40px 50px 40px;
	margin: 70px 0;
	border-radius:8px;
	background-color:#E5EDEA;
}
#blogArea .case_textarea3{
	border: 5px solid #E6E4DA;
	padding: 0 40px 50px 40px;
	margin: 70px 0;
	border-radius:8px;
	background-color:#fff5d9;
}
#blogArea .case_textarea h2,
#blogArea .case_textarea2 h2,
#blogArea .case_textarea3 h2{
	width: 720px;
	margin: 0 auto 40px -40px;
	padding:20px 30px;
	background-color:#004744;
	color:#fff;
	font-size:21px;
	border-radius:4px 4px 0 0;
}
#blogArea h3 {
	margin:30px 0;
	padding: 16px 20px;
}

#blogArea h3 strong {
	font-size: 1.4em;
}
.single-case #blogArea .post p, .search-results #blogArea .post p {
	font-size: 4vmin;
}

#blogArea .case_textarea3 h2{
	background-color:#82642c;
}

#blogArea .case_textarea3 h3{
	padding-left:0;
	background:none !important;
	color:#CC0000;
}

.lawyer_ico_sec{
	display:flex;
}
.lawyer_ico_sec .lawyer_ico_sec_img{
	width:80px;
	margin-right:30px;
}
.lawyer_ico_sec .lawyer_ico_sec_img img{
	width:100%;
}
.lawyer_ico_sec .lawyer_ico_sec_txt{
	flex:1;
}


/*----------------------------------------------------
	TOP 労災保険には、一生涯受けられる年金（障害補償年金）がある。
----------------------------------------------------*/
.nenkin-contents {
    /*
    background: url(./images/index/bg_nenkin.jpg) no-repeat center bottom / cover;
    */
    background:#E8F6F2;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

/*----------------------------------------------------
	TOP 労災の多くのケースで「じゅうぶんな補償・賠償」が受けられていません！
----------------------------------------------------*/
.ukerare-contents {
	color:#fff;
    background: url(./images/index/bg_ukerare.jpg) no-repeat center top / contain #004744;
}










.wp-pagenavi {
  clear: both;
  margin: 0 auto;
  text-align: center;
}
.wp-pagenavi .pages {
  background: #004744;
  color: #fff;
  margin-right: 20px;
}
.wp-pagenavi a, .wp-pagenavi span {
  padding: 3px 8px;
  background: #fff;
  color: #004744;
  border: 1px solid #004744;
  margin-right: 5px;
  text-decoration: none;
  border-radius: 3px;
}
.wp-pagenavi span {
  background: #004744;
  color: #fff;
}

/*----------------------------------------------------
	弁護士報酬
----------------------------------------------------*/

table.table_fee td{
	background-color:#FCEEB4 !important;
}

.cost_attention{
	margin:50px 0 30px;
	background: #FFF0F4;
	padding: 30px;
	border-radius: 8px;
}
.cost_attention h4{
	text-align: center;
	color: #CC0000;
	font-size: 20px;
	margin-bottom: 15px;
}


/*----------------------------------------------------
	弁護士紹介
----------------------------------------------------*/
#lawyers{
	background-color:#F8F8EC;
}

/*----------------------------------------------------
	解決事例
----------------------------------------------------*/

/*----------------------------------------------------
	ご相談の流れ
----------------------------------------------------*/
.timing_box{
	background: #004744;
	border-radius:8px;
}
.timing_box h3{
	color:#fff;
}
.timing_box_txt{
	background: #fff;
	border-radius:8px;
}


.container .flow_list{
	background: url(./images/index/bg_flow.jpg) no-repeat top center/ cover;
}

.flow_list h2.ttl_sub{
    color: #fff !important;
    background-color: transparent !important;
}
.flow_list h2.ttl_sub:before {
	background:none;
}


























/*************************************************************************************************************************

■ PC(1,025px以上)向けスタイル

*************************************************************************************************************************/

@media screen and (min-width:1025px) {

/******************************************************************** pc sp
*/
.pc{}
.sp{display:none !important;}
.br-pc { display:block !important;}
.br-sp { display:none !important;}
.aC-pc { text-align:center  !important;}
.aC-sp { text-align:left !important;}

/******************************************************************** structure
*/

a[href^="tel:"] {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}

a.btn-common, a.btn-common-c{
	width:320px;
	display:block;
	background:#004744;
	border:1px solid #004744;
	color:#fff;
	font-size:15px;
    letter-spacing: 1.4px;
    line-height:1.4;
    padding: 20px 30px 20px;
    position: relative;
    text-align:center;
    -webkit-transition: 0.3s;
    transition: 0.3s ;
}
a.btn-common-c {
	margin:0 auto;
}
a.btn-common-w {
	width:320px;
}
a.btn-common:hover, a.btn-common-c:hover{
	color:#fff;
	background:#004744;
	border:1px solid #fff;
	text-decoration:none;
}
a.btn-common::before, a.btn-common-c::before, a.btn-common-w::before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: 0.3s;
}

.sec p, .sec_s p{
	margin-bottom:1rem;
}



.noborder{
	border:none !important;
}

.telLink {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
.alpha{
	opacity:0.3;
}
.alpha a{
	opacity:0.3;
}
/******************************************************************** txt
*/





/******************************************************************** layout
*/
main{
	margin:100px 0 0;
}
.home main{
	margin: 0;
}
.home .main-visual {
	margin:100px 0 0;
}
.wrap{
	max-width:1080px;
	width:90%;
	margin:0 auto;
	padding:0;
}
.wrap_s{
	max-width:1080px;
	width:90%;
	margin:0 auto;
	padding:0;
}
.wrap_top{
	max-width:1080px;
	width:90%;
	margin:0 auto;
	padding:100px 0;
}
.wrap_top_s{
	max-width:1080px;
	width:90%;
	margin:0 auto;
	padding:70px 0;
}
.wrap_880{
	width:880px;
	margin:0 auto;
	padding:100px 0;
}
.top_section{
	background:url("./images/common/ttl_bg.jpg") no-repeat center top;
	background-size:cover;
	height:280px;
	display:flex;
	align-items:center;
	text-align:center;
	color:#fff;
}

.wrap_head{
	max-width:1200px;
	width:90%;
	margin:0 auto;
	text-align:center;
}

.wrap_top:after,.wrap_head:after,.wrap:after,.wrap2:after,.wrap3:after,.wrap4:after,.wrap_l:after,.wrap_x:after  {
	clear: both;
	content: "";
	display: block;
}

.b_line{
	border-bottom:1px solid #04544E;
	padding-bottom:50px;
}
.t_line{
	border-top:1px solid #04544E;
	padding-top:50px;
}
.sec{
	margin-top:130px;
}
.sec_s{
	margin-top:70px;
}

.column-layout_2{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.column-layout_2 > * {
  width: 46%;
}
.column-layout_reverse{
	flex-direction: row-reverse;
}
.column-layout_align-c{
	align-items:center;
}



.container>section {
    position: relative;
    padding: 104px 0;
}



.container h2 {
	position: relative;
	margin-bottom: 80px;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height:1.6;
}
.container h2.ttl_sub {
/*
    position: relative;
	margin-bottom: 100px;
	font-size: 3.2rem;
	font-weight: bold;
   	text-align: center;
    letter-spacing: 0.04em;
*/
	display:block;
	padding:15px;
	font-weight: bold;
   	text-align: center;
    letter-spacing: 0.04em;
}
/*
.container h2.ttl_sub:before {
	display: inline-block;
	position: absolute;
	content: '';
	bottom: -30px;
	left: 50%;
	width: 60px;
	height: 5px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%);
	background-color: #004744; 
}
*/
.container h3.ttl_sub {
    position: relative;
	margin-bottom: 40px;
	padding-bottom: 20px;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom:2px solid #9FC1BF;
	color:#004744;
}
.container h4.ttl_sub {
    position: relative;
	margin-bottom: 40px;
	font-size: 2rem;
	font-weight: bold;
}

.container .btn {
    margin: 30px auto 0;
    width: 88%;
    max-width: 400px;
}


.container .btn a {
    display: block;
    text-align: center;
    font-size:1.3rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 0.5em 0;
    box-sizing: border-box;
}

.container .btn.border-btn a {
    background: #FFF;
    color: #004744;
    border: #004744 2px solid;
}
.container .btn a:after {
    content: "";
    background: url(./images/common/ico_arrow_right_white.svg) no-repeat left center;
    display: inline-block;
    width: 10px;
    height: 1em;
    width: 6px;
    vertical-align: -0.15em;
    margin-left: 0.8em;
}
.btn.border-btn a:after {
    background: url(./images/common/ico_arrow_right_blue.svg) no-repeat left center;
}



/******************************************************************** header
*/
header{
	width:100%;
	height:100px;
	background-color: rgba(255,255,255,0.75);
	position: fixed;
	left: 0;
	top: 0;
	z-index: 6;
}
.header_wrap{
	width:100%;
	max-width: 1600px;
	height:100%;
	margin:0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header .logo{
	margin-left:4%;
	line-height:1;
}
header .logo a{

}
header .logo img{
	height:60px;
}

.header_wrap .header_top{
	height:80px;
	display:flex;
	justify-content:space-between;
}
header .head_txt{
	font-size:14px;
}
header nav{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex: 1 0 auto;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    align-items:center;
}

.head_menu{
	display:flex;
}

.head_menu li, .head_menu2 li{
	display:block;
	font-size:1rem;
	font-weight:700;
	position:relative;
    text-align: center;
    line-height:1;
}
.head_menu li a, .head_menu li p{
	padding:14px 14px 0 14px;
	display:block;
	text-decoration:none;
	letter-spacing: 1px;
	transition: 0.5s;
	position: relative;
    font-family: 'Roboto', "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	color:#333333;
}
.head_menu li a::after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    margin: 4px auto 0;
    border-top: 1px solid #004744;
    -webkit-transition-property: all;
    -moz-transition-property: all;
    -ms-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -ms-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease;
    -moz-transition-timing-function: ease;
    -ms-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
}
.head_menu li a span.menu_jp, .head_menu2 li a span.menu_jp{
	font-size:0.8em;
}
.head_menu li a span.menu_jp2, .head_menu2 li a span.menu_jp2{
	font-size:0.9em;
}
.head_menu li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.head_menu li a:hover, .head_menu2 li a:hover{
	transition: 0.5s;
	opacity:1;
}



.head_menu li a.nolink{
	pointer-events: none;
}



.head_menu li ul {
	width:335px;
	top: 48px;
	left: 16px;
	position: absolute;
	background:#004744;
	z-index:100;
}
.head_menu li ul li {
	overflow: hidden;
	height: 0;
	width:100%;
	border:none !important;
	line-height: 1.5;
	transition: 0.2s;
}
.head_menu li ul li a {
	color:#fff;
	background-image:none !important;
	padding: 10px 20px 10px 20px !important;
	text-align:left !important;
	display:block;
	height:100%;
}
.head_menu li ul li a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 0;
	background: #fff;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
.head_menu li:hover > ul > li {
	overflow: visible;
	height: 50px;
	display:block;
}
.head_menu li ul li ul{
	width:100%;
	top: 40px;
	left: 0;
	position: absolute;
	background:#004744;
	z-index:100;
}

















.head_btn_line a{
	display:block;
	background:url("./images/common/ico_key.png") no-repeat center left 12px #117238;
	color:#fff !important;
    letter-spacing: 1.5px;
    line-height:80px;
    margin:0 0 0 15px;
    padding: 0 18px 0 40px;
    position: relative;
    text-align:center;
    -webkit-transition: 0.3s;
    transition: 0.3s ;
    height:80px;
}
.head_btn_line a:hover {
	background:url("./images/common/ico_key.png") no-repeat center left 12px #288c50;
	text-decoration:none;
	-webkit-transition: 0.3s;
    transition: 0.3s ;
}



/******************************************************************** menu sub
*/
ul.sub_menu{
	max-width: 1080px;
	width: 100%;
	margin: 0 auto 70px;
	text-align: center;
	padding: 15px;
	background-color:#004744;
	border-radius:8px;
}
ul.sub_menu li{
	display:inline-block;
    list-style: none;
    padding-left: 10px;
    padding-right: 8px;
    margin-left:10px;
    margin-right:10px;
}
ul.sub_menu li::before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    content: url(./images/common/arrow-circle.svg);
    margin-right: 10px;
    position: relative;
    height: 12px;
    width: 12px;
}
ul.sub_menu li a{
	color:#fff;
}

/******************************************************************** pankuzu
*/
#breadcrumb{
	background-color:#fff;
}
#breadcrumb ul{
	margin:0 auto;
	padding:4px 0;
	width:1120px;
	max-width:90%;
	font-size:12px;
}
#breadcrumb ul li{
	display:inline-block;
	line-height:1;
	padding:0 8px 0 0;
}
#breadcrumb ul li:first-child:before{
    content: "";
    display: inline-block;
    padding:0;
}
#breadcrumb ul li:before{
    content: "/";
    display: inline-block;
    padding:0 8px 0 0;
}


/******************************************************************** footer
*/
.pagetop a {
	background: #004744;
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	font-size: 1.125rem;
	padding: 1.281em 0;
	letter-spacing: 0.08em;
}
.pagetop a::after {
	content: "";
	background: url("./images/common/ico_arrow_top_white.svg") no-repeat center center / contain;
	display: inline-block;
	width: 0.9em;
	height: 1em;
	vertical-align: -0.2em;
	margin-left: 0.8em;
}



#footer{
	width:100%;
	position: relative;
	margin:0;
	background-color: #E5EDEA;
    font-size: 0.9rem;
}
#footer .foot_wrap{
	width:90%;
	margin:0 auto;
	padding:80px 0 80px 0;
	display:flex;
	flex-direction: row-reverse;
	justify-content:space-between;
}


#footer section {
    width: 490px;
    float: none;
    line-height: 1.6;
    box-sizing: border-box;
    text-align: left;
}
#footer .foot_info{
	display:flex;
}
#footer section h2 {
    width: 200px;
    margin: 0 40px 4vmin 0;
}
#footer section h2 img {
    width: 100%;
}
#footer address {
	width:250px;
    padding: 0 0 0;
    display: inline-block;
    text-align: left;
}



#footer .foot_menu{
	flex-grow: 1;
	margin-left:50px;
}
#footer .nav_box{
	margin-bottom:20px;
}
#footer .nav_box ul{
	display:flex;
	flex-wrap:wrap;
	justify-content: flex-end;
}
#footer .nav_box ul li{
	/*
	width:32%;
	margin-left:1%;
	*/
	max-width:200px;
	width:32%;
	margin-left:20px;
}
.copyright {
	text-align: right;
	font-size: 0.85rem;
}




















/******************************************************************** table
*/

table.base_table{
	width:100%;
	max-width:1380px;
	min-width:750px;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:30px auto 30px auto;
}

table.base_table th{
	min-width:240px;
    padding: 10px 10px 10px 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    color:#fff;
    font-weight: normal;
    text-align: center;
}
table.base_table td{
    padding: 10px 10px 10px 20px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #ffffff;
}


table.base_table2{
	width:100%;
	max-width:1380px;
	min-width:750px;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:0 auto 60px auto;
}

table.base_table2 th{
	min-width:240px;
    padding: 10px 10px 10px 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #F7F7F7;
    font-weight: normal;
    text-align: center;
}
table.base_table2 td{
    padding: 10px 10px 10px 20px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #ffffff;
}


/******************************************************************** modal
*/

.modal-overlay {
	align-items: center;
	background: rgba(0,0,0,.5);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}

.modal-container {
	position:relative;
	background-color: #fff;
	max-height: 80vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
    max-height: calc(var(--vh, 1vh) * 80);
	max-width: 640px;
	overflow-y: auto;
	padding: 30px 5%;
	width: 90%;
}

.modal-header {
	text-align:center;
}

.modal-close {
	position:absolute;
	top:0;
	right:0;
	width:40px;
	height:40px;
	background: transparent;
	color:#fff;
	background-color:#575757;
	border: none;
	outline: none;
}

.modal-header .modal-close::before {
  content: "\2715";
  font-size:20px;
}
.modal-title{
	font-size:20px;
	font-weight:normal;
	color:#575757;
	text-align:center;
}
.modal-content {
  line-height: 1.5;
  margin-bottom: 20px;
  margin-top: 30px;
}

.modal-open {
  display: block;
  margin: 0 auto;
}


/* モーダルアニメーション */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal-overlay {
  animation: mmfadeIn .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal-container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-overlay {
  animation: mmfadeOut .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal-container,
.micromodal-slide .modal-overlay {
  will-change: transform;
}




.mainimg {
	padding:40px 0 40px;
    overflow: hidden;
    width: 100%;
    position: relative;
}
.mainimg::before {
	content: "";
	background: url("./images/index/mainview.jpg") no-repeat center center / cover;
	width: 57%;
	width: 100%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}
.mainimg  .main_wrap{
	width:90%;
	margin:0 auto;
    position: relative;
}
.mainimg .main_catch{
    position: relative;
	padding:20px 0 40px;
	width:100%;
	text-align: left;
	z-index:5;
}
.mainimg p img{
	width:30%;
}
.mainimg p{
	margin-top:8px;
	font-weight:bold;
	font-size:26px;
	font-size:1.4vw;
	line-height:1.2;
	color:#fff;
	letter-spacing:0.05em;
}
.mainimg  h1{
	padding:20px 0;
	font-size:4.2vw;
	font-weight:700;
	color:#fff;
	line-height:1.3;
	letter-spacing:0.04em;
	/*
	text-shadow: 3px 3px 0 white;
	*/
}
.main_gekkeiju img{
	margin-top:20px;
}





.contact_info{
	background-color:#f5f5f5;
	text-align:center;
}
.contact_info .wrapper{
    background: url(./images/common/contact_img_pc.png) no-repeat right center/ contain;
}
.contact_info h2 {
	font-size: 40px;
	line-height: 1.6;
	margin-bottom: 40px;
	text-align:center;
}
.contact_info h2 img{
	width:380px;
}

.contact_info .detail{
	width:520px;
	margin:0;
	padding: 100px 0 100px 0;
	box-sizing: border-box;
}
.contact_info .btn {
    margin: 0 auto;
    width: 100%;
    max-width: 424px;
}
.contact_info .btn a {
    display: block;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 1.018em 0;
    box-sizing: border-box;
}
.contact_info .tel a {
	color: #004744;
	font-weight: bold;
	text-decoration: none;
}
.contact_info .tel a .sub {
    font-size: 1.2em;
    line-height: 1;
}
.contact_info .tel a .number {
	margin-top:4px;
	font-size: 3.2rem;
	line-height: 1;
	font-weight:bold;
	letter-spacing:0.04em;
    font-family: 'Roboto', "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact_info .tel a .number:before {
	content: "";
	background: url(./images/common/ico_free.svg) no-repeat left center/ contain;
	width: 60px;
	height: 1em;
	margin-right: 0.2em;
	display: inline-block;
	vertical-align: -0.12em;
}



.contact_info .tel .attention {
	font-size: 0.875rem;
	color: #ff0000;
	margin: 8px 0 24px;
	line-height:1.6;
}
.contact_info .tel .time {
    margin: 8px 0;
}
.contact_info .tel .notice {
    background: #fff;
    border-radius: 6px;
    margin-bottom: 30px;
    padding: 0.2em 0.6em 0.3em;
    display: inline-block;
	line-height:1.6;
}

.contact_info .mail a {

	box-shadow: 0px 7px #548235;
	/* box-shadow: 8px 8px 8px rgb(0 0 0 / 10%); */
	background: #5cca66;
	line-height:1.6;
	height:64px;
	display: flex;
	align-items: center;
	justify-content: center;

}
.contact_info .mail a::before {
    content: "";
    background: url(./images/common/ico_mail.svg) no-repeat left center;
    display: inline-block;
    width: 32px;
    height: 1em;
    vertical-align: -0.1em;
    margin-right: 0.4em;
}















.top_news{

}
.top_news dl {
    width: 100%;
    margin: 0 auto 40px;
}
.top_news dt {
    float: left;
    padding: 8px 10px 8px 20px;
    width: 120px;
    font-weight: normal;
}
.top_news dd {
    padding: 8px 20px 12px 130px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 8px;
}













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


.nav-links a{
	color:#888;
}


.entry-content{
	margin-bottom:40px;
}
.entry-footer{
	margin-top:40px;
}
.nav-links{
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
.page-numbers{
	margin:0 10px;
}
.navigation .nav-links .nav-next,
.navigation .nav-links .nav-previous {
	flex: 0 1 auto;
	margin-bottom: inherit;
	margin-top: inherit;
}

.navigation .nav-links .nav-next {
	text-align: right;
}
.navigation .svg-icon {
	display: inline-block;
	fill: currentColor;
	vertical-align: middle;
	position: relative;
}

.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon {
	top: -2px;
	margin-right: calc(0.25 * var(--global--spacing-unit));
}

.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
	top: -1px;
	margin-left: calc(0.25 * var(--global--spacing-unit));
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.entry-content h1{
	font-size:48px;
}
.entry-content h2{
	font-size:36px;
}
.entry-content h3{
	font-size:24px;
}
.entry-content h4{
	font-size:20px;
}
.entry-content h5{
	font-size:18px;
}
.entry-content h6{
	font-size:18px;
}


.article_date{
	margin-bottom:20px;
}
.entry-content p{
	margin:1rem 0;
}

.page_back{
	margin-top:30px;
	font-size:0.9em;
	text-align:center;
}











.inview.bt.move{
     opacity:100;
    transform: translateY(0);
    transition: all .6s ease;
    transition-delay: .2s;
}
.service {
    position: relative;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    flex-direction: row-reverse;
    z-index:50;
}
.service .text_area {
    width: 28.85%;

    display: flex;
    align-items: center;
    justify-content: center; 
}
.service .text_inr {
    width: 90%;
    max-width:200px;
}


.service .v_txt {
    margin-top: 50px;
}
.service .service_slide {
    width: 71.15%;
}
.service .service_slide .slick-dots{
    top:auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    bottom:0;
    left: auto;
    right: -18px;
}
.service .img_area {
    width: 728px;
    margin:0 5px;
}
.service .img_area img {
}

.service_list {
    position: relative;
    display: block;
    width: 100%;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin-top: 0;
    min-height:695px;
}
.service_list .service_box {
    display: block;
    width: calc(100% / 3 - 2px);
    position: relative;
}

.service_list .service_box:hover{
    transform: scale(1.039);
    z-index:30;
box-shadow: 0px 6px 9px 0px rgba(0,0,0,0.3);
}
.service_list .bg_area {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin:auto;
    width: 100%;
    height: 100%;
    z-index:1;
    background:url(./images/index/top_list_01_bg.jpg) center center;
    background-size:cover;
}
.service_list .service_box_02 .bg_area {
    background-image:url(./images/index/top_list_02_bg.jpg);
}
.service_list .service_box_03 .bg_area {
    background-image:url(./images/index/top_list_03_bg.jpg);
}

.service_list .bg_area:after{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index:2;
    /*
    background: rgb(228,62,139);
    background: linear-gradient(0deg, rgba(228,62,139,1) 0%, rgba(142,0,112,1) 53.0922%, rgba(2,8,100,1) 100%);
    */
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 53.0922%, rgba(255,255,255,1) 100%);
    opacity:.8;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
}


.service_list .service_box:hover .bg_area:after{
    opacity:0;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
}


.service_list .bg_area:before{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index:2;
    background:#000;
    opacity:0;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    
}
.service_list .service_box:hover .bg_area:before{
    opacity:.5;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    
}


.service_list .text_box{

    display: flex;
    align-items: center;
    justify-content: center; 
    color:#ffffff;
    height: 100%;
    
}
.service_list .num{
	margin-bottom:40px;
    position: relative;
    display: block;
    text-align: center;
    font-size: 14px;
    color:#fff;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
.service_list .num.pc_off{
     display:none;   
}
.service_list .service_box:hover .num{
    color:#ffffff;
}
.service_list h3 {
    position: relative;
    display: block;
    font-size: 36px;
    font-weight:normal;
	font-family: 'Roboto', sans-serif;
    text-align: center;
    margin:25px auto 0;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
.service_list .service_box:hover h3 {
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#ffffff;
}
.service_list p {
    position: relative;
    max-height: 0;
    visibility: hidden;
    opacity: 0;
    width: 90%;
    max-width:320px;
    margin:0 auto;
    font-size: 13px;
    line-height: 30px;
    letter-spacing: 0;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
.service_list .service_box:hover p {
    position: relative;
    max-height:400px;
    margin-bottom: 43px;
    visibility: visible;
    opacity: 1;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
	text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    color:#ffffff;
}
.service_list h4{
    position: relative;
    width: 195px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center; 
    box-sizing:border-box;
    background-color:#575757;
    letter-spacing: 0.04em;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;  
    font-weight:normal;
    z-index:10;
    margin:0 auto;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
    color:#ffffff;
}

.service_list h4 span{
    position: relative;
    display:inline-block;
    z-index:10;
    transition: color 0.5s cubic-bezier(.25, .46, .45, .94);

}


.service_list .service_box:hover h4{
    background:#fff;
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}

.service_list .service_box:hover h4 span{
    color:#575757;
    transition: color 0.5s cubic-bezier(.25, .46, .45, .94);
    
}
.service_list .service_box:hover h4 span:after{
    transform: scale(1.3,1.3);
    background:#1e257d;
    transition: transform 0.5s cubic-bezier(.25, .46, .45, .94);
}


.service_list h4.comingsoon{
    background-color:#cccccc;
}
.service_list .service_box:hover h4.comingsoon{
    background:#ccc;
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
a.comingsoon_box_link{
	color:#fafafa;
	display:block;
	text-align:center;
}








/*----------------------------------------------------
	TOP 労災は弁護士にご相談ください。
----------------------------------------------------*/
.about-contents{
	background-color:#F8F8EC;
}
ul.about_list{
	list-style-type: none;
	/*
	margin-top:30px;
	*/
	margin-top:130px;
	margin-bottom:30px;
	display:flex;
	justify-content: space-between;
}
ul.about_list li{
	width:32%;
	margin-top:20px;
	padding:20px;
	background:#fff;
	border:4px solid #CEE9E5;
	border-radius:8px;
}
ul.about_list li .worry_ttl{
	position:relative;
	display:flex;
	justify-content: space-between;
    width: 100%;
}
ul.about_list li .worry_txt{
	padding: 0 15px 5px 15px;
}
ul.about_list li .worry_img {
/*
	flex-basis: 64px;
    flex-shrink: 1;
	width: 64px;
	position: relative;
	z-index: 1;
*/
	position:absolute;
	width:120px;
	top:-135px;
	left:50%;
	transform: translateX(-50%);
}
ul.about_list li .worry_img img{
	width: 100%;
}
ul.about_list li h3{
	color:#004744;
    font-size: 25px;
    padding-left:32px;
    background: url(./images/index/ico_check.png) left 0 top 8px no-repeat;
    line-height:1.6;
    /*
    flex-shrink: 2;
    */
}
ul.about_list li p.txt{
	margin-top:1em;
}
.about_txt{
	margin-top:40px;
    font-size: 26px;
	font-weight:bold;
	text-align:center;
	position: relative;
	margin: 40px auto 0;
	width: 400px;
}
.about_txt:before{
	content: "“";
	position: absolute;
	top: -30px;
	left: 0;
	color: #c8eae5;
	font-size: 80px;
}
.about_txt:after{
	content: "”";
	position: absolute;
	right: 0;
	bottom: -60px;
	color: #c8eae5;
	font-size: 80px;
}



/*----------------------------------------------------
	TOP 労災に強い弁護士をお選びください
----------------------------------------------------*/

.point-contents{
}

/*----------------------------------------------------
	TOP 実際に解決した労災事例
----------------------------------------------------*/
.ex-contents{
	background: url(./images/index/bg_ex.jpg) no-repeat top center/ contain;
}
.ex-contents .top_ex_box{
    margin-top: 40px;
    margin-bottom: 40px;
	background-color:#DEEBBA;
	background-color:#004744;
    padding: 30px 40px;
    border-radius:8px;
}
.ex-contents .top_ex_box .top_ex_case{
	position:relative;
    color: #fff;
    padding: 20px;
    text-align: center;
    font-size: 2.2em;
    font-weight:bold;
    line-height: 1.6;
    border-radius:8px;
}

.top_ex_case_ttl{
	display:flex;
	padding:30px;
	align-items:center;
}
.top_ex_case_ttl .top_ex_case_ttl_img{
	width:120px;
	margin-right:40px;
}
.top_ex_case_ttl .top_ex_case_ttl_img img{
	width:100%;
}


.top_ex_case_inner{
	position:relative;
	text-align:center;
	/*
	color:#FFFF00;
	*/
}



.ex-contents .top_ex_box .strong_l {
	font-size:1.8em;
}
.ex-contents .top_ex_box ul li {
    margin-top: 30px;
    background-color:#fff;
    border-radius:8px;
    display:flex;
    justify-content:center;
}
.ex-contents .top_ex_box ul li h3 {
    margin-bottom: 20px;
    font-size: 1.375em;
    text-align: center;
}
.ex-contents .top_ex_box ul li h4 {
	display:flex;
    flex: 0 0 330px;
    align-items:center;
    justify-content:center;
    font-size: 1.375em;
    text-align: center;
    color:#004744;
    background-color:#E5EDEA;
	border-radius:8px 0 0 08px;
}


.ex-contents .top_ex_box ul li .txt_box {
    padding: 30px 30px 30px 30px;
    flex:1;
}
.ex-contents .top_ex_box ul li p.txt {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.ex_txt{
    margin-top: 40px;
    /*
    padding: 30px 60px;
	background-color: rgba(255,255,255,0.7);
	*/
	color:#fff;
    font-weight:bold;
    font-size: 1.15em;
}
.ex-contents .top_ex_box ul li.top_ex_case_point{
	position:relative;
	background-color:#F8F8EC;
}
.ex-contents .top_ex_box ul li.top_ex_case_point:after{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #F8F8EC;
}
.ex-contents .top_ex_box ul li.top_ex_case_point h4{
	position:relative;
	background-color:#ECDB78;
}
.ex-contents .top_ex_box ul li.top_ex_case_point h4 img{
	margin-right:8px;
	width:72px;
	
}




.ex-contents .top_ex_box ul li.top_ex_case_kakutoku {
	padding:20px;
	background-color:#FFEBFB;
}

/*----------------------------------------------------
	TOP 労災で弁護士を選ぶポイント
----------------------------------------------------*/
.choice_point_box_catch{
	text-align:center;
	font-size: 1.6em;
	line-height:1.6;
}
.choice_point_box{
	margin-top:80px;
}
.choice_point_box .point_box{
	width:100%;
	margin-top:60px;
    padding: 40px 40px;
    border-right: none;
    background-color: #004744;
    border-radius: 8px;
    color:#fff;
}
/*
.choice_point_box h3 {
    margin-top: 100px;
    color: #004744;
    background: #F8F8EC;
    padding: 5px 10px 16px;
    text-align: center;
    font-size: 4.6vw;
    line-height: 1.6;
}
*/
.choice_point_box h3{
	color:#004744;
	background: #F8F8EC;
	padding:15px 10px 20px;
	text-align:center;
	font-size: 23px;
	line-height:1.6;
	border-radius:8px;
}
.choice_point_box h3 span{
	margin-bottom:10px;
	font-size:18px;
	display:block;
	font-family: 'Roboto', "Noto Sans JP", sans-serif;
}
.choice_point{
	margin-top:30px;
}
.choice_point .images {

}
.choice_point .images1 {
	position: relative;
	width: 740px;
	margin: 20px auto;
}
.choice_point .images1 .bg {
    margin: 0;
}
.choice_point .images1 .bg img{
    width:100%;
}
.choice_point .images1 .text_box1 {
    position: absolute;
    top: 10%;
    left: 2vw;
}
.choice_point .images1 .text_box {
	background-color: rgba(0,71,68,0.8);
    padding: 10px 30px;
 
}
.choice_point .images1 .text_box h3 {
    background: #fff;
    display: inline;
    padding: 3px 10px;
    border: 3px solid #004744;
    font-size: 1.2rem;
    position: relative;
    top: -15px;
    border-radius:20px;
}

.choice_point .images1 .text_box .txt {
    color: #fff;
    margin: 0;
    position: relative;
    top: -9px;
    letter-spacing: 0.05rem;
    font-size: 1.4rem;
    line-height: 1.6;
}
.choice_point .images1 .text_box2 {
    position: absolute;
    bottom: 6%;
    right: 2vw;
}

.choice_point .images img{
	width:100%;
}





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

	.lawyer-contents {
	position: relative;
	}

	.lawyer-contents .lawyer_txt{
	margin-top: 20px;
	}

	.lawyer-contents:before {
	content: "";
	background: #f5f5f5;
	width: 100%;
	height: 54%;
	/* height: 60%; */
	max-width: 1760px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	z-index: 1;
	}

	.lawyer-contents:after {
	content: "";
	background: url("../../../../img/index/2021/bg_lawyer.jpg") no-repeat bottom center / cover;
	width: 100%;
	height: 60%;
	max-width: 1760px;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 0;
	}

	@media screen and (min-width:2000px) {
	.lawyer-contents:after {
	right: 50%;
	transform: translateX(56.8%);
	}
	}

	.lawyer-contents .wrapper {
	z-index: 2;
	}

	.lawyer-contents .wrapper:after {
	background: url("../../../../img/index/2021/txt_lawyer.svg") no-repeat left top / contain;
	content: "";
	width: 50%;
	height: 18%;
	position: absolute;
	left: 0;
	top: -14%;
	z-index: 1;
	}

	.lawyer-contents h2 {
	text-align: center;
	position: relative;
	z-index: 3;
	}

	.lawyer-contents ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 90%;
	margin: auto;
	}

	.lawyer-contents ul li {
	background: #FFF;
	box-sizing: border-box;
	box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.1);
	/* width: 31.875%; */
	display: flex;
	align-items: center;
	padding: 50px;
	}

	.lawyer-contents ul li .photo {
	flex: 0 0 408px;
	}

	.lawyer-contents ul li .photo img {
	max-width: 100%;
	}

	.lawyer-contents ul li .module {
	/* padding: 11.765%;
	text-align: center; */
	/* font-size: 1rem; */
	margin-left: 50px;
	}

	.lawyer-contents ul li .module .position {
	font-weight: bold;
	color: #0652b8;
	margin-bottom: 8px;
	}

	.lawyer-contents ul li .module h3 {
	font-size: 2.5rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	}

	.lawyer-contents ul li .module .belong {
	font-weight: bold;
	color: #5e5e5e;
	}

	.lawyer-contents ul li .module .txt {
	margin-top: 40px;
	text-align: left;
	}

	.lawyer-contents .publish {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
	color: #FFF;
	}

	.lawyer-contents .publish .photo {
	width: 15.625%;
	}

	.lawyer-contents .publish .photo img {
	max-width: 100%;
	}

	.lawyer-contents .publish .module {
	width: 80%;
	}

	.lawyer-contents .publish .module h4 {
	font-size: 2.5rem;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
	}

	.lawyer-contents .publish .module .txt {
	line-height: 2;
	font-weight: bold;
	}

	.lawyer-contents .publish .module .link {
	text-align: right;
	margin-top: 1em;
	}

	.lawyer-contents .publish .module .link a {
	color: #FFF;
	text-decoration: underline;
	}

	.lawyer-contents .publish .module .link a:hover {
	opacity: 0.5;
	}

/*----------------------------------------------------
	TOP 弁護士費用について
----------------------------------------------------*/
.cost-contents {

}
table.cost_table{
	width:100%;
	max-width:860px;
    border: 1px #eee solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:0 auto;
    font-size:1.2rem;
}

table.cost_table th{
	width:50%;
    padding: 10px;
    border: #eee solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    font-weight: normal;
    text-align: center;
    color:#fff;
}
table.cost_table td{
    padding: 10px;
    border: 1px #eee solid;
    border-width: 0 0 1px 1px;
    background: #F3F8F6;
    text-align: center;
}
.cost_list{
    margin-top: 80px;
	margin-bottom:80px;
	display:flex;
	justify-content:center;
}
.cost_list li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	padding:50px 0 20px;
	margin:0 30px;
	width:250px;
    font-size: 30px;
    font-weight: bold;
    line-height:1.6;
    background-color:#DEEBBA;
    color:#004744;
    text-align:center;
    border-radius:8px;
}
.cost_list li span.mini{
	display:block;
	width:100%;
	font-size:0.7em;
	line-height:1.6;
}
.cost_list li:before{
	position:absolute;
	top:-22px;
	left:50%;
    content: '';
    background-image: url(./images/index/ico_kane.png);
    background-size:60px;
    width: 60px;
    height:60px;
    transform: translateX(-50%);
}

/*----------------------------------------------------
	TOP 労災の多くのケースで「じゅうぶんな補償・賠償」が受けられていません！
----------------------------------------------------*/
.oneArea {
	width:820px;
	margin: 30px auto 0;
}
.oneArea .onebox:nth-child(even) {
	margin-top: 30px;
}
.oneArea .onebox .imgArea {
	width: 20%;
}
.oneArea .onebox .fukiArea {
  width: 75%;
}
.oneArea .onebox .fukidasi {
	padding: 24px 30px;
	font-size: 1.375em;
	font-weight:bold;
}

.ukerare-contents {
    background: url(./images/index/bg_ukerare.jpg) no-repeat center top / contain #004744;
}

.ukerare_txt_box{
	margin-top:60px;
    padding: 40px 60px;
    border-right: none;
    background-color: #F8F8EC;
    border-radius: 8px;
    color: #141d1d;
}

.ukerare-contents h3{
	margin-top:30px;
    padding: 20px;
    font-weight: bold;
    text-align: center;
    color: #004744;
    background: #F8F8EC;
    text-align: center;
    font-size: 1.6em;
    line-height: 1.6;
}

.ukerare-contents h4{
    margin-top: 1.6em;
    font-size: 1.4em;
    font-weight: bold;
    /*
    text-align: center;
    */
}
.ukerare-contents .image {
    padding: 40px;
    border-radius: 8px;
    background: #fff;
}
.ukerare-contents .txt{

}
.ukerare-contents .image img{
	max-width:100%;
}
.ukerare-enman_ul{
    list-style-type: disc;
    padding-left: 3em;
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 1.375em;
    font-weight: bold;
}
.arrow_bottom_l{
	position:relative;
	margin:20px auto;
	padding:40px 0 60px 0;
    font-size: 2em;
    font-weight: bold;
	text-align:center;
    background: url(./images/index/arrow_bottom_l.png) no-repeat center bottom/ contain;
}

/*----------------------------------------------------
	TOP 労災保険には、一生涯受けられる年金（障害補償年金）がある。
----------------------------------------------------*/
.nenkin_grid{
	display:block;
}
.nenkin_grid .nenkin_grid_l{
	width:100%;
	line-height:1.8;
}
.nenkin_grid .nenkin_grid_r{
	width:100%;
}
.nenkin_grid .nenkin_grid_r img{
	width:100%;
}

.nenkin_box{
	background-color:#fff;
    padding: 30px 40px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
.nenkin_box img {
	width: 100%;
	height: auto;
	display: inline-block;
}
.nenkin_box_l{
	width: 47%;
}
.nenkin_box_r{
	width: 47%;
}


/*----------------------------------------------------
	TOP こんなときどうすれば
----------------------------------------------------*/
.how-contents {
    background-color:#F8F8EC;
}
.how_list{
	display:flex;
	justify-content:space-between;
}




.how-contents ul li {
	width:31.5%;
    background: #FFF;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    box-sizing: border-box;
    padding: 30px;
    margin-top: 20px;
    position: relative;
    border-radius:8px;
}
.how-contents ul li h3 {
	color:#004744;
    font-size: 1.6em;
    text-align:center;
    margin-bottom: 1.375rem;
}
.how_list li span.number{
	font-size: 60px;
	display: block;
	font-family: 'Roboto', "Noto Sans JP", sans-serif;
	line-height: 1;
}
.how-contents ul li .txt {

}




p.how_list_btn {
    margin: 40px auto 0;
    width: 88%;
    max-width: 400px;
}


p.how_list_btn {
    display: block;
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 0.667em 0;
    box-sizing: border-box;
    cursor:pointer;;
}
p.how_list_btn {
    background: #FFF;
    color: #004744;
    border: #004744 2px solid;
}
p.how_list_btn:after {
    content: "";
    background: url(./images/common/ico_arrow_bottom_white.svg) no-repeat left center;
    display: inline-block;
    width: 10px;
    height: 1em;
    vertical-align: -0.1em;
    margin-left: 0.5em;
}
p.how_list_btn:after {
    background: url(./images/common/ico_arrow_bottom_blue.svg) no-repeat left center;
}
p.how_list_btn:after {
    width: 10px;
    vertical-align: -0.15em;
}


.how_list_detail{
	display:none;
}







.qa_list dl.accordion { 
	width:100%;
	margin:0 auto;
	padding:0;
}
.qa_list dl.accordion dt {
	position: relative;
	margin-top:15px;
	padding:0 30px 0 0;
	background:#fff;
	line-height:1.8;
	color:#333;
	font-weight:normal;
	cursor:pointer;
	font-size:16px;
	text-indent:0;
	border:none;
	transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
}
.qa_list dl.accordion dt h3{
	width:100%;
	display:flex;
	align-items:stretch;
	align-content:stretch;
	font-size:15px;
}
.qa_list dl.accordion dt span{
	padding:8px 0 8px 0;
}
.qa_list dl.accordion dt span.s_q{
	margin-right:15px;
	font-size:24px;
	background:#999;
	color:#fff;
	display:block;
	flex-basis: 50px;
	text-align:center;
	padding:0 15px;
}
.qa_list dl.accordion dt.open span.s_q{
	background:#000;
}
.qa_list dl.accordion dt span.s_ttl{
	padding:8px 0 5px 0;
	flex-basis: auto;
}
	
.qa_list dl.accordion dt:last-of-type{
	border-bottom:none;
}
.qa_list dl.accordion dt::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-top: solid 8px #999;
     top: 50%;
     right: 15px;
     margin-top: -5px;
	transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
}
.qa_list dl.accordion dt.open {
	background:#000;
	color:#fff;

}
.qa_list dl.accordion dt.open::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-bottom: solid 8px #fff;
     top: 50%;
     right: 15px;
     margin-top: -10px;
}
.qa_list dl.accordion dt h3{
	font-weight:normal;
}

.qa_list dl.accordion dt.open span{
	color:#ffffff;
}
.qa_list dl.accordion dd {
	background:#f5f5f5;
	padding:20px 20px 20px 62px;
	border:none;
	display:none;
}
.qa_list dl.accordion dd:last-of-type{
	border-bottom:none;
}












/*----------------------------------------------------
	TOP よくある質問
----------------------------------------------------*/
.faq-contents {
    background-color:#F8F8EC;
}

.faq-contents ul li {
    width: 100%;
    padding: 40px 40px;
    border-right: none;
    background-color:#fff;
    border-radius:8px;
}
.faq-contents ul li h3 {
    font-size: 2rem;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq-contents ul li h3 {
    font-size: 1.5rem;
}

.faq-contents ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 2.5rem;
    margin: -0.2em 0.5em 0.2em 0;
    margin-top: -0.3em;
}
.faq-contents ul li .txt {
    padding-left: 3.2rem;
}

/*----------------------------------------------------
	TOP 相談の流れ
----------------------------------------------------*/


.container .flow-contents{
	background: url(./images/index/bg_flow.jpg) no-repeat top center/ cover;
}
.container .flow-contents h2 {
	color:#fff;
	background-color: transparent;
}
.container .flow-contents h2.ttl_sub:before {
	background:none;
}

.flow-contents ul{
	display:flex;
	justify-content:space-between;
}
.flow-contents ul li {
    width: 30%;
    position: relative;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    margin-top: 30px;
	padding: 20px;
	border-radius:8px;
}

.flow-contents ul li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #fff;
}

.flow-contents ul li:last-child:before {
	border:0;
}
.flow-contents ul li h3{
	font-size: 1.6rem;
	margin-bottom: 15px;
	color:#004744;
	text-align:center;
}
.flow-contents ul li .flow-ico{
	margin-bottom:10px;
	text-align:center;
}
.flow-contents ul li .flow-ico img{
	max-width:100%;
	margin-bottom:15px;
	text-align:center;
	border-radius:8px;
}


/*----------------------------------------------------
	基礎知識
----------------------------------------------------*/
.ttl_knowledge{

}
.ttl_knowledge img{
	width:100%;
}
.knowledge_grid_2{
	display:flex;
	justify-content:space-between;
}
.knowledge_grid_2_l{
	width:47%;
}
.knowledge_grid_2_r{
	width:47%;
}
.knowledge_grid_2_l img, .knowledge_grid_2_r img{
	width:100%;
}
table.knowledge_table{
	width:100%;
	max-width:1380px;
	min-width:750px;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:30px auto 30px auto;
}

table.knowledge_table th{
    padding: 10px 10px 10px 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    color:#fff;
    font-weight: normal;
    text-align: center;
}
table.knowledge_table td{
    padding: 10px 10px 10px 10px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #ffffff;
}
table.knowledge_table td.table_item{
    background: #E5EDEA;
    text-align:center;
}

/*----------------------------------------------------
	解決事例
----------------------------------------------------*/
.cases_wrap{
	display:flex;

}
.cases_list{
	flex: 1;
}
.side_cases_list{
	margin-left:50px;
	width:300px;
}
.side_cases_list .side_cases_list_box{
	margin-bottom:30px;
	background:#fff;
	box-shadow: 0px 0px 5px 3px #c9c9c9;
	border-radius:8px;
	overflow: hidden;
}
.side_cases_list .side_cases_list_box h3{
	padding:10px;
	color:#fff;
	background-color: #004744;
}

.side_cases_list ul li{
    position: relative;
    vertical-align: middle;
    text-decoration: none;
	padding:10px 5px 10px 30px;
	border-bottom:1px solid #ddd;
}
.side_cases_list ul li::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 15px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #004744;
    border-right: 2px solid #004744;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}



.cases_single{
	width:720px;
	flex: 1;
}


/*----------------------------------------------------
	弁護士費用
----------------------------------------------------*/
table.table_fee{
	width:100%;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:30px auto 30px auto;
}

table.table_fee th{
	width:50%;
    padding: 10px 20px 10px 20px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    color:#fff;
    font-weight: bold;
    text-align: center;
}
table.table_fee td{
    padding: 10px 20px 10px 20px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
	background-color:#FCEEB4;
	font-weight: bold;
}

#fee .oneArea .onebox .fukidasi {
	margin-top:15px;
	background-color: #FCEEB4;
}
#fee .oneArea .onebox .fukidasi::before {
	border-color: transparent #FCEEB4 transparent transparent;
}
#fee .oneArea .onebox:nth-child(even) .fukidasi {
  background-color: #f2f3f7;
}
#fee .oneArea .onebox:nth-child(even) .fukidasi::before {
  border-color: transparent #f2f3f7 transparent transparent;
}


.fee_shikumi{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.fee_shikumi .shikumi_img{
	width:47%;
}
.fee_shikumi .shikumi_img img{
	width:100%;
}
.fee_shikumi .shikumi_txt{
	width:47%;
    padding: 40px 40px;
    border-right: none;
    background-color: #F8F8EC;
    border-radius: 8px;
}
.fee_shikumi .shikumi_txt li{
	margin:10px 0;
	font-weight:bold;
	font-size:1.2em;
}
#fee .point_box {
	position: relative;
    padding: 40px 40px;
	border-radius: 8px;
	background: #F8F8EC;
}
#fee .point_box .point{
	font-size:1.1em;
	font-weight: 700;
	position: relative;
	display: block;
	margin-right: auto;
	margin-left: auto;
	width:200px;
	text-align: center;
	color: #fff;
	border-radius: 50px;
	background: #004744;
}

.faq_sec ul li h3 {
    font-size: 1.375rem;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq_sec ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 2.5rem;
    margin: -0.2em 0.5em 0.2em 0;
    margin-top: -0.3em;
}
.faq_sec ul li .txt {
    padding-left: 3.2rem;
}

/*----------------------------------------------------
	事務所紹介
----------------------------------------------------*/
.about_table th{
	width:240px;
}

/*----------------------------------------------------
	弁護士紹介
----------------------------------------------------*/
ul.lawyers_list{

}
ul.lawyers_list li{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
	background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
}
ul.lawyers_list p.photo{
	display:block;
	width:40%;
	padding-right:60px;
	flex: 1 0 40%;
}
ul.lawyers_list p.photo_mimaya{
	display:block;
	width:64%;
	padding-right:60px;
	flex: 1 0 64%;
}
ul.lawyers_list .photo img, ul.lawyers_list p.photo_mimaya img{
	width: 100%;
}
ul.lawyers_list .module{
	flex: 0 1 auto;
	padding-right:60px;
}
ul.lawyers_list p.position{
    font-weight: bold;
    color: #004744;
    margin-bottom: 8px;
}
ul.lawyers_list h3{
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    line-height: 1.2;
}
ul.lawyers_list h3 span{
    font-size: 1.1rem;
    letter-spacing: 0.01em;
}
ul.lawyers_list p.belong{
    font-weight: bold;
    color: #5e5e5e;
}
ul.lawyers_list .txt {

}
ul.lawyers_list .lawyer_txt {
    margin-top: 30px;

}


/*----------------------------------------------------
	よくある質問
----------------------------------------------------*/
.faq {
    background-color:#F8F8EC;
    margin-bottom:70px;
    padding:50px;
    border-radius:8px;
}

.faq ul li {
    width: 100%;
    padding: 40px 40px;
    border-right: none;
    background-color:#fff;
    border-radius:8px;
}
.faq ul li + li {
	margin-top: 50px;
}
.faq ul li h3 {
    font-size: 2rem;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq ul li h3 {
    font-size: 1.375rem;
}

.faq ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 2.5rem;
    margin: -0.2em 0.5em 0.2em 0;
    margin-top: -0.3em;
}
.faq ul li .txt {
    padding-left: 3.2rem;
}

/*----------------------------------------------------
	相談の流れ
----------------------------------------------------*/
.timing_box{
    padding: 30px;
	background: #004744;
	border-radius:8px;
}
.timing_box h3{
	font-size: 1.5rem;
	margin-bottom: 20px;
	color:#fff;
}
.timing_box_txt{
	margin-bottom:0;
	padding: 30px 40px 30px 40px;
	background: #f4ffef;
	border-radius:8px;
}



.container .flow_list{
	background: url(./images/index/bg_flow.jpg) no-repeat top center/ cover;
}

.container .flow_list h2 {
	color:#fff;
}
.container .flow_list h2.ttl_sub::before {
    display: inline-block;
    position: absolute;
    content: '';
    bottom: -30px;
    left: 50%;
    width: 60px;
    height: 5px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #fff;

}
.flow_list ul{
	display:flex;
	justify-content:space-between;
}
.flow_list ul li {
    width: 30%;
    position: relative;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    margin-top: 30px;
	padding: 20px;
	border-radius:8px;
}

.flow_list ul li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #fff;
}

.flow_list ul li:last-child:before {
	border:0;
}
.flow_list ul li h3{
	font-size: 1.5rem;
	margin-bottom: 20px;
	color:#004744;
	text-align:center;
}
.flow_list ul li .flow-ico{
	margin-bottom:15px;
	text-align:center;
}
.flow_list ul li .flow-ico img{
	max-width:100%;
	margin-bottom:15px;
	text-align:center;
	border-radius:8px;
}

/*----------------------------------------------------
	お問い合わせ
----------------------------------------------------*/





/*----------------------------------------------------
	サイトマップ
----------------------------------------------------*/


.sitemap{
	margin:0 auto;
}
.sitemap_box{
	width:880px;
	margin:0 auto;
	display:flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

.sitemap .sitemap_box ul{
	width:400px;
	margin-bottom:30px;
}
.sitemap ul li{
	

	position:relative;
	margin-bottom:15px;
	font-size:16px;
	padding-bottom:5px;
	border-bottom:1px solid #ccc;
}
.sitemap ul li a{
	padding-left:20px;
}
.sitemap ul li a:hover{
	padding-left:20px;
	opacity:0.7;
}
.sitemap ul ul{
	margin-top:12px;
	padding-left:20px;
}
.sitemap ul ul li{
	position:relative;
	margin-bottom:0 !important;
	padding-bottom:2px !important;
	font-size:14px;
	border:none;
}
.sitemap ul ul li a{
	padding-left:20px;
	color:#404040;
}
.sitemap ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 13px;
    left: 0;
    width: 5px;
    height: 5px;
    border-right: 1px solid #404040;
    border-bottom: 1px solid #404040;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}








/*----------------------------------------------------
	プライバシーポリシー
----------------------------------------------------*/
dl.privacy{

}
dl.privacy dt{
	margin-bottom:10px;
	font-size:20px;
	font-weight:bold;
	color:#004744;
}
dl.privacy dd{
	margin-bottom:40px;
}



















}















/*************************************************************************************************************************

■ タブレット(1,024px以下)向けスタイル

*************************************************************************************************************************/

@media screen and (max-width:1024px) {


/******************************************************************** pc sp
*/
.pc{display:none !important;}
.sp{}
.br-pc { display:none !important;}
.br-sp { display:block !important;}
.aC-pc { text-align:left !important;}
.aC-sp { text-align:center  !important;}

/******************************************************************** structure
*/
body{
	font-size: 4vmin;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}

img{
	max-width:100%;
	height:auto;
}

.sec p, .sec_s p{
	margin-bottom:1rem;
}
.dropwhite{
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}



a[href^="tel:"] {
    pointer-events: auto;
    color: #1A75BB;
    text-decoration: underline;
}




a.btn-common, a.btn-common-c{
/*
	width:195px;
*/
	width:240px;
	max-width:100%;
	display:block;
	background:#004744;
	color:#fff;
	font-size:14px;
	font-family: 'Roboto', "Noto Sans JP", sans-serif;
    letter-spacing: 1.4px;
    line-height:1.4;
    padding: 20px 20px 20px;
    position: relative;
    text-align:center;
    -webkit-transition: 0.3s;
    transition: 0.3s ;
    margin:0 auto;
}
a.btn-common-c {
	margin:0 auto;
}
a.btn-common-w {
	width:100%;
}
a.btn-common2, a.btn-common-c2{
	width:280px;
	max-width:100%;
	display:block;
	background:#fff;
	border:1px solid #004744;
	color:#004744;
	font-size:15px;
    letter-spacing: 1.4px;
    line-height:1.4;
    padding: 20px 30px 20px;
    position: relative;
    text-align:center;
    -webkit-transition: 0.3s;
    transition: 0.3s ;
    margin:0 auto;
}
a.btn-common-c2 {
	margin:0 auto;
}

a.btn-common::before, a.btn-common-c::before, a.btn-common-w::before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: 0.3s;
}




/******************************************************************** txt
*/

h1.ttl{
	font-size:24px;
}




.attention{
	color:red;
}
.ttl_catch{
	margin-bottom:30px;
	font-size:18px;
	font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Helvetica, Avenir;
}


/******************************************************************** layout
*/
main{
	margin:0;
}

.wrap{
	width:90%;
	margin:0 auto;
	padding:0;
}
.wrap_s{
	width:90%;
	margin:0 auto;
	padding:0;
}
.wrap_top{
	width:90%;
	margin:0 auto;
	padding:50px 0;
}
.wrap_top_s{
	width:90%;
	margin:0 auto;
	padding:50px 0;
}
.wrap_top_ss{
	width:100%;
	margin:0 auto;
	padding:50px 0;
}
.wrap_ss{
	width:90%;
	margin:0 auto;
	padding:0;
}
.wrap_880{
	width:90%;
	margin:0 auto;
	padding:50px 0;
}
.top_section{
	background:url("./images/common/ttl_bg.jpg") no-repeat center top;
	background-size:cover;
	margin-top:56px;
	height:120px;
	display:flex;
	align-items:center;
	text-align:center;
	color:#fff;
}
.wrap_head{
	width:90%;
	margin:0 auto;
	text-align:center;
}


.wrap_top:after,.wrap:after {
	clear: both;
	content: "";
	display: block;
}
.b_line{
	border-bottom:1px solid #04544E;
	padding-bottom:3vmin;
}
.t_line{
	border-top:1px solid #04544E;
	padding-top:3vmin;
}
.sec{
	margin-top:50px;
}
.sec_s{
	margin-top:30px;
}



.container>section {
    padding: 12vmin 0;
}

.contents-wrapper h1{
  display: inline-block;
  position: relative;
}

.container h2 {
    position: relative;
    margin-bottom: 4.8vmin;
    font-size: 5.6vmin;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height:1.6;
}

.container h2.ttl_sub {
	color:#fff;
	display:block;
    position: relative;
    margin-bottom: 6vmin;
    padding: 2vmin 1vmin;
    font-size: 5.6vmin;
	font-weight: bold;
   	text-align: center;
    letter-spacing: 0.01em;
}
.container h3.ttl_sub {
    position: relative;
    padding-bottom: 2.5vmin;
    margin-bottom: 4vmin;
    font-size: 5.2vmin;
	font-weight: bold;
	border-bottom:2px solid #9FC1BF;
	color:#004744;
}
.container h4.ttl_sub {
    position: relative;
    margin-bottom: 5vmin;
    font-size: 4.5vmin;
	font-weight: bold;
}



.container .btn {
    margin: 4.8vmin auto 0;
    width: 88%;
    /*
    max-width: 400px;
    */
}


.container .btn a {
    display: block;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 1.018em 0;
    box-sizing: border-box;
}
.container .btn a {
    font-size: 4vmin;
    padding: 0.667em 0;
}
.container .btn.border-btn a {
    background: #FFF;
    color: #004744;
    border: #004744 2px solid;
}
.container .btn a:after {
    content: "";
    background: url(./images/common/ico_arrow_right_white.svg) no-repeat left center;
    display: inline-block;
    width: 10px;
    height: 1em;
    vertical-align: -0.1em;
    margin-left: 0.8em;
}
.btn.border-btn a:after {
    background: url(./images/common/ico_arrow_right_blue.svg) no-repeat left center;
}
.container .btn a:after {
    width: 6px;
    vertical-align: -0.15em;
}



/******************************************************************** product yoko scroll table
*/
.flex-scrolling {
    overflow-x: auto;
    margin-bottom:10px;
}
.flex-scrolling::-webkit-scrollbar {
    width: 20px;
    border-radius: 20px;
    background: #f1f1f1;
}
.flex-scrolling::-webkit-scrollbar-thumb {
    border-radius: 20px;
    background: #8494a1;
}
.table_guide {
	display: inline-block;
	color: #fff;
	background-color:#36409E;
	font-size: 13px;
	margin-bottom: 5px;
	padding: 1px 5px;
}
.flex-scrolling table {
    width: 880px !important;
    margin-bottom: 2px !important;
}

 /* 横スクロール時に固定する対応 */
.flex-scrolling {
  overflow-x: scroll;
  width: 100%;
  height:auto;
}


/******************************************************************** header
*/
header{
	width:100%;
	top:0;
	height:56px;
	position:fixed;
	z-index:10001;
	background: rgba(255, 255, 255, 0.9);
}
.header_wrap{
	width:100%;
	margin:0 auto;
	position:relative;
}
header .logo{
    height: 56px;
    width: calc(100% - 58px);
    text-align: center;
    line-height:1;
}
header .logo a{
/*
    padding: 0 0 0 4vmin;
    height: 56px;
    display: flex;
    align-items: center;
    position: absolute;
*/


}
header .logo img{
    padding-top:6px ;
	height:50px;
}

header #head_line_btn_sp{
	position: fixed;
	z-index: 1001;
	top: 0;
	right: 50px;
	width:50px;
	height:50px;
	color:#fff;
	background-color:#004744;
	border-right:1px solid #ccc;
}
header #head_line_btn_sp img{
	position:absolute;
	top: 7px;
	left: 12px;
}
header #head_line_btn_sp p{
	margin-top:35px;
	text-align:center;
	font-size:10px;
	line-height:1;
}
header #head_line_btn_sp p span{
	font-size:9px;
    font-family:"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

header nav{
	position: fixed;
	display: none;
	width: 100%;
	/*
	background:#004744;
	*/
	background-color: rgba(0, 0, 0, 0.4);
	top: 50px;
	left: 0;
	right: 0;
	bottom:0;
	height: 100%;
	width: 100%;
	overflow: auto;
	z-index:10001;
	color:#fff;
	/*
	padding-top:50px;
	*/
	overscroll-behavior: contain;
}
header nav ul{
	margin: 0 auto;
	padding:0 0 0 0;
	width: 100%;
	background:#004744;
}
header nav ul li{
	position:relative;
	margin:0;
	text-align: left;
	font-size:15px;
	background:#004744;
	border-top:1px solid #0c5c58;
}
header nav ul li:last-child{
/*
	border: none;
*/
}
.head_menu li a{
	color:#fff;
	padding-left:1em;
	text-decoration:none;
	transition: 0.5s;
	font-weight:normal;
}







.head_menu li ul li{
	position:relative;
	border-top:1px solid #0c5c58;
	font-size:0.85em;
	background-color:#00302e;
}
.head_menu li ul li a{
	padding-left:2em;
	background-image:none !important;
}
.head_menu li ul li a:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid #FFF;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
}

.head_menu li p span{
	display:block !important;
	background:#fff;
	position: absolute;
	width: 18px;
	height: 18px;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.head_menu p  {
	position: absolute;
	width:45px;
	height:45px;
	right:5px;
	top:0;
	color:#fff; 
	color:#575757; 
	cursor:pointer;
	transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
}

.head_menu li p.open {

}
.head_menu li p.open::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     top: 50%;
}
.head_menu li ul {
	margin:0 auto;
	/*
	display:none;
	*/
}
.head_menu li p:before {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
.head_menu li p:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.head_menu li p:before, .head_menu li p:after {
    position: absolute;
    top: 22px;
    right: 17px;
    display: block;
    width: 10px;
    height: 2px;
    content: '';
    -webkit-transition: all .3s;
    transition: all .3s;
    background-color: #ffffff;
    background-color: #004744;
    z-index:1;
}
.head_menu li p.open:after {
    top: 22px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}








.head_menu2 li img{
	position:relative;
	color:#fff;
	text-decoration:none;
	transition: 0.5s;
	font-weight:normal;
}
.head_menu2 li a.head_btn_line .head_btn_line_main{

}
.head_menu2 li a.head_btn_line .head_btn_line_sub{
	display:block;
	position:absolute;
	top:-12px;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	padding: 1px 5px;
	font-size:10px;
	text-align:center;
	color:#575757;
	background-color:#FAF8F6;
	border-radius:20px;
	white-space: nowrap;
}


header nav ul li a {
    display: block;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    padding: 12px;
}

header nav ul li img{
	-webkit-filter: brightness(0) invert(1);
	-ms-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}
header nav ul.head_menu2{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	margin: 0 auto;
	padding:20px 0 20px 0;
	width: 100%;
	background:#575757;
}
header nav ul.head_menu2 li{
	margin:5px 15px;
	text-align: center;
	font-size:15px;
	background:#575757;
}
header nav::before{
	content: '';
	background-color: rgba(0, 0, 0, 0.4);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%vh;
	min-height: 100%;
	display: block;
	overflow-y: hidden;
}

/*開閉ボタン*/
#nav_toggle{
	position: fixed;
	z-index: 99999;
	top: 0;
	right: 0;
	width:56px;
	height:56px;
	color:#fff;
	background-color:#004744;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 2px;
	background:#fff;
	position:absolute;
	width: 30px;
	left:13px;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
#nav_toggle span:nth-child(1){
	top:12px;
}
#nav_toggle span:nth-child(2){
	top:20px;
}
#nav_toggle span:nth-child(3){
	top:28px;
}
#nav_toggle .nav_toggle_txt{
    position: absolute;
    display: block;
    bottom:8px;
    width: 100%;
    height: 1em;
    text-align:center;
    text-transform: uppercase;
    font-family: Rubik,sans-serif;
    font-weight: 400;
    font-size: 10px;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    line-height:1;
}
#nav_toggle .nav_toggle_txt::after, #nav_toggle .nav_toggle_txt::before {
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    text-align: center;
}
#nav_toggle .nav_toggle_txt::before {
    content: 'メニュー';
    opacity: 1;
    -webkit-transition: -webkit-transform 0.3s;
    transition: 0.3s;
}
#nav_toggle .nav_toggle_txt::after {
    content: '閉じる';
    opacity: 0;
    -webkit-transition: -webkit-transform 0.3s;
    transition: 0.3s;
}
.open #nav_toggle .nav_toggle_txt::before {
    content: 'メニュー';
    opacity: 0;
}
.open #nav_toggle .nav_toggle_txt::after {
    content: '閉じる';
    opacity: 1;
}
/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 20px;
   -webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 20px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}



.main_line{
	position:fixed;
	right:0;
	bottom:80px;
	z-index:5;
}
.main_inst{
	position:fixed;
	right:0;
	bottom:20px;
	z-index:5;
}


.head_line_sp{
	margin:0 auto 30px;
	max-width:84%;
	background-color:#fafafa;
	padding:10px;
}
.head_line_sp a{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:13px;
	color:#444444;
}
.head_line_sp img{
	max-width:50px;
    transition: 0.3s;
}
.head_line_sp a:hover img{
	opacity:0.8;
}
.head_line_sp p{
	position:relative;
	margin-right:20px;
	padding-left:20px;
	font-size:13px;
}


.head_btn_line a{
	display:block;
	background:url("./images/common/ico_key.png") no-repeat center left 20px #117238;
	color:#fff !important;
    letter-spacing: 1.5px;
    line-height:50px;
    width:80%;
    margin:0 auto;
    padding: 0 18px 0 40px;
    position: relative;
    text-align:center;
    -webkit-transition: 0.3s;
    transition: 0.3s ;
    height:50px;
}
.head_btn_line a:hover {
	background:url("./images/common/ico_key.png") no-repeat center left 20px #288c50;
	text-decoration:none;
	-webkit-transition: 0.3s;
    transition: 0.3s ;
}


/******************************************************************** menu sub
*/
ul.sub_menu{
	width:100%;
	margin: 0 auto 30px auto;
	text-align: center;
	padding: 15px 0;
	background-color:#004744;
	/*
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	*/
	border-radius:4px;
}
ul.sub_menu li{
/*
    display: inline;
*/
    list-style: none;
    font-size: 14px;
    padding-left: 10px;
    padding-right: 4px;
    margin:3px 5px;
}
ul.sub_menu li::before {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
    display: inline-block;
    content: url(./images/common/arrow-circle.svg);
    margin-right: 4px;
    position: relative;
    height: 12px;
    width: 12px;
}
ul.sub_menu li a{
	color:#fff;
}

/******************************************************************** pankuzu
*/
#breadcrumb{
	background-color:#fff;
}
#breadcrumb ul{
	margin:0 auto;
	padding:4px 0;
	max-width:90%;
	font-size:12px;
}
#breadcrumb ul li{
	display:inline-block;
	line-height:1;
	padding:0 8px 0 0;
}
#breadcrumb ul li:first-child:before{
    content: "";
    display: inline-block;
    padding:0;
}
#breadcrumb ul li:before{
    content: "/";
    display: inline-block;
    padding:0 8px 0 0;
}



/******************************************************************** footer
*/








.foot_contact{
	text-align:center;
}
.foot_contact_box{
	margin-bottom:30px;
}
.foot_contact_box img{
	margin-bottom:15px;
	max-width:60%;
}
.foot_contact_box p{
	margin-bottom:30px;
	font-size:12px;
	color:#004744;
}
.foot_contact_txt{
	margin-bottom:30px;
	font-size:13px;
}
.foot_line{
	margin:0 auto 30px;
	max-width:100%;
	background-color:#004744;
	padding:10px;
}
.foot_line a{
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:13px;
	color:#fff;
}
.foot_line img{
	max-width:50px;
    transition: 0.3s;
}
.foot_line a:hover img{
	opacity:0.8;
}
.foot_line p{
	position:relative;
	margin-right:20px;
	padding-left:20px;
	font-size:13px;
}


.foot_sns{
	margin:40px auto 0 auto;
	display:flex;
	justify-content:center;
}
.foot_sns li{
	margin:0 15px;
}
.foot_sns li img{
	width:32px;
}









footer{
	width:100%;
	text-align:center;
	background-color: #E5EDEA;
}
footer a{

}
footer .foot_wrap{
	width:100%;
	margin:0 auto;
	padding:50px 0 50px 0;
}
footer .foot_info{

}
footer .foot_info p{
	margin-bottom:30px;
	line-height:1.6;
}
footer .foot_info .foot_logo img{
	width:180px;
}
footer .foot_info p.foot_copy{
	margin-bottom:0;
	font-size:10px;
}





footer .foot_menu{
	margin:0 auto;
}
footer .foot_menu .nav_box{

}

footer .foot_menu p.foot_menu_title{
	color:#cccccc;
	margin-bottom:20px;
}
footer .foot_menu ul{
	text-align:center;
	display: flex;
	flex-wrap: wrap;
}
footer .foot_menu ul li{
	position:relative;
	width:50%;
	display:inline-block;
	padding:16px 2px 16px 2px;
	line-height:1;
	font-size:13px;
	text-align:center;
}

footer .foot_menu ul li a{
	display:block;
	width:100%;
}

footer .foot_menu a{

}
footer .foot_menu a:hover{
	text-decoration:none;
}




footer .foot_menu2{
	padding:0;
}
footer .foot_menu2 .menu_list{
	padding:16px 10px 16px 24px;
	text-align:left;
    border-bottom: 1px solid #ddd3ca;
}
footer .foot_menu2 .menu_list .menu_list_ttl{
	line-height:1;
}
footer .foot_menu2 .menu_list h3{
	position:relative;
	font-weight:normal;
	display:inline-block;
}

footer .foot_menu2 .menu_list h3::before,
footer .foot_menu2 .menu_list h3::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
footer .foot_menu2 .menu_list h3::before{
	content:"";
    right: -52px;
    width: 41px;
    height: 1px;
    background: #9d917e;
}
footer .foot_menu2 .menu_list h3::after{
	content:"";
    right: -52px;
    width: 4px;
    height: 4px;
    border-top: 1px solid #9d917e;
    border-right: 1px solid #9d917e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


footer .foot_menu2 .menu_list .tolist{
	display:none;
}
footer .foot_menu2 .menu_list ul{

}
footer .foot_menu2 .menu_list ul li{

}
footer .foot_menu2 .menu_list ul li a:hover{
	text-decoration:none;
}


.nav_box_sns li img{
	-webkit-filter: brightness(0) invert(1);
	-ms-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}



footer .foot_copy{
	padding:5px 0;
	width:100%;
	font-size:10px;
	padding:10px;
	text-align:center;
}













#footer{

}
#footer section {
    width: 100%;
    float: none;
    padding: 8vmin 4vmin 4vmin;
    line-height: 1.3;
    box-sizing: border-box;
    text-align: center;
}

#footer section h2 {
    width: 56%;
    margin: 0 auto 4vmin;
}
#footer section h2 img {
    width: 100%;
}
#footer section .notice {
    margin-top: 2.4vmin;
    padding: 0.8em;
    font-size: 3.6vmin;
}
#footer address {
    padding-top: 2.4vmin;
    padding: 15px 0 0;
    display: inline-block;
    text-align: left;
}
.copyright {
    padding: 6vmin 0 0;
    text-align: center;
    font-size: 0.85rem;
}


/******************************************************************** table
*/

table.base_table{
	width:100%;
    border: 1px #cccccc solid;
    border-bottom: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin:20px 0 20px 0;
}
table.base_table th{
    width: 25%;
    position: relative;
    padding: 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 0;
    background: #004744;
    color:#fff;
    font-weight: normal;
    line-height: 120%;
    text-align: center;
}
table.base_table td{
    width: 75%;
    position: relative;
    padding: 10px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 0;
    background: #ffffff;
}

table.base_table2{
	width:100%;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:0 auto 60px auto;
}

table.base_table2 th{
    padding: 10px 10px 10px 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #F7F7F7;
    font-weight: normal;
    text-align: center;
}
table.base_table2 td{
    padding: 10px 10px 10px 20px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #ffffff;
}




/******************************************************************** product yoko scroll table
*/
.flex-scrolling {
    overflow-x: auto;
    margin-bottom:30px;
}
.flex-scrolling::-webkit-scrollbar {
    width: 20px;
    border-radius: 20px;
    background: #f1f1f1;
}
.flex-scrolling::-webkit-scrollbar-thumb {
    border-radius: 20px;
    background: #8494a1;
}
.table_guide {
	display: inline-block;
	color: #fff;
	background-color:#4c6c79;
	font-size: 13px;
	margin-bottom: 5px;
	padding: 1px 5px;
}
.flex-scrolling table {
    width: 880px;
    margin-bottom: 2px !important;
}

 /* 横スクロール時に固定する対応 */
.flex-scrolling {
  overflow-x: scroll;
  width: 100%;
  height:auto;
}



#page-top{
	display:none;
    position: fixed;
    right: 10px;
    bottom: 20px;
    width: 40px;
    height: 40px;
    width: 0px;
    height: 0px;
    box-sizing: border-box;
    background: #575757;
    border-radius: 1px solid #575757;
    text-align: center;
    text-decoration: none;
    color: #fff;
    opacity: 0.5;
    border-radius:20px;
    opacity: 0;

}
#page-top::before{
    content: "";
    display: block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 25%;
    height: 25%;
    top: 45%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
#page-top:hover{
    opacity: 1;
    opacity: 0;
}






/******************************************************************** modal
*/
.modal-overlay {
	align-items: center;
	background: rgba(0,0,0,.5);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}

.modal-container {
	position:relative;
	background-color: #fff;
	height: 80vh; /* カスタムプロパティ未対応ブラウザ用のフォールバック */
    height: calc(var(--vh, 1vh) * 80);
	max-width: 500px;
	overflow-y: auto;
	padding: 30px 5%;
	width: 90%;
}

.modal-header {
	text-align:center;
}

.modal-close {
	position:absolute;
	top:0;
	right:0;
	width:40px;
	height:40px;
	background: transparent;
	color:#fff;
	background-color:#575757;
	border: none;
	outline: none;
}

.modal-header .modal-close::before {
  content: "\2715";
  font-size:20px;
}
.modal-title{
	font-size:20px;
	font-weight:normal;
	color:#575757;
	text-align:center;
}
.modal-content {
  line-height: 1.5;
  margin-bottom: 16px;
  margin-top: 16px;
}

.modal-open {
  display: block;
  margin: 0 auto;
}


/* モーダルアニメーション */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal-overlay {
  animation: mmfadeIn .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal-container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-overlay {
  animation: mmfadeOut .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal-container,
.micromodal-slide .modal-overlay {
  will-change: transform;
}





#fix_Box { position: fixed; bottom: 0; width: 100%; height: 48px; z-index: 9900;}
#fix_Box .fix_bottom { background: rgba(0,0,0,0.67); }
#fix_Box .fix_bottom ul { overflow: hidden; margin: 0; height: 48px; width: 100%; padding: 0;}
#fix_Box .fix_bottom li { width: 50%; float: left; list-style: none; text-align: center;}
#fix_Box .fix_bottom li.tel {
	vertical-align: middle;
	background: #ff6c00;
}
#fix_Box .fix_bottom li.tel a { display: block;}
#fix_Box .fix_bottom li.mail{
	vertical-align: middle;
	background: #5cca66;
}
#fix_Box .fix_bottom li.tel img, #fix_Box .fix_bottom li.mail img {
	max-width: 150px;
	padding: 10px 0;
	display: inline-block;
}
#fix_Box .fix_bottom li.mail a { display: block;}
#fix_Box .foot_datail { background-color: #000; color: #fff; padding: 5px 5px 7px; text-align: center; height: 15px; font-size: 13px;}
.pageup{display: none !important;}
.my_modal_footer.pc_none{display: none;}







/******************************************************************** top
*/

.mainimg {
	margin-top:56px;
	padding:8vmin 0 7vmin;
    overflow: hidden;
    width: 100%;
    position: relative;
    text-align:left;
    background: url(./images/index/mainview_sp.jpg) center center no-repeat;
    background-size:cover;
}
.mainimg .main_catch{
	margin: 0 auto 0;
	padding:5.5vmin 0;
	width: 90%;
	z-index:1;
}
.mainimg p img{
	width:82%;
}
.mainimg p{
	margin-top:1.8vmin;
	font-weight:bold;
	font-size:4vmin;
	line-height:1.5;
	color:#fff;
	letter-spacing:0.05em;
}
.mainimg  h1{
	padding:2.4vmin 0;
	font-size:8vmin;
	font-weight:700;
	color:#004744;
	color:#fff;
	line-height:1.4;
	letter-spacing:0.05em;
}
.main_gekkeiju img{
	margin-top:2.1vmin;
}








.contact_info{
	text-align:center;
	background-color:#F5F5F5;
}

.contact_info h2 {
	font-size: 6.4vmin;
	line-height: 1.6;
	margin-bottom: 6.4vmin;
	text-align:center;
}
.contact_info h2 img{
	width:70%;
}

.contact_info .detail{
	padding: 8vmin 0 12vmin;
	width: 100%;
	text-align: center;
}
.contact_info .btn {
    margin: 0 auto;
    width: 88%;
}
.contact_info .btn a {
    display: block;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 1.018em 0;
    box-sizing: border-box;
}
.contact_info .tel a {
    display: block;
    background: #f78133;
    /*
    max-width: 424px;
    height:64px;
    */
    width: 88%;
    margin: 0 auto;
    border-radius: 8px;
    /* box-shadow: 8px 8px 8px rgb(0 0 0 / 10%); */
    color: #FFF;
    font-weight:bold;
    padding: 0.6em 0;
    box-shadow: 0px 6px #c4580e;
    margin-bottom: 4vw;
    text-decoration: none;
}
.contact_info .tel a .sub {
    font-size: 3.6vmin;
    line-height: 1;
}
.contact_info .tel a .number {
	margin-top:4px;
    font-size: 8vmin;
    font-weight:bold;
    line-height:1;
    letter-spacing:0.04em;
    font-family: 'Roboto', "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact_info .tel a .number:before {
    content: "";
    background: url(./images/common/ico_free_white.svg) no-repeat left center/ contain;
    width: 36px;
    margin-right: 0.2em;
    vertical-align: -0.12em;
}



.contact_info .tel .attention {
    font-size: 3.2vmin;
    margin: 0.8vmin 0 2.4vmin;
	line-height:1.6;
}
.contact_info .tel .time {
    margin: 1.2vmin 0;
}
.contact_info .tel .notice {
    font-size: 3.2vmin;
    background: #fff;
    border-radius: 6px;
    margin-bottom: 4.8vmin;
    padding: 0.2em 0.6em 0.3em;
    display: inline-block;
	line-height:1.6;
}


.contact_info .mail a {
	font-size: 4.8vmin;
	box-shadow: 0px 7px #548235;
	/* box-shadow: 8px 8px 8px rgb(0 0 0 / 10%); */
	background: #5cca66;
	line-height:1.6;
	/*
	height:64px;
	*/
    padding: 0.85em;
	display: flex;
	align-items: center;
	justify-content: center;

}
.contact_info .mail a::before {
    content: "";
    background: url(./images/common/ico_mail.svg) no-repeat left center;
    display: inline-block;
    width: 32px;
    height: 1em;
    vertical-align: -0.1em;
    margin-right: 0.4em;
}











.top_news{

}
.top_news dl {
    width: 100%;
    margin: 0 auto 30px;
}
.top_news dt {
    padding: 0px;
    font-weight: normal;
}
.top_news dd {
    padding: 0 0 8px 0;
    border-bottom: 1px solid #ddd;
    margin-bottom: 8px;
}















/******************************************************************** topics
*/


.nav-links a{
	color:#888;
}

.entry-content{
	margin-bottom:40px;
}
.entry-footer{
	margin-top:20px;
}
.nav-links{
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
.page-numbers{
	margin:0 10px;
}
.navigation .nav-links .nav-next,
.navigation .nav-links .nav-previous {
	flex: 0 1 auto;
	margin-bottom: inherit;
	margin-top: inherit;
}

.navigation .nav-links .nav-next {
	text-align: right;
}
.navigation .svg-icon {
	display: inline-block;
	fill: currentColor;
	vertical-align: middle;
	position: relative;
}

.navigation .nav-previous .svg-icon,
.navigation .prev .svg-icon {
	top: -2px;
	margin-right: calc(0.25 * var(--global--spacing-unit));
}

.navigation .nav-next .svg-icon,
.navigation .next .svg-icon {
	top: -1px;
	margin-left: calc(0.25 * var(--global--spacing-unit));
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}


.entry-content h1{
	font-size:24px;
}
.entry-content h2{
	font-size:20px;
}
.entry-content h3{
	font-size:18px;
}
.entry-content h4{
	font-size:16px;
}
.entry-content h5{
	font-size:16px;
}
.entry-content h6{
	font-size:16px;
}

.article_date{
	margin-bottom:20px;
}
.entry-content p{
	margin:1rem 0;
}


.page_back{
	margin-top:20px;
	font-size:0.9em;
	text-align:center;
}










.service {
    display: block;
    margin:30px auto 50px;
}

.inview.bt.move{
     opacity:100;
    transform: translateY(0);
    transition: all .6s ease;
    transition-delay: .2s;
}
.service {
    position: relative;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    flex-direction: row-reverse;
}
.service .text_area {
    width: 100%;
}
.service .text_inr {
    width: 90%;
    max-width:200px;
}


.service .v_txt {
    margin-top: 50px;
}
.service .service_slide {
    width: 71.15%;
}
.service .service_slide .slick-dots{
    top:auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    bottom:0;
    left: auto;
    right: -18px;
}
.service .img_area {
    width: 728px;
    margin:0 5px;
}
.service .img_area img {
}

.service_list {
    position: relative;
    display: block;
    width: 100%;
	-js-display: flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
    margin-top: 0;
    min-height:695px;
}
.service_list .service_box {
    display: block;
    width: 100%;
    position: relative;
}
.service_list a.service_box {
    text-decoration:none;
}

.service_list .bg_area {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin:auto;
    width: 100%;
    height: 100%;
    z-index:1;
    background:url(./images/index/top_list_01_bg.jpg) center center;
    background-size:cover;
}
.service_list .service_box_02 .bg_area {
    background-image:url(./images/index/top_list_02_bg.jpg);
}
.service_list .service_box_03 .bg_area {
    background-image:url(./images/index/top_list_03_bg.jpg);
}

.service_list .bg_area:after{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index:2;
    /*
    background: rgb(228,62,139);
    background: linear-gradient(0deg, rgba(228,62,139,1) 0%, rgba(142,0,112,1) 53.0922%, rgba(2,8,100,1) 100%);
    */
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 53.0922%, rgba(255,255,255,1) 100%);
    opacity:.8;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
}





.service_list .bg_area:before{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index:2;
    background:#000;
    opacity:0;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    
}



.service_list .text_box{

    display: flex;
    align-items: center;
    justify-content: center; 
    color:#ffffff;
    height: 100%;
    
}
.service_list .num{
	margin-bottom:40px;
    position: relative;
    display: block;
    text-align: center;
    font-size: 14px;
    color:#fff;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
.service_list .num.pc_off{
     display:none;   
}
.service_list .service_box .num{
    color:#575757;
}
.service_list h3 {
    position: relative;
    display: block;
    font-size: 36px;
	font-family: 'Roboto', sans-serif;
	font-weight:normal;
    text-align: center;
    margin:25px auto 0;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}

.service_list p {
    position: relative;
    max-height: 0;
    visibility: hidden;
    opacity: 0;
    width: 90%;
    max-width:320px;
    margin:0 auto;
    font-size: 13px;
    line-height: 30px;
    letter-spacing: 0;
    z-index:10;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
.service_list .service_box p {
    position: relative;
    max-height:400px;
    margin-bottom: 43px;
    visibility: visible;
    opacity: 1;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
}
.service_list h4{
    position: relative;
    width: 195px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center; 
    box-sizing:border-box;
    background-color:#575757;
    letter-spacing: 0.04em;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;  
    font-weight:normal;
    z-index:10;
    margin:0 auto 50px;
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
}

.service_list h4 span{
    position: relative;
    display:inline-block;
    z-index:10;
    transition: color 0.5s cubic-bezier(.25, .46, .45, .94);
}


.service_list .service_box h4{
    background:#575757;
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
    color:#ffffff;
}

.service_list .service_box h4 span{
    color:#ffffff;
    transition: color 0.5s cubic-bezier(.25, .46, .45, .94);
    
}
.service_list .service_box  h4 span:after{
    transform: scale(1.3,1.3);
    background:#1e257d;
    transition: transform 0.5s cubic-bezier(.25, .46, .45, .94);
}

.service_list h4.comingsoon{
    background-color:#cccccc;
}
.service_list .service_box:hover h4.comingsoon{
    background:#ccc;
    transition: background 0.5s cubic-bezier(.25, .46, .45, .94);
    color:#575757;
}
a.comingsoon_box_link{
	color:#fafafa;
	display:block;
	text-align:center;
}
a.comingsoon_box_link img {
  -webkit-filter: invert(0.6);
  -ms-filter: invert(0.6);
  filter: invert(0.6);
}









/******************************************************************** sitemap
*/

.sitemap{
	margin:0 auto;
}
.sitemap_box{
}

.sitemap ul{
	margin-bottom:20px;
}
.sitemap ul li{
	position:relative;
	margin-bottom:15px;
	font-size:15px;
	padding-bottom:5px;
	border-bottom:1px solid #ccc;
}
.sitemap ul li a{
	padding-left:20px;
}
.sitemap ul li a:hover{
	padding-left:20px;
	opacity:0.7;
}
.sitemap ul ul{
	margin-top:12px;
	padding-left:20px;
}
.sitemap ul ul li{
	position:relative;
	margin-bottom:0 !important;
	padding-bottom:2px !important;
	font-size:14px;
	border:none;
}
.sitemap ul ul li a{
	padding-left:20px;
	color:#404040;
}
.sitemap ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 13px;
    left: 0;
    width: 5px;
    height: 5px;
    border-right: 1px solid #404040;
    border-bottom: 1px solid #404040;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}






.sitemap_dl dt a{
	position:relative;
	padding-left:25px;
}
.sitemap_dl dt a:before{
	position: absolute;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	content: "";
	display: inline-block;
	vertical-align: middle;
	border-style: solid;
	border-width: 0 1px 1px 0;
	vertical-align: middle;
	height: 5px;
	width: 5px;
	border-color:#0E1271;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 5px;
	top: 42%;
}





/*----------------------------------------------------
	労災は弁護士にご相談ください。
----------------------------------------------------*/
.about-contents{
	background-color:#F8F8EC;
}
ul.about_list{
	list-style-type: none;
	margin-bottom:20px;
    margin-top: 5vmin;
}
ul.about_list li{
    max-width: 780px;
    width: 100%;
    margin: 0 auto 4.2vmin;
	padding:4.2vmin 5.6vmin;
	background:#fff;
	border:4px solid #CEE9E5;
	border-radius:8px;
}
ul.about_list li .worry_ttl{
	display:flex;
    width: 100%;
}
ul.about_list li .worry_txt{
	font-size:0.9em;
}
ul.about_list li .worry_img{
    position: relative;
    z-index: 1;
    min-width: 64px;
    width: 64px;
    /*
    margin: 0 -18px 0 -20px;
    */
    margin-top: -7px;

}
ul.about_list li:nth-child(even) .worry_ttl {
    flex-direction: row-reverse;
}
ul.about_list li h3{
	color:#004744;
    font-size: 4.4vmin;
    padding-left:32px;
    background: url(./images/index/ico_check.png) left 0 top 4px no-repeat;
    line-height:1.6;
}
ul.about_list li p.txt{
	margin-top:0.4em;
}
.about_txt{
	margin:6.4vmin 5vmin 0;
    font-size: 4.6vmin;
	font-weight:bold;
	text-align:center;
	position: relative;
}
.about_txt:before{
	content: "“";
	position: absolute;
	top: -30px;
	left: 0;
	color: #c8eae5;
	font-size: 72px;
}
.about_txt:after{
	content: "”";
	position: absolute;
	right: 0;
	bottom: -60px;
	color: #c8eae5;
	font-size: 72px;
}


/*----------------------------------------------------
	TOP 労災に強い弁護士をお選びください
----------------------------------------------------*/

.point-contents{
}
.point-contents h2{
    position: relative;
    margin-bottom: 4.8vmin;
    font-size: 5vmin;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0;
    line-height:1.6;
}

/*----------------------------------------------------
	TOP 実際に解決した労災事例
----------------------------------------------------*/
.ex-contents{
	background: url(./images/index/bg_ex_sp.jpg) no-repeat center top/ contain;
}
.ex-contents .top_ex_box{
    margin-top: 4.8vmin;
	background-color:#004744;
    padding: 5vmin;
    border-radius:8px;
}
.ex-contents .top_ex_box .top_ex_case{
    color: #FFFF00;
    padding: 2.4vmin 0;
    text-align: center;
    font-size: 4.5vw;
    font-weight:bold;
    line-height: 1.6;
    border-radius:8px;
}
.top_ex_case_ttl{
	display:flex;
	justify-content:space-between;
    padding: 4.6vmin 4vmin;
}
.top_ex_case_ttl .top_ex_case_ttl_img{
	width:64px;
	margin-right:2px;
}
.choice_point_box h3 {
    color: #004744;
    background: #F8F8EC;
    padding: 5px 5px 5px;
    text-align: center;
    font-size: 4.2vw;
    line-height: 1.6;
}
.ex-contents .top_ex_box ul li {
    margin-top: 4.8vmin;
    background-color:#fff;
    border-radius:8px;
}

.ex-contents .top_ex_box ul li h3 {
    margin-bottom: 2vmin;
    font-size: 3.6vmin;
    text-align: center;
}
.ex-contents .top_ex_box ul li h4 {
    margin-bottom: 2vmin;
    font-size: 4.4vmin;
    text-align: center;
    color:#004744;
    background: #E5EDEA;
    border-radius: 8px 8px 0 0;
    padding: 10px 1px 10px 22px;
}
.ex-contents .top_ex_box ul li .txt_box{
    padding: 0 5vmin 4.6vmin;
}
.ex-contents .top_ex_box ul li p.txt {
    margin-top: 1em;
}
.ex_txt{
    margin-top: 4.8vmin;
    /*
    padding: 5.6vmin;
	background-color: rgba(255,255,255,0.8);
	*/
    padding: 3.2vmin;
	color:#fff;
    font-weight:bold;
}
.ex-contents .top_ex_box ul li.top_ex_case_point{
	position:relative;
	background-color:#F8F8EC;
}

.ex-contents .top_ex_box ul li.top_ex_case_point:after{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #F8F8EC;
}

.ex-contents .top_ex_box ul li.top_ex_case_point h4{
	position:relative;
	background-color:#ECDB78;
}
.ex-contents .top_ex_box ul li.top_ex_case_point h4 img{
	position:absolute;
	bottom:0;
	left:18px;
	width:56px;
}
.ex-contents .top_ex_box ul li.top_ex_case_kakutoku {
	padding:10px 2px;
	background-color:#FFEBFB;
}

/*----------------------------------------------------
	TOP 労災で弁護士を選ぶポイント
----------------------------------------------------*/
.choice_point{
	margin-top:6.2vw;
}
.choice_point_box_catch{
	margin-top:8vw;
	text-align:center;
	font-size: 4.2vmin;
	line-height:1.6;
}
.choice_point_box .point_box{
	margin-bottom:4.2vmin;
	padding:4.2vmin 4.2vmin 1vmin 4.2vmin;
	background:#004744;
	color:#fff;
	border-radius:8px;
}
.choice_point_box h3{
	color:#004744;
	text-align:center;
	font-size: 5.2vw;
	line-height:1.6;
	border-radius:4px;
}
.choice_point_box h3 span{
	font-size:4vmin;
	display:block;
	font-family: 'Roboto', "Noto Sans JP", sans-serif;
}
.choice_point .images {
	margin-top: 6vw;
}
.choice_point .images1 {
    position: relative;
}
.choice_point .images1 .bg {
    margin: 0;
}
.choice_point .images1 .text_box1 {
    position: absolute;
    top: 10%;
    left: 2vw;
}
.choice_point .images1 .text_box {
    background-color: rgba(0,71,68,0.8);
    padding: 0px 20px;
}
.choice_point .images1 .text_box h3 {
    background: #fff;
    display: inline;
    padding: 3px 10px;
    border: 3px solid #004744;
    font-size: 0.7rem;
    position: relative;
    top: -15px;
    border-radius:20px;
}

.choice_point .images1 .text_box .txt {
    color: #fff;
    margin: 0;
    position: relative;
    top: -9px;
    letter-spacing: 0.05rem;
    font-size: 1.2rem;
    line-height: 1.6;
}
.choice_point .images1 .text_box .txt {
    font-size: 3.4666666667vw;
}
.choice_point .images1 .text_box2 {
    position: absolute;
    bottom: 6%;
    right: 2vw;
}

.choice_point .images img{
    width:100%;
}



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

.lawyer-contents{
	background-color:#F8F8EC;
}
.lawyer-contents ul li {
    width: 88%;
    margin: 8vmin auto 0;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    text-align:center;
}
.lawyer-contents ul li .module {
    padding: 6.4vmin 4.8vmin;
    /* text-align: center; */
    font-size: 1rem;
}
.lawyer-contents ul li .module .position {
    font-size: 3.6vmin;
    font-weight: bold;
    color: #004744;
    margin-bottom: 0.8vmin;
}
.lawyer-contents ul li .module h3 {
    font-size: 6.4vmin;
    letter-spacing: 0.08em;
    line-height: 1.2;
}
.lawyer-contents ul li .module .belong {
    font-size: 3.6vmin;
}
.lawyer-contents ul li .module .belong {
    font-weight: bold;
    color: #5e5e5e;
}
.lawyer-contents ul li .module .txt {
    margin-top: 4vmin;
}
.lawyer-contents ul li .module .lawyer_txt {
    margin-top: 3.8vmin;
    font-size: 4vmin;
    /* font-weight: bold; */
    line-height:1.6;
	text-align: left;
}

/*----------------------------------------------------
	TOP 弁護士費用について
----------------------------------------------------*/
table.cost_table{
	width:100%;
    border: 1px #eee solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:0 auto;
}

table.cost_table th{
	width:50%;
    padding: 5px;
    border: #eee solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    font-weight: normal;
    text-align: center;
    color:#fff;
}
table.cost_table td{
    padding: 5px;
    border: 1px #eee solid;
    border-width: 0 0 1px 1px;
    background: #F3F8F6;
    text-align: center;
}
.cost_list{
    margin-top: 9.6vmin;
	margin-bottom:6.6vmin;
	display:flex;
	justify-content:space-between;
}
.cost_list li{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	padding:22px 0 10px;
	width:31%;
    font-size: 4.8vmin;
    font-weight: bold;
    line-height:1.6;
    background-color:#DEEBBA;
    color:#004744;
    text-align:center;
    border-radius:8px;
}
.cost_list li span.mini{
	display:block;
	font-size:0.7em;
	line-height:1.6;
}
.cost_list li:before{
	position:absolute;
	top:-22px;
	left:50%;
    content: '';
    background-image: url(./images/index/ico_kane.png);
    background-size:40px;
    width: 40px;
    height:40px;
    transform: translateX(-50%);
}

/*----------------------------------------------------
	TOP 労災の多くのケースで「じゅうぶんな補償・賠償」が受けられていません！
----------------------------------------------------*/
.ukerare-contents {
    background: url(./images/index/bg_ukerare_sp.jpg) no-repeat center top / contain #004744;
}


.oneArea {
	margin: 30px auto 0;
}
.oneArea .onebox:nth-child(even) {
	margin-top: 15px;
}
.oneArea .onebox .imgArea {
	width: 28%;
}
.oneArea .onebox:nth-child(even) .imgArea img {
    right: 0;
    padding-left: 25px;
}
.oneArea .onebox .fukidasi {
	padding: 12px 8px 12px 15px;
	font-size: 3.5vmin;
	font-weight:bold;
}
.oneArea .onebox .fukiArea {
	margin-top:5px;
}
.ukerare_txt_box{
	margin-top:5.2vmin;
    padding: 4.2vmin;
    border-right: none;
    background-color: #F8F8EC;
    border-radius: 8px;
   color: #141d1d;
}

.ukerare-contents h3{
	margin-top:6.5vmin;
    padding: 2vmin 2vmin 2.2vmin;
    font-weight: bold;
    text-align: center;
    color: #004744;
    background: #F8F8EC;
    text-align: center;
    font-size: 4.6vw;
    line-height: 1.6;
}

.ukerare-contents h4{
    margin-top: 1.6em;
    font-size: 4vmin;
    font-weight: bold;
    text-align: center;
}
.ukerare-contents .image {
    padding: 1em;
    border-radius: 4px;
    background: #fff;
}
.ukerare-contents .txt{

}

.ukerare-enman_ul{
    list-style-type: disc;
    padding-left: 3em;
    margin-bottom: 20px;
    font-size: 4.5vmin;
    font-weight: bold;
}

.arrow_bottom_l{
	position:relative;
	margin:5vmin auto;
	padding:25px 0 40px 0;
    font-size: 4.5vmin;
    font-weight: bold;
	text-align:center;
    background: url(./images/index/arrow_bottom_l.png) no-repeat center bottom/ contain;
}


/*----------------------------------------------------
	TOP 労災保険には、一生涯受けられる年金（障害補償年金）がある。
----------------------------------------------------*/
.nenkin_box{
/*
	background-color:#e9edc7;
	*/
	background-color:#fff;
    width: 100%;
    margin-top: 8vmin;
    padding: 4.8vmin;
    border-radius: 8px;
    font-size:1.1em;
}


/*----------------------------------------------------
	TOP こんなときどうすれば
----------------------------------------------------*/
.how-contents {
    background-color:#F8F8EC;
}

.how_list li span.number{
    font-size: 10vmin;
    display: block;
    font-family: 'Roboto', "Noto Sans JP", sans-serif;
}

p.how_list_btn {
    margin: 4.8vmin auto 0;
    width: 88%;
    max-width: 400px;
}


p.how_list_btn {
    display: block;
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
    color: #FFF;
    background: #004744;
    border-radius: 8px;
    padding: 1.018em 0;
    box-sizing: border-box;
    cursor:pointer;
}
p.how_list_btn {
    font-size: 3.8vmin;
    padding: 0.667em 0;
}
p.how_list_btn {
    background: #FFF;
    color: #004744;
    border: #004744 2px solid;
}
p.how_list_btn:after {
    content: "";
    background: url(./images/common/ico_arrow_bottom_white.svg) no-repeat left center;
    display: inline-block;
    width: 10px;
    height: 1em;
    vertical-align: -0.1em;
    margin-left: 0.5em;
}
p.how_list_btn:after {
    background: url(./images/common/ico_arrow_bottom_blue.svg) no-repeat left center;
}
p.how_list_btn:after {
    width: 10px;
    vertical-align: -0.15em;
}


.how_list_detail{
	display:none;
}







.qa_list dl.accordion { 
	width:100%;
	margin:0 auto;
	padding:0;
}
.qa_list dl.accordion dt {
	position: relative;
	margin-top:15px;
	padding:0 30px 0 0;
	background:#fff;
	line-height:1.8;
	color:#333;
	font-weight:normal;
	cursor:pointer;
	font-size:16px;
	text-indent:0;
	border:none;
	transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
}
.qa_list dl.accordion dt h3{
	width:100%;
	display:flex;
	align-items:stretch;
	align-content:stretch;
	font-size:15px;
}
.qa_list dl.accordion dt span{
	padding:8px 0 8px 0;
}
.qa_list dl.accordion dt span.s_q{
	margin-right:15px;
	font-size:24px;
	background:#999;
	color:#fff;
	display:block;
	flex-basis: 50px;
	text-align:center;
	padding:0 15px;
}
.qa_list dl.accordion dt.open span.s_q{
	background:#000;
}
.qa_list dl.accordion dt span.s_ttl{
	padding:8px 0 5px 0;
	flex-basis: auto;
}
	
.qa_list dl.accordion dt:last-of-type{
	border-bottom:none;
}
.qa_list dl.accordion dt::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-top: solid 8px #999;
     top: 50%;
     right: 15px;
     margin-top: -5px;
	transition: .3s;
	-moz-transition: .3s;
	-webkit-transition: .3s;
	-o-transition: .3s;
	-ms-transition: .3s;
}
.qa_list dl.accordion dt.open {
	background:#000;
	color:#fff;

}
.qa_list dl.accordion dt.open::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-bottom: solid 8px #fff;
     top: 50%;
     right: 15px;
     margin-top: -10px;
}
.qa_list dl.accordion dt h3{
	font-weight:normal;
}

.qa_list dl.accordion dt.open span{
	color:#ffffff;
}
.qa_list dl.accordion dd {
	background:#f5f5f5;
	padding:20px 20px 20px 62px;
	border:none;
	display:none;
}
.qa_list dl.accordion dd:last-of-type{
	border-bottom:none;
}








.how-contents ul {
    flex-direction: column;
}
.how-contents ul li {
    background: #FFF;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    box-sizing: border-box;
    padding: 5.6vmin 5.6vmin 8vmin;
    margin-top: 5.6vmin;
    position: relative;
    border-radius:8px;
}
.how-contents ul li h3 {
	color:#004744;
    font-size: 5.2vmin;
    text-align:center;
    margin-bottom: 2.4vmin;
}
/*
.how-contents ul li .txt {
    font-size: 3.8vmin;
}
*/



/*----------------------------------------------------
	TOP よくある質問
----------------------------------------------------*/
.faq-contents {
    background-color:#F8F8EC;
}

.faq-contents ul li {
    width: 100%;
    padding: 6vmin 4.2vmin;
    border-right: none;
    background-color:#fff;
    border-radius:8px;
}
.faq-contents ul li h3 {
    font-size: 2rem;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq-contents ul li h3 {
    font-size: 4.4vmin;
}

.faq-contents ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 2.5rem;
    margin: -0.2em 0.4em 0.2em 0;
}
.faq-contents ul li h3::before {
    font-size: 6.4vmin;
    margin-top: -0.3em;
}
.faq-contents ul li .txt {
    font-size: 3.8vmin;
    padding-left: 1.8rem;
}

/*----------------------------------------------------
	TOP 相談の流れ
----------------------------------------------------*/
.container .flow-contents{
	background: url(./images/index/bg_flow.jpg) no-repeat top center/ cover;
}
.flow-contents h2{

}
.flow-contents ul li {
    position: relative;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    width: 100%;
    margin-top: 8vmin;
	padding: 4.8vmin;
	border-radius:8px;
}
.flow-contents ul li::after {
    bottom: -36px;
}
.flow-contents ul li:after {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 16px solid #FFF;
    position: absolute;
    top: 50%;
    right: -11%;
    transform: translateY(-50%);
}
.flow-contents ul li:after {
    border-top: 12px solid #FFF;
    border-bottom: 12px solid transparent;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    position: absolute;
    top: auto;
    bottom: -35px;
    right: 50%;
    transform: translate(50%, -50%);
}
.flow-contents ul li:last-child:after {
	border:0;
}
.flow-contents ul li h3{
	font-size: 5.2vmin;
	margin-bottom: 2.4vmin;
	color:#004744;
	text-align:center;
}
.flow-contents ul li .flow-ico{
	margin-bottom: 4.2vmin;
	text-align:center;
}

/*----------------------------------------------------
	基礎知識
----------------------------------------------------*/
.ttl_knowledge{
	margin: 0 calc(50% - 50vw) ;
	width: 100vw;
}
.knowledge_grid_2{

}
.knowledge_grid_2_l{

}
.knowledge_grid_2_r{
	margin-top:30px;
}
.knowledge_grid_2_l img, .knowledge_grid_2_r img{

}

table.knowledge_table{
	width:880px;
    border: 1px #cccccc solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:0 5px 30px auto;
}
table.knowledge_table th{
    padding: 10px 10px 10px 10px;
    border: #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #004744;
    color:#fff;
    font-weight: normal;
    text-align: center;
}
table.knowledge_table td{
    padding: 10px 10px 10px 10px;
    border: 1px #cccccc solid;
    border-width: 0 0 1px 1px;
    background: #ffffff;
}
table.knowledge_table td.table_item{
    background: #E5EDEA;
    text-align:center;
}


/*----------------------------------------------------
	解決事例
----------------------------------------------------*/
.caseArea {
	padding: 15px 4vw;
	background: #FFF;
	margin-left:2px;
	margin-bottom: 8vmin;
}
.caseData {
	background: transparent;
	padding: 0;
	margin-left: 0;
}
.caseData h3 {
	box-sizing: border-box;
	font-size: 4.8vmin;
	padding: 2.4vmin;
	margin: 0px 0 10px -7vw;
	width: 109%;
	margin-bottom: 0px !important;
}
.caseData h3:before {
    position: absolute;
    content: '';
    left: 0;
    bottom: -9px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-top: 10px solid #181818;
}

#main h2.tax_tit {
	font-size: 4.8vmin;
	margin-bottom: 0;
}

.caseData .name_Box {
	border-bottom: none;
	margin-bottom: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 6% 0;
}

.caseData .name_Box .name {
	background: transparent;
	padding: 0;
	float: none;
	display: block;
	margin-bottom: 0px !important;
	width: 100%;
	margin: 0 auto;
}

.caseData .name_Box .name img {
	margin-bottom: 15px !important;
}

.caseData .illness {
	width: 94%;
	float: none;
	margin: 0 auto;
}

.caseData .illness dl {
	margin-top: 0;
}

.caseData .illness dt {
	font-size: 14px;
	width: 7em;
	margin-bottom:4px;
}

.caseData .illness dd {
	font-size: 14px;
	width: 24em;
	margin-bottom:4px;
}
.caseData table {
	margin-bottom:10px;
	font-size: 4.4vmin;
    border-collapse:collapse
}
.caseData tr {
    border-top: 1px solid #CCC;
}
.caseData th {
	width: 62%;
	text-align: left;
	padding: 10px 5px;
	padding-left: 15px;
	font-weight:bold;
	font-size: 4.2vmin;
}

.caseData .price th {
	padding: 10px 5px;
	padding-left: 15px;
	font-weight:bold;
}

.caseData td {
	border: none;
	padding: 10px 5px;
	padding-right: 15px;
	font-weight:bold;
}

.caseData .data {
	padding: 2.4vmin;
	text-align: center;
	background: #FDFEE2;
	font-size: 4.8vmin;
	margin: 0 !important;
	margin-top: 15px !important;
}

#main .caseData table {
	margin-bottom: 15px !important;
}

.caseData .pre {
	width: 100%;
	float: none;
	color: #004744;
	font-size: 4.4vmin;
	font-weight: bold;
	padding: 1.6vmin;
	text-align: center;
	box-sizing: border-box;
	border: none;
}

.caseArea:hover,
.caseArea_ind:hover {
	opacity: 1;
	cursor: auto;
}


#blogArea .body {
/*
	padding: 5vmin 4vmin;
*/
	margin: 0;
}
#blogArea .case_textarea{
	border: 5px solid #E6E4DA;
	padding: 0 4vmin 5vmin 4vmin;
	margin: 5vmin 0;
	border-radius:8px;
}
#blogArea .case_textarea2{
	border: 5px solid #E6E4DA;
	padding: 0 4vmin 5vmin 4vmin;
	margin: 5vmin 0;
	border-radius:8px;
	background-color:#E5EDEA;
}
#blogArea .case_textarea3{
	border: 5px solid #E6E4DA;
	padding: 0 4vmin 5vmin 4vmin;
	margin: 5vmin 0;
	border-radius:8px;
	background-color:#fff5d9;
}
#blogArea .case_textarea h2,
#blogArea .case_textarea2 h2,
#blogArea .case_textarea3 h2{
	width: calc(90vw - 10px);
	margin: 0 calc(50% - 45vw + 5px) 5vmin;
	padding:15px;
	background-color:#004744;
	color:#fff;
	font-size:5vmin;
	border-radius:4px 4px 0 0;
}
#blogArea h3 {
	margin-bottom:2.4vmin;
	padding: 2.4vmin;
}

#blogArea h3 strong {
	font-size: 4.2vmin;
}
.single-case #blogArea .post p, .search-results #blogArea .post p {
	font-size: 4vmin;
}

#blogArea .case_textarea3 h2{
	background-color:#82642c;
}

#blogArea .case_textarea3 h3{
	background:none !important;
	color:#CC0000;
}

.lawyer_ico_sec{
	display:flex;
}
.lawyer_ico_sec .lawyer_ico_sec_img{
	width:80px;
	margin-right:10px;
}
.lawyer_ico_sec .lawyer_ico_sec_img img{
	width:100%;
}
.lawyer_ico_sec .lawyer_ico_sec_txt{
	flex:1;
}
/*----------------------------------------------------
	弁護士費用
----------------------------------------------------*/

table.table_fee{
	width:100%;
    border: 1px #cccccc solid;
    border-bottom: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin:20px 0 20px 0;
}
table.table_fee th{
    width: 50%;
    position: relative;
    padding: 8px;
    border: #cccccc solid;
    border-width: 0 1px 1px 0;
    background: #004744;
    color:#fff;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
}
table.table_fee td{
    width: 50%;
    position: relative;
    padding: 8px 5px;
    border: 1px #cccccc solid;
    border-width: 0 1px 1px 0;
    font-weight: bold;
    font-size:0.9em;
}


#fee .oneArea .onebox .fukidasi {
	background-color: #FCEEB4;
}
#fee .oneArea .onebox .fukidasi::before {
	border-color: transparent #FCEEB4 transparent transparent;
}
#fee .oneArea .onebox:nth-child(even) .fukidasi {
  background-color: #FCEEB4;
}
#fee .oneArea .onebox:nth-child(even) .fukidasi::before {
  border-color: transparent #FCEEB4 transparent transparent;
}


.fee_shikumi{

}
.fee_shikumi .shikumi_img{
	margin-bottom:4.2vmin;
}
.fee_shikumi .shikumi_img img{

}
.fee_shikumi .shikumi_txt{

}
.fee_shikumi .shikumi_txt li{
	margin:4px 0;
	font-weight:bold;
}
.fee_shikumi .shikumi_txt ul{
	margin-bottom:0;
}
.shikumi_txt {
    margin-top: 5.2vmin;
    padding: 4.2vmin;
    border-right: none;
    background-color: #F8F8EC;
    border-radius: 8px;
}
#fee .point_box{
    margin-top: 10vmin;
    padding: 4.2vmin;
    border-right: none;
    background-color: #F8F8EC;
    border-radius: 8px;
}
#fee .point_box .point{
	font-size:4.2vmin;
	font-weight: 700;
	position: relative;
	display: block;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	border-radius: 50px;
    color:#fff;
	background: #004744;
}


.cost_attention{
	margin:4.2vmin 0 4.2vmin;
	background: #FFF0F4;
    padding: 4.2vmin;
	border-radius: 8px;
}
.cost_attention h4{
	text-align: center;
	color: #CC0000;
	font-size: 4.8vmin;
	margin-bottom: 4.2vmin;
}



.faq_sec ul li h3 {
    font-size: 4.4vmin;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq_sec ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 6.4vmin;
    margin: -0.2em 0.4em 0.2em 0;
}
.faq_sec ul li .txt {
	margin-top:1em;
    font-size: 3.8vmin;
    padding-left: 1.8rem;
}


/*----------------------------------------------------
	事務所紹介
----------------------------------------------------*/






ul.lawyers_list{

}
ul.lawyers_list li{
    width: 88%;
    margin: 8vmin auto 0;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
    text-align:center;
}
ul.lawyers_list p.photo{

}
ul.lawyers_list p.photo_mimaya{

}
ul.lawyers_list .photo img, ul.lawyers_list p.photo_mimaya img{
	width: 100%;
}
ul.lawyers_list .module{
    padding: 6.4vmin 4.8vmin;
    text-align: center;
    font-size: 1rem;
}
ul.lawyers_list p.position{
    font-size: 3.6vmin;
    font-weight: bold;
    color: #004744;
    margin-bottom: 1vmin;
}
ul.lawyers_list h3{
    font-size: 6.4vmin;
    letter-spacing: 0.08em;
    line-height: 1.2;
}
ul.lawyers_list h3 span{
    margin-bottom: 1vmin;
	display:block;
    font-size: 1rem;
    letter-spacing: 0.01em;
}
ul.lawyers_list p.belong{
    font-weight: bold;
    color: #5e5e5e;
}
ul.lawyers_list .txt {

}
ul.lawyers_list .lawyer_txt {
    margin-top: 3.8vmin;
    text-align:left;
}



/*----------------------------------------------------
	よくある質問
----------------------------------------------------*/
.faq {
    background-color:#F8F8EC;
    margin-botom:6.2vmin;
    padding:4.2vmin;
}

.faq ul li {
    width: 100%;
    padding: 6vmin 4.2vmin;
    border-right: none;
    background-color:#fff;
    border-radius:8px;
}
.faq ul li h3 {
    font-size: 2rem;
    margin-bottom: 16px;
    line-height: 1.4;
    display: flex;
}
.faq ul li h3 {
    font-size: 4.4vmin;
}

.faq ul li h3:before {
    content: "Q";
    color: #004744;
    font-size: 2.5rem;
    margin: -0.2em 0.4em 0.2em 0;
}
.faq ul li h3::before {
    font-size: 6.4vmin;
    margin-top: -0.3em;
}
.faq ul li .txt {
    font-size: 3.6vmin;
    padding-left: 1.8rem;
}


/*----------------------------------------------------
  相談の流れ
----------------------------------------------------*/
.timing_box{
    padding: 4.8vmin;
	background: #004744;
	border-radius:8px;
}
.timing_box h3{
    font-size: 5vmin;
    margin-bottom: 3.6vmin;
	color:#fff;
}
.timing_box_txt{
	margin-bottom:0;
    padding: 4.8vmin 4.8vmin 2vmin 4.8vmin;
	background: #fff;
	border-radius:8px;
}



.flow_list ul li {
    width: 30%;
    position: relative;
    background: #FFF;
    box-sizing: border-box;
    box-shadow: 8px 8px 8px rgb(0 0 0 / 10%);
}
.flow_list ul li {
    width: 100%;
    margin-top: 8vmin;
	padding: 4.8vmin;
	border-radius:8px;
}
.flow_list ul li::after {
    bottom: -36px;
}
.flow_list ul li:after {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 16px solid #FFF;
    position: absolute;
    top: 50%;
    right: -11%;
    transform: translateY(-50%);
}
.flow_list ul li:after {
    border-top: 12px solid #FFF;
    border-bottom: 12px solid transparent;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    position: absolute;
    top: auto;
    bottom: -35px;
    right: 50%;
    transform: translate(50%, -50%);
}
.flow_list ul li:last-child:after {
	border:0;
}
.flow_list ul li h3{
	font-size: 5.2vmin;
	margin-bottom: 2.4vmin;
	color:#004744;
	text-align:center;
}
.flow_list ul li .flow-ico{
	margin-bottom: 4.2vmin;
	text-align:center;
}


/*----------------------------------------------------
	お問い合わせ
----------------------------------------------------*/








/*----------------------------------------------------
	サイトマップ
----------------------------------------------------*/





/*----------------------------------------------------
	プライバシーポリシー
----------------------------------------------------*/
dl.privacy{

}
dl.privacy dt{
	margin-bottom:8px;
	font-size:16px;
	font-weight:bold;
	color:#004744;
}
dl.privacy dd{
	margin-bottom:30px;
}



}




.main-visual {
	background-color: #F8F8EC;
}
.main-visual .main-visual_img img {
	width: 100%;
	height: auto;
}
.main-visual_top {
	padding: 3rem 0 3rem 0;
}
.main-visual_top h1 {
	font-size: 2.4rem;
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.2;
    padding: 1.5rem 3.5rem;
    background: #004844;
    color: #fff;
    display: inline-block;
    margin-bottom: 1.5rem;
    margin-left: 4rem;
}
.main-visual_top ul {
	display: flex;
	column-gap: 2rem;
    margin-bottom: 3rem;
    padding-left: 4rem;
}
.main-visual_top ul li {
	background: #fff;
	color: #231815;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    box-shadow: 7px 7px 0px 0px rgba(217, 217, 217, 1);
    padding: 1.5rem 1.5rem 1rem 1.5rem;
}
.main-visual_top .txt1 {
	font-size: 5rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    margin-left: 6rem;
}
.main-visual_top .txt1 ruby rt {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.25em;
	text-align: center;
}
.main-visual_top .txt2 {
	font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0;
    margin-left: 6rem;
}
.main-visual .main-visual_middle {
	position: relative;
	padding: 2.5rem 0 2.2rem 0;
	color: #fff;
	background: linear-gradient(to bottom, rgba(32,95,96,1) 0%, rgba(14,82,80,1) 50%, rgba(1,72,68,1) 100%);
}
.main-visual .main-visual_middle .inner {
	position: relative;
}
.main-visual .main-visual_middle .main-visual_img {
	width: 25.5rem;
	/*max-width: 405px;*/
    position: absolute;
    right: 1rem;
    bottom: -2.2rem;
    margin: 0;
}
.main-visual .main-visual_middle .main-visual_img span {
	display: inline-block;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    background: rgba(0, 0, 0, 0.85);
    position: absolute;
    left: 5rem;
    bottom: 1rem;
    padding: 0.5rem 4rem;
}
.main-visual .main-visual_middle p {
	font-size: 1.8rem;
	line-height: 1.46875;
	letter-spacing: 0.05em;
	margin-bottom: 1vmin;
	margin-left: 4rem;
}
.main-visual .main-visual_middle h2 {
	display: flex;
    flex-flow: column;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.025em;
    margin-left: 4rem;
}
.main-visual .main-visual_middle h2 > span {
	display: inline-block;
}
.main-visual .main-visual_middle h2 > span > span {
	color: #FFF000;
}
.main-visual .main-visual_bottom {
	padding: 2vmin 0;
	background: url(./images/index/mv_bg.png) no-repeat center top / cover;
}
.main-visual .main-visual_bottom .inner {
	display: flex;
	justify-content: center;
	align-items: center;
}
.main-visual .main-visual_bottom .ctn {
	background: rgba(0,0,0,0.49);
	width: 100%;
	max-width: 45rem;
	padding: 1.5rem 5rem 1.5rem;
}
.main-visual .main-visual_bottom .ctn p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.46875;
	letter-spacing: 0.025em;
	color: #fff;
}
@media (min-width: 1025px) and (max-width: 1250px) {
	.main-visual .main-visual_middle .main-visual_img {
		width: 30.5vw;
		right: 0;
	}
}
/*@media (min-width: 1025px) and (max-width: 1230px) {
	.main-visual_top h1 {
		font-size: 3.8vmin;
	}
	.main-visual_top ul li {
	    font-size: 2.2vmin;
	}
	.main-visual_top .txt1 {
		font-size: 6.8vmin;
	}
	.main-visual_top .txt1 ruby rt {
		font-size: 1.8vmin;
	}
	.main-visual_top .txt2 {
		font-size: 5.8vmin;
	}
	.main-visual .main-visual_middle .main-visual_img {
		width: 35.5vmin;
		right: -3vmin;
	}
	.main-visual .main-visual_middle .main-visual_img span {
		font-size: 1.8vmin;
	}
	.main-visual .main-visual_middle p {
		font-size: 2.6vmin;
	}
	.main-visual .main-visual_middle h2 {
		font-size: 3.8vmin;
	}
	.main-visual .main-visual_bottom .ctn p {
		font-size: 2.6vmin;
	}
}*/
@media screen and (min-width: 1200px) {
	.main-visual .inner {
	    width: 92%;
	    max-width: 1200px;
	    position: relative;
	    margin: 0px auto;
	}
}
@media screen and (max-width:1024px) {
	.main-visual {
		padding-top:56px;
	}
	.main-visual_top {
		padding: 3.2vw 0 10vw 0;
	}
	.main-visual_top h1 {
		display: block;
		font-size: 4.5vw;
        width: 78vw;
        padding: 2.2vw 5vw;
        margin: 0 auto 3vw;
	}
	.main-visual_top ul {
		padding: 0 4vw;
		flex-flow: row wrap;
		justify-content: space-between;
		column-gap: unset;
		margin-bottom: 8.2vw;
	}
	.main-visual_top ul li {
		background: #fff;
		width: 27vw;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 2.2vw 0;
		font-size: 4vw;
	}
	.main-visual_top .txt1 {
		font-size: 8.3vw;
	    padding-left: 4vw;
	    margin-left: 0;
	}
	.main-visual_top .txt1 ruby rt {
		font-size: 2.8vw;
	}
	.main-visual_top .txt2 {
		font-size: 6.6vw;
	    padding-left: 5vw;
	    margin-left: 0;
	}
	.main-visual .main-visual_middle {
		padding: 5vw 0 5.5vw 4vw;
	}
	.main-visual .main-visual_middle .inner {
		position: static;
	}
	.main-visual .main-visual_middle .main-visual_img {
		width: 34vw;
	    right: 2.5vw;
	    bottom: 0;
	}
	.main-visual .main-visual_middle .main-visual_img span {
		font-size: 3.4vw;
	    left: 4.5vw;
	    bottom: 2.8vw;
	    padding: 1vw 2.5vw;
	}
	.main-visual .main-visual_middle p {
		font-size: 3.8vw;
	    line-height: 1.25;
	    margin-bottom: 2vw;
	    margin-left: 0;
	}
	.main-visual .main-visual_middle h2 {
		font-size: 3.8vw;
		margin-left: 0;
	}
	.main-visual .main-visual_bottom {
		padding: 3vw 0 3.5vw;
		background: url(./images/index/mv_bg_sp.png) no-repeat center top / cover;
	}
	.main-visual .main-visual_bottom .ctn {
	    width: 96vw;
	    max-width: unset;
	    padding: 3.5vw 10.5vw;
	}
	.main-visual .main-visual_bottom .ctn p {
		font-size: 4.3vw;
	    line-height: 1.4;
	}
}

.contact_info {
	background: #F8F8EC;
}

.must.none {
	background-color: #999;
    border-color: #999;
}


.js-accodion .js-accodion_ctn {
	display: none;
	background: #f1f1f1;
	padding: 20px;
	margin-top: 20px;
}
.js-accodion .js-accodion_ttl {
	margin-bottom: 0;
	cursor: pointer;
	position: relative;
	padding-right: 60px;
}
.js-accodion .js-accodion_ttl::after {
	position: absolute;
	content: '';
	width: 50px;
	height: 50px;
	right: 0;
	top: 50%;
	margin-top: -10px;
	transform: translateY(-50%) rotate(90deg);
	background: url(./images/common/arrow-circle.svg) left top no-repeat;
	background-size: cover;
}
.js-accodion .js-accodion_ttl.open::after {
	transform: translateY(-50%) rotateZ(-90deg);
}
.cost-contents .aC .link2 {
	font-size: 24px;
}
@media screen and (max-width:1024px) {
	.js-accodion .js-accodion_ttl {
		padding-right: 8vmin;
	}
	.js-accodion .js-accodion_ttl::after {
		width: 8vmin;
		height: 8vmin;
	}
	.cost-contents .aC .link2 {
		font-size: 18px;
	}
	.faq ul li + li {
		margin-top: 4.2vmin;
	}
	.mb6win-sp {
		margin-bottom: 6vmin !important;
	}
}
.pt0 {
	padding-top: 0 !important;
}