@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#loadingLogo {
position: absolute;
width: 250px;
top: 50%;
left: 50%;
z-index: 9999;
transform: translate(-50%,-50%);
}

.fadeUp {
animation-name: fadeUpAnime;
animation-duration: 0.5s;
animation-fill-mode: forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.shutter {
position: fixed;
background-color: var(--themeColor);
height: 100vh;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 9999;
-webkit-animation: byeShutter .5s forwards;
animation: byeShutter .5s forwards;
animation-delay: 1.5s;
}

@keyframes byeShutter {
70% {
opacity: 1;
}
100% {
height: 0;
opacity: 0;
display: none;
z-index: -1;
}
}

#kvWrap {
position: relative;
background-color: var(--themeColor);
width: 100%;
height: 100vh;
display: flex;
justify-content: space-between;
overflow: hidden;
}

#kvImgWrap {
position: relative;
background-color: var(--themeColor);
width: 100%;
height: 100vh !important;
overflow: hidden;
}

#kvImgWrap::after {
position: absolute;
background: rgba(0,0,0,.5);
width: 100%;
height: 100vh;
content: "";
left: 0;
top: 0;
z-index: 20;
}

.kvImg {
position: absolute;
width: 100%;
height: 100vh;
background-image: url("../img/index_mv01.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
z-index:10;
opacity: 0;
transform: scale(1.2) ;
left: 100px;
top: 0;
-webkit-animation: anime 36s 0s infinite;
animation: anime 36s 0s infinite;
}

.kvImg:nth-of-type(2) {
background-image: url("../img/index_mv02.jpg");
-webkit-animation-delay: 6s;
animation-delay: 6s; }

.kvImg:nth-of-type(3) {
background-image: url("../img/index_mv03.jpg");
-webkit-animation-delay: 12s;
animation-delay: 12s; }

.kvImg:nth-of-type(4) {
background-image: url("../img/index_mv04.jpg");
-webkit-animation-delay: 18s;
animation-delay: 18s; }

.kvImg:nth-of-type(5) {
background-image: url("../img/index_mv05.jpg");
-webkit-animation-delay: 24s;
animation-delay: 24s; }

.kvImg:nth-of-type(6) {
background-image: url("../img/index_mv06.jpg");
-webkit-animation-delay: 30s;
animation-delay: 30s; }

@keyframes anime {
0% { opacity: 0; }
8% { opacity: 1; }
17% { opacity: 1; }
25% {
opacity: 0;
transform: scale(1.2);
z-index: 9;
left: -100px;
filter: none;
}
100% {
opacity: 0;
}
}

#kvCopy {
position: absolute;
font-family: var(--font-literata);
height: 210px;
font-size: 8.4rem;
font-weight: 400;
color: var(--subColorInvert);
text-align: left;
margin: auto;
line-height: 1em;
letter-spacing: 0;
z-index: 21;
left: 80px;
top: 80px;
bottom: 0;
}

#kvCopy span {
font-family: var(--font-mincho);
font-size: 2rem;
font-weight: 700;
color: #fff;
display: block;
margin-left: 10px;
letter-spacing: .2em;
line-height: 2.4;
}

#kvInfoWrapTitle {
position: absolute;
font-family: var(--font-literata);
font-size: 3.6rem;
color: var(--subColorInvert);
z-index: 21;
line-height: 1;
left: 110px;
bottom: 67px;
}

#tickerNumber {
position: absolute;
font-family: var(--font-literata);
font-size: 5rem;
color: var(--subColorInvert);
z-index: 21;
line-height: 1;
left: 230px;
bottom: 67px;
}

#tickerWrap {
position: absolute;
background-color: #fff;
width: 700px;
height: 70px;
font-size: 1.4rem;
text-align: left;
padding: 22px 30px;
border-left: 5px solid var(--themeColor);
z-index: 21;
left: 80px;
bottom: 0;
}

#tickerWrap a span {
font-family: var(--font-literata);
font-size: 1.5rem;
font-weight: 400;
margin-right: 20px;
}

#scrollDown {
position: absolute;
width: 300px;
z-index: 21;
right: -30px;
bottom: -90px;
animation: 60s linear infinite rotation;
}

@keyframes rotation{
0% { transform: rotate(0); }
100% { transform: rotate(360deg); }
}

#arrowDown {
position: absolute;
width: 12px;
height: 12px;
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(135deg);
z-index: 21;
right: 112px;
bottom: 60px;
}

.wrapIndex {
width: 1200px;
margin: 0 auto;
padding: 100px 0;
}

.mainTitleL,
.mainTitleLWh {
position: relative;
font-family: var(--font-literata);
font-size: 6rem;
font-weight: 400;
color: var(--subColor);
margin-bottom: 60px;
padding-bottom: 25px;
display: table;
line-height: 1.3;
}

.mainTitleL span,
.mainTitleLWh span {
font-family: var(--font-mincho);
font-size: 1.6rem;
font-weight: 700;
color: var(--txtColor);
display: block;
letter-spacing: .2em;
}

.mainTitleLWh span {
color: #fff;
}

.mainTitleL::before,
.mainTitleLWh::before {
position: absolute;
background-color: var(--themeColor);
width: 72px;
height: 3px;
content: "";
margin: auto;
left: 0;
bottom: 0;
}

.mainTitleLWh::before {
background-color: #fff;
}

