@charset "UTF-8";

@media print, screen and (max-width:1199px) {

#loadingLogo {
position: absolute;
width: 180px;
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;
width: 100%;
height: 100vh;
overflow: hidden;
}

#kvImgWrap {
position: absolute;
background-color: var(--themeColor);
width: 100%;
height: 100vh;
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;
left: 0;
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.15);
z-index: 9;
filter: none;
}
100% {
opacity: 0;
}
}

#kvCopy {
position: absolute;
font-family: var(--font-literata);
height: 130px;
font-size: 3.8rem;
color: var(--subColorInvert);
text-align: left;
margin: auto;
line-height: 1em;
letter-spacing: 0;
z-index: 21;
left: 20px;
top: 0;
bottom: 0;
}

#kvCopy span {
font-family: var(--font-mincho);
font-size: 1.6rem;
font-weight: 600;
color: #fff;
display: block;
margin-top: 5px;
margin-left: 2px;
line-height: 1.5;
}

#kvInfoWrapTitle {
position: absolute;
font-family: var(--font-literata);
font-size: 2.6rem;
color: var(--subColorInvert);
z-index: 21;
line-height: 1;
left: 22px;
bottom: 68px;
}

#kvInfoWrapTitleNumber {
position: absolute;
font-family: var(--font-literata);
font-size: 4rem;
color: var(--subColorInvert);
z-index: 21;
line-height: 1;
left: 110px;
bottom: 67px;
}

#tickerWrap {
position: absolute;
background-color: #fff;
width: 100%;
height: 70px;
font-size: 1.2rem;
text-align: left;
padding: 18px 20px;
border-left: 5px solid var(--themeColor);
z-index: 23;
line-height: 1.3;
left: 0;
bottom: 0;
}

#tickerWrap a span {
font-family: var(--font-literata);
font-size: 1.3rem;
color: var(--themeColor);
margin-right: 20px;
}

#scrollDown {
position: absolute;
width: 220px;
z-index: 21;
right: -80px;
bottom: -60px;
animation: 60s linear infinite rotation;
}

@keyframes rotation{
0% { transform: rotate(0); }
100% { transform: rotate(360deg); }
}

#arrowDown {
display: none;
}

.wrapIndex {
width: 88%;
margin: 0 auto;
padding: 40px 0;
}

.mainTitleL,
.mainTitleLWh {
position: relative;
font-family: var(--font-literata);
font-size: 3.6rem;
text-align: left;
color: var(--subColor);
margin-bottom: 40px;
padding-bottom: 20px;
display: table;
z-index: 2;
line-height: 1.1;
}

.mainTitleL span,
.mainTitleLWh span {
font-family: var(--font-mincho);
font-size: 1.4rem;
font-weight: 700;
color: var(--txtColor);
margin-top: 8px;
display: block;
letter-spacing: .15em;
}

.mainTitleLWh span {
color: #fff;
}

.mainTitleL::before,
.mainTitleLWh::before {
position: absolute;
background-color: var(--themeColor);
width: 62px;
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: 3.6rem;
color: var(--subColor);
margin: 0 auto;
margin-bottom: 40px;
padding-bottom: 20px;
display: table;
z-index: 2;
line-height: 1.1;
}

.mainTitleCe span,
.mainTitleCeWh span {
font-family: var(--font-mincho);
font-size: 1.4rem;
color: var(--txtColor);
margin-top: 8px;
display: block;
letter-spacing: .1em;
}

.mainTitleCeWh span {
color: #fff;
}

.mainTitleCe::before,
.mainTitleCeWh::before {
position: absolute;
background-color: var(--themeColor);
width: 62px;
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: 50px 0 0;
overflow: hidden;
}

#indexAboutPhoto {
width: 90%;
}

#indexAboutR {
}

/*
#indexAbout {
position: relative;
background-color: #fff;
width: 88%;
text-align: left;
margin: 0 auto;
margin-top: -30px;
padding: 30px;
}
*/

#indexAbout {
position: relative;
background-color: #fff;
width: 88%;
text-align: left;
margin: 0 auto;
margin-top: -30px;
padding: 30px 0;
}

