/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 20 2025 | 05:55:19 */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300..700&display=swap');

/* アニメーション */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px); /* ふわっと上に */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 初期状態（透明） */
.fadeIn {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* JavaScriptで.visibleクラスが追加されたら発火 */
.fadeIn.visible {
    opacity: 1;
    transform: translateY(0);
}


/*-----------------------フォント-----------------------*/
font {
	font-family: 'Noto Serif JP', '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.sans{
	font-family: "Helvetica Neue", 'Noto Sans JP', Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.en{
	font-family: "Cormorant Garamond", serif
}

.bluebox{
	color:#3c6fbc;
	margin-right:0.3em;
}

.bold{
	font-weight:700;
}

.rt{
	color:red;
}

.small{
	font-size:0.8em;
}

/*-----------------------共通パーツ-----------------------*/
.pconly{display:block;}
.sponly{display:none;}

@media screen and (max-width: 767px) {
	.sponly{display:block;}
	.pconly{display:none;}
}

/*ボタン白背景*/
.button_w{
	display:block;
	font-size:0.9em;
}
.button_w a {
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 400;
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 250px;
  max-width: 250px;
  text-align: center;
  padding: 6px 16px 6px 0;
  margin: 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button_w a::before {
  content: "";
  display: block;
  position: absolute;
  width: 250px;
  height: 1px;
  background: #333;
  bottom: 0;
  transition: all 0.3s;
}

.button_w a::after {
  content: "";
  display: block;
  position: absolute;
  width: 18px;
  height: 1px;
  background: #333;
  rotate: 45deg;
  right: -3px;
  bottom: 6px;
  transition: all 0.3s;
}

.button_w a:hover::after,
.button_w a:hover::before {
  translate: 20px 0;
  transition: all 0.3s;
}

/*ボタン紺背景*/
.button_n{
	display:block;
	font-size:0.9em;
}

.button_n a {
  letter-spacing: 0.1em;
  font-weight: 400;
  color:#fff;
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 250px;
  max-width: 250px;
  text-align: center;
  padding: 6px 16px 6px 0;
  margin: 24px;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}

.button_n a::before {
  content: "";
  display: block;
  position: absolute;
  width: 250px;
  height: 1px;
  background: #fff;
  bottom: 0;
  transition: all 0.3s;
}

.button_n a::after {
  content: "";
  display: block;
  position: absolute;
  width: 18px;
  height: 1px;
  background: #fff;
  rotate: 45deg;
  right: -3px;
  bottom: 6px;
  transition: all 0.3s;
}

.button_n a:hover::after,
.button_n a:hover::before {
  translate: 20px 0;
  transition: all 0.3s;
}

.wt{
	color:#FFFFFF;
}

/*コンテンツ幅*/
.contents_wrap{
	width:100vw;
	display:flex;
	justify-content: center;
	align-items: center;
	margin:0;
	padding:0;
}

.contents_back_navy{
	background-color:#192f60;
}

.contents_back_gray{
	background-color:#dfe6eb;
}

.contents_inner{
	width:1200px;
	padding:5vh 0;
	margin:0
	max-width:100%;
}

@media screen and (max-width: 767px) {	
.contents_wrap{
	width:100%;
	max-width:100%;
	padding:0;
}
	
.contents_inner{
	width:90%;
	}
}

/*下層タイトル欄*/
.pagetitle{
	width:100vw;
	background:#192f60;
	height:500px;
}

.pagetitle h2{
	font-size:2.3em;
	color:#FFF;
	font-weight:400;
	padding:0;
	margin:0;
}

.pagetitle p{
	font-size:1.5em;
	color:#FFF;
	font-weight:400;
	padding:0 0 0 0.2em;
	margin:0;
	letter-spacing:0.1em;
}

@media screen and (max-width: 767px) {
.pagetitle{
	height:200px;
	padding-left:1.5em;
}
.pagetitle h2{
	font-size:1.5em;
	font-weight:600;
	}
.pagetitle p{
	font-size:1em;
	font-weight:600;
}
}

/*見出しライン白背景*/
.head-border {
    display: flex;
    align-items: center;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}

/*見出しライン紺背景*/
.head-border_w {
    display: flex;
    align-items: center;
}

.head-border_w:before,
.head-border_w:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

.head-border_w:before {
    margin-right: 1rem;
}

.head-border_w:after {
    margin-left: 1rem;
}
/*-----------------------共通ここまで-----------------------*/

/*-----------------------フッター-----------------------*/
.footer{
	display:flex;
	flex-direction:row;
    justify-content: space-around;
    align-items: stretch;
	width:100%;
	font-size:0.9em;
}

.footer_left{
	width:24%;
	text-align:left;
	display:flex;
	align-items:center;
}

.footer_left img{
	width:90%;
	height:auto;
}

.footer_center,
.footer_right{
	width:33%;
	text-align:left;
	padding-left:3em;
	border-left:1px solid #094E96;
	justify-content: flex-start;
	align-items:center;
	flex-direction:column;
}

.footer_center{
	line-height:2em;
}

.footer_right ul, ol {
	padding:0 0 0 1em;
	margin:-1em 0 1em 0;
}

.footer_right ul li, ol li {
	line-height: 2em;
	padding: 0;
	margin:0;
	list-style-type: none!important;/*ポチ消す*/
}

.footer_bg {
    background-color: #192f60;
	color:#FFF;
    display: inline-block;
    padding: 0.2em 1em;
	margin:0;
	font-weight:600;
	letter-spacing:0.1em;
}

.footer_contact{
	width:100%;
	display:flex;
	justify-content: flex-start;
}

/* リンクボタン */
.ftbtn {
    position: relative;
    padding: 0.7em 2em 0.7em 1.2em;
    border: 1px solid #192f60;
    color: #192f60;
    font-weight: 400;
    text-align: left;
    text-decoration: none;
	width:100%;
	margin-top:1em;
}

.ftbtn::after {
    position: absolute;
    right: 1.6em;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: '\f105';
    transition: 500ms;
}

.ftbtn:hover{
	color:#192f60;
	transition : 1s;
}
.ftbtn:hover::after {
    right: 0.8em;
}

.copyright{
	font-size:0.7em;
	text-align:center;
	letter-spacing:0.1em;
}

.footer_privacy{
	padding:1em 0 0 1em;
	border-top:1px solid #3c6fbc;
}

/*SP用footer*/
@media screen and (max-width: 767px) {
.footer{
	display:flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	width:100%;
	margin:0;
	font-size:0.9em;
	}
	
.footer_left {
	width:90%;
	text-align:center;
	padding:1vh 0 2em 0;
	}
	
.footer_left img{
	width:50%;
	height:auto;
}

.footer_center{
	width:80%;
	border-left:none;
	padding:0;
	}
	
.footer_right {
	display:none;
	}
	
.copyright{
	font-size:0.7em;
	text-align:center;
	letter-spacing:0;
}
}

/*-----------------------トップページ-----------------------*/
/*トップスライダー*/
.swiper-container.first {
    width: 100%;
    max-width: 100%; 
    height: 85vh;
}

.top01{
background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top01.jpg);
	background-size:cover;
	background-position:center bottom;
}

.top02{
background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top02.jpg);
	background-size:cover;
	background-position:center bottom;
}

.top05{
background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top05.jpg);
	background-size:cover;
	background-position:center bottom;
}

