@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#loadingLogo {
position: absolute;
width: 400px;
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%;
overflow: hidden;
}

#kvCopy {
position: absolute;
width: 600px;
text-align: left;
color: var(--themeColor);
z-index: 2;
line-height: 1.3;
left: 94px;
top: 50%;
transform: translateY(-50%);
}

#kvCopy span {
position: relative;
display: block;
left: -12px;
}

#kvCopyEn {
position: absolute;
font-family: var(--font-jost);
font-size: 2rem;
font-weight: 600;
color: var(--themeColor);
letter-spacing: .26em;
z-index: 2;
line-height: 1.3;
left: 102px;
top: 65%;
transform: translateY(-65%);
}

#kvInner {
position: absolute;
width: 100%;
height: 100vh;
overflow: hidden;
border-left: 192px solid #fff;
left: 0;
top: 0;
}

#kvCopyWh {
position: absolute;
width: 600px;
text-align: left;
color: #fff;
z-index: 13;
line-height: 1.3;
left: -98px;
top: 50%;
transform: translateY(-50%);
}

#kvCopyWh span {
position: relative;
display: block;
left: -12px;
}

#kvCopyEnWh {
position: absolute;
font-family: var(--font-jost);
font-size: 2rem;
font-weight: 600;
color: #fff;
letter-spacing: .26em;
z-index: 13;
line-height: 1.3;
left: -90px;
top: 65%;
transform: translateY(-65%);
}

#kvEn ul {
position: absolute;
font-family: var(--font-barlow);
font-size: 20rem;
font-weight: 700;
color: #fff;
transform: translateX(100%);
margin: 0;
padding: 0;
line-height: 1;
animation: flowing 1500s linear infinite;
white-space: nowrap;
opacity: .5;
z-index: 12;
left: 0;
bottom: 18px;
}

#kvEn li {
display: inline-block;
}

@keyframes flowing {
0% { transform:translateX(0); }
100% { transform:translateX(-100%); }
}

#kv {
position: relative;
background-color: #fff;
width: 100%;
height: 100vh;
overflow: hidden;
border-left: 192px solid #fff;
}

#kv::after {
position: absolute;
background: rgba(0,0,0,.2);
width: 100%;
height: 100vh;
content: "";
z-index: 12;
left: 0;
top: 0;
}

.kvImg {
z-index: 10;
opacity: 0;
width: 100%;
height: 100%;
overflow: hidden;
background-image: url("../img/kv_photo01.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: absolute;
left: 0;
bottom: 0;
-webkit-animation: anime 36s 0s infinite;
animation: anime 36s 0s infinite;
}

.kvImg:nth-of-type(2) {
background-image: url("../img/kv_photo02.jpg");
-webkit-animation-delay: 6s;
animation-delay: 6s; }

.kvImg:nth-of-type(3) {
background-image: url("../img/kv_photo03.jpg");
-webkit-animation-delay: 12s;
animation-delay: 12s; }

.kvImg:nth-of-type(4) {
background-image: url("../img/kv_photo04.jpg");
-webkit-animation-delay: 18s;
animation-delay: 18s; }

.kvImg:nth-of-type(5) {
background-image: url("../img/kv_photo05.jpg");
-webkit-animation-delay: 24s;
animation-delay: 24s; }

.kvImg:nth-of-type(6) {
background-image: url("../img/kv_photo06_n.jpg");
-webkit-animation-delay: 30s;
animation-delay: 30s; }

@keyframes anime {
0% {
opacity: 0;
transform: scale(1);
}
8% {
opacity: 1;
}
16% {
opacity: 1;
}
24% {
opacity: 0;
transform: scale(1.2);
z-index: 9;
}
100% { opacity: 0 }
}

.scroll {
position: absolute;
font-family: var(--font-barlow);
font-size: 1.2rem;
font-weight: 700;
font-style: italic;
transform: rotate(90deg);
line-height: 1;
bottom: 120px;
left: 37px;
}

.scrolldown {
position: absolute;
width: 1px;
height: 90px;
bottom: 0;
left: 60px;
overflow: hidden;
z-index: 20;
}

.scrolldown .sline {
width: 100%;
height: 100%;
display: block;
background: linear-gradient(to bottom, #333 50%, rgba(0, 0, 0, 0) 50%);
background-position: 0 -90px;
background-size: 100% 200%;
animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}

@keyframes scrolldown {
0% {
background-position: 0 -90px;
}
75% {
background-position: 0 0;
}
100% {
background-position: 0 90px;
}
}

#aboutWrap {
position: relative;
width: 100%;
padding: 120px 0 150px;
display: flex;
justify-content: flex-end;
align-items: center;
}

#aboutPhoto {
position: absolute;
width: 75%;
height: 700px;
overflow: hidden;
left: 0;
top: 120px;
}