.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: 50px 0;
}

.wrapColor2 {
background-color: #EFF9EA;
width: 100%;
margin: 0 auto;
padding: 50px 0;
}

#wrapStrengths {
position: relative;
background: url("../img/index_strengths_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
margin: 0 auto;
padding: 60px 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: 80%;
margin: 100px auto;
margin-bottom: 0;
}

.strengthsWrap {
position: relative;
width: 100%;
margin-bottom: 80px;
z-index: 2;
}

.strengthsWrap:nth-of-type(3) {
margin-bottom: 20px;
}

.strengths {
position: relative;
background-color: var(--themeColor);
width: 100%;
height: 220px;
display: table;
}

.strengths .number {
position: absolute;
font-family: var(--font-literata);
font-size: 4.4rem;
font-weight: 700;
color: #aaa;
margin: auto;
left: 20px;
top: -44px;
}

.strengths h3 {
position: relative;
font-family: var(--font-mincho);
width: 100%;
font-size: 2.6rem;
font-weight: 700;
color: #fff;
text-align: center;
padding-top: 15px;
display: table-cell;
vertical-align: middle;
line-height: 1.4;
letter-spacing: .15em;
}

.strengths h3 span {
font-family: var(--font-literata);
font-size: 2.2rem;
font-weight: 700;
color: var(--subColorInvert);
display: block;
letter-spacing: .0;
}

.strengthsTxt {
position: relative;
background-color: #fff;
width: 90%;
text-align: left;
margin: 0 auto;
margin-top: -30px;
padding: 26px 28px;
z-index: 1;
border-radius: 0 0 20px 0;
}

.strengthsIcon {
position: absolute;
width: 120px;
margin: auto;
z-index: 2;
left: 0;
right: 0;
top: -80px;
}

#lawyersBanner {
position: relative;
width: 88%;
height: 300px;
text-align: left;
margin: 0 auto;
overflow: hidden;
border-radius: 0 0 20px 0;
}

#lawyersBanner a {
position: relative;
width: 100%;
height: 300px;
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: -20px;
bottom: 0;
left: 30px;
}

#lawyersBanner a img {
width: 100%;
height: 300px;
object-fit: cover;
object-position: top;
transition: .6s;
}

#viewMore {
position: absolute;
background-color: var(--themeColor);
font-family: var(--font-literata);
width: 100%;
font-size: 1.3rem;
text-align: right;
color: #fff;
padding: 15px 35px 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;
}

#indexPracticeFlex {
position: relative;
width: 100%;
margin: 0 auto;
padding: 50px 0 0;
overflow: hidden;
display: flex;
justify-content: flex-end;
}

#indexPracticePhoto {
width: 90%;
}

#indexPractice {
position: relative;
background-color: #fff;
width: 88%;
text-align: center;
margin: 0 auto;
margin-top: -30px;
padding: 20px 0;
}

.practiceFlex {
}

.practiceWrap {
position: relative;
width: 100%;
margin: 0 auto;
margin-bottom: 30px;
}

.practice {
position: relative;
width: 100%;
height: 232px;
overflow: hidden;
border-radius: 0 0 20px 0;
transition: .3s;
}

.practice img {
width: 100%;
height: 232px;
object-fit: cover;
transition: .6s;
border-radius: 0 0 20px 0;
}

.practice .inner {
position: absolute;
width: 100%;
height: 96px;
display: table;
left: 0;
top: 0;
}

.practice h3 {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.6rem;
font-weight: 700;
color: #fff;
text-align: center;
line-height: 1;
z-index: 2;
display: table-cell;
vertical-align: middle;
}

.viewMore {
position: absolute;
background-color: var(--subColor);
font-family: var(--font-literata);
width: 100%;
font-size: 1.3rem;
text-align: right;
color: #fff;
padding: 10px 30px 12px;
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;
}

.practiceWrap .number {
position: absolute;
font-family: var(--font-literata);
font-size: 3.2rem;
color: #aaa;
text-align: center;
margin: auto;
line-height: 1;
z-index: 3;
left: 0;
right: 0;
top: -18px;
}

.practiceBlank {
background-color: #eee;
}

