@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	各固定ページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	body直下にid名「wrapper」のdivがあります。
	こちらには、固定ページごとに異なるclass名(post-〇)が付与されますので、
	ご活用ください。
	
	【例】
	<body>
	<div id="wrapper" class="post-2 page type-page status-publish has-post-thumbnail hentry">

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ================================================================================

	レイアウト

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper{
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
/* 		min-height: 50vh; */
		display: block;
		margin: 0 auto;
	    max-width: 1100px;
	}

	.inner_wrap {
		position: relative;
		width: 100%;
		margin: 0 auto;
	}
	p {
		font-size: 18px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
    	width: 100%;
/* 			min-height: 50vh; */
	}

	.inner_wrap {
		position: relative;
		width: 100%;
		padding: 0 4vw;
	}
}





/* ================================================================================

	メイン画像

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_cate {
		position: relative;
		background: var(--gradation);
		color: #fff;
	}
	.main_cate_in {
		position: relative;
	}

	/* メイン画像のタイトル */
	.main_cate_in p {
			padding: 6vw 4vw;
			font-size: 4vw;
			font-weight: 700;
			text-align: center;
}
		.cate_h3 {
				font-size: 1.5rem;
				letter-spacing: .1em;
				margin-bottom: 2em;
				padding-bottom: 24px;
				border-bottom: solid 2px;
				border-image: linear-gradient(to right, #ff3737, #ce0000) 1;
	}
		.cate_h3_2 {
			margin-top: 2em;
			padding-bottom: 1em;
			position: relative;
			font-size: 2vw;
	}
		.cate_h3_2:after {
			content: '';
			width: 60px;
			height: 2px;
			background-color: var(--main-color);
			position: absolute;
			left: 0;
			bottom: 0;
	}
	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
.main_cate {
		position: relative;
		background: var(--gradation);
		color: #fff;
	    margin-top: 60px;
	}
	.main_cate_in {
		position: relative;
	}

	/* メイン画像のタイトル */
	.main_cate_in p {
			padding: 12vw 4vw;
    		font-size: 6vw;
			font-weight: 700;
			text-align: center;
}
		.cate_h3 {
			font-size: 1.8rem;
			letter-spacing: .1em;
			margin-bottom: 2em;
			padding-bottom: 18px;
			border-bottom: solid 2px;
			border-image: linear-gradient(to right, #ff3737, #ce0000) 1;
	}
		.cate_h3_2 {
			margin-top: 2em;
			padding-bottom: 1em;
			position: relative;
			font-size: 2vw;
	}
		.cate_h3_2:after {
			content: '';
			width: 60px;
			height: 2px;
			background-color: var(--main-color);
			position: absolute;
			left: 0;
			bottom: 0;
	}

	/* メイン画像のタイトル */
	.main_cate_in p {
	}
		.cate_h3 {
			font-size: 4.5vw;
			letter-spacing: .1em;
			padding-bottom: 18px;
			border-bottom: solid 2px;
			border-image: linear-gradient(to right, #ff3737, #ce0000) 1;
			margin-bottom: 8vw;
	}
}











/* ================================================================================

	セクション

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* 2カラム
	----------------------------------------------- */
	.col2_1,
	.col2_1_long,
	.col2_1_middle,
	.col2_1_short,
	.col2_1_vshort,
	.col2_1_mshort {
		margin-right: 20px;
	}
	.col2_2,
	.col2_2_long,
	.col2_2_middle,
	.col2_2_short,
	.col2_2_vshort,
	.col2_2_mshort {
		margin-left: 20px;
	}

	/* 3カラム
	----------------------------------------------- */
	.col3_1 {
		margin-right: 20px;
	}
	.col3_2 {
		margin-left: 10px;
		margin-right: 10px;
	}
	.col3_3 {
		margin-left: 20px;
	}

	/* 3カラム画像トリミング */
	.col3_1 img,
	.col3_2 img,
	.col3_3 img {
		width: 100%;
		height: 209px;
		object-fit: cover;
		font-family: 'object-fit: cover;'; /* IE対策 */
		object-position: center top;
	}

}




/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* 2カラム
	----------------------------------------------- */
	.col2_1 {
	}
	.col2_1_long {
		margin-top: 16vw;
	}
	.col2_1_middle {
		margin-top: 12vw;
	}
	.col2_1_short {
		margin-top: 8vw;
	}
	.col2_1_vshort {
		margin-top: 4vw;
	}
	.col2_1_mshort {
		margin-top: 3vw;
	}

	.col2_2 {
	}
	.col2_2_long {
		margin-top: 16vw;
	}
	.col2_2_middle {
		margin-top: 12vw;
	}
	.col2_2_short {
		margin-top: 8vw;
	}
	.col2_2_vshort {
		margin-top: 4vw;
	}
	.col2_2_mshort {
		margin-top: 3vw;
	}

	/* 3カラム
	----------------------------------------------- */
	.col3_1 {
		margin-top: 0;
	}
	.col3_2,
	.col3_3 {
		margin-top: 12vw;
	}

	/* 3カラム画像トリミング */
	.col3_1 img,
	.col3_2 img,
	.col3_3 img {
		width: 100%;
		height: 61vw;
		object-fit: cover;
		font-family: 'object-fit: cover;'; /* IE対策 */
		object-position: center top;
	}

}





