@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
body{  
  font-size: 1.6rem;
} 
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
.pcFlex{display: flex;}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}


/*タイトル
========================================== */
.h2Tit{
  font-size: 1.6rem;
}
.h2Tit span{
  font-size: 4.2rem;
}

.h3Tit {
  font-size: 3.5rem;
  letter-spacing: 0.05em;
}
.h4Tit {
  font-size: 2.6rem;
	letter-spacing: 0.05em;
}
.h5Tit {
	font-size: 2rem;
	letter-spacing: 0.1em;
}

/*装飾
========================================== */


/*テキスト矢印リンク
========================================== */
.linkWrap{}

a.link.arrow{
  font-size: 2rem;
}

/* =======================================
	header
========================================== */
header{
	height: 120px;
}
header .inner01{
	height: 120px;
}
header #logo{
	width: 28.59%;
  }
header #logo{
  max-width: 343px;
}

/* =======================================
	gnavi
========================================== */
#gnaviList li a{
	font-size:min(1.4vw,1.6rem);
}
#gnaviList > li{
	width: min(12.75vw,153px);
}
#gnaviList .sub{
	width: 200px
}
#gnaviList .sub a{
	padding: 10px;
	font-size: min(2vw,1.4rem);
}
#gnaviList .sub a{
}
#gnaviList .sub a:has(span){
	font-size: min(0.92vw,1.1em);
}
#gnaviList .sub a span{
	font-size: min(1.25vw,1.5rem);
}


/* =======================================
	footer
========================================== */
footer{
	padding-top: 77px;
 padding-bottom: 100px;
}
#footLogo{
}


.footerNavi{
 justify-content: flex-end;
 gap:30px 32px;
}
.footerNavi >li:first-of-type{
 margin-right: 5.8%;
}

footer .copy{
 margin-top: 75px;
 font-size: 1.5rem;
}



/* =======================================
	top
========================================== */
#mv{
}
#mvTxt{
}
#mvTxt h2{
 font-size: 3.2rem;
}
#mv .slide{
	position: relative;
 z-index: 1;
}

/*		#topNews
-----------------------------*/
#topNews{
 padding-top: 129px;
 padding-bottom: 112px;
}
#topNews dl dd{
 padding: 7px 0 33px 28%;
}
#topNews dl dd .arrow{
 padding-right: 45px;
}
#topNews dl dd .arrow::after{
 width: 36px;
 height: 36px;
}

/*		#topFirm
-----------------------------*/
#topFirm{
	padding-top: 63px;
	padding-bottom: 110px;
}
.topFirmBox.pcFlex{
	align-items: center;
}
.topFirmBox.pcFlex .txts{
	width: 44%;
}
.topFirmBox.pcFlex figure{
    flex: 1;
	width: 50%;
	margin-right: calc(50% - 50vw);
	margin-left: 6%;
}

/*		#toptopAccess
-----------------------------*/
#topAccess{
	padding-top: 110px;
	padding-bottom: 89px;
}
.topAccessBox.pcFlex{
	align-items: center;
}
.topAccessBox.pcFlex .txts{
	width: 44%;
}
.topAccessBox.pcFlex .map{
    flex: 1;
	width: 50%;
	margin-right: calc(50% - 50vw);
	margin-left: 6%;
}


/* =======================================
	pgs common
========================================== */

/**/
section{
  padding: 80px 0;
}
.mainTitle{
}
.mainTitle h2{
	font-size: 4.7rem;
}



/*-- table --*/
.basicTable >dt{
	border-right: 1px dotted var(--blue);
	padding: 15px 2.5%;
	width: 23%;
}
.basicTable >dd{
	padding: 15px 2.5%;
	width: 77%;
}
.basicTable >dt:last-of-type{
	border-bottom: none;
}
 .basicTable >dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: 1.8rem;
}


/*-- txtImgBox --*/
.txtImgBox{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.txtImgBox figure{
	width: 38%;
}
.txtImgBox .txts{
	width: 58%;
}
.txtImgBox .txts p:not(:last-child){
	margin-bottom: 1.6em;
}
.pcFlex.half,
.flex.half{
 justify-content: space-between;
}
.pcFlex.half >*,
.flex.half >*{
 width: 48%;
}
.pcFlex.col3{
 justify-content: space-between;
}
.pcFlex.col3 >*{
 width: calc(100%/3);
}
.note{
	font-size: 1.2rem;
	line-height: 1.2;
}

/* =======================================
    office
========================================== */
#office main{
  padding-top: 120px;
}