#aboutPhoto img {
width: 100%;
height: 700px;
object-fit: cover;
}

#aboutTxt {
position: relative;
background-color: #fff;
width: 38%;
text-align: justify;
padding: 80px 40px 230px 90px;
z-index: 1;
right: 10%;
top: 300px;
}

.commonTitleL {
position: relative;
font-family: var(--font-jost);
font-size: 9rem;
font-weight: 300;
text-align: left;
color: var(--themeColor);
margin-top: -15px;
margin-bottom: 60px;
line-height: 1.1;
}

.commonTitleL span {
font-family: var(--font-primary);
font-size: 1.8rem;
font-weight: 700;
color: var(--txtColor);
display: block;
}

.commonTitleL::after {
position: absolute;
background-color: var(--themeColor);
width: 60px;
height: 3px;
content: "";
left: 0;
bottom: -20px;
}

.commonTitleCe,
.commonTitleCeWh {
position: relative;
font-family: var(--font-jost);
font-size: 9rem;
font-weight: 300;
text-align: center;
color: var(--themeColor);
margin-top: -15px;
margin-bottom: 60px;
line-height: 1.1;
z-index: 4;
}

.commonTitleCeWh {
color: #fff;
}

.commonTitleCe span,
.commonTitleCeWh span {
font-family: var(--font-primary);
font-size: 1.8rem;
font-weight: 700;
color: var(--txtColor);
display: block;
}

.commonTitleCeWh span {
color: #fff;
}

.commonTitleCe::after,
.commonTitleCeWh::after {
position: absolute;
background-color: var(--themeColor);
width: 60px;
height: 3px;
content: "";
margin: auto;
left: 0;
right: 0;
bottom: -20px;
}

.commonTitleCeWh::after {
background-color: #fff;
}

.commonTitleR {
display: flex;
justify-content: flex-end;
}

.wrapColor {
position: relative;
/*background-color: #EBF8FB;*/
background-color: #f5f5f5;
width: 100%;
z-index: 2;
}

.wrap {
position: relative;
width: 1200px;
margin: 0 auto;
padding: 120px 0;
}

.wrapWide {
position: relative;
max-width: 1800px;
width: 92%;
margin: 0 auto;
padding: 120px 0;
}

.strengthsFlex {
margin-top: 100px;
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.strengths {
position: relative;
width: 31%;
}

.strengths:nth-child(1) {
margin-top: 30px;
}

.strengths:nth-child(3) {
margin-top: -30px;
}

#strengthsImg01 {
position: absolute;
margin: auto;
z-index: 1;
top: -20px;
right: 5px;
}

#strengthsImg02 {
position: absolute;
margin: auto;
z-index: 1;
top: -20px;
right: -30px;
}

#strengthsImg03 {
position: absolute;
margin: auto;
z-index: 1;
top: -20px;
right: -30px;
}

.strengths img {
width: auto;
height: 240px;
margin: 0 auto;
}

.strengths .number {
position: absolute;
font-family: var(--font-barlow);
font-size: 8rem;
font-weight: 200;
color: #ccc;
letter-spacing: 0;
z-index: 1;
top: -80px;
left: 15px;
}

.strengths .titleWrap {
background-color: var(--themeColor);
width: 100%;
height: 280px;
display: table;
}

