@charset "utf-8";

/***************************************************************
Home
****************************************************************/
/* z-index メモ

*/
/* common */
.home-section {
	padding: 40px 0;
	overflow: hidden;
}
.home-section:nth-child(even),
.home-section:nth-child(even) .home-title-label {
	background-color: #f4f4f4;
}
.home-section:nth-child(odd),
.home-section:nth-child(odd) .home-title-label {
	background-color: #fdfdfd;
}
.home-section-content {
	margin: 0 auto;
	width: 95%;
}
.home-sub-title {
	margin: 12px 0;
}
.home-title {
	position: relative;
	text-align: left;
	font-size: 20rem;
}
.home-title::before {
	content: ' ';
	position: relative;
	display: block;
	top: 14px;
	width: 100%;
	height: 1px;
	background-color: #707070;
}
.home-title-label {
	position: relative;
	padding-right: 18px;
	line-height: 1;
}
.home-content {
	font-size: 16rem;
}
.home-content p {
	line-height: 1.7;
	font-size: 14rem;
}
.home-content ol {
	padding-left: 18rem;
	list-style-type: decimal;
}
.home-content ol li {
	line-height: 1.7;
	font-size: 14rem;
}
.home-content ul {
	padding-left: 16rem;
}
.home-content ul li {
	position: relative;
	line-height: 1.7;
	font-size: 14rem;
}
.home-content ul li::before {
	content: '▪';
	position: absolute;
	top: 0;
	left: -16rem;
	color: #b7b9a9;
}

/* mv */
.home-mv {
	height: 100vh;
	background-color: #0d0d0d;
}
.home-mv__content {
	position: relative;
	visibility: hidden;
	opacity: 0;
}
.home-mv__bg {
	height: 100vh;
	overflow: hidden;
	position: relative;
}
.home-mv__bg-img {
	position: absolute;
	top: 0;
	min-width: 100%;
	min-height: 100%;
}
.home-mv__bg-img source,
.home-mv__bg-img img {
	vertical-align: top;
	position: absolute;
	top: 0;
	left: calc(-960px + 50vw);
	min-width: 100vw;
	min-height: 100vh;
}
.home-mv__bg-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	background-color: rgba(13, 13, 13, 0.22);
}
.home-mv__front {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}
.home-mv__front-text {
	color: #fff;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 2px;
	font-size: 27rem;
	font-weight: normal;
}
.home-mv__front-text--and {
	font-size: 32rem;
}
html[lang="en-US"] .home-mv__front-text--and {
	font-size: 1em;
}
.home-mv__front-text--big {
	font-size: 36rem;
}
.home-mv__front-subtitle {
	text-align: center;
	color: #fff;
	font-size: 16rem;
	font-weight: bold;
	font-style: italic;
	letter-spacing: 0px;
}
html[lang="en-US"] .home-mv__front-subtitle--and {
	font-size: 0.8em;
}
/* notice */
.home-notice.home-section {
	background-color: #fdfdfd;
}
.home-notice .home-content {
	border: solid 2px #253857;
}
.home-notice-head {
	background-color: #253857;
	padding: 10px;
	color: #fff;
}
p.home-notice__title {
	font-size: 14rem;
	text-align: center;
}
.home-notice-wrap {
	flex-direction: column;
}
.home-notice-content {
	padding: 6px 2vw;
}
.home-notice-content__link {
	font-size: 14rem;
	text-decoration: underline;
	font-weight: bold;
}

/* upates */
div.home-updates__row {
	padding: 14px 0;
	border-bottom: 1px solid #d9d9d9;
	width: 100%;
	gap: 4vw;
}
html[lang="en-US"] div.home-updates__row {
	gap: 3vw;
}
div.home-updates__row:nth-child(n+2) {
	margin-top: 8px;
}
.home-updates__row > div:first-child {
	width: auto !important;
	flex-basis: unset !important;
	flex-grow: unset !important;
}
html[lang="en-US"] .home-updates__row > div:first-child {
	flex-basis: 8em !important;
}
.home-updates__row > div:last-child {
	flex: 1;
}