/*スライダーの文字*/
.swiper-text{
    position: absolute;
    z-index:1;
	width:100%;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	padding:0;
	height:100%;
}

.swiper-text_wrap{
	display:flex;
	justify-content:flex-start;
	width:1200px;
}

.swiper-text_inner{
	width:45%;
	margin-bottom:4vh;
    color: #ffffff;
}

.swiper-text_inner h2{
	color:#FFF;
	font-weight:500;
	font-size:3em;
	text-shadow: 0px 0px 15px rgba(0, 0, 0, 1),0px 0px 15px rgba(0, 0, 0, 1);
}

.swiper-text_inner span{
	letter-spacing:-0.15em;
}	

.swiper-text_inner p{
	color:#FFF;
	font-weight:600;
	line-height:2em;
	text-shadow: 0px 0px 15px rgba(0, 0, 0, 1),0px 0px 15px rgba(0, 0, 0, 1);
}


/*SP用正方形スライダー*/
.swiper-container.second {
    width: 100%;
    max-width: 100%; 
    height: 60vh;
	margin:0;
}

.top01sp{
	background:linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top01sp.jpg);
	background-size:cover;
	background-position:center center;
}

.top02sp{
background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top02sp.jpg);
	background-size:cover;
	background-position:center center;
}

.top05sp{
background: linear-gradient(0deg,rgba(0, 0, 0, 0.65) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0) 80%, rgba(6, 43, 77, 0.5) 100%), url(https://ohtemachi-lawyer.com/img/mt/top03sp.jpg);
	background-size:cover;
	background-position:center center;
}

@media screen and (max-width: 767px) {
.sptoptxt{
	width:100%;
	padding:1em 5% 0 5%;
	font-size:1em;
	margin:0;
	}	
	
.swiper-text{
	writing-mode: vertical-rl;
}
	
.swiper-text_wrap{
	width:100%;
}
.swiper-text_inner{
	width:100%;
	margin-bottom:0;
	display:flex;
	justify-content:center;
	align-items:center;
}
	
.swiper-text_inner h2{
	font-size:1.8em;
	font-weight:600;
}

.swiper-text_inner p{
	font-size:0.8em;
	line-height:1.5em;
	text-shadow: 0px 0px 15px rgba(0, 0, 0, 1),0px 0px 15px rgba(0, 0, 0, 1);
	}
}
/*スライダーここまで*/


.top_about{
	background: linear-gradient(90deg,rgba(25, 47, 96, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_about.jpg);
	background-size:cover;
	background-position:right center;
}

.top_service{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_service.jpg);
	background-size:cover;
	background-position:center right;
}

.top_lawyer{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_lawyer.jpg);
	background-size:cover;
	background-position:top right;
}

.top_activity{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_activity.jpg);
	background-size:cover;
}

.top_contact{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_contact.jpg);
	background-size:cover;
	background-position:center left;
}