.strengths h3 {
position: relative;
font-family: var(--font-jost);
font-size: 3.6rem;
font-weight: 400;
text-align: center;
color: #fff;
display: table-cell;
vertical-align: middle;
line-height: 1.2;
z-index: 2;
}

.strengths h3 span {
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 700;
display: block;
}

.strengthsTxt {
position: relative;
background-color: #fff;
width: 85%;
text-align: justify;
margin: 0 auto;
margin-top: -40px;
padding: 30px 40px 32px;
z-index: 1;
}

.serviceFlex {
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.service {
position: relative;
width: 45%;
margin: 0 20px;
margin-top: 40px;
}

.service .number {
position: absolute;
font-family: var(--font-barlow);
font-size: 10rem;
font-weight: 200;
color: #ccc;
letter-spacing: 0;
z-index: 1;
top: -100px;
right: 20px;
}

.serviceTxt {
position: relative;
background-color: #fff;
width: 85%;
text-align: justify;
margin: 0 auto;
margin-top: -60px;
padding: 40px 50px;
z-index: 1;
}

.serviceTxt h3 {
font-size: 2.8rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 20px;
}

.serviceTxt p {
margin-bottom: 0;
}

.categoryServiceWrap {
margin-bottom: 60px;
}

.wrapFaq {
position: relative;
width: 1200px;
margin: 0 auto;
padding: 120px 0;
display: flex;
justify-content: space-between;
}

#faqL {
width: 860px;
text-align: justify;
}

.tabWrap,
.tabSWrap {
margin-bottom: 30px;
display: flex;
justify-content: space-between;
border-bottom: 1px solid var(--themeColor);
}

.tabWrap li,
.tabSWrap li {
background-color: var(--themeColor);
width: 33%;
font-weight: 700;
text-align: center;
color: #fff;
padding: 10px 5px;
cursor: pointer;
border-left: 1px solid var(--themeColor);
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transition: .3s;
}

.tabSWrap li {
padding: 0;
}

.tabSWrap li a {
display: block;
color: #fff;
padding: 10px 5px;
}

.tabWrap li:hover {
background-color: #fff;
color: var(--themeColor);
}

.tabSWrap li a:hover {
background-color: #fff;
color: var(--themeColor);
}

.tabSWrap li.select a {
background-color: #fff;
color: var(--themeColor);
}

.tabWrap li.select {
background-color: #fff;
color: var(--themeColor);
}

.accordion {
width: 100%;
text-align: justify;
margin: 0 auto;
}

.accordion ul {
margin: 0 auto;
padding: 0;
}

.accordion li {
position: relative;
background-color: #fff;
width: 100%;
margin-bottom: 20px;
border: 1px solid #ddd;
transition: .3s;
}

.accordion li p:last-child {
margin-bottom: 0;
}

.accordion li h2,
.accordion li h3 {
position: relative;
font-size: 1.6rem;
font-weight: 700;
}

.accordion li h2 .q,
.accordion li h3 .q {
position: relative;
font-family: var(--font-barlow);
font-size: 3.2rem;
font-weight: 700;
margin-right: 10px;
line-height: 1;
top: 4px;
}

.accordion a {
position: relative;
color: var(--themeColor);
display: block;
text-decoration: none;
cursor: pointer;
padding: 20px 76px 28px 30px;
transition: .3s;
}

.accordion li .accordion_icon {
display: inline-block;
transition: all .3s;
box-sizing: border-box;
}

.accordion li .accordion_icon {
position: absolute;
width: 15px;
height: 15px;
margin: auto;
top: 12px;
bottom: 0;
right: 34px;
}

.accordion li .accordion_icon span {
position: absolute;
width: 100%;
height: 2px;
background-color: var(--themeColor);
}

.accordion li .accordion_icon span:nth-of-type(1) {
transform: rotate(0deg);
}

.accordion li .accordion_icon span:nth-of-type(2) {
transform: rotate(90deg);
}

.accordion li .accordion_icon.active span:nth-of-type(1) {
display:none;
}

.accordion li .accordion_icon.active span:nth-of-type(2) {
transform: rotate(180deg);
}

