@charset "UTF-8";

@media print, screen and (max-width:1199px) {

#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;
width: 100%;
overflow: hidden;
}

#kvCopy {
position: absolute;
width: 290px;
text-align: left;
color: var(--themeColor);
margin: auto;
z-index: 2;
line-height: 1.3;
left: 20px;
top: 40%;
transform: translateY(-40%);
}

#kvCopy span {
position: relative;
display: block;
left: -12px;
}

#kvCopyEn {
position: absolute;
font-family: var(--font-jost);
font-size: 1.5rem;
font-weight: 600;
color: var(--themeColor);
z-index: 2;
line-height: 1.3;
left: 20px;
top: 48%;
transform: translateY(-48%);
}

#kvInner {
position: absolute;
width: 100%;
height: 100vh;
overflow: hidden;
border-left: 60px solid #fff;
left: 0;
top: 0;
}

#kvCopyWh {
position: absolute;
width: 290px;
text-align: left;
color: #fff;
z-index: 13;
line-height: 1.3;
left: -40px;
top: 40%;
transform: translateY(-40%);
}

#kvCopyWh span {
position: relative;
display: block;
left: -12px;
}

#kvCopyEnWh {
position: absolute;
font-family: var(--font-jost);
font-size: 1.5rem;
font-weight: 600;
color: #fff;
z-index: 13;
line-height: 1.3;
left: -40px;
top: 48%;
transform: translateY(-48%);
}

#kvEn ul {
position: absolute;
font-family: var(--font-barlow);
font-size: 10rem;
font-weight: 700;
color: #fff;
transform: translateX(100%);
margin: 0;
padding: 0;
line-height: 1;
animation: flowing 1500s linear infinite;
white-space: nowrap;
opacity: .6;
z-index: 12;
left: 0;
bottom: 90px;
}

#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: 60px 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: 25% 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");
background-position: center center;
-webkit-animation-delay: 6s;
animation-delay: 6s; }

.kvImg:nth-of-type(3) {
background-image: url("../img/kv_photo03.jpg");
background-position: 70% center;
-webkit-animation-delay: 12s;
animation-delay: 12s; }

.kvImg:nth-of-type(4) {
background-image: url("../img/kv_photo04.jpg");
background-position: center center;
-webkit-animation-delay: 18s;
animation-delay: 18s; }

.kvImg:nth-of-type(5) {
background-image: url("../img/kv_photo05.jpg");
background-position: center center;
-webkit-animation-delay: 24s;
animation-delay: 24s; }

.kvImg:nth-of-type(6) {
background-image: url("../img/kv_photo06_n.jpg");
background-position: 60% center;
-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.1rem;
font-weight: 700;
font-style: italic;
transform: rotate(90deg);
line-height: 1;
bottom: 190px;
left: 11px;
}

.scrolldown {
position: absolute;
width: 1px;
height: 90px;
bottom: 70px;
left: 30px;
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: 40px 0 40px;
}

#aboutPhoto {
width: 90%;
height: 300px;
overflow: hidden;
}

#aboutPhoto img {
width: 100%;
height: 300px;
object-fit: cover;
}

#aboutTxt {
position: relative;
background-color: #fff;
width: 88%;
text-align: justify;
margin: 0 auto;
margin-top: -60px;
padding: 45px 30px 0;
z-index: 1;
}

.commonTitleL {
position: relative;
font-family: var(--font-jost);
font-size: 5rem;
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.4rem;
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: 5rem;
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.4rem;
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: #f5f5f5;
width: 100%;
}

.wrap {
position: relative;
width: 88%;
margin: 0 auto;
padding: 40px 0;
}

.wrapWide {
position: relative;
width: 88%;
margin: 0 auto;
padding: 60px 0;
}

.strengthsFlex {
margin-top: 100px;
}

.strengths {
position: relative;
width: 100%;
margin-bottom: 60px;
}

.strengths:nth-child(3) {
margin-bottom: 0;
}

#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: 180px;
display: table;
}

.strengths h3 {
position: relative;
font-family: var(--font-jost);
font-size: 3rem;
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: 2.2rem;
font-weight: 700;
display: block;
}

.strengthsTxt {
position: relative;
background-color: #fff;
width: 88%;
text-align: justify;
margin: 0 auto;
margin-top: -20px;
padding: 30px 40px 32px;
z-index: 1;
}

.serviceFlex {
}

.service {
position: relative;
width: 100%;
margin-top: 40px;
}