.mainTitleCe,
.mainTitleCeWh {
position: relative;
font-family: var(--font-literata);
font-size: 6rem;
font-weight: 400;
color: var(--subColor);
text-align: center;
margin: 0 auto;
margin-bottom: 60px;
padding-bottom: 25px;
display: table;
line-height: 1.3;
z-index: 2;
}

.mainTitleCe span,
.mainTitleCeWh span {
font-family: var(--font-mincho);
font-size: 1.6rem;
font-weight: 700;
color: var(--txtColor);
display: block;
letter-spacing: .2em;
}

.mainTitleCeWh span {
color: #fff;
}

.mainTitleCe::before,
.mainTitleCeWh::before {
position: absolute;
background-color: var(--themeColor);
width: 72px;
height: 3px;
content: "";
margin: auto;
left: 0;
right: 0;
bottom: 0;
}

.mainTitleCeWh::before {
background-color: #fff;
}

#indexAboutFlex {
position: relative;
width: 100%;
margin: 0 auto;
padding: 100px 0 60px;
overflow: hidden;
}

#indexAboutPhoto {
width: 70%;
height: 450px;
overflow: hidden;
}

#indexAboutPhoto img {
width: 100%;
height: 450px;
object-fit: cover;
}

#indexAboutR {
display: flex;
justify-content: flex-end;
}

/*
#indexAbout {
position: relative;
background-color: #fff;
width: 800px;
text-align: left;
margin-top: -100px;
padding: 70px 120px 0 70px;
}
*/

#indexAbout {
position: relative;
background-color: #fff;
width: 1000px;
text-align: left;
margin: 0 auto;
/*margin-top: -100px;*/
margin-top: -90px;
padding: 60px 80px 0;
z-index: 1;
}

.mainSubTitleL {
position: relative;
font-family: var(--font-mincho);
font-size: 3rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 40px;
padding-bottom: 5px;
}

.mainSubTitleL::after {
position: absolute;
background-color: var(--themeColor);
width: 40px;
height: 2px;
content: "";
left: 0;
bottom: 0px;
}

.wrapColor {
background-color: #f5f5f5;
width: 100%;
margin: 0 auto;
padding: 100px 0;
}

.wrapColor2 {
background-color: #EFF9EA;
width: 100%;
margin: 0 auto;
padding: 100px 0;
}

.mainTitleCeWh::before {
position: absolute;
background: url("../img/logo_mark_wh.svg") no-repeat;
}

#wrapStrengths {
position: relative;
background: url("../img/index_strengths_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
margin: 0 auto;
padding: 100px 0;
overflow: hidden;
}

#wrapStrengths::after {
position: absolute;
background: rgba(0,0,0,.5);
width: 100%;
height: 100%;
content: "";
left: 0;
top: 0;
z-index: 1;
}

#strengthsFlex {
width: 1200px;
margin: 120px auto;
margin-bottom: 0;
display: flex;
justify-content: space-between;
}

.strengthsWrap {
position: relative;
width: 370px;
z-index: 2;
}

.strengthsWrap:nth-of-type(2) {
margin-top: 30px;
}

.strengthsWrap:nth-of-type(3) {
margin-top: 60px;
}

.strengths {
position: relative;
background-color: var(--themeColor);
width: 100%;
height: 250px;
display: table;
}

.strengths .number {
position: absolute;
font-family: var(--font-literata);
font-size: 6rem;
font-weight: 700;
color: #aaa;
margin: auto;
left: 20px;
top: -60px;
}

.strengths h3 {
position: relative;
font-family: var(--font-mincho);
width: 100%;
font-size: 3rem;
font-weight: 700;
color: #fff;
text-align: center;
padding-top: 25px;
display: table-cell;
vertical-align: middle;
line-height: 1.3;
letter-spacing: .15em;
}

.strengths h3 span {
font-family: var(--font-literata);
font-size: 2.8rem;
font-weight: 700;
color: var(--subColorInvert);
display: block;
letter-spacing: .0;
}

.strengthsTxt {
position: relative;
background-color: #fff;
width: 330px;
text-align: left;
margin: 0 auto;
margin-top: -30px;
padding: 30px 38px;
z-index: 1;
border-radius: 0 0 20px 0;
}

.strengthsIcon {
position: absolute;
width: 150px;
margin: auto;
z-index: 2;
left: 0;
right: 0;
top: -100px;
}

#lawyersBanner {
position: relative;
width: 1200px;
height: 450px;
text-align: left;
margin: 0 auto;
overflow: hidden;
border-radius: 0 0 20px 0;
}

#lawyersBanner a {
position: relative;
width: 1200px;
height: 450px;
display: block;
}

#lawyersBanner a::after {
position: absolute;
background: rgba(0,0,0,.5);
width: 100%;
height: 100%;
content: "";
left: 0;
top: 0;
}

#lawyersBanner h2 {
position: absolute;
height: 85px;
margin:  auto;
z-index: 1;
top: -40px;
bottom: 0;
left: 130px;
}

#lawyersBanner a img {
width: 100%;
height: 450px;
object-fit: cover;
object-position: top;
transition: .6s;
}

#lawyersBanner a:hover img {
transform:scale(1.05,1.05);
}

#viewMore {
position: absolute;
background-color: var(--themeColor);
font-family: var(--font-literata);
width: 100%;
font-size: 1.5rem;
text-align: right;
color: #fff;
padding: 25px 55px 27px;
border-radius: 0 0 20px 0;
line-height: 1;
z-index: 2;
left: 0;
bottom: 0;
}