.toggle dt {
float: left;
font-family: var(--font-jost);
font-size: 3.2rem;
font-weight: 500;
line-height: 1.4;
}

.toggle dd {
padding: 7px 0 3px 44px;
}

.faqDetail {
color: var(--txtColor);
display: none;
padding: 0 34px 34px;
overflow: hidden;
}

.faqDetail dt {
float: left;
font-family: var(--font-jost);
font-size: 3.2rem;
font-weight: 500;
color: var(--themeColor);
line-height: 1;
}

.faqDetail dd {
padding: 0 0 0 44px;
}

.faqDetail dd p {
margin-bottom: 0;
}

#faqR {
width: auto;
text-align: justify;
}

#wrapNews {
position: relative;
width: 1200px;
margin: 0 auto;
padding: 120px 0;
display: flex;
justify-content: space-between;
}

#newsL {
width: auto;
text-align: left;
}

#newsR {
width: 800px;
text-align: justify;
line-height: 1.6;
}

.news {
position: relative;
width: 100%;
display: block;
border-bottom: 1px dotted #ccc;
transition: .3s;
overflow: hidden;
}

.news:first-of-type {
border-top: 1px dotted #ccc;
}

.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: 40px 30px;
display: block;
}

.news:hover {
background-color: #f5f5f5;
}

.news dt {
float: left;
font-family: var(--font-barlow);
font-weight: 700;
}

.news dd {
padding: 0 40px 0 160px;
}

.news .triangle {
position: absolute;
background-color: #E48202;
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;
}

.news .triangle::after {
position: absolute;
font-family: var(--font-jost);
font-size: 1rem;
font-weight: 700;
content: "NEW";
color: #fff;
margin: auto;
transform: rotate(0deg);
z-index: 2;
left: 1px;
right: 0;
bottom: 4px;
}

#wrapContact {
position: relative;
background: url("../img/bottom_contact.jpg") no-repeat;
background-size: cover;
width: 92%;
margin: 0 auto;
overflow: hidden;
z-index: 1;
}

#wrapContact::after {
position: absolute;
background: rgba(0,0,0,.2);
width: 100%;
height: 100%;
content: "";
z-index: 2;
left: 0;
top: 0;
}

#contactWrap,
#contactWrapCo {
position: relative;
background-color: #F9F7EA;
width: 1200px;
margin: 0 auto;
margin-top: 80px;
padding: 70px 80px 80px;
border: 1px solid #ddd;
z-index: 3;
}

#contactWrapCo {
margin-top: 0;
}

#contactWrap h3,
#contactWrapCo h3 {
font-size: 1.8rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 40px;
}

#btnFlex {
display: flex;
justify-content: space-between;
}

#callBtn {
position: relative;
background-color: #E48202;
width: 48.5%;
font-size: 1.4rem;
font-weight: 700;
border: 2px solid #E48202;
line-height: 1.2;
transition: .3s;
}

#callBtn:hover {
background-color: #fff;
color: #E48202;
}

#callBtn:hover #callIcon {
border: 2px solid #E48202;
}

#callBtn a:hover {
color: #E48202;
}

#callNumber {
font-family: var(--font-barlow);
font-size: 4.6rem;
font-weight: 700;
display: flex;
justify-content: center;
align-items: center;
}

#callIcon {
position: relative;
width: 40px;
height: 40px;
font-size: 1.8rem;
text-align: center;
margin-right: 10px;
padding-left: 1px;
border: 2px solid #fff;
border-radius: 40px;
line-height: 34px;
top: 2px;
}

#callBtn a {
color: #fff;
display: block;
padding: 16px 0 24px;
}

#contactBtn {
position: relative;
background-color: var(--themeColor);
width: 48.5%;
font-size: 2.2rem;
font-weight: 700;
border: 2px solid var(--themeColor);
line-height: 1.5;
transition: .3s;
}

#contactBtn:hover {
background-color: #fff;
}

#contactBtn i {
position: relative;
font-size: 3.6rem;
margin-right: 10px;
top: 6px;
}