/* firm */
.home-firm {
	position: relative;
}
.home-firm-bg__img,
.home-firm-bg__overlay {
	position: absolute;
	top: 0;
	min-width: 100%;
	min-height: 100%;
}
.home-firm-bg__img {
	left: -536px;
}
.home-firm-bg__img source, 
.home-firm-bg__img img {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
}
@media screen and (min-width: 664px) {
	.home-firm-bg__img {
		left: 0;
	}
}
.home-firm-bg__overlay {
	background-color: rgba(255, 255, 255, 0.78);
}
.home-content--firm {
	margin-top: 16px;
}
.home-section.home-firm .home-title::before {
	width: calc(100% - 6em);
	left: 6em;
}
.home-section.home-firm .home-title-label {
	background-color: transparent !important;
}
.home-firm ol li:nth-child(n+2) {
	margin-top: 26px;
}

/* professionals */
.home-professionals {
	padding-bottom: 20px;
}
.home-professionals__item {
	padding: 20px 0;
}
.home-content--professionals > .home-professionals__item:last-child {
	border-top: 1px solid #d9d9d9;
}
.home-professionals__item figure {
	text-align: center;
}
.home-professionals__item > div:last-child {
	margin-top: 16px;
	padding-left: 0;
	padding-right: 0;
	flex: 1;
}
.home-professionals__item > div:last-child > div:first-child {
	justify-content: flex-start;
	gap: 0;
}
.home-professionals__item > div:last-child > div:first-child > :first-child {
	flex: 1;
	width: auto;
}
.home-professionals__item > div:last-child > div:first-child > :last-child {
	flex: auto;
	width: auto;
}
.home-professionals__name-top {
	letter-spacing: 2.8px;
}
.home-professionals__name-row > div {
	flex: none !important;
}
.home-professionals .home-professionals__name-row > div:first-child {
	letter-spacing: 3.6px;
	font-weight: 800;
	flex-basis: 7.5em !important;
}
.home-professionals .home-professionals__name-row > div:last-child {
	letter-spacing: 1px;
	flex-basis: 10em !important;
}
.home-professionals table th,
.home-professionals table td {
	display: block;
	line-height: 1.7;
	text-align: left;
	font-size: 14rem;
}
.home-professionals table th:first-child,
.home-professionals table td:first-child {
	padding-top: 0.5em;
}
#lawyer_read_more {
	margin: 0 auto;
	line-height: 1.7;
	display: block;
	width: max-content;
	font-size: 14rem;
	color: #0072bb;
}
#lawyer_read_more::after {
	display: inline-block;
	font-family: "icomoon";
	content: "\e913";
	margin-left: 1.5em;
	font-size: 0.8em;
	font-weight: bold;
	transition: .5s;
}
/* #lawyer_read_moreより後ろの兄弟要素は全て非表示 */
#lawyer_read_more ~ * {
	display: none;
}