.top_paper{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_paper.jpg);
	background-size:cover;
	background-position:center center;
	background-color:#263e5a;
}

.top_privacy{
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 47%) ,url(https://ohtemachi-lawyer.com/img/mt/top_privacy.jpg);
	background-size:cover;
}

.space{
	padding:3vh 0;
}

@media screen and (max-width: 767px) {
.space{
	padding:0 0;
}
}

/*見出し英文書体指定*/
.top_01 h3,
.top_02 h3,
.top_03 h3,
.top_04 h3,
.top_05 h3,
.eng h3{
	font-family: "Cormorant Garamond", serif;
	font-weight: 600;
	font-style: normal;
	font-size:3em;
	letter-spacing:0.1em;
	margin:0 0 0.1em 0;
	padding:0;
}

/*ニュース欄*/
.top_01{
	display:flex;
	flex-direction:row;
}

.top_01_01{
	width:20%;
}

.top_01_02{
	width:80%;
	padding:0 0 0 3em;
	border-left:1px solid #192f60;
}

/*SP用footer*/
@media screen and (max-width: 767px) {
.top_01 h3,
.top_02 h3,
.top_03 h3,
.top_04 h3,
.top_05 h3,
.eng h3{
	font-size:2em;
}
	
.top_01{
	flex-direction:column;
}
.top_01_01,
.top_01_02{
	width:100%;
}
	
.top_01_02{
	border-left:none;
	padding:0;
}
	
.top_01_02:first-child{
	padding-top:0;
	}
	
.top_01_02:last-child{
	padding-bottom:0;
	}
}

/*ニュース詳細*/
.news_box{
	width:100%;
	display:flex;
	flex-direction:column;
	margin:2em 0 0 0;
	padding:0 0 2em 0;
	border-bottom:1px solid #192f60;
}

.news_box:last-child {
	border-bottom:none;
}

.news_title{
	margin:0 0 1em 0;
	padding:0;
	display:flex;
	flex-direction:row;
	align-items:center;
}

.news_title p{
	margin:0;
	padding:0;
}

.news_data{
	font-size:1.1em;
	letter-spacing:0.15em;
	font-weight:600;
	padding-top:0.5em;
}
.news_bg {
	font-size:0.7em;
	font-weight:600;
    background-color: #d4d9dc;
	color:#000;
    display: inline-block;
	margin:0 0 0 1em;
	padding:0.1em 0.5em;
	border-radius:0.2em;
}

.news_text {
	display:flex;
	flex-direction:column;
	margin:0;
}

.news_text h5{
	margin:0 0 0.5em 0;
	font-size:1em;
}
.news_text p{
	margin:0;
	font-size:0.9em;
}

@media screen and (max-width: 767px) {
.news_box:first-child{
	margin:0;
}
	
.news_box:last-child{
	padding-bottom:0;
	}
}

.top_01_03{
	display:flex;
	justify-content:flex-end;
}

/*SP用中揃え*/
@media screen and (max-width: 767px) {
.top_01_03{
	justify-content:center;
}
}

/*弁護士紹介*/
.top_02{
	color:#fff;
	text-align:center;
}

.top_02 h4{
	color:#FFF;
	font-weight:600;
}