#contactBtn a {
color: #fff;
display: block;
padding: 32px 0 40px;
}

#contactBtn a:hover {
color: var(--themeColor);
}

.btn {
position: relative;
background-color: var(--themeColor);
font-family: var(--font-jost);
width: 260px;
height: 70px;
font-size: 1.5rem;
font-weight: 500;
color: #fff;
margin: 0 auto;
margin-top: 40px;
cursor: pointer;
border: 2px solid var(--themeColor);
transition: .3s;
}

.btn:hover {
background-color: #fff;
color: var(--themeColor);
}

.btn::before {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 20px;
top: 0;
bottom: 0;
transition: .6s;
}

.btn:hover::before  {
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
right: 15px;
}

/**/























/**/

#titleWrap {
position: relative;
width: 100%;
height: 650px;
overflow: hidden;
}

#titleWrap::after {
position: absolute;
background: rgba(0,0,0,.2);
width: 100%;
height: 100%;
content: "";
left: 0;
top: 0;
z-index: 2;
}

#titleWrap #contentsTitle {
position: absolute;
font-family: var(--font-jost);
font-size: 9rem;
font-weight: 300;
color: #fff;
text-align: center;
margin: 0 auto;
line-height: 1.1;
z-index: 3;
top: 45%;
left: 50%;
transform: translateY(-45%) translateX(-50%);
}

#titleWrap #contentsTitle span {
font-family: var(--font-primary);
font-size: 1.8rem;
font-weight: 700;
color: var(--subColorInvert);
display: block;
margin-left: 5px;
}

#titleWrap #contentsTitle::after {
position: absolute;
background-color: #fff;
width: 60px;
height: 3px;
content: "";
margin: auto;
left: 0;
right: 0;
bottom: -20px;
}