/* ================================================================================

	マージンボックス

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* 上にマージンを空ける
	----------------------------------------------- */
	.top_long {
		margin-top: 120px;
	}
	.top_middle {
		margin-top: 80px;
	}
	.top_short {
		margin-top: 40px;
	}
	.top_vshort {
		margin-top: 20px;
	}
	.top_mshort {
		margin-top: 10px;
	}

	/* 下にマージンを空ける
	----------------------------------------------- */
	.bottom_long {
		margin-bottom: 120px;
	}
	.bottom_middle {
		margin-bottom: 80px;
	}
	.bottom_short {
		margin-bottom: 40px;
	}
	.bottom_vshort {
		margin-bottom: 20px;
	}
	.bottom_mshort {
		margin-bottom: 10px;
	}

}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* 上にマージンを空ける
	----------------------------------------------- */
	.top_long {
		margin-top: 16vw;
	}
	.top_middle {
		margin-top: 12vw;
	}
	.top_short {
		margin-top: 8vw;
	}
	.top_vshort {
		margin-top: 4vw;
	}
	.top_mshort {
		margin-top: 3vw;
	}

	/* 下にマージンを空ける
	----------------------------------------------- */
	.bottom_long {
		margin-bottom: 16vw;
	}
	.bottom_middle {
		margin-bottom: 12vw;
	}
	.bottom_short {
		margin-bottom: 8vw;
	}
	.bottom_vshort {
		margin-bottom: 4vw;
	}
	.bottom_mshort {
		margin-bottom: 3vw;
	}

}




