@charset "UTF-8";

/*------------------------------
 common
-------------------------------*/
body {
	background: #FCFFFC;
}
.subpage .l-title {
	position: relative;
	width: 100%;
	height: 300px;
	background: url(../img/common/subpage__title__bg.jpg) no-repeat right bottom;
	background-size: cover;
}
.subpage .l-title .l-inner{
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	padding-top: 145px;
	line-height: 1;
	text-align: center;
	color: #003C5A;
}
.subpage .l-title .title-en {
	display: block;
	margin-bottom: 0;
	font-family: "Roboto", sans-serif;
	font-size: 18px;
	font-weight: 500;
	text-shadow: #d4dcdd 1px 1px 5px, #d4dcdd -1px 1px 5px, #d4dcdd 1px -1px 5px, #d4dcdd -1px -1px 5px;
}
.subpage .l-title .title-jp {
	display: block;
	font-family: "Shippori Mincho", serif;
	font-size: 32px;
	font-weight: 700;
	text-shadow: #d4dcdd 1px 1px 8px, #d4dcdd -1px 1px 8px, #d4dcdd 1px -1px 8px, #d4dcdd -1px -1px 8px;
}

.l-breadcrumbs {
	width: 100%;
	margin: 30px auto 0;
}
.l-breadcrumbs__list {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.l-breadcrumbs__list .l-breadcrumbs__item {
	position: relative;
	display: flex;
	padding-right: 36px;
	line-height: 1;
}
.l-breadcrumbs__list .l-breadcrumbs__item:not(:last-child)::after {
	display: inline-block;
	position: absolute;
	content: "";
	top: 50%;
	right: 16px;
	rotate: 45deg;
	translate: 0 -50%;
	width: 6px;
	height: 6px;
	border-right: 1px solid #333333;
	border-top: 1px solid #333333;
}
.l-breadcrumbs__list .l-breadcrumbs__item a,
.l-breadcrumbs__list .l-breadcrumbs__item.l-breadcrumbs__item--active {
	font-size: 12px;
	font-weight: normal;
}

@media screen and (max-width:1200px) {
	.subpage .l-title {
		height: 25vw;
	}
	.subpage .l-title .l-inner{
		padding-top: 12.0833vw;
	}
	.subpage .l-title .title-en {
		font-size: 1.5vw;
	}
	.subpage .l-title .title-jp {
		font-size: 2.6667vw;
	}
	.l-breadcrumbs {
		margin: 2.5vw auto 0;
	}
	.l-breadcrumbs__list .l-breadcrumbs__item {
		padding-right: 3vw;
	}
	.l-breadcrumbs__list .l-breadcrumbs__item:not(:last-child)::after {
		right: 1.3333vw;
		width: 0.5vw;
		height: 0.5vw;
	}
	.l-breadcrumbs__list .l-breadcrumbs__item a,
	.l-breadcrumbs__list .l-breadcrumbs__item.l-breadcrumbs__item--active {
		font-size: 1vw;
	}
}

@media screen and (max-width:768px) {
	.subpage .l-title {
		height: 53.3333vw;
		background: url(../img/common/subpage__title__bg-sp.jpg) no-repeat right bottom;
		background-size: cover;
	}
	.subpage .l-title .l-inner{
		padding-top: 24vw;
	}
	.subpage .l-title .title-en {
		font-size: 4.8vw;
	}
	.subpage .l-title .title-jp {
		font-size: 8.5333vw;
	}
	.l-breadcrumbs {
		margin: 5.3333vw auto 0;
	}
	.l-breadcrumbs__list {
	}
	.l-breadcrumbs__list .l-breadcrumbs__item {
		padding-right: 9.6vw;
	}
	.l-breadcrumbs__list .l-breadcrumbs__item:not(:last-child)::after {
		right: 4.2667vw;
		width: 6px;
		height: 6px;
	}
	.l-breadcrumbs__list .l-breadcrumbs__item a,
	.l-breadcrumbs__list .l-breadcrumbs__item.l-breadcrumbs__item--active {
		font-size: 3.2vw;
	}
}



/*-------------------------------
 About Page
-------------------------------*/
.about .l-contents {
	position: relative;
	background: url(../img/about/bg.jpg) no-repeat top right;
	background-size: 1280px 1150px;
}
.about .sec__title .sec__title-en {
	font-size: 18px;
	margin-bottom: 10px;
}
.about .sec__title .sec__title-jp {
	font-size: 24px;
}
.about .sec__intro {
	margin: 80px auto 0;
}
.about .sec__intro .l-inner {
	padding: 80px 0 70px;
	background: rgb( 255 255 255 / 0.7 );
}
.about .sec__intro .box__text {
	margin-top: 35px;
	font-family: "Shippori Mincho", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7778;
	text-align: center;
	color: #003c5a;
}
.about .sec__policy {
	margin: 120px auto 60px;
}
.about .sec__policy .policy__list {
	display: grid;
	gap: 60px;
}
.about .sec__policy .policy__item {
	display: flex;
	align-items: flex-start;
}
.about .sec__policy .policy__item .item__img {
	width: 540px;
}
.about .sec__policy .policy__item .item__text {
	width: 540px;
	padding: 40px 0 0 50px;
	color: #003c5a;
}
.about .sec__policy .policy__item:nth-child(3) .item__text {
	padding: 70px 0 0 50px;
}
.about .sec__policy .policy__item .item__title {
	position: relative;
	height: 63px;
	margin-bottom: 15px;
}
.about .sec__policy .policy__item .item__title h3 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	z-index: 1;
}
.about .sec__policy .policy__item .item__title .title__bg {
	position: absolute;
	z-index: 0;
	mix-blend-mode: multiply;
}
.about .sec__policy .policy__item:nth-child(1) .item__title .title__bg {
	left: 42px;
	bottom: 5px;
	width: 125px;
	height: 63px;
}
.about .sec__policy .policy__item:nth-child(2) .item__title .title__bg {
	left: 42px;
	bottom: 2px;
	width: 107px;
	height: 66px;
}
.about .sec__policy .policy__item:nth-child(3) .item__title .title__bg {
	left: 40px;
	bottom: 0;
	width: 252px;
	height: 94px;
}
.about .sec__policy .policy__item .item__text p {
	font-size: 18px;
	line-height: 1.44;
}
.about .sec__policy .policy__item.policy__item-reverse {
	flex-flow: row-reverse;
}
.about .sec__policy .policy__item.policy__item-reverse .item__text {
	padding: 40px 50px 0 0;
}
.about .footerSec {
	background-color: #FCFFFC;
}