/* practices */
.home-practices {
	padding-bottom: 40px;
}
.home-practices .home-content {
	font-size: 0;
}
.home-practices__wrapper {
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.home-sub-title + .home-practices__wrapper {
	margin-top: 0;
}
.home-practices .home-practices__item {
	padding: 0 16px;
	height: 120px;
	justify-content: center;
	text-align: center;
	width: 100%;
	line-height: 1.56;
	background-color: #ffffff;
	font-size: 18rem;
}

.home-practices .home-practices__item:hover {
	background-color: #0d0d0d;
	color: #ffffff;
}

/* careers */
.home-content--careers {
	margin-top: 16px;
}

/* partition */
.home-partition-div {
	position: relative;
	height: 160px;
	overflow: hidden;
}
.home-partition__image {
	position: absolute;
	bottom: 0;
	vertical-align: top;
}

/* column */
.home-column-ul {
	margin-top: 16px;
}
.home-column-li {
	font-size: 16rem;
}
.home-columns-bottom {
	margin-top: 40px;
}
.home-columns-bottom__a {
	position: relative;
	padding: 1em 4em;
	display: inline-block;
	font-size: 16rem;
}
.home-columns-bottom__a::after {
	position: absolute;
	top: 50%;
	right: 2em;
	transform: translateY(-50%);
	font-size: 0.6em;
}

/* contact */
.home-content--contact {
	margin-top: 16px;
	font-size: 16rem;
}
.home-contact .wpcf7-form {
	text-align: center;
}
.home-contact .inquiry-table {
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
	text-align: left;
}
.home-contact .inquiry-table-row {
	margin-top: 16px;
	display: block;
}
.home-contact .inquiry-table-row td,
.home-contact .inquiry-table-row th {
	display: block;
}
.home-contact .inquiry-table-row th {
	text-align: left;
	font-weight: normal;
}
.home-contact .inquiryrequired p::after {
	content: "Required";
	color: #c6203f;
	margin-left: 8px;
}
.home-contact .inquiryrequired--jp p::after {
	content: "必須";
}
.home-contact .inquiry-table span {
	display: inline-block;
	width: 100%;
	max-width: 900px;
}
.home-contact input,
.home-contact textarea,
.home-contact select {
	box-sizing: border-box;
	padding: 10px 8px;
	width: 100%;
	border: 1px solid #909090;
	/* MAC のデフォルトスタイルのリセット */
	border-radius: 0;
}
.home-contact input[type="button"]:hover,
.home-contact input[type="submit"]:hover {
	cursor: pointer;
	opacity: .8;
}
.home-contact select,
.home-contact input[type="checkbox"],
.wpcf7-checkbox label:hover {
	cursor: pointer;
}
.home-contact input::placeholder {
	color: #b1b1b1;
}
.home-contact select {
	background-color: #fff;
}
.home-contact .selectbox-arrow .wpcf7-form-control-wrap {
	position: relative;
}
.home-contact .selectbox-arrow .wpcf7-form-control-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #909090;
	border-right: 2px solid #909090;
	-webkit-transform: translateY(-65%) rotate(135deg);
	transform: translateY(-65%) rotate(135deg);
	pointer-events: none;
}
.home-contact select {
	padding-right: 42px;
	font-size: 16px;
}
.home-contact .inquiryzip-p {
	margin-right: 12px;
	display: inline-block;
	width: calc(100% - 184px - 18px);
	max-width: 238px;
}
.home-contact .inquiryzip {
	margin-bottom: 12px;
	min-width: 7em;
}
.home-contact .inquiryzip-button {
	vertical-align: top;
	display: inline-block;
}
.home-contact input[type="button"] {
	margin-bottom: 12px;
	padding: 8px 12px;
	border: none;
	display: inline-block;
	width: auto;
	background-color: #0d0d0d;
	text-align: center;
	color: #fff;
	transition: .2s;
}
.home-contact .inquiryzipundertext
.home-contact .linkprivacypage-text,
.home-contact .recaptcha_policy {
	letter-spacing: 0.8px;
}
.home-contact .inquiryzipundertext {
	font-size: 14rem;
}

.home-contact .linkprivacypage {
	margin-top: 32px;
	text-align: center;
}
.home-contact .linkprivacypage-text {
	display: inline-block;
	text-align: left;
	letter-spacing: 0.8px;
	font-size: 14rem;
}
.home-contact input[type="checkbox"] {
	width: auto;
}
.wpcf7-list-item-label {
	font-weight: bold;
}
.linkprivacypage__checkbox {
	margin-top: 4px;
}

.home-contact .inquirysubmit {
	margin-top: 24px;
	text-align: center;
}
.home-contact input[type="submit"] {
	padding: 12px 0;
	width: 75%;
	background-color: #af1818;
	color: #fff;
	border: none;
	transition: .2s;
}
.home-contact .wpcf7-spinner {
	margin: 16px auto;
	display: block;
}
.home-contact textarea {
	font-size: 16px;
}
.home-contact a {
	text-decoration: underline;
	color: #0d0d0d;
	font-weight: bold;
}