/*弁護士写真*/
.top_02_image{
	background-image: url(https://ohtemachi-lawyer.com/img/mt/top_02_img.jpg); 
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100%;
	width:100%;
	height:400px;
	margin-bottom:2em;
}

/*写真スライド*/
.second{
	width: 100%;
	max-width:1200px;
	overflow:hidden;
	margin:3em 0;
}

.prsize{
	width:250px;
	max-width:33%;
	height:auto;
}

.second {
    height:600px; /* 高さを自動調整 */
}


/*SP用写真サイズ*/
@media screen and (max-width: 767px) {
.top_02_image{
	background-size:cover;
	width:100%;
	height:150px;
	margin-bottom:2em;
}

.second {
    height:300px; /* 高さを自動調整 */
}
}

.second img {
    width: 100%; /* 画像をスライダーの幅に合わせて縮小 */
    height: 100%; /* 画像の高さもスライダーに合わせて調整 */
    object-fit: cover; /* 画像をスライド枠にフィットさせる */
}

/*取扱業務*/
.top_03{
	width:100%;
	display:flex;
	flex-direction:row;
}

.top_03_left{
	width:50%;
	background-image: url(https://ohtemachi-lawyer.com/img/mt/top_03_img.jpg);
	background-repeat: no-repeat;
	background-size:cover;
}

.top_03_right{
	width:50%;
	padding:3em 0 3em 3em;
}

@media screen and (max-width: 767px) {
.top_03{
	background-image: url(https://ohtemachi-lawyer.com/img/mt/top_03_img.jpg);
	background-repeat: no-repeat;
	background-size:cover;
	background-color: rgba(255,255,255,0.8);
	background-blend-mode: lighten;
	}
	
.top_03_right{
	width:100%;
	padding:3em 5% 2em 5%;
}
}

/*活動報告*/
.top_04_01{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
}

.ARbox{
	width:48%;
	border-top:3px solid #FFF;
	border-bottom:2px solid #FFF;
	margin:1em 0;
}

.ARbox_title {
	border-bottom:2px solid #FFF;
	padding:1.3em 1em 0.5em 1em;
	display:flex;
	flex-direction:row;
	align-items:center;
	align-content:center;
}

.ARbox_data{
	font-size:1.1em;
	letter-spacing:0.15em;
	font-weight:600;
}

.ARbox_bg {
	font-size:0.7em;
	font-weight:900;
    background-color: #000;
	color:#fff;
    display: inline-block;
	margin:0 0 0 1em;
	padding:0.1em 0.5em;
	border-radius:0.2em;
}

.ARbox_txt{
	font-size:0.9em;
	line-height:1.8em;
	padding:1em 1em 2em 1em;
}

/*講演リスト*/
/*SP用枠*/
@media screen and (max-width: 767px) {
.top_04_01{
	flex-direction:column;
	}
	
.ARbox{
	width:100%;
	margin:0;
}
.ARbox:last-child{
	border-top:none;
	}
}


/*事務所報*/
.top_05{
	color:#FFF;
}

.top_05 h3{
	color:#FFF;
}

.top_05_bg{
	background-image: url(https://ohtemachi-lawyer.com/img/mt/top_05_img.png); 
	background-repeat:no-repeat;
	background-position:right center;
	background-size:60%;
	background-color:#192f60;
}

/* リンクボタン */
.dlbtn {
    position: relative;
    padding: 0.7em 2em 0.7em 1.2em;
    border: 1px solid #FFF;
    color:#FFF;
    font-weight: 400;
    text-align: left;
    text-decoration: none;
	width:450px;
	max-width:450px;
	margin-top:2em;
}

.dlbtn a{
    color:#FFF;
}

.dlbtn::after {
    position: absolute;
    right: 1.6em;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: '\f105';
    transition: 500ms;
}

.dlbtn:hover{
	color:#FFF;
	background-color:#375394;
	transition : 1s;
}
.dlbtn:hover::after {
    right: 0.8em;
}

.about03_02,
.top_05_03{
	display:flex;
	justify-content:flex-start;
}

/*SP用footer*/
@media screen and (max-width: 767px) {
.dlbtn {
	margin-top:0;
}
	
.top_05_01{
	display:flex;
	flex-direction:column;
	justify-content:center;
}
	
.top_05_bg{
	background-position:top right;
	background-size:70%;
	background-color:rgba(0,0,0,0.6);
	background-color:#192f60;
}
	
.dlbtn {
	width:100%;
	max-width:100%;
}
	
.about03_02,
.top_05_03{
	justify-content:center;
}
}

.top_05_02{
	margin:2em 0 0 0;
}


/*----------------------- 事務所概要 -----------------------*/
/*基本方針*/
.about01{
	display:flex;
	justify-content:space-between;
}
.about01 p{
	line-height:2em;
}
.about01_01{
	width:48%;
}
.about01_02{
	width:43%;
	background:gray;
}
.about01_03{
	margin:3em 0 0 0;
}

.about01_03 span{
	font-weight:700;
}

.about02_01{
	display:flex;
	justify-content:space-between;
}

.about02_01_01{
	width:32%;
	border-left:3px solid #375394;
	padding-left:2em;
	line-height:2em;
}
.about02_02{
	padding:2em 0 1em 0;
	text-align:center;
}
.about03 {
	color:#FFF;
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
}

.about03_bg{
	background-image: url(https://ohtemachi-lawyer.com/img/mt/about_image02.jpg); 
	background-repeat:no-repeat;
	background-position:right center;
	background-size:50%;
}

.about03 h3{
	color:#FFF;
	font-size:1.5em;
	margin-bottom:2em;
}

.about03_01{
	width:40%;
}

@media screen and (max-width: 767px) {
.about03 {
	justify-content:center;
	padding-top:2em;
	}
	
.about03 h3{
	margin-bottom:1em;
	}
	
.about03_bg{
	background-position:center center;
	background-size:cover;
	background-color:rgba(0,0,0,0.6);
	background-blend-mode:darken;
}
.about03_01{
	width:90%;
}
}

.about04{
	text-align:center;
}

.about04_01{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-items:flex-start;
	padding-top:2em;
	padding-bottom:2em;
}

.about04_01 h4{
	font-size:1.4em;
	margin-bottom:0.7em;
}

.about01_02 img,
.about03_02 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about04_01 img {
  width: 90%;
  height: 250px;
  object-fit: cover;
}

.about04_01_left{
	width:40%;
	text-align:left;
}

.about04_01_right{
	width:60%;
}

@media screen and (max-width: 767px) {
	.about01,
	.about02_01,
	.about04_01
	{
		flex-direction:column;
	}
	.about01_01,
	.about01_02,
	.about02_01_01,
	.about04_01_left,
	.about04_01_right{
		width:100%;
	}

.about04_01_left{

}

.about04_01_left img {
	  width: 100%;
}
}

.map {
    position: relative;
    width: 100%;
    padding-top: 66.66%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*----------------------- 取扱業務 -----------------------*/
.service01 h3{
	font-size:2em;
	font-weight:400;
	letter-spacing:1px;
}

.service01_01{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-top:2em;
}

.service01_01_in{
	width:100%;
	padding:2em 2em 1em 2em;
	margin-bottom:2em;
	background:#FFF;
	border:solid 1px #dfe6eb;
}

.service01_01_in ul {
	list-style: none;
	line-height:2em;
}
.service01_01_in li {
	text-indent: -1em;
	padding-left: 0;
}
.service01_01_in li::before {
	content: '・';
}

.service03{
	text-align:center;
}

/*SP用中揃え*/
@media screen and (max-width: 767px) {
.service01_01{
	flex-direction:column;
	justify-content:center;
	padding:0;
	margin-top:0;
}
.service01_01_in{
	width:100%;
	margin-bottom:1em;
	}
}


/*----------------------- 弁護士個別プロフィール -----------------------*/
.lawyer01{
	width: 100%;
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	padding:0;
	justify-content:space-between;
	margin-bottom:15vh;
}

.lawyer01:last-child{
	margin-bottom:0;
}

.lawyer02{
	text-align:center;
	margin-bottom:2em;
}

.l_o {
	font-size:0.8em;
	font-weight:400;
    background-color: none;
	color:#000;
    display: inline-block;
	margin:0 0.8em 0 0;
	padding:0 0.8em 0 0;
	border-right:1px dotted #000;
}

/*オンマウス名前表示*/
.lawyerprofile {
	width:33%;
	height:280px;
    overflow: hidden;
    position: relative;
	margin-bottom:1em;
	border:1px solid #CFCFCF;
}

.lawyerprofile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lawyerprofile02 {
	width:33%;
	height:280px;
	border:0;
}

.overlay-text {
    color: #000000;
    text-align: center;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1; /* 初期状態では透明 */
    transition: opacity 0.8s ease;
	padding:0 2em;
}
.prof_txt p{
	padding:0 0 0.7em 0;
	margin:0;
	line-height:1.4em;
	text-align:left;
}

.l_name{
	letter-spacing:0.2em;
	font-size:1.8em;
}

.l_yomi{
	letter-spacing:0.1em;
	color:#3c6fbc;
}

.l_genre{
	display:block;
	text-align:left;
	border-top:solid 1px #000;
	padding:1em 0 0 0;
	font-size:0.8em;
	line-height:1.5em;
}

.overlay {
    width: 100%;
    height: 100%;
	color:#000;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1; /* 初期状態では透明 */
    background-color: rgba(255, 255, 255, 1);
    transform: rotateY(0deg);
    transition: all 0.8s ease;
}

.lawyerprofile:hover .overlay {
    transform: rotateY(360deg);
    background-color: rgba(255, 255, 255, 0.8);
    opacity: 1; /* ホバー時に表示 */
}

.lawyerprofile:hover .overlay-text {
    opacity: 1; /* ホバー時に表示 */
}

/*SP*/
@media screen and (max-width: 767px) {
	.lawyerprofile {
		width:100%;
		height:135px;
	}
	.lawyerprofile02{
		display:none;
	}
	.prof_txt{
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-content:center;
	}
	
.l_o {
	border-right:1px dotted #778899;
	border-left:1px dotted #778899;
	margin:0.5em 0 0 0;
	padding:0 1em;
}
	.prof_txt p{
		text-align:center;
		padding:0;
	}
	.l_name{
	font-size:1.6em;
	}
	.l_yomi{
	letter-spacing:0;
	}
	.l_genre,
	.l_pos{
		display:none;
	}
.overlay-text {
    top: 50%;
	}
}


/*タイトル消す*/
.cp_ttl{
	display:none;
}

/*自己紹介*/
.profile_frame{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	width:100%;
	font-size:16px;
	}

.prof_grad{
	background: linear-gradient(180deg,rgba(223, 230, 235, 1) 0%, rgba(255, 255, 255, 0) 74%);
}
	
.profile_photo {
	width:30%;
	display:flex;
	justify-content:center;
	align-items:flex-start;
}

.profile_photo img{
	width:90%;
	height:auto;
	box-shadow: 0 10px 10px 0 rgba(223, 230, 235, 1);
}
	
.profile_text{
	width:70%;
	padding-left:5%;
	}


/*SP版表示*/
@media screen and (max-width: 767px) {
	.profile_frame{
		width:100vw;
		flex-direction:column;
	}
	.profile_photo{
		width:90%;
		margin-bottom:2em;
	}
	.profile_photo img{
		width:80%;
	}
	.profile_text{
		display:flex;
		flex-direction:column;
		width:90%;
		padding-left:0;
	}
	.profile_caption{
		display:block;
	}
}

/*自己紹介文字設定*/
.profile_text h3{
	font-weight:400;
	font-size:2.2em;
	margin-top:1em;
}

.profile_text h4{
	font-weight:600;
	margin:3em 0 0.5em 0;
	font-size:1.2em;
	padding:0 0 0.5em 0;
	font-size:1.2em;
	border-bottom:solid 1px #999;
}

.profile_text span{
	color:#3c6fbc;
	margin-right:0.3em;
}

.profile_yomi{
	letter-spacing:0.2em;
	padding:0.5em 0 0 0;
}

.profile_pos{
	border-top:solid 2px #094E96;
	border-bottom:solid 1px #2B6FB7;
	margin:0.8em 0;
	padding:0.8em 0 0.5em 0;
}

.profile_field {
	display:flex;
	flex-direction:row;
	justify-content:flex-start;
	align-items:stretch;
}

.field_l{
	display:flex;
	justify-content:center;
	align-items:center;
	color:#FFF;
	background:#000;
	padding:0.2em 0.4em;
	min-width:5em;
	font-size:0.9em;
	font-weight:bold;
	
}

.field_r{
	display:flex;
	justify-content:center;
	align-items:center;
	padding-left: 1em;
}

.profile_intro{
	margin:2em 0 3em 0;
	line-height:2em;
}

/*その他の経歴テーブル-レスポンシブ*/
.p_table {
	font-size:14px;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%; /* table幅を100%に指定 */
    background: none;
    border: none;
	margin:0;
}
.p_table th,
.p_table td {
	display: table-cell; /* デフォルト値に指定 */
	border:none;
	background: none;
    border: none;
	padding:0.5em 0;
    font-size: 0.7em;
    vertical-align: top;
    text-align: left;
    box-sizing: border-box;
	border-bottom:1px dotted #CFCFCF;
    }
    .p_table th {
		font-weight: 400;
    }
    .p_table td {
		font-weight: 600;
    }
    .p_table tr th:first-child {
        width: 30%; /* thの固定幅 */
    }


 /* テーブルPC版表示 */
@media screen and (max-width: 767px) {
.p_table th,
.p_table td {
    display: block; /* セルをブロック要素に指定 */
    width: 100%; /* セルを親要素いっぱいの幅に指定 */
	padding:0;
}
.p_table th {
	font-weight: 400;
	margin-top:0.7em;
	border-bottom:none;
    }
	
.p_table td {
		font-weight: 600;
		padding-left:0;
	padding-bottom: 0.5em;
	border-bottom:1px dotted #CFCFCF;
    }
    .p_table tr th:first-child {
        width: 100%; /* thの固定幅 */
    }
	
.p_table_sp td {
	padding-top: 0.5em;
	}
}


/*----------------------- 活動報告 -----------------------*/
/*タブ*/
/*  初期化用CSS  */

#tab-v li {
  list-style: none;
}
/* ------------------------------------------- */

#tab-v {
    display: flex;
	column-gap:1em;
    margin: 0;    /* タブの上下左右に余白を設定するためだけのCSS */
	padding-left:10vw;
	background:#dfe6eb;
	width:100%;
}

#tab-v .tab-elem {
    display: block;
    padding: 1em;
    color: #999;
	letter-spacing:1px;
    position: relative;
	margin:1em 0;
	border-bottom:1px solid #CFCFCF;
}

@media screen and (max-width: 767px) {
#tab-v {
	padding-left:0;
	}
#tab-v .tab-elem {
    padding: 0.1em;
}
}

#tab-v .tab-elem:hover {
    cursor: pointer;
}