@media screen and (max-width:1200px) {
	.about .l-contents {
		background-size: 106.6667vw 95.8333vw;
	}
	.about .sec__title .sec__title-en {
		font-size: 1.5vw;
		margin-bottom: 0.8333vw;
	}
	.about .sec__title .sec__title-jp {
		font-size: 2vw;
	}
	.about .sec__intro {
		margin: 6.6667vw auto 0;
	}
	.about .sec__intro .l-inner {
		padding: 6.6667vw 0 5.8333vw;
	}
	.about .sec__intro .box__text {
		margin-top: 2.9167vw;
		font-size: 1.5vw;
	}
	.about .sec__policy {
		margin: 10vw auto 5vw;
	}
	.about .sec__policy .policy__list {
		gap: 5vw;
	}
	.about .sec__policy .policy__item .item__img {
		width: 45vw;
	}
	.about .sec__policy .policy__item .item__text {
		width: 45vw;
		padding: 3.3333vw 0 0 4.1667vw;
	}
	.about .sec__policy .policy__item:nth-child(3) .item__text {
		padding: 5.8333vw 0 0 4.1667vw;
	}
	.about .sec__policy .policy__item .item__title {
		height: 5.25vw;
		margin-bottom: 1.25vw;
	}
	.about .sec__policy .policy__item .item__title h3 {
		font-size: 2.6667vw;
	}
	.about .sec__policy .policy__item:nth-child(1) .item__title .title__bg {
		left: 3.5vw;
		bottom: 5px;
		width: 10.4167vw;
		height: 5.25vw;
	}
	.about .sec__policy .policy__item:nth-child(2) .item__title .title__bg {
		left: 3.5vw;
		bottom: 2px;
		width: 8.9167vw;
		height: 5.5vw;
	}
	.about .sec__policy .policy__item:nth-child(3) .item__title .title__bg {
		left: 3.3333vw;
		bottom: 0;
		width: 21vw;
		height: 7.8333vw;
	}
	.about .sec__policy .policy__item .item__text p {
		font-size: 1.5vw;
	}
	.about .sec__policy .policy__item.policy__item-reverse .item__text {
		padding: 3.3333vw 4.1667vw 0 0;
	}
}