#viewMore::before {
position: absolute;
width: 8px;
height: 8px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 40px;
top: 0;
bottom: 0;
transition: .3s;
}

#viewMore:hover::before {
right: 37px;
}

#indexPracticeFlex {
position: relative;
width: 100%;
margin: 0 auto;
padding: 100px 0 0;
overflow: hidden;
display: flex;
justify-content: flex-end;
}

#indexPracticePhoto {
width: 70%;
height: 450px;
overflow: hidden;
}

#indexPracticePhoto img {
width: 100%;
height: 450px;
object-fit: cover;
}

#indexPractice {
position: relative;
background-color: #fff;
width: 1200px;
text-align: left;
margin: 0 auto;
/*margin-top: -100px;*/
margin-top: -90px;
margin-bottom: 60px;
padding: 60px 70px 0;
}

.practiceFlex {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.practiceWrap {
position: relative;
width: 320px;
margin-right: 50px;
margin-bottom: 50px;
}

.practiceWrap:nth-of-type(3n) {
margin-right: 0;
}

.practiceWrap:hover .viewMore::before {
right: 17px;
}

.practice {
position: relative;
width: 320px;
height: 320px;
overflow: hidden;
border-radius: 0 0 20px 0;
transition: .3s;
}

.practice img {
width: 100%;
height: 320px;
object-fit: cover;
transition: .6s;
border-radius: 0 0 20px 0;
}

.practice img:hover {
transform:scale(1.05,1.05);
}

.practice .inner {
position: absolute;
width: 100%;
height: 118px;
display: table;
left: 0;
top: 0;
}

.practice h3 {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
text-align: center;
line-height: 1.2;
z-index: 2;
display: table-cell;
vertical-align: middle;
}

.practice h3:hover ~ img {
transform: scale(1.05,1.05);
}

.viewMore {
position: absolute;
background-color: var(--subColor);
font-family: var(--font-literata);
width: 100%;
font-size: 1.3rem;
text-align: right;
color: #fff;
padding: 15px 30px 17px;
border-radius: 0 0 20px 0;
line-height: 1;
z-index: 2;
left: 0;
bottom: 0;
}

.viewMore::before {
position: absolute;
width: 8px;
height: 8px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 20px;
top: 0;
bottom: 0;
transition: .3s;
}

.viewMore:hover::before {
right: 17px;
}

.practiceWrap .number {
position: absolute;
font-family: var(--font-literata);
font-size: 4rem;
color: #aaa;
text-align: center;
margin: auto;
line-height: 1;
z-index: 3;
left: 0;
right: 0;
top: -24px;
}

.practiceBlank {
background-color: #eee;
}

.practiceBlank:hover {
background-color: #eee;
}

#indexLegalInfo {
width: 900px;
text-align: left;
margin: 0 auto;
}

.legalInfo {
position: relative;
width: 100%;
display: block;
border-bottom: 1px dotted #ccc;
transition: .3s;
overflow: hidden;
}

.legalInfo::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
right: 35px;
top: 0;
bottom: 0;
transition: .3s;
}

.legalInfo:hover::before {
right: 30px;
}

.legalInfoWrap {
border-top: 1px dotted #ccc;
}

#indexLegalInfo .btn {
margin-top: 60px;
}

.legalInfo a {
width: 100%;
padding: 30px;
display: block;
}

.legalInfo:hover {
background-color: #fff;
}

.legalInfo dt {
float: left;
font-family: var(--font-literata);
}

.legalInfo dd {
padding: 0 40px 0 170px;
}

.sliderPhi {
position: relative;
width: 100%;
}

.sliderPhi .slide {
width: 400px;
margin: 0;
}

.sliderPhi div img {
width: 100%;
}

#indexNews {
width: 1200px;
text-align: left;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#indexNewsL {
}

#indexNewsR {
width: 800px;
border-top: 1px dotted #ccc;
line-height: 1.6;
}

.news {
position: relative;
width: 100%;
display: block;
border-bottom: 1px dotted #ccc;
transition: .3s;
overflow: hidden;
}

.news::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
right: 35px;
top: 0;
bottom: 0;
transition: .3s;
}

.news:hover::before {
right: 30px;
}

.news a {
width: 100%;
padding: 30px;
display: block;
}

.news:hover {
background-color: #fff;
}

.news dt {
float: left;
font-family: var(--font-literata);
}

.news dd {
padding: 0 40px 0 170px;
}

.categoryTagFlex {
display: flex;
justify-content: flex-start;
}

.categoryTag {
background: #ccc;
width: 90px;
height: 24px;
font-size: 1.1rem;
font-weight: 700;
text-align: center;
color: #fff;
margin: 12px 5px 0 0;
padding: 0 10px;
border-radius: 100px;
line-height: 22px;
}

.categoryTag a {
color: #fff;
display: block;
}

.tagInfo {
background-color: var(--subColor);
}

.tagLegal {
background-color: var(--subColor);
}

.tagLawyer {
background-color: var(--subColor);
}

.legalInfo .triangle,
.news .triangle {
position: absolute;
background-color: #EB8A00;
width: 150px;
height: calc(100px / 2 * tan(60deg));
clip-path: polygon(50% 0, 100% 100%, 0 100%);
content: "";
text-align: center;
transform: rotate(45deg);
line-height: 1;
z-index: 1;
right: -80px;
top: -50px;
}