/* 表示中のタブのCSS */
#tab-v .tab-elem.active {
    color: #3c6fbc;
	font-weight:700;
	border-bottom: 2px solid #3c6fbc;
}

#tab-v .tabbody-v {
    /* タブ内コンテンツの高さを親要素いっぱいにするための指定 */
    display: flex;
    flex: 1;
    flex-direction: column;
	width:60%;
}

#tab-v .tabbody-elem {
    flex-grow: 1; /* タブ内コンテンツの高さを親要素いっぱいにするための指定 */
    padding:2em;
	width:100%;
    max-width: 100%;
    background:#fff;
}


@media screen and (max-width: 767px) {
#tab-v {
    display: flex;
	column-gap:0.5em;
	padding-left:0;
}
	
#tab-v .tabbody-v {
    /* タブ内コンテンツの高さを親要素いっぱいにするための指定 */
	width:70%;
}
}

/*記事個別*/
.AR_block{
	padding:1em 2em;
	margin-bottom:2em;
	border-bottom:1px solid #3c6fbc;
    width: 80%; 
}

.AR_block:last-child {
	border-bottom:none;
}

.ar_table caption {
	caption-side: top;
	text-align: left;
	font-weight:700;
	margin-bottom:-0.6em;
}

.ar_table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%; /* table幅を100%に指定 */
    background: #fff;
    border: none;
}
.ar_table th,
.ar_table td {
    width: 100%; /* セルを親要素いっぱいの幅に指定 */
    border: none;
    padding: 5px;
	font-size:0.9em;
    vertical-align: top;
    text-align: left;
    box-sizing: border-box;
        display: table-cell; /* デフォルト値に指定 */
        color: #000;
        background: #fff;
}
.ar_table th {
    font-weight: 400;
    color: #000;
    background: #FFF; /* thの背景色 */
}

    .ar_table  tr th:first-child {
        width: 100px; /* thの固定幅 */
    }