.bgService {
background: url("../img/bg_service.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgFaq {
background: url("../img/bg_faq.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgNews {
background: url("../img/bg_news.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgCompany {
background: url("../img/bg_company.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgRecruit {
background: url("../img/bg_recruit.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgContact {
background: url("../img/bg_contact.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

.bgPrivacy {
background: url("../img/bg_privacy.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 650px;
object-fit: cover;
}

#breadcrumb {
position: absolute;
background-color: var(--themeColor);
width: 1200px;
font-size: 1.2rem;
color: #fff;
text-align: left;
margin: auto;
padding: 12px 20px 15px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
left: 0;
right: 0;
top: 502px;
z-index: 5;
}

#breadcrumb a {
color: #fff;
}

.wrapCo {
position: relative;
background-color: #fff;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-top: -100px;
padding: 80px 80px 120px;
z-index: 5;
}

.subTitle,
.subTitle2 {
position: relative;
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;
}

.subTitle2 {
margin-top: 80px;
}

.subTitle::before,
.subTitle::before {
position: absolute;
background-color: var(--themeColor);
width: 72px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

.subTitleh3 {
position: relative;
font-size: 2.2rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 60px;
margin-bottom: 30px;
padding: 0 0 5px 18px;
line-height: 1.6;
border-left: 3px solid var(--themeColor);
}

.servicePhoto {
width: 100%;
margin-bottom: 30px;
}







/**/

.pageNavi {
font-family: var(--font-jost);
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;
}

/**/

.postWrap #postDate {
font-family: var(--font-barlow);
font-size: 1.8rem;
color: var(--themeColor);
font-weight: 700;
margin-bottom: 10px;
}

.postWrap h1 {
position: relative;
font-size: 3.2rem;
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(--themeColor);
width: 72px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

.postWrap h2,
.subSubTitle {
position: relative;
font-size: 2.6rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 60px;
margin-bottom: 30px;
padding: 0 0 5px 18px;
line-height: 1.5;
border-left: 3px solid var(--themeColor);
}

.postWrap h3 {
position: relative;
font-size: 2.2rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 60px;
margin-bottom: 30px;
padding: 0 0 5px 18px;
line-height: 1.6;
border-left: 3px solid var(--themeColor);
}

.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-large,
.postWrap .size-full {
margin-bottom: 50px;
}

.recruitPhotoCo {
margin-bottom: 50px;
}

.postWrap dl {
border-top: 1px dotted #ccc;
}

.postWrap dl dt {
float: left;
font-size: 1.6rem;
color: var(--themeColor);
padding: 20px 0;
}

.postWrap dl dd {
padding: 21px 0 21px 26px;
border-bottom: 1px dotted #ccc;
}

.postWrap table {
width: 100%;
}

.postWrap th,
.postWrap td {
padding: 20px;
border: 1px solid #ddd;
}

.postWrap th {
background-color: #E1F7FF;
width: 250px;
}

#prevNextWrap {
margin-top: 100px;
display: flex;
justify-content: space-between;
align-items: center;
}

.btnBackToList {
background-color: var(--themeColor);
font-family: var(--font-jost);
width: 200px;
height: 60px;
font-size: 1.4rem;
font-weight: 600;
color: #fff;
cursor: pointer;
padding-bottom: 3px;
border: 2px solid var(--themeColor);
border-radius: 0 0 20px 0;
transition: .3s;
}

.btnBackToList:hover {
background-color: #fff;
color: var(--themeColor);
}

.btnNextWrap {
width: 154px;
}

.btnPrevWrap {
width: 154px;
}

.btnPrev,
.btnNext {
position: relative;
font-family: var(--font-jost);
width: 118px;
height: 25px;
font-size: 1.4rem;
text-align: left;
font-weight: 600;
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 var(--themeColor);
border-right: 1px solid var(--themeColor);
}

.btnPrev:hover::after {
border-top: 1px solid var(--themeColor);
border-left: 1px solid var(--themeColor);
}

.btnNext .circle {
position: absolute;
background-color: var(--themeColor);
width: 60px;
height: 60px;
border-radius: 60px;
margin: auto;
border: 2px solid var(--themeColor);
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;
border: 2px solid var(--themeColor);
left: 0;
top: 0;
bottom: 0;
transition: .3s;
}

.btnNext:hover .circle,
.btnPrev:hover .circle {
background-color: var(--subColor);
}

/**/

#nameR {
text-align: right;
}

.outline {
margin-bottom: 80px;
}

.outline dt {
float: left;
padding: 30px 0;
}

.outline dd {
padding: 30px 0 30px 200px;
border-bottom: 1px dotted #ccc;
}

#outlineInner dt {
float: left;
padding: 0;
}

#outlineInner dd {
padding: 0 0 0 120px;
border-bottom: 0;
}

.googleMap {
position: relative;
width: 100%;
height: 0;
margin: 30px auto;
padding-top: 45%;
}

.googleMap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#securityIndustrySign {
width: 600px;
margin: 0 auto;
}

/**/

.recruitWrap {
position: relative;
width: 100%;
border-bottom: 1px dotted #ccc;
overflow: hidden;
transition: .3s;
}

.recruitWrap:hover {
background-color: #f5f5f5;
}

.recruitWrap:first-of-type {
border-top: 1px dotted #ccc;
}

.recruitWrap a {
width: 100%;
padding: 30px 60px 30px 30px;
display: block;
}

.recruitFlex {
display: flex;
justify-content: space-between;
}

.recruitPhoto {
width: 300px;
height: 178px;
overflow: hidden;
}

.recruitPhoto img {
width: 100%;
height: 178px;
object-fit: cover;
}

.recruitTxt {
width: 620px;
text-align: justify;
}

.recruitTxt h2 {
font-size: 2.4rem;
font-weight: 700;
line-height: 1.5;
}

.recruitTxt dl {
margin: 8px 0 12px;
}

.recruitTxt dl dt {
float: left;
font-size: 1.6rem;
padding: 0px 0;
}

.recruitTxt dl dd {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
padding: 1px 0 1px 26px;
}

.recruitTxt .categoryTag {
background-color: var(--themeColor);
width: 120px;
height: 30px;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
color: #fff;
line-height: 28px;
}

.categoryTagCo {
background-color: var(--themeColor);
width: 150px;
height: 34px;
font-size: 1.3rem;
font-weight: 700;
text-align: center;
margin-top: -20px;
margin-bottom: 40px;
color: #fff;
line-height: 32px;
}

.recruitWrap::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;
}

.recruitWrap:hover::before {
right: 30px;
}

.recruitWrap .triangle {
position: absolute;
background-color: #E48202;
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;
}

.recruitWrap .triangle::after {
position: absolute;
font-family: var(--font-jost);
font-size: 1rem;
font-weight: 700;
content: "NEW";
color: #fff;
margin: auto;
transform: rotate(0deg);
z-index: 2;
left: 1px;
right: 0;
bottom: 4px;
}

.btnApplicationForm {
background-color: #E48202;
width: 400px;
height: 100px;
font-size: 2rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #E48202;
}

.btnApplicationForm:hover {
background-color: #fff;
color: #E48202;
}

/**/

.contact {
width: 100%;
text-align: left;
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: 800px;
}

.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;
}