.legalInfo .triangle::after,
.news .triangle::after {
position: absolute;
font-family: var(--font-literata);
font-size: 1rem;
font-weight: 700;
content: "NEW";
color: #fff;
margin: auto;
transform: rotate(0deg);
z-index: 2;
left: 1px;
right: 0;
bottom: 6px;
}

#wrapAccess {
background-color: #EFF9EA;
width: 100%;
margin: 0 auto;
padding: 80px 0 0;
}

#googleMap {
position: relative;
width: 90%;
max-width: 1500px;
height: 500px;
margin: 0 auto;
margin-bottom: -60px;
z-index: 1;
}

#googleMap iframe {
width: 100%;
height: 100%;
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}

/**/

.btn,
.btnWh {
position: relative;
background-color: var(--subColor);
font-family: var(--font-literata);
width: 300px;
height: 70px;
font-size: 1.6rem;
color: #fff;
text-align: center;
margin-top: 30px;
padding-bottom: 2px;
cursor: pointer;
border: 1px solid var(--subColor);
border-radius: 0 0 20px 0;
overflow: hidden;
transition: .3s;
}

.btnWh {
background-color: var(--themeColor);
border: 1px solid #fff;
}

.btn::before,
.btnWh::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 25px;
top: 0;
bottom: 0;
transition: .3s;
}

.btn:hover {
background-color: var(--themeColor);
border: 1px solid var(--themeColor);
}

.btnWh:hover {
background-color: var(--subColor);
border: 1px solid var(--subColor);
}

.btn:hover::before,
.btnWh:hover::before {
right: 20px;
}

/**/

#titleWrap {
position: relative;
width: 100%;
height: 480px;
}

#titleWrap::after {
position: absolute;
background: rgba(0,0,0,.5);
width: 100%;
height: 100%;
content: "";
left: 0;
top: 0;
z-index: 2;
}

#titleWrap #titleCo {
position: absolute;
font-family: var(--font-mincho);
width: 1200px;
font-size: 4rem;
font-weight: 700;
color: #fff;
text-align: left;
margin: 0 auto;
line-height: 1.5;
z-index: 3;
top: 55%;
left: 50%;
transform: translateY(-55%) translateX(-50%);
}

#titleWrap #titleCo span {
font-family: var(--font-literata);
font-size: 1.2rem;
font-weight: 400;
color: var(--subColorInvert);
display: block;
}