@media screen and (max-width: 767px) {
.AR_block{
	padding:0;
	width:100%;
}

	.ar_table{
		width:100%;
	}
    .ar_table th,
    .ar_table td {
    display: block; /* セルをブロック要素に指定 */
    }
    .ar_table td {
		padding-left:1em;
    }
}

/*リスト形式*/
.AR_list{
	padding:0 2em;
	margin-bottom:2em;
	border-bottom:0px;
    width: 90%; 
}

.ar01{
	display:flex;
}

.ar01_inner{
	display:flex;
	flex-direction:row;
	padding:1em 0;
	border-bottom:1px solid #3c6fbc;
}

.ar01_inner:last-child{
	border-bottom:none;
}

.ar01_day{
	width:8em;
	padding:0 1em 0 0;
	font-weight:700;
}

.ar01_theme{
	width:100%;
	border-left:1px solid #CFCFCF;
	padding:0 0 0 1em;
	font-weight:700;
}
.ar01_theme p{
	padding:0 0 0.5em 0;
	margin:0 0 0.5em 0;
	border-bottom:1px dotted #CFCFCF;
	text-indent: -1em;
	padding-left: 1em;
}

.ar01_theme p:last-child{
	padding:0;
	margin:0 0 0.5em 0;
	border-bottom:none;
	text-indent: -1em;
	padding-left: 1em;
}