.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);
}

.selectArrowFlex {
display: flex;
justify-content: flex-start;
align-items: center;
}

.contact .selectArrow {
position: relative;
width: 28%;
margin: 0 10px;
}

.contact .selectArrow:first-of-type {
margin: 0 10px 0 0;
}

.contact .selectArrow select {
position: relative;
background-color: #eee;
font-family: var(--font-primary);
width: 100%;
height: 80px;
font-size: 1.5rem;
color: var(--txtColor);
padding: 20px;
border: 2px solid #eee;
border-radius: 5px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.contact .selectArrow select:hover {
background-color: #fff;
border: 1px solid var(--themeColor);
}

.contact .selectArrow::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
margin: auto;
transform: rotate(45deg);
z-index: 1;
top: -8px;
bottom: 0;
right: 20px;
}

.contactBtnWrap {
text-align: center;
margin: 0 auto;
padding-top: 60px;
}

.wpcf7-submit {
background-color: #E48202;
font-family: var(--font-primary);
width: 400px;
height: 100px;
font-size: 2rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #E48202;
}

.wpcf7-submit:hover {
background-color: #fff;
color: #E48202;
}

/**/

footer {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.4rem;
color: #fff;
margin-top: -100px;
padding: 180px 60px 100px;
display: flex;
justify-content: space-between;
}

#footerL {
text-align: left;
}

#footerLogo {
width: 300px;
margin-bottom: 30px;
}

#footerR {
display: flex;
justify-content: flex-end;
line-height: 3;
}

footer .globalNav ul {
position: relative;
text-align: left;
}

footer .globalNav ul li {
padding-left: 60px;
}

footer .globalNav ul li a {
position: relative;
color: #fff;
text-decoration: none;
margin: 0;
padding: 0;
line-height: 1;
}

footer .globalNav ul li a::after {
position: absolute;
background-color: #fff;
content: "";
width: 100%;
height: 1px;
bottom: -6px;
left: 0;
-webkit-transform: scale(0, 1);
transform: scale(0, 1);
-webkit-transform-origin: left top;
transform-origin: left top;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}

footer .globalNav ul li a:hover::after {
transform: scale(1, 1);
}

#googleMapBtn {
background-color: var(--themeColor);
font-family: var(--font-jost);
font-size: 1.4rem;
font-weight: 500;
width: 160px;
height: 40px;
color: #fff;
text-align: center;
cursor: pointer;
border: 1px solid #fff;
transition: .3s;
}

#googleMapBtn:hover {
background-color: #fff;
color: var(--themeColor);
}

#googleMapBtn i {
margin-left: 5px;
}

#copyRight {
font-family: var(--font-jost);
font-size: 1.2rem;
font-weight: 500;
margin-top: 30px;
}

.bottomBtn {
display: none;
}

#pagetop {
position: fixed;
background-color: var(--themeColor);
width: 80px;
height: 80px;
bottom: -80px;
right: 0;
border-left: 1px solid #fff;
border-top: 1px solid #fff;
z-index: 1010;
transition: .3s;
}

#pagetop::before {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

}