@media screen and (min-width: 768px) {
	/* common */
	.home-section {
		padding: 60px 0;
	}
	/* practices */
	.home-practices__wrapper {
		gap: 24px 30px;
	}
	.home-practices .home-practices__item {
		flex-basis: calc((100% - 30px) / 2);
	}
	/* mv */
	.home-mv__front-text {
		font-size: 37rem;
	}
	.home-mv__front-text--and {
		font-size: 44rem;
	}
	.home-mv__front-text--big {
		font-size: 50rem;
	}
	.home-mv__front-subtitle {
		font-size: 22rem;
	}
	/* professionals */
	.home-professionals__item {
		padding: 20px 0 30px;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.home-professionals__item > :first-child {
		width: 236px;
		align-self: auto;
	}
	.home-professionals__item > div:last-child {
		margin-top: 0;
		padding-left: 30px;
	}
	.home-professionals .home-professionals__name-row > div:last-child {
		margin-left: 32rem;
	}
	.home-professionals table th,
	.home-professionals table td {
		display: table-cell;
	}
	.home-professionals table th:first-child,
	.home-professionals table td:first-child {
		padding-top: 0;
	}
	.home-professionals table th:last-child,
	.home-professionals table td:last-child {
		padding-left: 1em;
	}
	#lawyer_read_more {
		position: relative;
		left: -118px;
		margin: 0 50% 0 calc(50% - 118px);
	}
	/* contact */
	.home-content input[name="addr"],
	.home-contact .selectbox-arrow .wpcf7-form-control-wrap {
		width: 80%;
	}
	.home-contact .inquiryzip {
		width: 238px;
	}
	.home-contact .selectbox-arrow > span::after {
		right: calc(20px + 20%);
	}
}

@media screen and (min-width: 1024px) {
	/* common */
	a[href^="tel"] {
		pointer-events: none;
	}
	.home-section {
		padding: 80px 0;
	}
	.home-section-content {
		width: 94.28571428571429%;
	}
	.home-title {
		font-size: 24rem;
	}
	.home-title::before {
		top: 18px;
	}
	.home-sub-title {
		position: relative;
		margin: 32px 0 16px;
		font-size: 20rem;
	}

	/* mv */
	.home-mv__front-text {
		font-size: 48rem;
		letter-spacing: 4px;
	}
	.home-mv__front-text--and {
		font-size: 56rem;
	}
	.home-mv__front-text--big {
		font-size: 64rem;
	}
	.home-mv__front-subtitle {
		font-size: 28rem;
	}
	
	/* notice */
	.home-notice {
		padding-bottom: 0;
	}
	.home-notice .home-content {
		display: flex;
		margin: 0 auto;
		width: 710px;
	}
	.home-notice-content {
		padding: 14px;
	}
	.home-notice-head {
		padding: 14px 24px;
	}
	.home-notice-content__date {
		display: inline;
	}
	.home-notice-content__link {
		margin-left: 10px;
	}

	/* updates */

	/* professionals */
	.home-professionals {
		padding-bottom: 20px;
	}
	.home-professionals__item {
		padding: 40px 0 60px;
	}
	.home-professionals__item > div:last-child {
		padding-left: 40px;
	}

	/* partition */
	.home-partition-div {
		height: 200px;
	}
	.home-partition__image {
		left: 0;
	}

	/* contact */
	.home-contact .inquiry-table-row {
		display: table-row;
	}
	.home-contact .inquiry-table-row td,
	.home-contact .inquiry-table-row th {
		vertical-align: top;
		display: table-cell;
		padding-top: 24px;
	}
	.home-contact .inquiry-table-row th {
		width: 260px;
		padding: 34px 0 0 32px;
	}
	html[lang="ja"] .home-contact .inquiry-table-row th {
		width: 200px;
	}
	.home-contact input[type="submit"] {
		width: 320px;
	}
}

@media screen and (min-width: 1200px) {
	/* practices */
	.home-practices__wrapper {
		gap: 40px 30px;
	}
	.home-practices .home-practices__item {
		flex-basis: calc((100% - 60px) / 3);
	}
}

@media screen and (min-width: 1920px) {
	.home-mv__bg-img source,
	.home-mv__bg-img img {
		left: 0;
	}
}
