@charset "utf-8";
body {
	font-family: "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Noto Sans JP", "メイリオ" , "Meiryo" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
tr{
	height: auto;
}
th {
	line-height: 1.25;
}
.caution {
	margin-bottom: 0.5rem;
}
textarea.textarea_small{
	height: 8rem;
}
textarea + .attention {
	margin-top: 0.5rem;
}
.attention {
	padding: 0 0 0 1em;
}
.attention li {
	font-size: 0.8rem;
	color: #666;
	line-height: 1.3;
	position: relative;
}
.attention li + li {
	margin-top: 0.5rem;
}
.attention li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: -1em;
}

.table_txt {
	width: 100%;
	font-size: 100%;
	padding-right: 0;
	font-weight: normal;
	text-align: left;
	line-height: 1.6;
}

.u-vertical__middle{
	vertical-align: middle;
}
.u-txt__center{
	text-align: center;
}
.u-txt__left{
	text-align: left;
}

.pb10{
	padding-bottom: 10px;
}
.mb0{
	margin-bottom: 0;
}

.sp-only{display: block;}
.pc-only{display: none;}

@media screen and (min-width: 780px) {
	.sp-only{display: none;}
	.pc-only{display: block;}
	.u-display__table-cell {
		display: table-cell;
	}
	th.th_half {
		width: 50%;
	}
}

/*===================================================
ページトップ非表示
=====================================================*/
#back_top{
	display: none !important;
}

.th_half .p-attached {
	width: 15em;
	text-align: left;
	margin: 0 0 0 auto;
}


/* Add #60549 */
select[name=op_field_corporate]:disabled {
	background-color: #e2e2e2;
	border: 1px solid #ccc;
}/* /// */