.bgNews {
background: url("../img/bg_news.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgLegalInformation {
background: url("../img/bg_legal_information.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgOfficeOutline {
background: url("../img/bg_office_outline.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgLawyers {
background: url("../img/bg_lawyers.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgPracticeAreas {
background: url("../img/bg_practice_areas.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgRecruit {
background: url("../img/bg_recruit.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgContact {
background: url("../img/bg_contact.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

.bgPrivacy{
background: url("../img/bg_privacy.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 500px;
object-fit: cover;
}

#breadcrumbWrap {
position: absolute;
background-color: var(--txtColor);
width: 100%;
padding: 15px 0 17px;
border-top: 1px solid var(--subColor);
border-bottom: 1px solid var(--subColor);
left: 0;
bottom: 0;
z-index: 3;
}

#breadcrumb {
position: relative;
width: 1200px;
font-size: 1.2rem;
color: #fff;
text-align: left;
margin: 0 auto;
}

#breadcrumb a {
color: #fff;
}

.wrapCo {
width: 1200px;
text-align: left;
margin: 0 auto;
padding: 80px 0 120px;
overflow: hidden;
}

.commonSubTitle {
position: relative;
font-family: var(--font-mincho);
font-size: 2.6rem;
font-weight: 700;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 1px solid #ddd;
}

.commonSubTitle::after {
position: absolute;
background-color: var(--themeColor);
width: 56px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

/**/

.officeOutlineTitle {
position: relative;
font-family: var(--font-mincho);
font-size: 4rem;
font-weight: 700;
text-align: center;
margin-bottom: 40px;
padding-bottom: 20px;
line-height: 1.4;
}

.officeOutlineTitle em {
color: var(--themeColor);
}

.officeOutlineTitle span {
font-family: var(--font-literata);
font-size: 2rem;
font-weight: 400;
color: var(--subColorInvert);
display: block;
margin-top: 8px;
}

.officeOutlineTitle::before {
position: absolute;
background-color: var(--themeColor);
width: 72px;
height: 3px;
content: "";
margin: auto;
left: 0;
right: 0;
bottom: 0;
}

.officeOutlineFlex,
.officeOutlineFlexBottom {
margin-bottom: 50px;
display: flex;
justify-content: space-between;
align-items: center;
}

.officeOutlineFlexBottom {
margin-bottom: 0;
}

.officeOutline {
position: relative;
background-color: #f5f5f5;
font-family: var(--font-mincho);
width: 400px;
height: 400px;
font-size: 2.4rem;
font-weight: 700;
text-align: center;
color: var(--subColor);
padding: 30px;
border-left: 5px solid var(--themeColor);
border-radius: 0 0 30px 0;
line-height: 1.5;
}

.officeOutline .number {
position: absolute;
font-family: var(--font-literata);
font-size: 6rem;
font-weight: 400;
color: #ddd;
margin: auto;
left: 20px;
top: -54px;
}

.officeOutline .inner {
position: absolute;
width: 100%;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
}

.officeOutline h3 {
position: relative;
font-family: var(--font-literata);
font-size: 5.2rem;
font-weight: 400;
color: var(--themeColor);
margin-bottom: 20px;
padding-bottom: 50px;
line-height: 1.4;
}

.officeOutline h3 span {
font-size: 2.4rem;
font-weight: 700;
display: block;
}

.officeOutline h3::after {
position: absolute;
background-color: var(--themeColor);
width: 1px;
height: 30px;
content: "";
margin: auto;
left: 0;
right: 0;
bottom: 0;
}

.officeOutlineR {
width: 750px;
}

.officeOutlineR p {
font-family: var(--font-mincho);
font-size: 1.7rem;
font-weight: 700;
}

.officeOutlineR p:last-child {
margin-bottom: 0;
}

.officeOutlineDetail {
margin-bottom: 30px;
}

.officeOutlineDetail dt {
float: left;
}

.officeOutlineDetail dd {
padding:  0 0 0 18px;
}

#officeOutlineWrap {
background-color: #fff;
width: 750px;
text-align: left;
margin: 0 auto;
padding: 30px 38px 5px;
border-radius: 0 0 20px 0;
}

#officeOutlineWrap p {
margin-bottom: 0;
}

#outline table {
width: 900px;
margin: 0 auto;
margin-top: 30px;
}

#outline th,
#outline td {
padding: 15px 20px;
border: 1px solid #ddd;
}

#outline th {
background-color: #f5f5f5;
width: 200px;
}

/**/

.pageNavi {
font-family: var(--font-literata);
margin: 0 auto;
margin-top: 80px;
}

.wp-pagenavi {
position: relative;
font-size: 1.4rem;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
line-height: 40px;
}

.wp-pagenavi .pages {
display: none;
}

.wp-pagenavi .page {
margin: 0 3px;
}

.wp-pagenavi .current {
background-color: var(--themeColor);
width: 45px;
height: 45px;
color: #fff;
margin: 0 3px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
width: 45px;
height: 45px;
display: block;
border: 1px solid var(--themeColor) !important;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
display: none;
}

.wp-pagenavi a:hover {
background-color: var(--themeColor);
color: #fff;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
position: relative;
font-size: 0;
text-indent: -1000px;
border: 0 !important;
}

.wp-pagenavi a:hover.previouspostslink,
.wp-pagenavi a:hover.nextpostslink {
background-color: #fff;
}

.wp-pagenavi .previouspostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-left: 1px solid var(--themeColor);
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.wp-pagenavi .nextpostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.newsWrap,
.postWrap {
width: 900px;
text-align: left;
margin: 0 auto;
padding: 80px 0 100px;
overflow: hidden;
}

.newsWrap {
margin-top: 80px;
padding: 0 0 120px;
border-top: 1px dotted #ccc;
}

.postWrap .postDcFlex {
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.postWrap .categoryTagFlex {
position: relative;
top: -10px;
}

.postWrap #postDate {
font-family: var(--font-literata);
font-size: 1.8rem;
color: var(--themeColor);
margin-bottom: 10px;
}

.postWrap h1 {
position: relative;
font-family: var(--font-mincho);
font-size: 3.4rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 50px;
padding-bottom: 25px;
border-bottom: 1px solid #ddd;
line-height: 1.4;
}

.postWrap h1::before {
position: absolute;
background-color: var(--subColor);
width: 72px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

.postWrap h2 {
position: relative;
font-family: var(--font-mincho);
font-size: 2.6rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 60px;
margin-bottom: 40px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.5;
}

.postWrap h3 {
position: relative;
font-family: var(--font-mincho);
font-size: 2.2rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 60px;
margin-bottom: 40px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.6;
}

.postWrap ol {
list-style: decimal;
padding-inline-start: 20px;
margin-bottom: 30px;
}

.postWrap ul {
list-style: disc;
padding-inline-start: 20px;
margin-bottom: 30px;
}

.postWrap .size-full {
margin-bottom: 50px;
}

.postWrap .wp-block-table table {
width: 100%;
margin: 40px auto;
}

.postWrap .wp-block-table table th,
.postWrap .wp-block-table table td {
padding: 10px 15px;
border: 1px solid #ccc;
}

#prevNextWrap {
margin-top: 100px;
display: flex;
justify-content: space-between;
align-items: center;
}

.btnBackToList {
background-color: var(--themeColor);
font-family: var(--font-literata);
width: 200px;
height: 60px;
font-size: 1.4rem;
font-weight: 400;
color: #fff;
cursor: pointer;
padding-bottom: 3px;
border: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
transition: .3s;
}

.btnBackToList:hover {
background-color: var(--subColor);
border: 1px solid var(--subColor);
}

.btnNextWrap {
width: 118px;
}

.btnPrevWrap {
width: 154px;
}

.btnPrev,
.btnNext {
position: relative;
font-family: var(--font-literata);
width: 118px;
height: 25px;
font-size: 1.4rem;
text-align: left;
color: var(--themeColor);
border: none;
cursor: pointer;
}

.btnPrev {
width: 154px;
text-align: right;
}

.btnPrev::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-left: 1px solid #fff;
transform: rotate(-45deg);
left: 26px;
top: 0;
bottom: 0;
}

.btnNext::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
z-index: 10;
right: 26px;
top: 0;
bottom: 0;
}