.practiceBlank:hover {
background-color: #eee;
}

#indexLegalInfo {
width: 88%;
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: 15px;
top: 0;
bottom: 0;
transition: .3s;
}

.legalInfoWrap {
border-top: 1px dotted #ccc;
}

#indexLegalInfo .btn {
margin-top: 40px;
}

.legalInfo a {
width: 100%;
padding: 22px 10px 25px;
display: block;
}

.legalInfo dt {
font-family: var(--font-literata);
}

.legalInfo dd {
padding: 0 30px 0 0;
}

.sliderPhi {
position: relative;
width: 100%;
}

.sliderPhi .slide {
width: 200px;
margin: 0;
}

.sliderPhi div img {
width: 100%;
}

#indexNews {
width: 88%;
margin: 0 auto;
}

#indexNewsL {
width: 100%;
text-align: left;
}

#indexNewsR {
width: 100%;
border-top: 1px dotted #ccc;
line-height: 1.6;
}

.news {
position: relative;
width: 100%;
text-align: left;
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: 15px;
top: 0;
bottom: 0;
transition: .3s;
}

.news:last-of-type {
margin-bottom: 30px;
}

.news a {
width: 100%;
padding: 22px 10px 25px;
display: block;
}

.news dt {
font-family: var(--font-literata);
}

.news dd {
padding: 0 30px 0 0;
}

.categoryTagFlex {
display: flex;
justify-content: flex-start;
}

.categoryTag {
background: #ccc;
width: 80px;
height: 24px;
font-size: 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: 50px 0 0;
}

#googleMap {
position: relative;
width: 90%;
height: 350px;
margin: 0 auto;
margin-bottom: -100px;
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: 100%;
height: 64px;
font-size: 1.4rem;
color: #fff;
text-align: center;
margin-top: 10px;
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;
}

/**/

#titleWrap {
position: relative;
width: 100%;
height: 300px;
}

#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: 88%;
font-size: 3rem;
font-weight: 700;
color: #fff;
text-align: left;
margin: 0 auto;
line-height: 1.5;
z-index: 3;
top: 53%;
left: 50%;
transform: translateY(-53%) translateX(-50%);
}

#titleWrap #titleCo span {
font-family: var(--font-literata);
font-size: 1.1rem;
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: 12px 0 14px;
border-top: 1px solid var(--subColor);
border-bottom: 1px solid var(--subColor);
left: 0;
bottom: 0;
z-index: 3;
}

#breadcrumb {
position: relative;
width: 94%;
font-size: 1rem;
color: #fff;
text-align: left;
margin: 0 auto;
}

#breadcrumb a {
color: #fff;
}

.wrapCo {
width: 88%;
text-align: left;
margin: 0 auto;
padding: 40px 0 60px;
overflow: hidden;
}

.commonSubTitle {
position: relative;
font-family: var(--font-mincho);
font-size: 2rem;
font-weight: 700;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.4;
}

.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: 2.6rem;
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: 1.5rem;
font-weight: 400;
color: var(--subColorInvert);
display: block;
margin-top: 5px;
}

.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;
}

.officeOutlineFlexBottom {
margin-bottom: 0;
}

.officeOutline {
position: relative;
background-color: #f5f5f5;
font-family: var(--font-mincho);
width: 100%;
height: 280px;
font-size: 1.8rem;
font-weight: 700;
text-align: center;
color: var(--subColor);
margin-bottom: 30px;
padding: 0 10px 20px;
border-radius: 0 0 30px 0;
border-left: 3px solid var(--themeColor);
line-height: 1.5;
}

.officeOutline .number {
position: absolute;
font-family: var(--font-literata);
font-size: 5rem;
font-weight: 400;
color: #ddd;
margin: auto;
left: 20px;
top: -44px;
}

.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: 3.8rem;
font-weight: 400;
color: var(--themeColor);
margin-bottom: 20px;
padding-bottom: 50px;
line-height: 1.4;
}

.officeOutline h3 span {
font-size: 2rem;
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: 100%;
}

.officeOutlineR p {
font-family: var(--font-mincho);
font-size: 1.5rem;
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: 88%;
text-align: left;
margin: 0 auto;
padding: 20px 22px 2px;
border-radius: 0 0 20px 0;
}