/*===================================================
default
=====================================================
html {
	 width: 100%;
}
body .wrapper {
	 overflow: hidden;
}
a:link {
	 color: #1e263e;
	 text-decoration: none;
}
a:hover {
	 color: #0d74cf;
	 text-decoration: underline;
}
a:visited {
	 color: #0d74cf;
}
a:active {
	 color: #0d74cf;
}
/* 外部リンクアイコン
-------------------------------------------------
a.blank {
	 padding: 0 0.3rem;
}
a.blank:after {
	 padding: 0;
	 content:" ";
	 display:inline-block;
	 width: 0.7em;
	 height: 0.7em;
	 background: url(../images/blank.svg) no-repeat;
	 margin: 0 0 0 3px;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd {
	 margin: 0;
}
h2 {
	 padding-bottom: 20px;
}
h2.ttl span {
	 display: flex;
	 justify-content: center;
	 position: relative;
	 padding: 16px 10px;
	 background-size: 5px 3px;
	 font-size: 1.8rem;
	 line-height: 1.3;
	 width: 100%;
	 text-align: left;
	 color: #5169a9;
	 border-bottom: 2px dotted;
	 border-top: 2px dotted;
}

ul, ol {
	 padding-left: 0;
	 list-style: none;
}
img {
	 max-width: 100%;
	 height: auto;
	 width: auto;
	 vertical-align: top;
}
.cf:after {
	 content: " ";
	 display: block;
	 clear: both;
}
.pc_only {}
.only-sp {display: none;}
.w95 {
	 width: calc(100% - 20px);
}
.inline-block {
	 display: inline-block;
}
/*===================================================
テキスト
=====================================================
strong {
	 color:#e64c52;
	 font-weight:normal;
}
.small {
	 font-size: 0.88rem;
}
/*===================================================
余白
=====================================================
.separate {
	 margin-bottom: 1rem
}
/*===================================================
flex
=====================================================
.flex-column {
	 display:flex;
	 flex-direction:column;
}
/*===================================================
マージン
=====================================================

/*===================================================
layout
=====================================================
#wrap {
	 clear:both;
	 margin-top:1em;
}
#wrap .inner {
	 max-width: 1000px;
	 min-width: 320px;
	 margin: 0 auto;
	 width: 1000px;
}
#wrap section {
	 margin: 0 10px 50px 10px;
}
#wrap #main {
	 width: 100%;
}
@media only screen and (min-width:1px) and (max-width: 780px) {
	.wrapper {
		min-width: 100%;
		background: hsla(0,0%,100%,1.00);
	}
	#wrap .inner {
		width: 100%;
	}
} /*780*/
/*===============================================
header
===============================================
header {
	 width: 100%;
}
.area-header {
	 width: 1000px;
	 margin: 0 auto;
	 padding: 1rem 0 2.5rem 0;
}
.block-header {
	 margin: 0 auto;
}
header p.logo {
	 float: left;
	 width: 260px;
	 height: 38px;
	 line-height: 1.6;
	 margin-bottom: 0;
}
header p.logo a {
	 display: block;
}
.logo img {
	 width: 100%;
}
header p.logo span {
	 font-size: 0.88rem;
}
@media only screen and (min-width:1px) and (max-width: 780px) {
	 	header {
		border-bottom:none;
	}
	.area-header {
		width: 100%;
		padding: 0;
	}
	.block-header {
		margin: 0 auto;
		width: auto;
		min-width: 320px;
		z-index: 201;
	}
	header p.logo a {
		display: block;
		width: 180px;
		height: 25px;
	}
	header p.logo {
		float: inherit;
		height: 50px;
		margin: 10px 0 0 10px;
		padding: 0;
		line-height: 1.3;
	}
	.logo img {
		width: 100%;
	}
	header p.logo span {
		font-size: 0.75rem;
		vertical-align: top;
	}
}/*780*/
/*===================================================
breadList
=====================================================
.area-bread-list {
	 width: 100%;
	 padding: 10px 0;
	 background: hsla(0,0%,95%,1.00);
	 line-height: 1.5;
}
.list-bread {
	 width: 1000px;
	 margin: 0 auto;
	 font-size: 0.88rem;
}
.list-bread li {
	 position: relative;
	 display: inline-block;
	 padding: 0 1rem 0 0;
}
.list-bread li:after {
	 content: '\003e';
	 position: absolute;
	 right: 0;
}
.list-bread li:last-child:after {
	 content: "";
}
.list-bread li a {
	 text-decoration: underline;
}
.list-bread li strong {
	 color: hsla(0,0%,20%,1.00);
}
@media only screen and (min-width:1px) and (max-width: 780px) {
	.list-bread {
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
		font-size: 0.88rem;
	}
} /*780*/
/*===================================================
contents
=====================================================
.area-h1 {
	 width: 100%;
	 margin: 0 0 30px 0;
	 background: url(../images/bg_h1.png) repeat 0 0;
	 background-size: 16px 16px;
	 color: hsla(0,0%,20%,1.00);
}
.area-h1 h1 {
	 display: flex;
	 align-items: center;
	 width: 1000px;
	 margin: 0 auto;
	 height: 150px;
} 
.area-h1 h1 span {
	 font-size: 2.13rem;
	 font-weight: bold;
}

.step {
	 margin:1em 0 1.5em;
	 letter-spacing:-0.4em;
}
.step li {
	 display: inline-block;
	 width:calc(100% / 3);
	 height:60px;
	 margin-right:0;
	 line-height:60px;
	 letter-spacing: normal;
	 text-align:center;
	 color:hsla(0,0%,100%,1.00);
	 font-weight:bold;
	 vertical-align:top;
}
@media all and (-ms-high-contrast: none){
	 .step li {
		  width:calc(99% / 3);
	 }
}
.step li.step1 {
	 background:#a5b1d0 url(../images/bg_step.png) right 0 no-repeat;
}
.step li.step2 {
	 background:#a5b1d0 url(../images/bg_step.png) left -60px no-repeat;
}
.step li.step2 div {
	 background: url(../images/bg_step.png) right 0 no-repeat;
}
.step li.step3 {
	 background:#a5b1d0 url(../images/bg_step.png) left -60px no-repeat;
}
.step li.active {
	 background-color: #5169a9;
}

.table-about {
	 width: 100%;
	 border-collapse: collapse;
	 border-spacing: 0;
	 border-style: solid;
	 margin-bottom: 30px;
	 border-width: 1px 0 0 1px;
	 table-layout: fixed;
}
.table-about th, .table-about td {
	 padding: .5em .8em;
	 border-width: 0 1px 1px 0;
	 border-style: solid;
}
.table-about th {
	 width: 35%;
	 background: hsla(0,0%,93%,1.00);
}
.table-about, .table-about th, .table-about td {
	 border-color: #ccc;
}
.table-about td select {
	 height: 2rem;
	 width: 100%;
}
.table-about td ul {
	 display: inline;
}
.table-about td ul li {
	 display: inline-block;
	 margin-right:1em;
}
.table-about td li input {
	 margin-right:0.3em;
}
.table-about td ul li:last-child{
	 margin-bottom: 0;
}
.table-about td input:focus{
	 border: 1px solid #5169a9;
	 background: #fefee4;
}
.table-about td input[type=text],
.table-about td input[type=tel],
.table-about td input[type=email],
.table-about td textarea{
	 width: 100%;
	 padding: 10px 0;
}
.table-about td input[type=radio] {
	width: 15px;
	height: 15px;
	vertical-align: text-top;
	margin-right: 5px;
}
.table-about td input[type=checkbox]{
	width: 15px;
	height: 15px;
	vertical-align: text-top;
	margin-right: 5px;
}

.require {
	 display: inline-block;
	 background: #A21C3C;
	 margin: 0 0 0 5px;
	 padding: 3px;
	 line-height: 1.1;
	 font-size: 0.88rem;
	 color: #FFF;
	 vertical-align: baseline;
}

.optional {
	 display: inline-block;
	 background: #555;
	 margin: 0 0 0 5px;
	 padding: 3px;
	 line-height: 1.1;
	 font-size: 0.88rem;
	 color: #FFF;
	 vertical-align: baseline;

}

.error-red {
	 color: #a21c3c;
	 margin-left: 5px;
	 font-size: 0.88rem;
}

.ssl {
	 border-top: 1px solid hsla(0,0%,80%,1.00);
	 margin-top: 30px;
	 padding: 20px 10px 0 10px;
	 display: flex;
	 justify-content: center;
	 align-items: center;
}
.ssl #sslSeal {
	 margin-right: 1em;
}
.ssl .privacy {
	 font-size: 0.88rem;
	 line-height: 1.3;
}

.submit-container {
	 margin-top: 1.5em;
	 display: flex;
	 justify-content: center;
}
@media only screen and (min-width:1px) and (max-width: 780px) {
	.area-h1 h1 {
		width: 100%;
		height: auto;
		min-height: 80px;
	}
	.area-h1 h1 span {
		padding: 0 3%;
		line-height: 1.2;
		text-shadow: 2px 2px 6px hsla(0,0%,100%,0.75), -2px -2px 6px hsla(0,0%,100%,0.75);
		font-size: 1.6rem;
	}
	.table-about ul li {
		display: inline-block;
	}
	.require {
		padding: 3px;
	}
	.optional {
		padding: 3px;
	}
} /*780*/
/*=============================================================================================
問い合わせ後　サンクスページ
=============================================================================================
#text-thanks p.bg-glay {
	background: hsla(0,0%,97%,1.00);
	padding: 20px;
	margin-bottom: 1rem;
	font-size: 1rem;
}
#text-thanks p.attention {
	text-indent: -1rem;
	padding-left: 1rem;
	font-size: 0.88rem;
}
@media only screen and (max-width: 780px) {
	#text-thanks {
		min-height: auto;
	}
} /*780*/
/*===========================================================
footer_type_a.html
===========================================================
.footer-site-details {
	 margin: 0;
	 background: #333;
	 color: #FFF;
	 font-size: 0.75rem;
}
.footer-site-details-inner {
	 position: relative;
	 width: 1000px;
	 margin: 0 auto;
	 padding: 1rem 0 0.5rem 0;
}
a.footer-logo {
	 display: inline-block;
	 max-width: 300px;
	 vertical-align: top;
}
a.footer-logo img {
	 width: 100%;
	 max-width: 300px;
	 height: auto;
}
.footer-address {
	 margin: .5rem 0 0 0;
}
.footer-lawyers-association {
	 padding: .5rem 0 0 0;
}
.txt-announcement{}
.txt-copyright {
	 display: block;
	 position: absolute;
	 right: 0;
	 bottom: 0.5rem;
}
@media only screen and (max-width: 768px) and (min-width: 1px){
	 .footer-site-details-inner {
		  position: relative;
		  width: 100%;
		  margin: 0 auto;
		  padding: 1rem;
	 }
	.txt-copyright {
		position: relative;
		right: auto;
		bottom: auto;
		padding: 1rem 0 0 0;
		text-align: center;
	}
}/*768*/