.btnNext:hover::after {
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}

.btnPrev:hover::after {
border-top: 1px solid #fff;
border-left: 1px solid #fff;
}

.btnNext .circle {
position: absolute;
background-color: var(--themeColor);
width: 60px;
height: 60px;
border-radius: 60px;
margin: auto;
right: 0;
top: 0;
bottom: 0;
transition: .3s;
}

.btnPrev .circle {
position: absolute;
background-color: var(--themeColor);
width: 60px;
height: 60px;
border-radius: 60px;
margin: auto;
left: 0;
top: 0;
bottom: 0;
transition: .3s;
}

.btnNext:hover .circle,
.btnPrev:hover .circle {
background-color: var(--subColor);
}

/**/

#lawyersNav {
width: 1206px;
margin: 0 auto;
}

#lawyersNav ul {
display: flex;
justify-content: space-between;
}

#lawyersNav li {
background-color: #fff;
font-family: var(--font-mincho);
flex-basis: 100%;
font-weight: 700;
text-align: center;
margin: 0 3px;
white-space: nowrap;
border-left: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
line-height: 1;transition: .3s;
}

#lawyersNav li:hover {
background-color: var(--themeColor);
}

#lawyersNav li a {
color: var(--themeColor);
display: block;
padding: 20px 10px 22px;
}

#lawyersNav li a:hover {
color: #fff;
}

#lawyersNav .top {
background-color: var(--themeColor);
}

#lawyersNav .top a {
color: #fff;
}

#lawyersNav .top:hover {
background-color: #fff
}

#lawyersNav .top:hover a {
color: var(--themeColor);
}

.lawyersWrapFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.lawyersWrapCo {
position: relative;
width: 570px;
text-align: center;
margin-bottom: 60px;
}

.lawyersFlex {
display: flex;
justify-content: space-between;
align-items: center;
}

.lawyersTxt {
width: 48%;
text-align: left;
}

.lawyersPhotoCo {
position: relative;
background-color: #fff;
width: 50%;
overflow: hidden;
}

.lawyersNameCo {
font-family: var(--font-mincho);
font-size: 1.7rem;
font-weight: 700;
margin-bottom: 20px;
line-height: 1.4;
}

.lawyersNameCo span {
font-size: 3.2rem;
display: block;
}

.lawyersNameEnCo {
position: absolute;
font-family: var(--font-literata);
font-size: 4.2rem;
font-weight: 400;
color: var(--subColor);
margin: auto;
line-height: 1;
z-index: 1;
left: 0;
right: 0;
bottom: 67px;
}

.btnLawyers {
position: relative;
background-color: var(--subColor);
font-family: var(--font-literata);
width: 100%;
height: 70px;
font-size: 1.6rem;
color: #fff;
text-align: center;
padding-bottom: 2px;
cursor: pointer;
border: 1px solid var(--subColor);
border-radius: 0 0 20px 0;
overflow: hidden;
transition: .3s;
}

.btnLawyers::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 25px;
top: 0;
bottom: 0;
transition: .3s;
}

.btnLawyers:hover {
background-color: var(--themeColor);
border: 1px solid var(--themeColor);
}

.btnLawyers:hover::before {
right: 20px;
}

.lawyerSubPhoto {
position: relative;
width: 90%;
height: 800px;
margin: 0 auto;
margin-top: 80px;
overflow: hidden;
border: 20px solid var(--subColor);
z-index: 0;
}

.lawyerSubPhoto img {
width: 100%;
height: 800px;
object-fit: cover;
}

.wrapLawyer {
position: relative;
background: #fff;
width: 75%;
text-align: left;
margin: 0 auto;
padding: 80px 80px 0;
border-top: 5px solid var(--themeColor);
top: -120px;
z-index: 1;
}

.lawyersNameEnCo2 {
position: absolute;
font-family: var(--font-literata);
font-size: 9rem;
font-weight: 400;
color: var(--subColor);
text-align: center;
margin: auto;
line-height: 1;
left: 0;
right: 0;
top: -89px;
}

.lawyerName {
font-family: var(--font-mincho);
font-size: 2rem;
font-weight: 700;
margin-bottom: 34px;
line-height: 1.4;
}

.lawyerName span {
font-size: 4rem;
display: block;
}

.lawyerTxtPersonal {
margin-bottom: 60px;
}

.career {
margin-bottom: 60px;
}

.career br {
display: none;
}

.career dt {
float: left;
margin: 0;
padding: 0;
}

.career dd {
margin: 0;
padding: 0 0 0 80px;
}

.career dd br {
display: block;
}

/**/

.practiceAreasNav {
width: 1218px;
margin: 0 auto;
}

.practiceAreasNav ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.practiceAreasNav li {
background-color: #fff;
font-family: var(--font-mincho);
width: 236px;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
margin: 0 3px;
padding: 0 10px;
border-left: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
line-height: 1;
transition: .3s;
display: table;
}

.practiceAreasNav li:hover {
background-color: var(--themeColor);
}

.practiceAreasNav li a {
color: var(--themeColor);
display: table-cell;
vertical-align: middle;
padding: 15px 10px 17px;
}

.practiceAreasNav li a:hover {
color: #fff;
}

.practiceAreasNav .top {
background-color: var(--themeColor);
}

.practiceAreasNav .top a {
color: #fff;
}

.practiceAreasNav .top:hover {
background-color: #fff
}