.ar01_theme span{
	font-weight:400;
	font-size:0.9em;
	padding-left:1em;
}

.AR_table {
	padding:0 2em;
    width: 90%; 
}

.AR_table table{
	border:none;
	padding:0;
}
.AR_table td{
	padding:0.5em 0.5em 0.5em 1em;
	border-top:0;
	border-bottom:1px solid #3c6fbc;
	border-right:0;
	border-left:0;
	width:20%;
	vertical-align:top;
	}

.AR_table td:first-child{
	font-weight:700;
	width:15%;
	vertical-align:top;
	}

.AR_table td:last-child{
	width:65%;
	vertical-align:top;
}

@media screen and (max-width: 767px) {
.AR_list{
	padding:0;
	width:100%;
	}
	
.ar01_inner{
	flex-direction:column;
}

.ar01_day{
	width:100%;
	padding:0;
}

.ar01_theme{
	width:100%;
	border-left:0px;
	padding:0;
}
	
.AR_table {
	padding:0;
    width: 100%;
}
	
.AR_table td {
	padding:0;
    display: block;
	border:none;
	width:100%;
    }
	
.AR_table td:first-child{
	padding-top:1em;
	font-weight:700;
	width:100%;
	}
	
.AR_table td:last-child{
	width:100%;
	padding-bottom:1em;
	padding-top:0.5em;
	margin-top:0.5em;
	border-top:#CFCFCF dotted 1px;
	border-bottom:1px solid #3c6fbc;
	}
}

/*----------------------- 問い合わせ -----------------------*/

.contact01{
	width:80%;
	border:solid 1px #CFCFCF;
	margin:0 auto;
	padding:4em 3em 3em 3em;
}

.contact01 h3{
	font-size:2em;
	text-align:center;
	}

.stepbar {
  margin: 0 auto;
  width: 90%;
}