@media screen and (max-width: 768px) {
	.about .l-contents {
		background: url(../img/about/bg-sp.jpg) no-repeat top right;
		background-size: 100% auto;
	}
	.about .l-contents::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/about/bg-sp.jpg) no-repeat bottom 20% right;
		background-size: 100% auto;
		transform: scale(-1, 1);
		z-index: -1;
	}
	.about .sec__title .sec__title-en {
		font-size: 4.8vw;
		margin-bottom: 2.6667vw;
	}
	.about .sec__title .sec__title-jp {
		font-size: 6.4vw;
	}
	.about .sec__intro {
		margin: 10.6667vw auto 0;
	}
	.about .sec__intro .l-inner {
		padding: 10.6667vw 5.3333vw;
	}
	.about .sec__intro .box__text {
		margin-top: 6.6667vw;
		font-size: 4.2667vw;
		line-height: 1.7;
		text-align: left;
	}
	.about .sec__policy {
		margin: 16vw auto 21.3333vw;
	}
	.about .sec__policy .policy__list {
		display: grid;
		gap: 16vw;
	}
	.about .sec__policy .policy__item,
	.about .sec__policy .policy__item.policy__item-reverse {
		flex-flow: column-reverse;
	}
	.about .sec__policy .policy__item .item__img {
		width: 100%;
	}
	.about .sec__policy .policy__item .item__text,
	.about .sec__policy .policy__item:nth-child(3) .item__text,
	.about .sec__policy .policy__item.policy__item-reverse .item__text {
		width: 100%;
		padding: 5.3333vw 0 8vw;
	}
	.about .sec__policy .policy__item .item__title {
		position: relative;
		height: 16.8vw;
		margin-bottom: 4vw;
	}
	.about .sec__policy .policy__item .item__title h3 {
		justify-content: center;
		font-size: 8.5333vw;
	}
	.about .sec__policy .policy__item:nth-child(1) .item__title .title__bg {
		left: calc( 50% - 18.6667vw );
		bottom: 0;
		width: 33.3333vw;
		height: 16.8vw;
	}
	.about .sec__policy .policy__item:nth-child(2) .item__title .title__bg {
		left: calc( 50% - 14.6667vw );
		bottom: -1.3333vw;
		width: 28.5333vw;
		height: 17.6vw;
	}
	.about .sec__policy .policy__item:nth-child(3) .item__title .title__bg {
		left: calc( 50% - 33.6vw );
		bottom: -6.6667vw;
		width: 67.2vw;
		height: 25.0667vw;
	}
	.about .sec__policy .policy__item .item__text p {
		font-size: 4.2667vw;
		line-height: 1.5;
	}
}



/*-------------------------------
 FirmProfile Page
-------------------------------*/
.firm .l-contents {
	position: relative;
	background: url(../img/firmprofile/bg.jpg) no-repeat top right;
	background-size: 1624px 1150px;
}
.firm .sec__info {
	margin: 80px auto 0;
}
.firm .sec__info .firm__profile {
	width: 760px;
	margin: 0 auto 60px;
}
.firm .sec__info .firm__profile dl {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	min-height: 45px;
	line-height: 1.5;
}
.firm .sec__info .firm__profile dl dt {
	width: 105px;
	font-size: 16px;
	color: #003c5a;
	border-right: 2px solid #003C5A;
}
.firm .sec__info .firm__profile dl dd {
	font-size: 16px;
	padding-left: 40px;
}
.firm .sec__info .map__wrap {
	width:100%;
}
.firm .sec__info .googlemap__link {
	margin: 10px 0;
	font-size: 14px;
	text-align: right;
}
.firm .sec__info .googlemap__link a {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	color: #003c5a;
}
.firm .sec__info .googlemap__link a img {
	width: 16px;
	margin-left: 5px;
}

.firm .sec__attorney {
	margin: 90px auto 0;
	padding: 80px 0 0;
	background: #F6F8F6;
}
.firm .sec__attorney .profile__box {
	display: flex;
	column-gap: 70px;
	margin: 50px 0 0;
}
.firm .sec__attorney .profile__box .profile__img {
	width: 470px;
}
.firm .sec__attorney .profile__box .profile__text {
	width: 540px;
	color: #333;
}
.firm .sec__attorney .profile__box .profile__text .prof__role {
	margin-bottom: 20px;
	font-family: "Shippori Mincho", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
}
.firm .sec__attorney .profile__box .profile__text .prof__name {
	font-family: "Shippori Mincho", serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}