.practiceAreasNav .top:hover a {
color: var(--themeColor);
}

.practiceAreasNavSp {
display: none;
}

.practiceWrapCo {
position: relative;
width: 370px;
margin-right: 45px;
margin-bottom: 50px;
}

.practiceWrapCo:nth-of-type(3n) {
margin-right: 0;
}

.practiceWrapCo:hover .viewMore::before {
right: 17px;
}

.practiceCo {
position: relative;
width: 370px;
height: 370px;
overflow: hidden;
border-radius: 0 0 20px 0;
transition: .3s;
}

.practiceCo img {
width: 100%;
height: 370px;
object-fit: cover;
transition: .6s;
border-radius: 0 0 20px 0;
}

.practiceCo img:hover {
transform:scale(1.05,1.05);
}

.practiceCo .inner {
position: absolute;
width: 100%;
height: 122px;
display: table;
left: 0;
top: 0;
}

.practiceCo h3 {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 2.2rem;
font-weight: 700;
color: #fff;
text-align: center;
padding: 0 50px;
line-height: 1.2;
z-index: 2;
display: table-cell;
vertical-align: middle;
}

.practiceCo h3:hover ~ img {
transform: scale(1.05,1.05);
}

.practiceWrapCo .number {
position: absolute;
font-family: var(--font-literata);
font-size: 4rem;
color: #aaa;
text-align: center;
margin: auto;
line-height: 1;
z-index: 3;
left: 0;
right: 0;
top: -24px;
}

/**/

.contact {
width: 100%;
padding: 30px 0;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px dotted #ccc;
}

.contact:first-of-type {
margin-top: 60px;
border-top: 1px dotted #ccc;
}

.contact dt {
width: 300px;
}

.contact dt .required {
position: relative;
background-color: #C1090C;
width: 40px;
height: 20px;
font-size: 1rem;
font-weight: 700;
color: #fff;
text-align: center;
display: inline-block;
margin-left: 12px;
padding: 0 5px;
line-height: 19px;
top: -2px;
}

.contact dd {
width: 900px;
}

.contact dd .inputW {
background-color: #eee;
font-family: var(--font-primary);
width: 100%;
height: 80px;
font-size: 1.5rem;
padding: 0 20px;
border: 1px solid #eee;
transition: .3s;
}

.contact dd .inputW:hover {
border: 1px solid var(--themeColor);
}

.contact dd textarea {
background-color: #eee;
font-family: var(--font-primary);
width: 100%;
height: 250px;
font-size: 1.5rem;
padding: 20px;
border: 1px solid #eee;
transition: .3s;
}

.contact dd textarea:hover {
border: 1px solid var(--themeColor);
}

span.wpcf7-list-item {
display: block;
}

.contact dd .radioWrap input[type="radio"] {
opacity: 0;
visibility: hidden;
position: absolute;
}

.contact dd .radioWrap span.wpcf7-list-item-label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
margin-left: -15px;
margin-right: 20px;
}

.contact dd .radioWrap span.wpcf7-list-item-label::before {
display: block;
content: "";
border-radius: 50%;
border: 1px solid #ccc;
width: 18px;
height: 18px;
margin-right: 5px;
margin-top: 3px;
}

.contact dd .radioWrap span.wpcf7-list-item-label::after {
position: absolute;
content: "";
border-radius: 50%;
width: 8px;
height: 8px;
background-color: #fff;
left: 5px;
top: 50%;
transform: translateY(-50%);
display: none;
margin-top: 1.5px;
}

.contact dd .radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::after {
display: block;
}

.contact dd .radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::before {
display: block;
background-color: var(--themeColor);
}

.contact dd .checkboxWrap input[type="checkbox"] {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.contact dd .checkboxWrap input[type="checkbox"] {
display: flex;
flex-wrap: wrap;
gap: .5em 2em;
border: none;
}

.contact dd .checkboxWrap .wpcf7-list-item {
display: inline-block;
}

.contact dd .checkboxWrap .wpcf7-list-item label {
position: relative;
display: flex;
align-items: center;
gap: 0 .3em;
cursor: pointer;
left: -12px;
}

.contact dd .checkboxWrap .wpcf7-list-item label::before,
.contact dd .checkboxWrap .wpcf7-list-item label:has(:checked)::after {
content: '';
}

.contact dd .checkboxWrap .wpcf7-list-item label::before {
position: relative;
background-color: #fff;
width: 20px;
height: 20px;
border-radius: 3px;
border: 1px solid var(--themeColor);
top: 1px;
}

.contact dd .checkboxWrap .wpcf7-list-item label:has(:checked)::before {
background-color: var(--themeColor);
}

.contact dd .checkboxWrap .wpcf7-list-item label:has(:checked)::after {
position: absolute;
top: 6px;
left: 6px;
transform: rotate(45deg);
width: 8px;
height: 12px;
border: solid #fff;
border-width: 0 2px 2px 0;
}

.contactBtnWrap {
text-align: center;
margin: 0 auto;
padding-top: 60px;
}

.wpcf7-submit {
background-color: #ED9F0C;
font-family: var(--font-mincho);
width: 300px;
height: 80px;
font-size: 2rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #ED9F0C;
border-radius: 0 0 20px 0;
}

.wpcf7-submit:hover {
background-color: #fff;
color: #ED9F0C;
}

/**/

.privacyPolicy h2 {
font-size: 2.6rem;
font-weight: 700;
margin-bottom: 40px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
}

.privacyPolicy h3 {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: 10px;
}

/**/

.btnContact {
position: relative;
background-color: var(--themeColor);
width: 400px;
height: 70px;
font-size: 1.6rem;
font-weight: 700;
color: #fff;
text-align: center;
margin: 0 auto;
margin-top: 80px;
padding-bottom: 2px;
cursor: pointer;
border: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
overflow: hidden;
transition: .3s;
}

.btnContact::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 25px;
top: 0;
bottom: 0;
transition: .3s;
}