.service .number {
position: absolute;
font-family: var(--font-barlow);
font-size: 7rem;
font-weight: 200;
color: #ccc;
letter-spacing: 0;
z-index: 1;
top: -70px;
right: 20px;
}

.serviceTxt {
position: relative;
background-color: #fff;
width: 85%;
text-align: justify;
margin: 0 auto;
margin-top: -40px;
padding: 30px 30px;
z-index: 1;
}

.serviceTxt h3 {
font-size: 2rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 20px;
line-height: 1.5;
}

.serviceTxt p {
margin-bottom: 0;
}

.wrapFaq {
position: relative;
width: 88%;
margin: 0 auto;
padding: 60px 0;
}

#faqL {
width: 100%;
text-align: justify;
}

.tabWrap,
.tabSWrap {
margin-bottom: 30px;
border-bottom: 1px solid var(--themeColor);
}

.tabWrap li,
.tabSWrap li {
background-color: var(--themeColor);
width: 100%;
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 {
padding: 10px 5px;
color: #fff;
display: block;
}

.tabWrap li.select,
.tabSWrap li.select a {
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.4rem;
font-weight: 700;
}

.accordion a {
position: relative;
color: var(--themeColor);
display: block;
text-decoration: none;
cursor: pointer;
padding:15px 66px 20px 20px;
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 {
position: relative;
float: left;
font-family: var(--font-jost);
font-size: 2.2rem;
font-weight: 500;
line-height: 1.4;
top: 3px;
}

.toggle dd {
padding: 7px 0 3px 34px;
}

.faqDetail {
color: var(--txtColor);
display: none;
padding: 0 34px 34px 20px;
overflow: hidden;
}

.faqDetail dt {
float: left;
font-family: var(--font-jost);
font-size: 2.2rem;
font-weight: 500;
color: var(--themeColor);
line-height: 1;
}

.faqDetail dd {
padding: 0 0 0 34px;
}

.faqDetail dd p {
margin-bottom: 0;
}

#faqR {
width: auto;
text-align: justify;
}

#wrapNews {
position: relative;
width: 88%;
margin: 0 auto;
padding: 60px 0;
}

#newsL {
width: auto;
text-align: left;
}

#newsR {
width: 100%;
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;
}

.news a {
width: 100%;
padding: 30px 20px;
display: block;
}

.news dt {
font-family: var(--font-barlow);
font-weight: 700;
}

.news dd {
padding: 0 40px 0 0;
}

.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: 92%;
margin: 0 auto;
margin-top: 80px;
padding: 30px 20px;
border: 1px solid #ddd;
z-index: 3;
}

#contactWrapCo {
margin-top: 0;
}

#contactWrap h3,
#contactWrapCo h3 {
font-size: 1.4rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 20px;
}

#btnFlex {
}

#callBtn {
position: relative;
background-color: #E48202;
width: 100%;
font-size: 1.2rem;
font-weight: 700;
margin-bottom: 10px;
border: 2px solid #E48202;
line-height: 1.2;
transition: .3s;
}

#callNumber {
font-family: var(--font-barlow);
font-size: 2.6rem;
font-weight: 700;
display: flex;
justify-content: center;
align-items: center;
}

#callIcon {
position: relative;
width: 30px;
height: 30px;
font-size: 1.5rem;
text-align: center;
margin-right: 10px;
padding-left: 1px;
border: 2px solid #fff;
border-radius: 40px;
line-height: 24px;
top: 2px;
}

#callBtn a {
color: #fff;
display: block;
padding: 12px 0 20px;
}

#contactBtn {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.4rem;
font-weight: 700;
border: 2px solid var(--themeColor);
line-height: 1.5;
transition: .3s;
}

#contactBtn i {
position: relative;
font-size: 2rem;
margin-right: 5px;
top: 3px;
}

#contactBtn a {
color: #fff;
display: block;
padding: 22px 0 30px;
}

.btn {
position: relative;
background-color: var(--themeColor);
font-family: var(--font-jost);
width: 100%;
height: 70px;
font-size: 1.4rem;
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: 350px;
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);
width: 100%;
font-size: 4.4rem;
font-weight: 300;
color: #fff;
text-align: center;
margin: 0 auto;
white-space: nowrap;
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.6rem;
font-weight: 700;
display: block;
}

#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: 300px;
object-fit: cover;
}