.stepbar .stepbarwrap {
  margin: 3em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
	display: inline-block;
	width: 4em;
	height: 4em;
	content: "";
	background: #020024;
	background: linear-gradient(180deg,rgba(9, 9, 121, 1) 18%, rgba(92, 168, 184, 1) 100%);
	color: #fff;
	text-align: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle span {
  display: inline-block;
  line-height: 1.2em;
  font-size: 2em;
  font-weight: 600;
  position: relative;
  top: 0.4em;
}

.stepbar .stepbarwrap .steptitle .title {
  margin: 0.5em;
  font-weight: bold;
  font-size: 1.4em;
	letter-spacing:0.1em;
	padding-left:1em;
}

.stepbar .stepbarwrap .steptxt {
  padding-left:6em;
}

.stepbar .stepbarwrap .steptxt .txt {
  font-size: 1em;
}

.stepbar .stepbarwrap .stepline {
	width: 1px;
	height: calc(100% + 2em);
	background: linear-gradient(180deg,rgba(9, 9, 121, 1) 18%, rgba(92, 168, 184, 1) 100%);
	position: absolute;
	top: 1em;
	left: 2em;
	z-index: -1;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}

@media screen and (max-width: 767px) {
	.contact01{
		width:100%;
		border:none;
		padding:0;
	}
	.stepbar {
		width: 100%;
	}
	.stepbar .stepbarwrap .steptitle .title {
		padding-left:0.5em;
	}
	.stepbar .stepbarwrap .steptxt {
  padding-left:5.5em;
}
}
.contact02{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.contact02_01{
	font-size:3.5em;
	font-weight:700;
	letter-spacing:1px;
}

.contact_bg {
	font-size:0.9em;
	font-weight:600;
    background-color: #000;
	color:#FFF;
    display: inline-block;
	margin:0 1em 0 0;
	padding:0.1em 0.5em;
	border-radius:0.2em;
}

.contact_data{
	font-size:1.1em;
}

.contact02_02{
	font-size:0.9em;
	width:80%;
	padding:2em 0 0 0;
	text-indent: -1em;
	padding-left: 1em;
}

.contact02_02 p{
	margin:0;
}
@media screen and (max-width: 767px) {
.contact02_01{
	font-size:2em;
	}
.contact02_02{
	width:100%;
	padding:1em 2em 0 2em;
	}
.contact02_02 p{
	margin:0.5em;
}
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

/*事務所報*/
.paper01{
	text-align:center;
}

span.volume{
	font-size:1.9em;
	font-weight:700;
}

.paper_inner{
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-content:center;
}

.paper_inner_left{
	padding:0;
	display:flex;
	flex-direction:row;
	justify-content:center;
	align-content:center;
}

.paper_inner_left img{
	width:200px;
	width:285px;
}

.paper_inner_right{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-content:center;
	padding:0 0 0 2em;
}

.paper_inner_right p{
	margin:0 0 0.5em 0;
}

.paper_inner_right ul {
	list-style: none;
	line-height:2em;
	font-size:0.9em;
	padding:0;
	margin:0;
}

.paper_inner_right li {
	text-indent: -0.5em;
	padding-left: 0;
}

.paper_inner_right li::before {
	content: '・';
}

@media screen and (max-width: 767px) {
.paper_inner{
	flex-direction:column;
	width:100%;
}
	
.paperbn_inner{
	width:100%;
}
	
.paper_inner_left{
	justify-content:center;
}
	
.paper_inner_right{
	justify-content:center;
	padding:1em 1em 0 1em;
}
}

/*事務所報バックナンバー*/
.bn{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-content:center;
	flex-wrap:wrap;
	margin-top:3em;
}

span.volumeBN{
	font-size:1.6em;
	font-weight:700;
}

.bn_inner{
	display:flex;
	flex-direction:row;
	justify-content:space-between;
	align-content:center;
	width:48%;
	margin:0 0 3em 0;
}

.bn_inner_left{
	padding:2em 0;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-content:center;
	width:35%;
}

.bn_inner_left img{
	width:100%;
	object-fit: cover;
}

.bn_inner_right{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-content:center;
	padding:0 0 0 1.5em;
	width:65%;
}

.bn_inner_right p{
	margin:0 0 0.5em 0;
}

.bn_inner_right ul {
	list-style: none;
	line-height:1.7em;
	font-size:0.8em;
	padding:0;
	margin:0;
}

.bn_inner_right li {
	text-indent: -0.5em;
	padding-left: 0;
}

.bn_inner_right li::before {
	content: '・';
}

.dl{
	text-align:center;
	width:100%;
	border:1px solid #CFCFCF;
	padding:0.5em 0;
	margin-bottom:2em;
}

.dlbtn2{
	margin-top:1em;
	padding-bottom:0.5em;
	font-weight:600;
	font-size:1em;
}

@media screen and (max-width: 767px) {
.bn{
	flex-direction:column;
	margin-top:0;
	}
.bn_inner{
	width:100%;
	margin:0;
	padding-bottom:2em;
	padding-top:2em;
	border-bottom:1px solid #FFF;
	}
.bn_inner:first-child{
	padding-top:0;
	}
.bn_inner:last-child{
	border-bottom:0;
	}
.bn_inner_left{
	display:none;
	}
.bn_inner_right{
	width:100%;
	padding:0;
	}
}

/*プライバシーポリシー*/

.pp01_in {
	
}

.pp01_in ul {
	list-style: none;
	line-height:2em;
}

.pp01_in li {
	text-indent: 0;
	padding-left: 0;
}
.pp01_in li::before {
	content: '・';
}

p.pptop{
	color:#000;
}

p.ppt{
	font-weight:600;
	margin-bottom:1em;
	margin-top:3em;
	border-bottom:#CFCFCF solid 1px;
}

p.pptxt{
	text-indent: 1em;
	padding-left: 1em;
	margin-bottom:0;
}

@media screen and (max-width: 767px) {
.pp01_in ul {
	padding-left:0;
	font-size:0.9em;
	}
	
p.pptxt{
	text-indent: 0;
	padding-left: 0;
}
}

/*アーカイブページ*/

#lcp_instance_0 {
  padding-left: 0px;
}
/*アーカイブページ*/
.lcp_catlist {
	margin-left: 0;
	padding-left:0;
	display:flex;
	flex-direction:column;
}

.lcp_catlist li{
	display: grid;
	position: relative;
	list-style: none;
	padding-left:1.5em;
	margin-bottom: 2em;
	padding-bottom:2em;
	border-bottom:solid 1px #778899;
}

.lcp_catlist li a:first-child {
	width: 100%;
}

.lcp_catlist li a:last-child {
	width: 30%;
	position: absolute;
	display: inline-block;
	right: 0;
	border-bottom:none;
}

.lcp_catlist li:before {
  color: #192f60;
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  left : 0;
  margin: 3px 0;
  position: absolute;
}

@media screen and (max-width: 767px) {
.catframe{
	padding:0;
	margin:0;
	width:100%;
	background:#CFCFCF;
	}
.lcp_catlist {
	margin:0;
	padding-left:0;
	display:block;
}
	
.lcp_catlist li{
	display: grid;
	position: relative;
	list-style: none;
	margin: 0 0 2em 0;
	padding: 0 0 2em 1.5em;
	border-bottom:solid 1px #778899;
	width:100%;
}
}