.btnContact:hover {
background-color: var(--subColor);
border: 1px solid var(--subColor);
}

.btnContact:hover::before {
right: 20px;
}

/**/

footer {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.4rem;
text-align: center;
color: #fff;
}

#globalNavFooter ul,
#globalNavFooterCo ul {
width: 1200px;
text-align: center;
margin: 0 auto;
padding-top: 110px;
display: flex;
justify-content: center;
align-items: center;
line-height: 1.5;
}

#globalNavFooterCo ul {
padding-top: 50px;
}

#globalNavFooter ul li,
#globalNavFooterCo ul li {
position: relative;
font-family: var(--font-mincho);
font-size: 1.4rem;
font-weight: 700;
margin: 0 20px;
display: table;
white-space: nowrap;
transition: .6s;
}

#globalNavFooter ul li a,
#globalNavFooterCo ul li a {
text-decoration: none;
display: block;
transition: .5s;
}

#globalNavFooter ul li a,
#globalNavFooterCo ul li a {
color: #fff;
}

#globalNavFooter ul li a span,
#globalNavFooterCo ul li a span {
font-family: var(--font-literata);
font-size: 1rem;
font-weight: 400;
color: var(--subColorInvert);
display: block;
letter-spacing: -0.02em;
}

#globalNavFooter ul li a::after,
#globalNavFooterCo ul li a::after {
position: absolute;
background-color: var(--subColorInvert);
content: "";
width: 100%;
height: 1px;
bottom: -8px;
left: 0;
transform: scale(0, 1);
transform-origin: left top;
transition: all 0.5s ease;
}

#globalNavFooter ul li a:hover::after,
#globalNavFooterCo ul li a:hover::after {
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}

#globalNavFooter .jp,
#globalNavFooterCo .jp {
position: relative;
}

#globalNavFooter .jp::after,
#globalNavFooterCo .jp::after {
position: absolute;
content: "/";
color: #fff;
top: 0px;
right: -22px; 
}

#footerBottom {
width: 90%;
margin: 0 auto;
padding: 40px 0 60px;
display: flex;
justify-content: space-between;
}

#footerL {
width: 100%;
text-align: center;
}

#footerLogo {
width: 200px;
margin: 0 auto;
margin-bottom: 12px;
}

#callWrap {
width: 400px;
height: 70px;
margin-top: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}

#call {
font-family: var(--font-literata);
font-size: 3.4rem;
margin-top: 0px;
line-height: 1.3;
}

#call i {
font-size: 2.8rem;
margin-right: 5px;
}

#call a {
color: var(--subColorInvert);
}

#call span {
font-family: var(--font-primary);
font-size: 1.4rem;
font-weight: 400;
display: block;
margin-top: 5px;
/*margin-left: 50px;*/
}

#footerR {
background-color: #00502C;
width: 700px;
font-size: 2rem;
font-weight: 700;
text-align: center;
padding: 46px 50px 50px;
}

#footerR h4 {
font-size: 2rem;
margin-bottom: 30px;
line-height: 1.5;
}

#btnBottomContact {
background-color: #EB8A00;
font-family: var(--font-mincho);
width: 500px;
height: 100px;
font-size: 2.2rem;
font-weight: 700;
color: #fff;
padding-bottom: 7px;
cursor: pointer;
border: 1px solid #EB8A00;
border-radius: 0 0 20px 0;
transition: .3s;
}

#btnBottomContact:hover {
background-color: #fff;
color: #EB8A00;
}

#btnBottomContact i {
position: relative;
font-size: 3rem;
margin-right: 10px;
top: 3px;
}

#copyright {
background-color: var(--txtColor);
width: 100%;
font-family: var(--font-literata);
font-size: 1.2rem;
text-align: center;
color: var(--subColorInvert);
padding: 10px 80px;
}

#pagetop {
position: fixed;
background-color: var(--subColor);
width: 90px;
height: 90px;
border-radius: 90px;
bottom: -90px;
right: 20px;
transition: .3s;
z-index: 200;
border: 1px solid var(--subColor);
}

#pagetop::before {
position: absolute;
font-family: var(--font-literata);
font-size: 1rem;
content: "PAGE TOP";
color: #fff;
line-height: 1;
left: 0;
right: 0;
bottom: 30px;
}

#pagetop::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(-45deg);
left: 0;
right: 0;
top: 30px;
transition: .3s;
}

#pagetop:hover {
background: var(--themeColor);
border: 1px solid #fff;
}

#pagetop:hover::before {
color: #fff;
}

#pagetop:hover::after {
top: 25px;
}

#bottomWebBtn {
display: none;
}

.alignright {
float: right;
max-width: 48%;
margin: 0 0 30px 0;
}

.alignleft {
float: left;
max-width: 48%;
margin: 0 0 30px 0;
}

.aligncenter {
display: block;
margin: 0 auto;
}

}