/* ================================================================================

	パディングボックス

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* 上にパディングを空ける
	----------------------------------------------- */
	.p_top_long {
		padding-top: 120px;
	}
	.p_top_middle {
		padding-top: 80px;
	}
	.p_top_short {
		padding-top: 40px;
	}
	.p_top_vshort {
		padding-top: 20px;
	}
	.p_top_mshort {
		padding-top: 10px;
	}

	/* 下にパディングを空ける
	----------------------------------------------- */
	.p_bottom_long {
		padding-bottom: 120px;
	}
	.p_bottom_middle {
		padding-bottom: 80px;
	}
	.p_bottom_short {
		padding-bottom: 40px;
	}
	.p_bottom_vshort {
		padding-bottom: 20px;
	}
	.p_bottom_mshort {
		padding-bottom: 10px;
	}

	/* 両方にパディングを空ける
	----------------------------------------------- */
	.row_long {
		padding-top: 120px;
		padding-bottom: 120px;
	}
	.row_middle {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.row_short {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.row_vshort {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.row_mshort {
		padding-top: 10px;
		padding-bottom: 10px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* 上にパディングを空ける
	----------------------------------------------- */
	.p_top_long {
		padding-top: 16vw;
	}
	.p_top_middle {
		padding-top: 12vw;
	}
	.p_top_short {
		padding-top: 8vw;
	}
	.p_top_vshort {
		padding-top: 4vw;
	}
	.p_top_mshort {
		padding-top: 3vw;
	}

	/* 下にパディングを空ける
	----------------------------------------------- */
	.p_bottom_long {
		padding-bottom: 16vw;
	}
	.p_bottom_middle {
		padding-bottom: 12vw;
	}
	.p_bottom_short {
		padding-bottom: 8vw;
	}
	.p_bottom_vshort {
		padding-bottom: 4vw;
	}
	.p_bottom_mshort {
		padding-bottom: 3vw;
	}

	/* 両方にパディングを空ける
	----------------------------------------------- */
	.row_long {
		padding-top: 16vw;
		padding-bottom: 16vw;
	}
	.row_middle {
		padding-top: 12vw;
		padding-bottom: 12vw;
	}
	.row_short {
		padding-top: 8vw;
		padding-bottom: 8vw;
	}
	.row_vshort {
		padding-top: 4vw;
		padding-bottom: 4vw;
	}
	.row_mshort {
		padding-top: 3vw;
		padding-bottom: 3vw;
	}


	/* 背景色を伸ばす
	----------------------------------------------- */
	.row_sp {
		padding-left: 4vw !important;
		padding-right: 4vw !important;
	}
}




/* ================================================================================

	カラーボックス

================================================================================ */

/* カラー01 */
.row_c01 {
	background: url(../img/spacer.gif) center top / auto auto repeat ,#f5f5f5;
	color: inherit;
}

/* カラー02 */
.row_c02 {
	background: url(../img/spacer.gif) center top / auto auto repeat ,#444444;
	color: #ffffff;
}

/* ボーダー囲い色 */
.box_border {
	border-color: #cccccc;
}


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* カラー01 */
	.row_c01 {
	}

	/* カラー02 */
	.row_c02 {
	}

	/* ボーダー囲い */
	.box_border {
		padding: 40px;
		border-style: solid;
		border-width: 4px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* カラー01 */
	.row_c01 {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	/* カラー02 */
	.row_c02 {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	/* ボーダー囲い */
	.box_border {
		padding: 4vw;
		border-style: solid;
		border-width: 4px;
	}
}




/* ================================================================================

	見出し

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* h2見出し
	----------------------------------------------- */
	h2 {
	  text-align: center;
      margin-bottom: 60px;
	}
	.h2_cate {
		border-bottom: 3px solid;
		padding: 0 0 12px 0 !important;
	}
	.h2_cate h2 {
		font-size: 32px;
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		color: inherit;
	}
	.row_c01 .h2_cate h2 {
		color: inherit;
	}
	.row_c02 .h2_cate h2 {
		color: #ffffff;
	}

	/* h3見出し
	----------------------------------------------- */
	.h3_cate {
		border-bottom: 1px solid;
		padding: 0 0 8px 0 !important;
	}
	.h3_cate h3 {
		font-size: 26px;
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		color: inherit;
	}
	.row_c01 .h3_cate h3 {
		color: inherit;
	}
	.row_c02 .h3_cate h3 {
		color: #ffffff;
	}

	/* 3カラムh3見出し
	----------------------------------------------- */
	.h3_col3 {
		border-bottom: 1px dotted;
		padding: 0 0 8px 0 !important;
	}
	.h3_col3 h3 {
		font-size: 20px;
		font-weight: 500;
		line-height: 1.4;
		color: inherit;
	}
	.row_c01 .h3_col3 h3 {
		color: inherit;
	}
	.row_c02 .h3_col3 h3 {
		color: #ffffff;
	}

}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* h2見出し
	----------------------------------------------- */
	h2 {
	  text-align: center;
      margin-bottom: 30px;
	}
	.h2_cate {
		border-bottom: 3px solid;
		padding: 0 0 2vw 0 !important;
	}
	.h2_cate h2 {
		font-size: 5.5vw;
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		color: inherit;
	}
	.row_c01 .h2_cate h2 {
		color: inherit;
	}
	.row_c02 .h2_cate h2 {
		color: #ffffff;
	}

	/* h3見出し
	----------------------------------------------- */
	.h3_cate {
		border-bottom: 1px solid;
		padding: 0 0 1.5vw 0 !important;
	}
	.h3_cate h3 {
		font-size: 4.5vw;
		font-weight: 500;
		line-height: 1.4;
		text-align: center;
		color: inherit;
	}
	.row_c01 .h3_cate h3 {
		color: inherit;
	}
	.row_c02 .h3_cate h3 {
		color: #ffffff;
	}

	/* 3カラムh3見出し
	----------------------------------------------- */
	.h3_col3 {
		border-bottom: 1px dotted;
		padding: 0 0 1vw 0 !important;
	}
	.h3_col3 h3 {
		font-size: 4vw;
		font-weight: 500;
		line-height: 1.4;
		color: inherit;
	}
	.row_c01 .h3_col3 h3 {
		color: inherit;
	}
	.row_c02 .h3_col3 h3 {
		color: #ffffff;
	}

}




/* ================================================================================

	共通ボタン

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* リンク
	----------------------------------------------- */
	.link_common {
	}
	.link_common ul {
		font-size: 0;
		letter-spacing: -0.4em;
		text-align: center;
	}
	.link_common ul li {
		display: inline-block;
		font-size: 22px;
		letter-spacing: 0;
	}
	.link_common ul li:not(:first-child) {
		margin-left: 20px;
	}
	.link_common ul li a {
		position: relative;
		display: block;
		background-color: #666666;
		color: #ffffff;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 1.3;
		padding: 0.8em 4em 0.9em;
	}
	.row_c01 .link_common ul li a {
	}
	.row_c02 .link_common ul li a {
		background-color: #ffffff;
		color: #444444;
	}

	.link_common ul li a::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow.png) center top / contain no-repeat;
		width: 10px;
		height: 15px;
		top: 50%;
		margin-top: -7px;
		right: 16px;
	}
	.row_c01 .link_common ul li a::after {
	}
	.row_c02 .link_common ul li a::after {
		background: url(../img/arrow2.png) center top / contain no-repeat;
	}
	.f_btn_wrap {
			display: flex;
			justify-content: space-around;
			max-width: 800px;
			margin: 0px auto;
    		margin-top: 110px;
}
	.f_btn_wrap a {
			padding: 12px;
			margin: 5px;
			display: block;
			width: 100%;
			text-align: center;	
			max-width: 360px;
			display: flex;
			justify-content: center;
			position: relative;
			padding-left: 20px;
			text-align: center;
			font-size: 18px;
		   font-weight: 500;
		   line-height: 65px;
	}
	
	
	.f_btn_wrap .cate_btn_4 span{
		display: contents;
	}
	.cate_btn {
		    border: 2px solid var(--main-color);
	}
	.cate_btn:before {
		content: '';
		background-image: url(../img/svg/en.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
	.cate_btn_2 {
		color: #fff;
		background-image: var(--gradation);
	}
	.cate_btn_2:before {
		content: '';
		background-image: url(../img/svg/mail.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
	.cate_btn_3 {
		    border: 2px solid var(--main-color);
	}
	.cate_btn_3:before {
		content: '';
		background-image: url(../img/svg/flow.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
	.f_btn_wrap  .cate_btn_4 {
		    border: 2px solid var(--main-color);
			font-size:30px;
			line-height: 30px;
	}
	.f_btn_wrap  .cate_btn_4 span {
		    font-size: 18px;
	}

	
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.f_btn_wrap {
			margin: 0px auto;
    		margin-top: 60px;
}
	.f_btn_wrap a {
			padding: 12px;
			display: block;
			width: 100%;
			text-align: center;	
			max-width: 360px;
			display: flex;
			justify-content: center;
			position: relative;
			padding-left: 20px;
			text-align: center;
			font-size: 18px;
		   font-weight: 500;
		  line-height: 46px;
	}
	.cate_btn {
		    border: 2px solid var(--main-color);
			margin-bottom:20px;
	}
	.cate_btn:before {
		content: '';
		background-image: url(../img/svg/en.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
	.cate_btn_2 {
		color: #fff;
		background-image: var(--gradation);
	}
	.cate_btn_2:before {
		content: '';
		background-image: url(../img/svg/mail.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
	.cate_btn_3 {
		    border: 2px solid var(--main-color);
			margin-bottom:20px;
	}
	.cate_btn_3:before {
		content: '';
		background-image: url(../img/svg/flow.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		width: 22px;
		margin-right: 12px;
		margin-top: 2px;
}
		.f_btn_wrap .cate_btn_4 span{
		display: contents;
	}
	.f_btn_wrap  .cate_btn_4 {
		    border: 2px solid var(--main-color);
			font-size:30px;
			line-height: 30px;
		   margin-bottom: 20px;
	}
	.f_btn_wrap  .cate_btn_4 span {
		    font-size: 18px;
	}
			.article {
				margin-bottom: 60px;
		}
			.article:last-of-type {
				margin-bottom: 0;
		}

	/* リンク
	----------------------------------------------- */
	.link_common {
	}
	.link_common ul {
		text-align: center;
	}
	.link_common ul li {
		display: block;
		font-size: 4vw;
	}
	.link_common ul li:not(:first-child) {
		margin-top: 2vw;
	}
	.link_common ul li a {
		position: relative;
		display: block;
		width: 80vw;
		background-color: #666666;
		color: #ffffff;
		letter-spacing: 0.05em;
		text-indent: 0.05em;
		line-height: 1.3;
		padding: 0.8em 0 0.9em;
		margin-left: auto;
		margin-right: auto;
	}
	.row_c01 .link_common ul li a {
	}
	.row_c02 .link_common ul li a {
		background-color: #ffffff;
		color: #444444;
	}

	.link_common ul li a::after {
		position: absolute;
		content: "";
		display: block;
		background: url(../img/arrow.png) center top / contain no-repeat;
		width: 2vw;
		height: 3vw;
		top: 50%;
		margin-top: -1.5vw;
		right: 3vw;
	}
	.row_c01 .link_common ul li a::after {
	}
	.row_c02 .link_common ul li a::after {
		background: url(../img/arrow2.png) center top / contain no-repeat;
	}
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここから各固定ページ

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */


/* ================================================================================

	実績紹介部分

================================================================================ */


/* カテゴリアイコン色 */
.works_icon span {
	background-color: #222222;
	color: #ffffff;
}


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	.works_wrap {
		position: relative;
		width: 1000px;
		margin:0 auto;
	}
	.works_wrap ul {
		font-size: 0;
		letter-spacing: -0.4em;
		text-align: center;
	}
	.works_wrap > ul > li {
		position: relative;
		display: inline-block;
		vertical-align: top;
		text-align: left;
		width: 320px;
		margin-left: 20px;
		font-size: 16px;
		letter-spacing: 0;
	}
	.works_wrap > ul > li:nth-of-type(3n+1) {
		margin-left: 0;
	}


	/* カテゴリアイコン */
	.works_icon {
		position: absolute;
		top: 16px;
		left: 0px;
		z-index: 1;
	}
	.works_icon span,
	.works_icon a {
		position: relative;
		display: inline-block;
		padding: 0 0.5em 0.1em;
	}


	/* サムネイル画像 */
	.works_thumb img {
		width: 100%;
		height: 213px;
		object-fit: cover;
		font-family: 'object-fit: cover;'; /* IE対策 */
		object-position: center top;
	}


	/* 投稿記事見出し */
	.works_title a {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		padding: 0.3em 0.5em;
		font-size: 18px;
	}

}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	.works_wrap {
		position: relative;
		margin: 0 auto;
	}
	.works_wrap > ul {
	}
	.works_wrap > ul > li {
		position: relative;
		padding: 0;
	}
	.works_wrap > ul > li:not(:first-child) {
		margin-top: 6vw;
	}

	.works_wrap > ul > li > a {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		
		border: 1px solid #cccccc;
	}


	/* カテゴリアイコン */
	.works_icon {
		position: absolute;
		top: 4vw;
		left: 0px;
		z-index: 1;
	}
	.works_icon span,
	.works_icon a {
		display: inline-block;
		padding: 0 0.5em 0.1em;
	}


	/* サムネイル画像 */
	.works_thumb img {
		max-width: 100%;
		width: 100%;
		height: 62vw;
		object-fit: cover;
		font-family: 'object-fit: cover;';
		object-position: center top;
	}


	/* 投稿記事見出し */
	.works_title a {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		padding: 0.3em 0.5em;
		font-size: 4vw;
	}

}





/* ================================================================================

	弁護士紹介ページ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
  .cate_main {
	background: url(../img/g_main.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 25%;
    margin: 0 calc(50% - 50vw);
    margin-bottom: 0px;
    width: 100vw;
    position: relative;
    height: 50vw;
    margin-bottom: 28vw;
    }
	 .cate_main p {
      margin-top: 0;
    }
    .cate_main h2 {
      font-size: 4.5vw;
      margin-bottom: 2vw;
		text-align: left;
    }
    .cate_main h2 .red {
      padding: 0.2vw 2.2vw;
    }
    .cate_main h3 {
      font-size: 2.2vw;
      margin-bottom: 2vw;
      line-height: 150%;
    }
    .cate_main h4 {
      font-size: 2.2vw;
		margin-bottom: 2vw;
    }
    p.small {
      font-size: 1.4vw;
  }
  p.middle {
      font-size: 1.8vw;
      font-weight: 600;
  }
  .p_bottom {
      display: flex;
      justify-content: space-between;
  }
  p.big {
      font-size: 3.6vw;
      font-weight: 700;
  }
    .txt_box {
      position: absolute;
      right: 15%;
      top: 23%;
  }
  .w_box {
		background: #fff;
		width: 67vw;
		padding: 4vw;
		box-shadow: var(--shadow);
		position: absolute;
		bottom: -15vw;
		left: 16%;
  }
  .w_box p {
    line-height: 240%;
	font-size: 1.2vw;
  }
  .cate_main rt {
      letter-spacing: -2vw;
  }

	.greeting_wrap .flex{
		display:flex;
		justify-content:space-around;
		margin-bottom: 14vw;
	}
	.greeting_wrap .flex:nth-of-type(2){
		display: flex;
  		flex-direction: row-reverse;
		margin-bottom:0;
	}
	.greeting_wrap .txt {
		position:relative;
		width: 45%;
		line-height: 2.2;
		font-size: 18px;
	}
	.greeting_wrap .flex img {
		width:45%;
		object-fit: cover;
	}
	.greeting_wrap .def_btn {
		position:absolute;
		bottom:0;
		left:0;
	}

}
@media (min-width: 1300px) {
.greeting_wrap .txt {
    font-size: 1rem;
}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	 .cate_main {
			background: url(../img/g_main_sp.jpg);
			background-size: cover;
    background-repeat: no-repeat;
    margin: 0 calc(50% - 50vw);
    margin-bottom: 0px;
    width: 100vw;
    position: relative;
    height: 115vw;
    margin-bottom: 70vw;
    background-position: bottom;
    }
	 .cate_main p {
      margin-top: 0;
    }
    .cate_main h2 {
      font-size: 8.5vw;
      margin-bottom: 4vw;
	  text-align: left;
    }
  
    .cate_main h3 {
      font-size: 5.2vw;
      margin-bottom: 4vw;
      line-height: 150%;
    }
    .cate_main h4 {
      font-size: 5.2vw;
		margin-bottom: 4vw;
    }
    p.small {
      font-size: 3.4vw;
  }
  p.middle {
    font-size: 4.8vw;
    font-weight: 600;
    margin-bottom: 2.4vw;
  }
  p.big {
      font-size: 6vw;
      font-weight: 700;
  }
    .txt_box {
			position: absolute;
			top: 5%;
		    left: 10px
  }
  .w_box {
		background: #fff;
		width: 90%;
		padding: 4vw;
		box-shadow: var(--shadow);
		position: absolute;
		bottom: -50vw;
		left: 5%;
  }

  .cate_main rt {
      letter-spacing: -2vw;
  }
		.greeting_wrap h2 {
		text-align:center;
		margin-bottom: 30px;
	}

	.greeting_wrap .txt {
		margin-top: 20px;
	}
	.greeting_wrap .flex img {
		object-fit: cover;
	}
	.greeting_wrap .def_btn {
		    margin-top: 40px;
	}
	.greeting_wrap .flex:first-of-type {
        padding-bottom: 20vw;
}
}




/* ================================================================================

	弁護士費用ページ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.prace_wrap {
		margin-top: 120px;
	}
	.prace_wrap .cate_h3_2 {
		margin-top: 1.3em;
	}
	.prace_wrap .article {
		margin-bottom: 0px;
	}
	.prace_h3title {
		padding-left: 10px;
		border-left: #e90000 3px solid;
		height: 33px;
	}

}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.prace_h2title h3 {
		font-size: 5vw !important;
	}
	.prace_h3title h3 {
		padding-left: 2vw;
		border-left: #e90000 3px solid;
		height: 6vw;
		font-size: 4.6vw !important;
	}

	
}
/* ================================================================================

	個人のご相談ページ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.individual_wrap {
   		 padding-top: 120px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.individual_wrap {
 		  margin-top: 16vw;
	}
	
}





/* ================================================================================

	ご相談の流れページ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.flow_wrap {
   		 padding-top: 120px;
	}
	.flow_wrap h2:first-letter {
		color:var(--main-color);
	}
	.soudanryo {
		border: 3px double #c6c6c6;
		display: flex;
		width: 440px;
		justify-content: center;
		height: 100px;
		align-items: center;
		margin: 0 0 80px 30px;
		font-size: 20px;
	}
	.soudanryo span {
		font-size: 32px;
		margin-left: 30px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.flow_wrap {
   		  margin-top: 16vw;
}
	.flow_wrap h2:first-letter {
		color:var(--main-color);
	}
	.soudanryo {
		border: 3px double #c6c6c6;
		display: flex;
		width: 80vw;
		justify-content: center;
		height: 20vw;
		align-items: center;
		margin:0 auto 14vw;
		font-size: 4vw;
	}
	.soudanryo span {
		font-size: 5.5vw;
		margin-left: 5vw;
	}
}





/* ================================================================================

	プライバシーポリシーページ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
		 .policy_wrap {
				max-width: 1100px;
				margin: 0 auto;
				line-height:220%;
			    padding-top: 120px;
	  }
	  .cate_h2_2 {
			color: #da0000;
			font-size: 2.4vw;
			text-align: center;
			margin-bottom: 40px;
	  }

		.article {
				padding: 30px;
				margin-bottom: 80px;
		}
	.article:last-of-type {
		margin-bottom:0;
	}
		.article p {
			margin-bottom:30px;
				/* font-size:16px; */
		}
		.article .circle_num {
			  list-style: none;
			  counter-reset: list-counter; 
			   margin-bottom: 30px;
		}
		.article .circle_num li {
			  line-height: 1.5;
			  margin: 20px 0;
			  padding-left: 30px;
			  position: relative;
		}

		.article .circle_num li:before {
			  content: counter(list-counter);
			  counter-increment: list-counter;
			  border: 1px solid;
			  box-sizing: border-box;
			  border-radius: 50%;
			  height: 22px;
			  width: 22px;
			  display: flex;
			  justify-content: center;
			  align-items: center;
			  position: absolute;
			  top: 0;
			  left: 0;
			  font-size: 85%;
		}
		.article ul {
			 list-style: inside;
			text-indent: -1.5em;
			line-height: 200%;
			font-size: 18px;
			}
			.article ol {
				 list-style: auto;
					margin-left: 20px;
			}
			.article ol li{
				margin-bottom:20px;
			}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		 .policy_wrap {
			max-width: 1100px;
			margin: 0 auto;
			line-height:220%;
			 padding-top: 12vw;
  }
  .cate_h2_2 {
	color: #da0000;
    font-size: 5vw;
    text-align: center;
    margin-bottom: 40px;
  }
  .cate_h3_2 {
   margin-top: 2em;
    margin-bottom: 2em;
    padding-bottom: 1em;
    position: relative;
    font-size: 4.5vw;
  }
  .cate_h3_2:after {
    content: '';
    width: 60px;
    height: 2px;
    background-color: #da0000;
    position: absolute;
    left: 0;
    bottom: 0;
}

			.article p {
				margin-bottom:30px;
				/* font-size:16px; */
			}
		.article .circle_num {
			  list-style: none;
			  counter-reset: list-counter; 
			   margin-bottom: 30px;
				margin-left: 0;
		}
		.article .circle_num li {
			  line-height: 1.5;
			  margin: 20px 0;
			  padding-left: 30px;
			  position: relative;
		}

		.article .circle_num li:before {
			  content: counter(list-counter);
			  counter-increment: list-counter;
			  border: 1px solid;
			  box-sizing: border-box;
			  border-radius: 50%;
			  height: 22px;
			  width: 22px;
			  display: flex;
			  justify-content: center;
			  align-items: center;
			  position: absolute;
			  top: 0;
			  left: 0;
			  font-size: 85%;
		}
		.article ul {
		    	list-style: inside;
				text-indent: -1.5em;
				line-height: 180%;
				padding-left: 2em;
			}
			.article ol {
		 list-style: auto;
			margin-left: 20px;
			}
			.article ul li {
				margin-bottom:20px;
			}
			.article ol li{
			margin-bottom:20px;
			}
}





/* ================================================================================

	アクセスページ

================================================================================ */

.map_box a {
	width: 100%;
	height: 450px;
	display: block;
	z-index: 1;
	position: absolute;
}


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	
}