.bgFaq {
background: url("../img/bg_faq.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

.bgNews {
background: url("../img/bg_news.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

.bgCompany {
background: url("../img/bg_company.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

.bgRecruit {
background: url("../img/bg_recruit.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

.bgContact {
background: url("../img/bg_contact.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

.bgPrivacy {
background: url("../img/bg_privacy.jpg") no-repeat center;
background-size: cover;
width: 100%;
height: 300px;
object-fit: cover;
}

#breadcrumb {
position: absolute;
background-color: var(--themeColor);
width: 92%;
font-size: 1rem;
color: #fff;
text-align: left;
margin: auto;
padding: 8px 10px 10px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
z-index: 5;
left: 0;
right: 0;
top: 276px;
}

#breadcrumb a {
color: #fff;
}

.wrapCo {
position: relative;
background-color: #fff;
width: 92%;
text-align: justify;
margin: 0 auto;
margin-top: -40px;
padding: 40px 30px 60px;
z-index: 5;
}

.subTitle,
.subTitle2 {
position: relative;
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;
}

.subTitle2 {
margin-top: 40px;
}

.subTitle::before,
.subTitle2::before {
position: absolute;
background-color: var(--themeColor);
width: 72px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

.subTitleh3 {
position: relative;
font-size: 1.8rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 40px;
margin-bottom: 30px;
padding: 0 0 5px 12px;
line-height: 1.6;
border-left: 3px solid var(--themeColor);
}

.servicePhoto {
width: 100%;
margin-bottom: 20px;
}

/**/

.pageNavi {
font-family: var(--font-jost);
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;
}

/**/

.postWrap #postDate {
font-family: var(--font-barlow);
font-size: 1.3rem;
font-weight: 700;
color: var(--themeColor);
margin-bottom: 10px;
}

.postWrap h1 {
position: relative;
font-size: 2rem;
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(--themeColor);
width: 72px;
height: 3px;
content: "";
left: 0;
bottom: 0;
}

.postWrap h2,
.subSubTitle {
position: relative;
font-size: 1.7rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 40px;
margin-bottom: 30px;
padding: 0 0 5px 12px;
line-height: 1.5;
border-left: 3px solid var(--themeColor);
}

.postWrap h3 {
position: relative;
font-size: 1.8rem;
font-weight: 700;
color: var(--themeColor);
margin-top: 40px;
margin-bottom: 30px;
padding: 0 0 5px 12px;
line-height: 1.6;
border-left: 3px solid var(--themeColor);
}

.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-large,
.postWrap .size-full {
margin-bottom: 30px;
}

.recruitPhotoCo {
margin-bottom: 30px;
}

.postWrap dl {
border-top: 1px dotted #ccc;
}

.postWrap dl dt {
float: left;
font-size: 1.6rem;
color: var(--themeColor);
padding: 10px 0;
}

.postWrap dl dd {
padding: 13px 0 13px 26px;
border-bottom: 1px dotted #ccc;
}

.postWrap table {
width: 100%;
border-bottom: 1px solid #ddd;
}

.postWrap th,
.postWrap td {
padding: 5px 10px;
border-left: 1px solid #ddd;
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
display: block;
}

.postWrap th {
background-color: #E1F7FF;
width: 100%;
}

#prevNextWrap {
margin-top: 50px;
display: flex;
justify-content: space-between;
align-items: center;
}

.btnBackToList {
background-color: var(--themeColor);
font-family: var(--font-jost);
width: 150px;
height: 60px;
font-size: 1.2rem;
font-weight: 600;
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-jost);
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;
}

/**/

#nameR {
text-align: right;
}

.outline {
margin-bottom: 40px;
}

.outline dt {
font-weight: 700;
padding: 20px 0 0;
}

.outline dd {
padding: 0 0 20px;
border-bottom: 1px dotted #ccc;
}

#outlineInner dt {
float: left;
font-weight: 400;
padding: 0;
}

#outlineInner dd {
padding: 0 0 0 70px;
border-bottom: 0;
}

.googleMap {
position: relative;
width: 100%;
height: 0;
margin: 20px auto;
padding-top: 75%;
}

.googleMap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/**/

.recruitWrap {
position: relative;
width: 100%;
border-bottom: 1px dotted #ccc;
overflow: hidden;
transition: .3s;
}

.recruitWrap:first-of-type {
border-top: 1px dotted #ccc;
}

.recruitWrap a {
width: 100%;
padding: 20px 15px;
display: block;
}

.recruitFlex {
}

.recruitPhoto {
width: 100%;
height: 150px;
margin-bottom:15px;
overflow: hidden;
}

.recruitPhoto img {
width: 100%;
height: 150px;
object-fit: cover;
}

.recruitTxt {
width: 100%;
text-align: justify;
}

.recruitTxt h2 {
font-size: 1.8rem;
font-weight: 700;
line-height: 1.5;
}

.recruitTxt dl {
margin: 10px 0 14px;
}

.recruitTxt dl dt {
float: left;
font-size: 1.4rem;
padding: 0;
}

.recruitTxt dl dd {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
padding: 1px 0 1px 22px;
}

.recruitTxt .categoryTag {
background-color: var(--themeColor);
width: 110px;
height: 30px;
font-size: 1.1rem;
font-weight: 700;
text-align: center;
color: #fff;
line-height: 28px;
}

.categoryTagCo {
background-color: var(--themeColor);
width: 110px;
height: 30px;
font-size: 1.1rem;
font-weight: 700;
text-align: center;
margin-top: -10px;
margin-bottom: 20px;
color: #fff;
line-height: 28px;
}

.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: 100%;
height: 80px;
font-size: 1.7rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #E48202;
}

/**/

.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.3rem;
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.3rem;
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: -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;
flex-wrap: wrap;
}

.contact .selectArrow {
position: relative;
width: 88%;
margin: 0 10px 10px 0;
}


.contact .selectArrowFlex div {
margin-bottom: 10px;
}

.contact .selectArrow select {
position: relative;
background-color: #eee;
font-family: var(--font-primary);
width: 100%;
height: 80px;
font-size: 1.3rem;
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;
}

.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: #E48202;
font-family: var(--font-primary);
width: 100%;
height: 80px;
font-size: 1.7rem;
font-weight: 700;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 2px solid #E48202;
}