#officeOutlineWrap p {
margin-bottom: 0;
}

#outline table {
width: 100%;
margin: 0 auto;
margin-top: 10px;
border-bottom: 1px solid #ddd;
}

#outline th,
#outline td {
width: 100%;
display: block;
padding: 10px 15px;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
}

#outline th {
background-color: #f5f5f5;
}

/**/

.pageNavi {
font-family: var(--font-literata);
margin: 0 auto;
margin-top: 50px;
}

.wp-pagenavi {
position: relative;
font-size: 1.2rem;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
line-height: 32px;
}

.wp-pagenavi .pages {
display: none;
}

.wp-pagenavi .page {
margin: 0 2px;
}

.wp-pagenavi .current {
background-color: var(--themeColor);
width: 35px;
height: 35px;
color: #fff;
margin: 0 2px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
width: 35px;
height: 35px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi .first,
.wp-pagenavi .last {
display: none;
}

.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: 88%;
text-align: left;
margin: 0 auto;
padding: 40px 0 60px;
overflow: hidden;
}

.newsWrap {
margin-top: 40px;
padding: 0 0 60px;
border-top: 1px dotted #ccc;
}

.postWrap .categoryTagFlex {
position: relative;
top: -15px;
}

.postWrap #postDate {
font-family: var(--font-literata);
font-size: 1.4rem;
color: var(--themeColor);
margin-bottom: 10px;
}

.postWrap h1 {
position: relative;
font-family: var(--font-mincho);
font-size: 2.4rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 30px;
padding-bottom: 20px;
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: 2rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 40px;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.5;
}

.postWrap h3 {
position: relative;
font-family: var(--font-mincho);
font-size: 1.8rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 40px;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.6;
}

.postWrap ol {
list-style: decimal;
padding-inline-start: 15px;
margin-bottom: 25px;
}

.postWrap ul {
list-style: disc;
padding-inline-start: 15px;
margin-bottom: 25px;
}

.postWrap .size-full {
margin-bottom: 30px;
}

.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: 50px;
display: flex;
justify-content: space-between;
align-items: center;
}

.btnBackToList {
background-color: var(--themeColor);
font-family: var(--font-literata);
width: 150px;
height: 60px;
font-size: 1.2rem;
font-weight: 400;
color: #fff;
cursor: pointer;
padding-bottom: 3px;
border: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
transition: .3s;
}

.btnNextWrap {
width: 40px;
}

.btnPrevWrap {
width: 40px;
}

.btnPrev,
.btnNext {
position: relative;
font-family: var(--font-literata);
width: 40px;
height: 25px;
font-size: 0;
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: 16px;
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: 16px;
top: 0;
bottom: 0;
}

.btnNext .circle {
position: absolute;
background-color: var(--themeColor);
width: 40px;
height: 40px;
border-radius: 40px;
margin: auto;
right: 0;
top: 0;
bottom: 0;
transition: .3s;
}

.btnPrev .circle {
position: absolute;
background-color: var(--themeColor);
width: 40px;
height: 40px;
border-radius: 40px;
margin: auto;
left: 0;
top: 0;
bottom: 0;
transition: .3s;
}

/**/

#lawyersNav {
width: 88%;
margin: 0 auto;
}

#lawyersNav ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#lawyersNav li {
background-color: #fff;
font-family: var(--font-mincho);
flex-basis: 49%;
font-weight: 700;
text-align: center;
white-space: nowrap;
border-left: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
line-height: 1;transition: .3s;
}

#lawyersNav li a {
color: var(--themeColor);
display: block;
padding: 15px 5px 17px;
}

#lawyersNav .top {
background-color: var(--themeColor);
flex-basis: 100%;
display: block;
}

#lawyersNav .top a {
color: #fff;
}

.lawyersWrapFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.lawyersWrapCo {
position: relative;
width: 100%;
text-align: center;
margin-bottom: 30px;
}

.lawyersFlex {
display: flex;
justify-content: space-between;
align-items: center;
}

.lawyersTxt {
width: 52%;
text-align: left;
}