#officeMessage .message p{
	letter-spacing: -0.021em;
}

#lawyer .pcFlex h4{
  width: 8em;
}


/* =======================================
works
========================================== */
#works main{
  padding-top: 120px;
}

#corporate ul,
#personal ul{
 flex-flow: row wrap;
 gap:30px 0;
}
#corporate ul li h4,
#personal ul li h4{
	font-size: 2.1rem;
 letter-spacing: 0.02em;
}


/* =======================================
   legal
========================================== */

.imgLink ul.flex{
	gap: 0 3%;
}
.imgLink ul.flex > li{
	flex: 1;
}

#legalLead .txtImgBox figure{
	width: 45%;
}
#legalLead .txtImgBox figure img{
	height: 100%;
	object-fit: cover;
}
#legalLead .txtImgBox .txts{
	width: 49%;
}
#legalLead .h3Tit{
	margin-bottom: 20px;
}


/* =======================================
   hotline
========================================== */
#hotlineCorrespondence ul li h4{
	font-size: 2.1rem;
}

/* =======================================
    cost
========================================== */

#costs main{
  padding-top: 120px;
}


/* =======================================
     privacypolicy
========================================== */
#privacypolicy main{
  padding-top: 120px;
}
.privacypolicyList dt{
  font-size: 1.8rem;
}




/* =======================================
  				contact
========================================== */
#contact main{
  padding-top: 120px;
}


#contact #contactTel h3{
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}
#contact #contactTel .telBox{
	padding: 25px 2% 35px;
	max-width: 800px;
}
#contact #contactTel .telBox .tel{
	font-size: 3.6rem;
	padding: 0 10%;
}
#contact #contactTel .telBox .tel span{
	font-size: 2.6rem;
}

#contactForm h3 span{
	font-size: 2.6rem;
	margin-bottom: 20px;
	max-width: 60%;
}


/* =======================================
	form
========================================== */
.tb_cont th{
	border-bottom: 1px solid var(--wh);
	padding: 15px 2.5%;
	width: 25%;
}
.tb_cont td{
	border-bottom: 1px solid var(--base);
	padding: 15px 2.5%;
	width: 75%;
}
.tb_cont td input:not([type=checkbox]):not([type=radio]){
	padding: 8px;
	width: 80%;
}
.tb_cont td textarea{
	padding: 8px;
	width: 80%;
	height: 100px;
}
.tb_cont .hissu{
	padding: 3px 3%;
}
.tb_cont .zip{
	margin-right: 10px;
	width: 20%;
}
.tb_cont .zipBtn{
	font-size: 1.4rem;
	padding: 10px 14px;
}
.tb_cont .w50{
	width: 58%;
}
.tb_cont .fileBtn li{
	width: 33%;
}
.confirm {
  margin-top: 40px;
}
.tb_cont td input.radiobtn{
    width: auto;
}
/*---- form ----*/
.btnWrap input[type=submit] {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--wh);
  border: 1px solid var(--base);
  margin: 0 auto;
  padding-right: 30px;
  padding-left: 30px;
  width: 100%;
  max-width: 440px;
  height: 72px;
  color: var(--base);
  font-size: 1.8rem;
  cursor: pointer;
}

.confirm a.txtlink{
	text-decoration: underline;
}

.checkBlock{
	padding: 15px;
	background:#C0CCDD;
	border-radius: 10px;
	text-align: center;
	width: 300px;
	margin: 0 auto 40px
}
/*---- privacypolicy ----*/


/* =======================================
  				NEWS
========================================== */
#newsArticle dl{
	margin-bottom:40px;
	border-bottom: 1px solid #e0e0e0;
}
#newsArticle dt{
	cursor:pointer;
	
	padding-bottom:20px;
	position: relative;
}
#newsArticle dt p{
	font-size: 1.8rem;
}
#newsArticle dt:after{
	content: '▼';
	position: absolute;
	right: 0;
	top:3rem;
	color: #1e4998;
	font-size: 1.4rem;
}
#newsArticle dt.active:after{
content: '▲';
}
#newsArticle dd{
	display:flex;
	font-size: 1.6rem;
	padding-bottom: 20px;
	justify-content: space-between
}
#newsArticle dd div{
	width: 68%;
}
#newsArticle dd figure{
	width:30%;
}
#newsArticle dd figure img{
		height:auto
}
#newsArticle dt span{
	background: #1e4998;
	color: #fff;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1;
	margin-right: 10px;
	padding: 4px 14px;
}