/**/

footer {
position: relative;
background-color: var(--themeColor);
width: 100%;
font-size: 1.3rem;
color: #fff;
text-align: center;
margin-top: -100px;
padding: 150px 20px 100px;
}

#footerL {
}

#footerLogo {
width: 230px;
margin: 0 auto;
margin-bottom: 30px;
}

#footerR {
margin-bottom: 30px;
line-height: 3;
}

footer .globalNav ul {
position: relative;
margin: 0 auto;
}

footer .globalNav ul li {
margin: 0 auto;
}

footer .globalNav ul li a {
position: relative;
color: #fff;
text-decoration: none;
margin: 0;
padding: 0;
line-height: 1;
}

#googleMapBtn {
background-color: var(--themeColor);
font-family: var(--font-jost);
font-size: 1.2rem;
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: 1rem;
font-weight: 500;
margin-top: 30px;
}

.bottomBtn {
position: fixed;
width: 100%;
display: flex;
justify-content: space-between;
bottom: 0;
z-index: 1000;
}

.globalCallBtnF {
position: relative;
background-color: #E48202;
width: 57%;
height: 80px;
font-size: 1rem;
font-weight: 700;
letter-spacing: 0;
border: 2px solid #E48202;
line-height: 1.2;
}

.globalCallNumberF {
font-family: var(--font-barlow);
font-size: 2.1rem;
font-weight: 700;
display: flex;
justify-content: center;
align-items: center;
}

.globalCallIconF {
position: relative;
width: 22px;
height: 22px;
font-size: 1rem;
text-align: center;
margin-right: 5px;
padding-left: 1px;
border: 2px solid #fff;
border-radius: 22px;
line-height: 18px;
top: 2px;
}

.globalCallBtnF a {
color: #fff;
display: block;
padding: 15px 0;
}

.globalRecruitBtnF {
position: relative;
background-color: #0000fd;
width: 18%;
height: 80px;
font-size: 1.1rem;
font-weight: 700;
border: 2px solid #0000fd;
line-height: 1.5;
}

.globalContactBtnF {
position: relative;
background-color: var(--themeColor);
width: 25%;
height: 80px;
font-size: 1.1rem;
font-weight: 700;
border: 2px solid var(--themeColor);
line-height: 1.5;
}

.globalRecruitBtnF span,
.globalContactBtnF span {
display: block;
}

.globalRecruitBtnF i {
font-size: 1.7rem;
}

.globalContactBtnF i {
font-size: 1.7rem;
}

.globalRecruitBtnF a,
.globalContactBtnF a {
color: #fff;
display: block;
padding: 20px 0;
}

#pagetop {
position: fixed;
background-color: var(--themeColor);
width: 50px;
height: 50px;
bottom: -50px;
right: 0;
border-left: 1px solid #fff;
border-top: 1px solid #fff;
z-index: 999;
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;
}

.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;
}

}