.lawyersPhotoCo {
position: relative;
background-color: #fff;
width: 48%;
overflow: hidden;
}

.lawyersNameCo {
font-family: var(--font-mincho);
font-size: 1.4rem;
font-weight: 700;
text-align: left;
margin-bottom: 15px;
line-height: 1.4;
}

.lawyersNameCo span {
font-size: 2.1rem;
display: block;
}

.lawyersNameEnCo {
position: absolute;
font-family: var(--font-literata);
font-size: 2.8rem;
font-weight: 400;
color: var(--subColor);
margin: auto;
line-height: 1;
z-index: 1;
left: 0;
right: 0;
bottom: 62px;
}

.btnLawyers {
position: relative;
background-color: var(--subColor);
font-family: var(--font-literata);
width: 100%;
height: 64px;
font-size: 1.4rem;
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;
}

.lawyerSubPhoto {
position: relative;
width: 94%;
height: 280px;
margin: 0 auto;
margin-top: 40px;
overflow: hidden;
border: 10px solid var(--subColor);
z-index: 0;
}

.lawyerSubPhoto img {
width: 100%;
height: 280px;
object-fit: cover;
}

.wrapLawyer {
position: relative;
background: #fff;
width: 82%;
text-align: left;
margin: 0 auto;
padding: 30px 30px 20px;
border-top: 5px solid var(--themeColor);
top: -50px;
z-index: 1;
}

.lawyersNameEnCo2 {
position: absolute;
font-family: var(--font-literata);
font-size: 2.8rem;
font-weight: 400;
color: var(--subColor);
text-align: center;
margin: auto;
line-height: 1;
left: 0;
right: 0;
top: -31px;
}

.lawyerName {
font-family: var(--font-mincho);
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 34px;
line-height: 1.4;
}

.lawyerName span {
font-size: 3rem;
display: block;
}

.lawyerTxtPersonal {
margin-bottom: 40px;
}

.career {
margin-bottom: 40px;
}

.career br {
display: none;
}

.career dt {
float: left;
margin: 0;
padding: 0;
}

.career dd {
margin: 0;
padding: 0 0 0 55px;
}

.career dd br {
display: block;
}

/**/

.practiceAreasNav {
display: none;
}

.practiceAreasNavSp {
width: 88%;
margin: 0 auto;
margin-top: -60px;
padding-bottom: 60px;
}

.practiceAreasNavSp ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.practiceAreasNavSp li {
background-color: #fff;
font-family: var(--font-mincho);
flex-basis: 49%;
font-weight: 700;
text-align: center;
border-left: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
line-height: 1.3;
transition: .3s;
display: table;
}

.practiceAreasNavSp li a {
color: var(--themeColor);
display: table-cell;
vertical-align: middle;
padding: 15px 10px 17px;
}

.practiceAreasNavSp .top {
background-color: var(--themeColor);
flex-basis: 100%;
display: block;
}

.practiceAreasNavSp .top a {
color: #fff;
}

.practiceWrapCo {
position: relative;
width: 100%;
margin: 0 auto;
margin-bottom: 30px;
}

.practiceCo {
position: relative;
width: 100%;
height: 232px;
overflow: hidden;
border-radius: 0 0 20px 0;
transition: .3s;
}

.practiceCo img {
width: 100%;
height: 232px;
object-fit: cover;
transition: .6s;
border-radius: 0 0 20px 0;
}

.practiceCo .inner {
position: absolute;
width: 100%;
height: 98px;
display: table;
left: 0;
top: 0;
}

.practiceCo h3 {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.6rem;
font-weight: 700;
color: #fff;
text-align: center;
padding: 0 10px;
line-height: 1;
z-index: 2;
display: table-cell;
vertical-align: middle;
}

.practiceWrapCo .number {
position: absolute;
font-family: var(--font-literata);
font-size: 3.2rem;
color: #aaa;
text-align: center;
margin: auto;
line-height: 1;
z-index: 3;
left: 0;
right: 0;
top: -18px;
}

/**/

.contact {
width: 100%;
padding: 20px 0;
border-bottom: 1px dotted #ccc;
}