.firm .sec__attorney .profile__box .profile__text .prof__title {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 35px;
	font-size: 16px;
	font-weight: 400;
	color: #003C5A;
}
.firm .sec__attorney .profile__box .profile__text .prof__title.prof__title-mt {
	margin-top: 45px;
}
.firm .sec__attorney .profile__box .profile__text .prof__title::after {
	content: "";
	height: 1px;
	margin-left: 15px;
	flex-grow: 1;
	background-color: #003C5A;
}
.firm .sec__attorney .profile__box .profile__text .prof__list {
	display: grid;
	grid-row-gap: 3px;
	margin: 20px 0 0;
	font-size: 14px;
	font-weight: 400;
	color: #333;
}
.firm .sec__publications {
	padding: 120px 0 130px;
	background: #F6F8F6;
}
.firm .sec__publications .publications__list {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 50px 60px;
	margin: 45px auto 0;
}
.firm .sec__publications .publications__list .publications__item {
	display: flex;
	flex-flow: column;
	justify-content:space-between;
	width: 320px;
}
.firm .sec__publications .publications__list .publications__item .detail__box {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.firm .sec__publications .publications__list .publications__item .item__img {
	width: 226px;
	margin-bottom: 15px;
}
.firm .sec__publications .publications__list .publications__item .item__year {
	margin-bottom: 10px;
	font-size: 14px;
	text-align: center;
}
.firm .sec__publications .publications__list .publications__item .item__text {
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
}

@media screen and (max-width:1200px) {
	.firm .l-contents {
		background-size: 135.3333vw 95.8333vw;
	}
	.firm .sec__info {
		margin: 6.6667vw auto 0;
	}
	.firm .sec__info .firm__profile {
		width: 63.3333vw;
		margin: 0 auto 5vw;
	}
	.firm .sec__info .firm__profile dl {
		min-height: 3.75vw;
	}
	.firm .sec__info .firm__profile dl dt {
		width: 8.75vw;
		font-size: 1.3333vw;
	}
	.firm .sec__info .firm__profile dl dd {
		font-size: 1.3333vw;
		padding-left: 3.3333vw;
	}
	.firm .sec__info .googlemap__link {
		margin: 0.8333vw 0;
		font-size: 1.1667vw;
	}
	.firm .sec__info .googlemap__link a img {
		width: 1.3333vw;
		margin-left: 5px;
	}
	.firm .sec__attorney {
		margin: 7.5vw auto 0;
		padding: 6.6667vw 0 0;
	}
	.firm .sec__attorney .profile__box {
		column-gap: 5.8333vw;
		margin: 4.1667vw 0 0;
	}
	.firm .sec__attorney .profile__box .profile__img {
		width: 39.1667vw;
	}
	.firm .sec__attorney .profile__box .profile__text {
		width: 45vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__role {
		margin-bottom: 1.6667vw;
		font-size: 1.5vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__name {
		font-size: 2vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title {
		margin-top: 2.9167vw;
		font-size: 1.3333vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title.prof__title-mt {
		margin-top: 3.75vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title::after {
		margin-left: 1.25vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__list {
		grid-row-gap: 3px;
		margin: 1.6667vw 0 0;
		font-size: 1.1667vw;
	}
	.firm .sec__publications {
		padding: 10vw 0 10.8333vw;
	}
	.firm .sec__publications .publications__list {
		gap: 4.1667vw 5vw;
		margin: 3.75vw auto 0;
	}
	.firm .sec__publications .publications__list .publications__item {
		width: 26.6667vw;
	}
	.firm .sec__publications .publications__list .publications__item .item__img {
		width: 18.8333vw;
		margin-bottom: 1.25vw;
	}
	.firm .sec__publications .publications__list .publications__item .item__year {
		margin-bottom: 0.8333vw;
		font-size: 1.1667vw;
	}
	.firm .sec__publications .publications__list .publications__item .item__text {
		margin-bottom: 0.8333vw;
		font-size: 1.3333vw;
	}

}

@media screen and (max-width: 768px) {
	.firm .l-contents {
		background: url(../img/firmprofile/bg-sp.jpg) no-repeat top right;
		background-size: 100% auto;
	}
	.firm .sec__info {
		margin: 10.6667vw auto 0;
	}
	.firm .sec__info .firm__profile {
		width: 100%;
		margin: 0 auto 8vw;
	}
	.firm .sec__info .firm__profile dl {
		align-items: flex-start;
		flex-flow: column;
		min-height: 12vw;
		line-height: 1.35;
		margin-bottom: 4vw;
	}
	.firm .sec__info .firm__profile dl dt {
		width: 100%;
		margin-bottom: 1.3333vw;
		font-size: 16px;
		font-weight: 600;
		border-right: none;
	}
	.firm .sec__info .firm__profile dl dd {
		width: 100%;
		font-size: 16px;
		padding-left: 0;
	}
	.firm .sec__info .map__wrap {
		width: 100%;
	}
	.firm .sec__info .googlemap__link {
		margin: 2.6667vw 0 5.3333vw;
		font-size: 14px;
	}
	.firm .sec__info .googlemap__link a img {
		width: 2.6667vw;
		margin-left: 1.3333vw;
	}
	.firm .sec__attorney {
		margin: 21.3333vw auto 0;
		padding: 16vw 0 0;
	}
	.firm .sec__attorney .profile__box {
		flex-flow: column;
		grid-row-gap: 8vw;
		margin: 8vw 0 0;
	}
	.firm .sec__attorney .profile__box .profile__img,
	.firm .sec__attorney .profile__box .profile__text {
		width: 100%;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__role {
		margin-bottom: 5.3333vw;
		font-size: 18px;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__name {
		font-size: 24px;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title {
		margin-top: 9.3333vw;
		font-size: 18px;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title.prof__title-mt {
		margin-top: 12vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__title::after {
		margin-left: 4vw;
	}
	.firm .sec__attorney .profile__box .profile__text .prof__list {
		grid-row-gap: 3px;
		margin: 2.6667vw 0 0;
		font-size: 16px;
	}
	.firm .sec__publications {
		padding: 21.3333vw 0 18.6667vw;
	}
	.firm .sec__publications .publications__list {
		gap: 8vw 4%;
		margin: 12vw auto 0;
	}
	.firm .sec__publications .publications__list .publications__item {
		width: 48%;
	}
	.firm .sec__publications .publications__list .publications__item .item__img {
		width: 100%;
		margin-bottom: 2.6667vw;
	}
	.firm .sec__publications .publications__list .publications__item .item__year {
		margin-bottom: 5px;
		font-size: 14px;
	}
	.firm .sec__publications .publications__list .publications__item .item__text {
		margin-bottom: 2.6667vw;
		font-size: 14px;
	}
	.firm .sec__publications .publications__list .publications__item .box__link a {
		font-size: 14px;
	}
}


/*-------------------------------
 Privacy Page
-------------------------------*/
.privacy .l-contents {
	position: relative;
	background: url(../img/privacy/bg.jpg) no-repeat right;
	background-size: 1600px 1150px;
}
.privacy .privacy__box {
	margin: 80px auto 170px;
}
.privacy .privacy__box .l-inner {
	padding: 75px 65px;
	background: rgb( 255 255 255 / 0.7);
}
.privacy .privacy__box .box__text,
.privacy .privacy__box .privacy__item:not(:last-child) {
	margin-bottom: 32px;
}
.privacy .privacy__box .privacy__item p {
	text-indent: 18px;
}
.privacy .privacy__box .privacy__item p.no-indent {
	text-indent: 0;
}
.privacy .privacy__box h2,
.privacy .privacy__box p,
.privacy .privacy__box ul.privacy__list li {
	font-family: "Shippori Mincho", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7778;
	color: #003c5a;
}

@media screen and (max-width:1200px) {
	.privacy .privacy__box {
		margin: 6.6667vw auto 14.1667vw;
	}
	.privacy .privacy__box .l-inner {
		padding: 6.25vw 5.4167vw;
	}
	.privacy .privacy__box .box__text,
	.privacy .privacy__box .privacy__item:not(:last-child) {
		margin-bottom: 2.6667vw;
	}
	.privacy .privacy__box .privacy__item p {
		text-indent: 1.5vw;
	}
	.privacy .privacy__box .privacy__item p.no-indent {
		text-indent: 0;
	}
	.privacy .privacy__box h2,
	.privacy .privacy__box p,
	.privacy .privacy__box ul.privacy__list li {
		font-size: 1.5vw;
	}
}

@media screen and (max-width: 768px) {
	.privacy .l-contents {
		background: url(../img/privacy/bg-sp.jpg) no-repeat right;
		background-size: 100% auto;
	}
	.privacy .privacy__box {
		margin: 8vw auto 21.3333vw;
	}
	.privacy .privacy__box .l-inner {
		padding: 6.6667vw 5.3333vw;
	}
	.privacy .privacy__box .l-inner {
		width: 100%;
	}
	.privacy .privacy__box .box__text,
	.privacy .privacy__box .privacy__item:not(:last-child) {
		margin-bottom: 8.5333vw;
	}
	.privacy .privacy__box .privacy__item p {
		text-indent: 4.2667vw;
	}
	.privacy .privacy__box .privacy__item p.no-indent {
		text-indent: 0;
	}
	.privacy .privacy__box h2,
	.privacy .privacy__box p,
	.privacy .privacy__box ul.privacy__list li {
		font-size: 4.2667vw;
		line-height: 1.5;
	}
}