.contact:first-of-type {
margin-top: 40px;
border-top: 1px dotted #ccc;
}

.contact dt {
width: 100%;
margin-bottom: 10px;
}

.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: 100%;
}

.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 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);
}

.contact dd 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: -13px;
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 {
margin-left: -14px;
}

.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: 40px;
}

.wpcf7-submit {
background-color: #ED9F0C;
font-family: var(--font-mincho);
width: 100%;
height: 80px;
font-size: 1.7rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #ED9F0C;
border-radius: 0 0 20px 0;
}

/**/

.privacyPolicy h2 {
font-size: 2rem;
font-weight: 700;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.5;
}

.privacyPolicy h3 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 5px;
}

/**/

.btnContact {
position: relative;
background-color: var(--themeColor);
width: 100%;
height: 60px;
font-size: 1.4rem;
font-weight: 700;
color: #fff;
text-align: center;
margin: 0 auto;
margin-top: 60px;
padding-bottom: 2px;
cursor: pointer;
border: 1px solid var(--themeColor);
border-radius: 0 0 20px 0;
overflow: hidden;
}

/**/

footer {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.3rem;
text-align: center;
color: #fff;
}

#globalNavFooter ul,
#globalNavFooterCo ul {
width: 88%;
text-align: center;
margin: 0 auto;
padding-top: 140px;
line-height: 1.5;
}

#globalNavFooterCo ul {
padding-top: 60px;
}

#globalNavFooter ul li,
#globalNavFooterCo ul li {
position: relative;
font-family: var(--font-mincho);
font-size: 1.4rem;
font-weight: 700;
margin: 0 auto;
margin-bottom: 20px;
display: table;
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 .jp,
#globalNavFooter .en,
#globalNavFooterCo .jp,
#globalNavFooterCo .en {
position: relative;
display: inline-block !important;
margin: 0 10px !important;
}

#globalNavFooter .jp::after,
#globalNavFooterCo .jp::after {
position: absolute;
content: "/";
color: #fff !important;
top: 2px;
right: -16px; 
}

#footerBottom {
width: 88%;
margin: 0 auto;
padding: 60px 0 80px;
}

#footerL {
width: 100%;
text-align: center;
}

#footerLogo {
width: 170px;
margin: 0 auto;
margin-bottom: 12px;
}

#callWrap {
width: 400px;
height: 70px;
margin-top: 15px;
display: flex;
justify-content: space-between;
align-items: center;
}

#call {
font-family: var(--font-literata);
font-size: 3rem;
margin-top: 5px;
line-height: 1.5;
}

#call i {
position: relative;
font-size: 2.2rem;
margin-right: 5px;
top: -2px;
}

#call a {
color: var(--subColorInvert);
}

#call span {
font-family: var(--font-primary);
font-size: 1.4rem;
font-weight: 400;
display: block;
margin-top: 5px;
}

#footerR {
background-color: #00502C;
width: 100%;
font-size: 1.7rem;
font-weight: 700;
text-align: center;
margin-top: 40px;
padding: 30px 20px 30px;
}

#footerR h4 {
font-size: 1.5rem;
margin-bottom: 20px;
line-height: 1.5;
}

#btnBottomContact {
background-color: #EB8A00;
font-family: var(--font-mincho);
width: 100%;
height: 80px;
font-size: 1.7rem;
font-weight: 700;
color: #fff;
padding-bottom: 7px;
cursor: pointer;
border: 1px solid #EB8A00;
border-radius: 0 0 20px 0;
transition: .3s;
}

#btnBottomContact i {
position: relative;
font-size: 2.4rem;
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: 80px;
height: 80px;
border-radius: 90px;
bottom: -90px;
right: 10px;
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: 28px;
}

#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: 25px;
transition: .3s;
}

#bottomWebBtn {
display: none;
}

.orderBox { 
display: flex;
flex-direction: column;
}

.order1 { order: 1; }
.order2 { order: 2; }
.order3 { order: 3; }
.order4 { order: 4; }
.order5 { order: 5; }

.alignright,
.alignleft,
.aligncente {
display: block;
margin: 0 auto;
margin-bottom: 30px;
}

}