@charset "utf-8";


/* ===================================================== */
/* 콘텐츠 공통 */

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1280px){
}
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (max-width: 576px){
}
@media (max-width: 480px){
}
/* 콘텐츠 공통 */
/* ===================================================== */


/* ===================================================== */
/* 010101 */
.ceo-wrap {padding: 5rem 0 25rem;}
.ceo-wrap .ceo-top {border-radius: 20px; background: #f7f9f9; padding: 1px; position: relative;}
.ceo-wrap .ceo-top::after {display: block; content: ''; width: 457px; height: 416px; background: url(../images/sub/ceo-img.png) no-repeat center; position: absolute; bottom: 0; left: 20%; transform: translateX(-50%);}
.ceo-wrap .con-header {margin: 12px 12px 0; padding: 9rem 2rem 8rem 30%; border-radius: 10px 10px 0 0; background: #fff url(../images/sub/ceo-bg.png) no-repeat right center; background-size: auto 100%;}
.ceo-wrap .ceo-top .txt {padding-left: 10%;}
.ceo-wrap .ceo-top .txt h2 {font-size: 3.2rem; font-weight: 500; color: #222; line-height: 1.3;}
.ceo-wrap .ceo-top .txt h2 span {font-weight: 700;}
.ceo-wrap .ceo-top .txt h2 .color01 {background: linear-gradient(to right, #07a577, #009fe3);}
.ceo-wrap .ceo-top .txt h2 em {background: linear-gradient(to right, #07a577, #009fe3); color: transparent; -webkit-background-clip: text;}
.ceo-wrap .ceo-top .txt h6 {margin-top: 2rem; font-size: 28px; font-weight: 700; color: var(--color-main);}
.ceo-wrap .ceo-top .bottom-line {padding: 1rem; background: linear-gradient(to right, #07a577, #009fe3); border-radius: 0 0 20px 20px;}
.ceo-wrap .ceo-top .bottom-line p {text-align: center; font-family: var(--font-montserrat); font-size: 3.2rem; font-weight: 800; color: rgba(255, 255, 255, 0.3);}

.ceo-wrap .ceo-bottom {text-align: center; margin-top: 5rem;}
.ceo-wrap .ceo-bottom p {font-size: 20px; font-weight: 500; color: #444;}
.ceo-wrap .ceo-bottom p+p {margin-top: 4rem;}
.ceo-wrap .ceo-bottom p span {font-weight: 700;}
.ceo-wrap .ceo-name {padding-top: 6rem; margin-top: 2rem; position: relative;}
.ceo-wrap .ceo-name::after {display: block; content: ''; width: 1px; height: 40px; background: #2996e0; position: absolute; top: 0; left: 50%;}
.ceo-wrap .ceo-name h2 {font-size: 22px; font-weight: 700; color: #444;}
.ceo-wrap .ceo-name span {display: inline-block; margin-left: 2rem; font-size: 26px; font-weight: 800;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1620px){
    .ceo-wrap {padding-bottom: 20rem;}
}
@media (max-width: 1280px){
    .ceo-wrap .ceo-top::after {width: 350px; background-size: contain; background-position-y: bottom;}
}
@media (max-width: 1024px){
    .ceo-wrap {padding-bottom: 15rem;}
    .ceo-wrap .con-header {padding: 5rem 2rem 5rem 30%;}
    .ceo-wrap .ceo-top .txt h2 {font-size: 2.5rem;}
    .ceo-wrap .ceo-top .txt h6 {font-size: 22px;}
    .ceo-wrap .ceo-top .bottom-line {padding-left: 20%;}
    .ceo-wrap .ceo-top::after {width: 290px; left: 22%;}

    .ceo-wrap .ceo-bottom p {font-size: 16px;}
    .ceo-wrap .ceo-bottom p:nth-of-type(2) br {display: none;}
}
@media (max-width: 768px){
    .ceo-wrap {padding-top: 0;}
    .ceo-wrap .con-header {padding: 3rem 2rem;}
    .ceo-wrap .ceo-top .txt {padding-left: 0; text-align: center;}
    .ceo-wrap .ceo-top .txt h6 {font-size: 18px;}
    .ceo-wrap .ceo-name h2 {font-size: 18px;}
    .ceo-wrap .ceo-name span {font-size: 22px;}
    .ceo-wrap .ceo-top::after {display: none;}
    .ceo-wrap .ceo-top .bottom-line {padding-left: 1rem;}
    .ceo-wrap .ceo-top .bottom-line p {font-size: 2.5rem;}
    .ceo-wrap .ceo-bottom p br {display: none;}
}
@media (max-width: 576px){
}
@media (max-width: 480px){
    .ceo-wrap .ceo-top .txt h2 br {display: none;}
    .ceo-wrap .ceo-top .txt h6 {font-size: 16px;}
    .ceo-wrap .ceo-bottom p {font-weight: 300;}
    .ceo-wrap .ceo-name span {font-size: 20px;}
}
/* 010101 */
/* ===================================================== */


/* ===================================================== */
/* 010201 */
.company-wrap {padding: 4rem 0 31rem;}
.company-wrap .tit {text-align: center; font-size: 3.2rem; font-weight: 600; color: #222; line-height: 1.4;}
.company-wrap .tit span {font-weight: 800;}
.company-wrap .tit .color-main {color: var(--color-main);}

.company-top {margin-top: 8rem; padding: 20rem 1rem; border-radius: 20px; background: url(../images/sub/company-bg01.png) no-repeat center / cover; text-align: center; color: #fff;}
.company-top h2 {font-size: 4rem; font-weight: 500; line-height: 1.5;}
.company-top h2 span {font-weight: 700;}
.company-top p {margin-top: 4rem; font-size: 20px; font-weight: 500;}

.company-bottom .con-header {text-align: center; margin: 13rem 0 5rem;}
.company-bottom .con-header .tit {font-size: 3.6rem; font-weight: 700; color: #222; letter-spacing: -0.02em;}
.company-bottom .con-header span {display: block; font-family: var(--font-montserrat); font-weight: 800;}
.company-bottom .con-header .color01 {background: linear-gradient(to right, #07a577, #009fe3);}
.company-bottom .con-header em {background: linear-gradient(to right, #07a577, #009fe3); color: transparent; -webkit-background-clip: text;}
.company-bottom .company-list {padding-top: 3rem; background: url(../images/sub/company-bg02.png) no-repeat center; position: relative;}
.company-bottom .company-img_center {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1;}
.company-bottom .company-item {display: flex; justify-content: center; position: relative; z-index: 1;}
.company-bottom .company-item.nth-2 {justify-content: space-between; margin: 9rem 0 15rem;}
.company-bottom .company-item .item {min-width: 38rem; border-radius: 20px; padding: 15rem 3.5rem 3.5rem; background-repeat: no-repeat; background-size: cover;}
.company-bottom .company-item.nth-3 .item+.item {margin-left: 20rem;}
.company-bottom .company-item .item .tit { text-align: left;}
.company-bottom .company-item.nth-1 .item {background-image: url(../images/sub/company-img01.png);}
.company-bottom .company-item.nth-2 .item:first-child {background-image: url(../images/sub/company-img02.png);}
.company-bottom .company-item.nth-2 .item:last-child {background-image: url(../images/sub/company-img03.png);}
.company-bottom .company-item.nth-3 .item:first-child {background-image: url(../images/sub/company-img04.png);}
.company-bottom .company-item.nth-3 .item:last-child {background-image: url(../images/sub/company-img05.png);}
.company-bottom .company-item .item .tit {font-family: var(--font-montserrat); font-size: 26px; font-weight: 800; color: #fff; letter-spacing: -0.02em;}
.company-bottom .company-item .item .tit span {color: var(--color-main);}
.company-bottom .company-item .item p {margin-top: 1rem; font-size: 16px; font-weight: 500; color: #fff; letter-spacing: -0.02em;}

.company-bottom #svg {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1620px){
    .company-top {padding: 15rem 1rem;}
}
@media (max-width: 1280px){
    .company-wrap .tit {font-size: 2.5rem;}
    .company-top {margin-top: 4rem; padding: 10rem 1rem;}
    .company-top h2 {font-size: 3rem;}
    .company-top p {font-size: 18px;}
    .company-bottom .con-header {margin-top: 8rem;}

    .company-bottom .company-img_center {width: 200px; height: 200px;}
}
@media (max-width: 1024px){
    .company-wrap {padding-bottom: 25rem;}
    .company-bottom .company-img_center {display: none;}
    .company-bottom #svg {display: none;}
    .company-bottom .company-list {padding-top: 0; background-image: none;}
    .company-bottom .company-item {flex-direction: column;}
    .company-bottom .company-item .item {margin-bottom: 20px; padding: 4rem 3.5rem; text-align: center;}
    .company-bottom .company-item .item .tit {text-align: center;}
    .company-bottom .company-item.nth-2 {margin: 0;}
    .company-bottom .company-item.nth-3 .item+.item {margin-left: 0;}
}
@media (max-width: 768px){
    .company-wrap .tit {font-size: 18px;}
    .company-top {padding: 5rem 1rem;}
    .company-top h2 {font-size: 20px;}
    .company-top p {font-size: 16px;}
    .company-top p br {display: none;}

    .company-bottom .con-header .tit {font-size: 24px;}
    .company-bottom .company-item .item .tit {font-size: 22px;}
}
@media (max-width: 576px){
    .company-wrap {padding-top: 0; padding-bottom: 16rem;}
    .company-wrap .tit br {display: none;}
}
@media (max-width: 480px){
    .company-top p {font-weight: 300; font-size: 14px;}
}
/* 010201 */
/* ===================================================== */


/* ===================================================== */
/* 010301 */
.history-wrap {padding: 6rem 0 17rem;}
.history-wrap .inner {display: flex; justify-content: space-between;}

.history-wrap .img {padding: 45px; position: relative;}
.history-wrap .img::after {display: block; content: ''; width: 100%; height: 100%; background: url(../images/sub/history-img-line.png) no-repeat center / cover; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); animation: bg_history 100s infinite linear;}
@keyframes bg_history {0% {transform: translate(-50%, -50%) rotate(0deg);} 100% {transform: translate(-50%, -50%) rotate(360deg);}}
.history-wrap .tit {margin-left: 2rem; margin-top: 6rem; font-size: 3rem; font-weight: 700; color: #222; letter-spacing: -0.02em;}
.history-wrap .sub-tit {margin-left: 7rem; font-family: var(--font-montserrat); font-size: 5rem; font-weight: 800; color: #9a8484; text-transform: uppercase;}
.history-wrap .sub-tit span {display: inline-block; font-size: 6.8rem; color: var(--color-main); transform: translateY(70%);}

.history-wrap .right {margin-left: 20rem; flex: 1;}
.history-item {display: flex; padding: 6rem 0;}
.history-item+.history-item {border-top: 1px solid #eee;}
.history-yy {font-family: var(--font-montserrat); font-size: 30px; font-weight: 700; color: #222; min-width: 17rem;}
.history-item .list {padding-top: 0.5rem;}
.history-item .item {display: flex;}
.history-item .item+.item {margin-top: 0.5rem;}
.history-mm {font-family: var(--font-montserrat); font-size: 20px; font-weight: 600; color: #222; min-width: 5rem; margin-top: 4px;}
.history-item .item span {display: block; font-size: 17px; font-weight: 500; color: #666; line-height: 1.8;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .history-wrap .right {margin-left: 10rem;}
}
@media (max-width: 1280px){
    .history-wrap .img {width: 350px; height: 350px; padding: 30px;}
    .history-wrap .tit {font-size: 3.5rem;}
    .history-wrap .sub-tit {font-size: 4rem;}
    .history-wrap .sub-tit span {font-size: 6rem;}
    .history-yy {min-width: 13rem; font-size: 28px;}
}
@media (max-width: 1024px){
    .history-wrap .img {width: 300px; height: 300px; padding: 20px;}
    .history-wrap .tit {margin-left: 0;}
    .history-wrap .right {margin-left: 5rem;}
    .history-item {flex-direction: column;}
    .history-mm {font-size: 18px;}
    .history-item .item span {font-size: 15px;}
}
@media (max-width: 768px){
    .history-wrap .inner {flex-direction: column; align-items: center;}
    .history-wrap .right {width: 100%; margin-left: 0;}
}
@media (max-width: 576px){
    .history-yy {font-size: 20px;}
}
@media (max-width: 480px){
    .history-wrap .left {display: flex; flex-direction: column; align-items: center;}
    .history-wrap .tit {margin-top: 3rem; font-size: 22px;}
    .history-wrap .sub-tit {font-size: 24px;}
    .history-wrap .sub-tit span {font-size: 5rem;}
    .history-item .item {flex-direction: column;}
    .history-item .item span {font-size: 14px; font-weight: 400;}
}
/* 010301 */
/* ===================================================== */


/* ===================================================== */
/* 010401 */
.ci-wrap {padding: 9rem 0 16rem; background: #f3f6f9; text-align: center;}
.ci-wrap .tit {font-size: 3.7rem; font-weight: 700; color: #000;}
.ci-wrap .sub-tit {margin-top: 2.5rem; font-size: 24px; font-weight: 600; color: #222;}
.ci-box {background: #fff; border-radius: 20px; padding: 10rem 25rem; margin-top: 5rem;}
.ci-img img {margin: 0 auto;}
.ci-txt {padding: 7rem 15rem; border-radius: 20px; background: var(--color-main); position: relative;}
.ci-txt::after {display: block; content: 'S&NEW'; font-size: 7.2rem; font-weight: 800; color: var(--color-main); opacity: 0.1; position: absolute; top: 0; right: 3rem; transform: translateY(-75%);}
.ci-txt::before {display: block; content: ''; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2px solid var(--color-main); position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);}
.ci-txt p {font-size: 20px; font-weight: 600; color: #fff; line-height: 1.6;}
.ci-txt .dot {display: block; width: 7px; height: 7px; border-radius: 50%; background: #ddd; position: absolute;}
.ci-txt .nth-1 {top: 2rem; left: 2rem;}
.ci-txt .nth-2 {top: 2rem; right: 2rem;}
.ci-txt .nth-3 {bottom: 2rem; left: 2rem;}
.ci-txt .nth-4 {bottom: 2rem; right: 2rem;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .ci-box {padding: 10rem;}
    .ci-txt {padding: 7rem;}
}
@media (max-width: 1280px){
    .ci-wrap .tit {font-size: 3rem;}
    .ci-wrap .sub-tit {font-size: 20px; margin-top: 1.5rem;}
    .ci-txt p {font-size: 18px;}
}
@media (max-width: 1024px){
    .ci-box {padding: 5rem;}
    .ci-txt {padding: 4rem;}
    .ci-txt p br {display: none;}
}
@media (max-width: 768px){
    .ci-box {padding: 5rem 2rem 2rem;}
    .ci-img {width: 70%; margin: 0 auto;}
}
@media (max-width: 576px){
    .ci-wrap .tit {font-size: 22px;}
    .ci-wrap .sub-tit {font-size: 18px;}
    .ci-img {max-width: 200px;}
    .ci-txt::after {font-size: 6rem;}
    .ci-txt p {font-weight: 400; font-size: 16px;}
}
@media (max-width: 480px){
    .ci-box {padding: 5rem 1rem 1rem;}
}
/* 010401 */
/* ===================================================== */


/* ===================================================== */
/* 010501 */
.map-wrap {padding: 5rem 0 23rem;}
.map-wrap .tit {font-size: 3.6rem; font-weight: 700; color: #222;}
.map-wrap .map-item+.map-item {margin-top: 4rem;}
.map-wrap .map-box {margin-top: 6rem;}
.map-wrap #map {height: 46.5rem;}
.map-wrap #map iframe {width: 100%; height: 100%;}
.map-wrap .map-info {display: inline-flex; margin-left: 7rem; transform: translateY(-50%); border-radius: 20px; padding: 6rem 7rem; background: var(--color-main); color: #fff; align-items: center;}
.map-wrap .map-item+.map-item .map-info {background: var(--color-sub);}
.map-wrap .map-info .item+.item {padding-left: 4rem; margin-left: 4rem; border-left: 1px solid rgba(255, 255, 255, 0.5);}
.map-wrap .map-info a {display: inline-block;}
.map-wrap .map-info span {font-size: 20px; font-weight: 700; vertical-align: middle; position: relative;}
.map-wrap .map-info span:first-child {margin-right: 4rem; padding-left: 3rem;}
.map-wrap .map-info span:last-child {display: inline-block;}
.map-wrap .map-info span:first-child::after {display: block; content: ''; width: 18px; height: 24px; background: url(../images/sub/ico_map.png) no-repeat center; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.map-wrap .map-info .item+.item span:first-child::after {display: block; content: ''; width: 21px; height: 21px; background: url(../images/sub/ico_tel.png) no-repeat center; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.map-wrap .map-info span+span {font-size: 17px; font-weight: 600;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1620px){
    .map-wrap {padding: 0 0 15rem;}
    .map-wrap .map-info {padding: 4rem 5rem;}
    .map-wrap .map-box {margin-top: 3rem;}
}
@media (max-width: 1280px){}
@media (max-width: 1024px){
    .map-wrap .map-info {padding: 2rem; border-radius: 10px;}
    .map-wrap .map-info span:first-child {display: block; margin-bottom: 5px;}
    .map-wrap .map-info span {font-size: 18px;}
    .map-wrap .map-info span+span {font-size: 15px;}
}
@media (max-width: 768px){
    .map-wrap .tit {font-size: 30px;}
    .map-wrap .map-info {display: flex; flex-direction: column; transform: translateY(0); margin-left: 0; width: 100%; align-items: flex-start;}
    .map-wrap .map-info .item+.item {margin-left: 0; padding-left: 0; border-left: 0; margin-top: 1.5rem;}
    .map-wrap .map-info span:first-child {display: inline-block; margin-bottom: 0; min-width: 85px; font-size: 15px; margin-right: 2rem;}
    .map-wrap .map-info span:first-child::after {width: 14px; background-size: contain;}
    .map-wrap .map-info span:last-child {display: unset;}
    .map-wrap .map-info .item+.item span:first-child::after {width: 18px; background-size: contain;}
    .map-wrap .map-info .item h2 {display: flex; flex-direction: column;}
    .map-wrap .map-info .item h2 span:last-child, a {margin-top: 10px;}
}

@media (max-width: 576px){
    .map-wrap .map-info h2 {display: flex;}
    .map-wrap .map-info span:first-child::after {top: 10px;}
}
@media (max-width: 480px){
    .map-wrap .tit {font-size: 24px;}
    .map-wrap .map-box {margin-top: 1.5rem;}
    .map-wrap .map-info .item:first-child h2 {flex-direction: column;}
    .map-wrap .map-info span:first-child {margin-bottom: 1rem;}
    .map-wrap .map-info span+span {font-weight: 400;}
}
/* 010501 */
/* ===================================================== */


/* ===================================================== */
/* 020101 */
.business-wrap {padding: 5rem 0 15rem;}
.business-wrap .con-header {margin-bottom: 4rem;}
.business-wrap .con-header .tit {font-size: 4rem; font-weight: 700; color: #222; letter-spacing: -0.02em; text-align: center;}

.con-box+.con-box {margin-top: 10rem;}

.business-box.type01 {display: flex; border-radius: 20px; overflow: hidden; position: relative;}
.business-box.type01 .txt-list {max-width: 40%; padding: 6rem; background: #026fb6 url(../images/sub/business01-bg01.png) no-repeat left bottom;}
.business-box.type01 .txt h2 {font-family: var(--font-montserrat); font-size: 26px; font-weight: 700; color: #fff;}
.business-box.type01 .txt p {margin-top: 2rem; font-size: 19px; font-weight: 500; color: #fff; line-height: 1.8; letter-spacing: 0;}
.business-box.type01 .img-list {max-width: 60%;}
.business-box.type01 .slick-nav {display: flex; position: absolute; bottom: 30px; right: 40px;}
.business-box.type01 .btn {width: 60px; height: 60px; border-radius: 50%; background: #fff url(../images/sub/business01-arrow01.png) no-repeat center; cursor: pointer; transition: all 0.3s ease-in-out;}
.business-box.type01 .btn+.btn {margin-left: 10px; transform: rotate(180deg);}
.business-box.type01 .btn:hover {background-color: #009ee1; background-image: url(../images/sub/business01-arrow02.png);}

.business-box.type02 {padding: 9rem 1rem; text-align: center; border-radius: 20px; background: #f6f6f6; border: 1px solid #ddd; letter-spacing: -0.02em;}
.business-box.type02 .tit {font-size: 28px; font-weight: 500; color: #222;}
.business-box.type02 .tit span {font-weight: 700;}
.business-box.type02 .desc {margin-top: 2rem; font-size: 19px; font-weight: 400; color: #666; line-height: 1.8;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .business-box.type01 .txt p br {display: none;}
}
@media (max-width: 1280px){
    .business-wrap .con-header .tit {font-size: 32px;}

    .business-box.type01 .txt-list {padding: 3rem;}
    .business-box.type01 .txt p {font-size: 17px;}

    .business-box.type02 {padding: 5rem 1rem;}
    .business-box.type02 .tit {font-size: 24px;}
    .business-box.type02 .desc {font-size: 17px;}
}
@media (max-width: 1024px){
    .business-box.type01 {flex-direction: column;}
    .business-box.type01 .img-list {order: 1; max-width: 100%;}
    .business-box.type01 .txt-list {order: 2; max-width: 100%;}
    .business-box.type01 .txt h2 {font-size: 22px;}
    .business-box.type01 .txt p {margin-top: 1rem; font-size: 16px;}
    .business-box.type01 .slick-nav {bottom: auto; top: 30px; z-index: 1;}
}
@media (max-width: 768px){
    .business-wrap {padding-top: 0;}
    .business-wrap .con-header .tit {font-size: 28px;}
    .business-box.type02 .tit {font-size: 20px;}
    .business-box.type02 .desc {font-size: 15px;}
}
@media (max-width: 576px){
    .business-wrap .con-header {margin-bottom: 2rem;}

    .business-box.type01 .slick-nav {top: 10px; right: 10px;}
}
@media (max-width: 480px){
    .business-box.type01 .btn {width: 40px; height: 40px;}
    .business-box.type01 .txt h2 {font-size: 18px;}
    .business-box.type01 .txt p {font-weight: 400; font-size: 15px;}
    .business-box.type02 {padding: 3rem 1rem;}
}
/* 020101 */
/* ===================================================== */


/* ===================================================== */
/* 020201 */
.smarttraffic-wrap .con-box {display: flex;}
.smarttraffic-wrap .con-box .img {display: flex; justify-content: center; align-items: center; width: 100%; min-height: 43rem; border-radius: 20px; background: #f4f8f7;}
.smarttraffic-wrap .con-box:nth-of-type(even) .img {order: 2;}
.smarttraffic-wrap .con-box .txt {display: flex; flex-direction: column; justify-content: center; width: 100%; padding-left: 13rem;}
.smarttraffic-wrap .con-box:nth-of-type(even) .txt {order: 1; padding-left: 0; padding-right: 13rem;}
.smarttraffic-wrap .con-box .txt h2 {font-size: 3.6rem; font-weight: 700; color: var(--color-main);}
.smarttraffic-wrap .con-box:nth-of-type(even) .txt h2 {color: var(--color-sub);}
.smarttraffic-wrap .con-box .txt p {margin-top: 2.5rem; font-size: 20px; font-weight: 400; color: #444; line-height: 1.8;}
.smarttraffic-wrap .con-box .txt p span {font-weight: 700;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .smarttraffic-wrap .con-box:nth-of-type(odd) .txt {padding-left: 6rem;}
    .smarttraffic-wrap .con-box:nth-of-type(even) .txt {padding-right: 6rem;}
}
@media (max-width: 1280px){
    .con-box+.con-box {margin-top: 5rem;}
    .smarttraffic-wrap .con-box .txt h2 {font-size: 28px;}
    .smarttraffic-wrap .con-box .txt p {font-size: 18px; line-height: 1.5; margin-top: 1.5rem;}
    .smarttraffic-wrap .con-box .txt p br {display: none;}
}
@media (max-width: 1024px){
    .smarttraffic-wrap .con-box:nth-of-type(odd) .txt {padding-left: 3rem;}
    .smarttraffic-wrap .con-box:nth-of-type(even) .txt {padding-right: 3rem;}
    .smarttraffic-wrap .con-box .txt p {font-size: 16px;}
    .smarttraffic-wrap .con-box .img {padding: 2rem;}
}
@media (max-width: 768px){
    .smarttraffic-wrap .con-box {flex-direction: column;}
    .smarttraffic-wrap .con-box .txt {margin-top: 3rem; text-align: center;}
    .smarttraffic-wrap .con-box:nth-of-type(odd) .txt {padding-left: 0;}
    .smarttraffic-wrap .con-box:nth-of-type(even) .txt {padding-right: 0; order: 2;}
}
@media (max-width: 576px){
    .smarttraffic-wrap .con-box .txt h2 {font-size: 24px;}
}
@media (max-width: 480px){
}
/* 020201 */
/* ===================================================== */


/* ===================================================== */
/* 020401 */
.business-wrap .table.type01 table {width: 100%; table-layout: fixed; font-size: 16px; font-weight: 700; color: #222; text-align: center; letter-spacing: -0.02em;}
.business-wrap .table.type01 th p {display: block; padding: 2rem 1rem; color: #fff; background: #026fb6; border: 1px solid #026fb6;}
.business-wrap .table.type01 thead tr:first-child th p {border-top-left-radius: 15px;}
.business-wrap .table.type01 tbody th p {border-top-color: #70a6ca;}
.business-wrap .table.type01 tbody tr:last-child th p {border-bottom-left-radius: 15px;}

.business-wrap .table.type01 td p {display: block; padding: 2rem 1rem; border: 1px solid #ddd; border-left: 0;}
.business-wrap .table.type01 thead td p {background: #f6f6f6;}
.business-wrap .table.type01 thead tr:first-child td:last-child p {border-top-right-radius: 15px;}
.business-wrap .table.type01 tbody td p {border-top: 0;}
.business-wrap .table.type01 tbody tr:last-child td:last-child p {border-bottom-right-radius: 15px;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1280px){
    .business-wrap table {display: flex;}
    .business-wrap .table thead,
    .business-wrap .table tbody {display: flex; flex-direction: column; width: 50%;}
    .business-wrap .table th,
    .business-wrap .table td {display: block;}
    .business-wrap .table.type01 tbody tr:last-child th p {border-radius: 0; border-top-color: #026fb6; border-left-color: #70a6ca;}
    .business-wrap .table.type01 td p {border-left: 1px solid #ddd;}
    .business-wrap .table.type01 thead tr:first-child td:last-child p {border-radius: 0;}
    .business-wrap .table.type01 thead td p {border-right: 0; border-top: 0;}
}
@media (max-width: 1024px){
    .business-wrap .table.type01 table {font-size: 16px;}
    .business-wrap .table.type01 th p,
    .business-wrap .table.type01 td p {padding: 2rem 0.5rem;}
}
@media (max-width: 768px){
    
}
@media (max-width: 576px){
}
@media (max-width: 480px){
}
/* 020301 */
/* ===================================================== */


/* ===================================================== */
/* 030101 */
.product-wrap {background: #f3f6f9; padding: 12rem 0 13rem; text-align: center;}
.product-wrap .con-tit {font-size: 3.2rem; font-weight: 700; color: #222;}

.product-list {display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 5rem;}
.product-list.type1 .item {width: calc(33.3333% - 4.7rem); margin-right: 7rem; margin-bottom: 7rem;}
.product-list.type1 .item:nth-of-type(3n) {margin-right: 0;}
.product-list .item {border-radius: 20px; background: #fff; overflow: hidden;}
.product-list .item .img {display: flex; justify-content: center; align-items: center; min-height: 27rem;}
.product-list .item .txt {padding: 2rem; background: var(--color-main); font-size: 20px; font-weight: 700; color: #fff;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .product-wrap {padding-top: 10rem;}
    .product-wrap .con-tit {font-size: 30px;}
    .product-list.type1 .item {margin-right: 3rem; margin-bottom: 3rem; width: calc(33.3333% - 2rem);}
}
@media (max-width: 1280px){
}
@media (max-width: 1024px){
    .product-list.type1 .item,
    .product-list.type1 .item:nth-of-type(3n) {margin-right: 3rem; margin-bottom: 3rem; width: calc(50% - 1.5rem);}
    .product-list.type1 .item:nth-of-type(2n) {margin-right: 0;}
    .product-wrap .con-tit {font-size: 24px;}
}
@media (max-width: 768px){
}
@media (max-width: 576px){
    .product-wrap .con-tit {font-size: 20px;}
    .product-list .item .txt {font-size: 18px; font-weight: 500;}
}
@media (max-width: 480px){
    .product-list.type1 .item,
    .product-list.type1 .item:nth-of-type(3n) {margin-right: 0; margin-bottom: 3rem; width: 100%;}
}
/* 030101 */
/* ===================================================== */


/* ===================================================== */
/* 030201 */
.product-wrap .con-desc {margin: 1rem 0 9rem; font-size: 24px; font-weight: 600; color: #666; letter-spacing: -0.02em;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1280px){
    .product-wrap .con-desc {font-size: 20px;}
}
@media (max-width: 1024px){
}
@media (max-width: 768px){
    .product-wrap .con-desc {font-size: 18px;}
}
@media (max-width: 576px){
}
@media (max-width: 480px){
    .product-wrap .con-desc {font-size: 16px;}
}
/* 030201 */
/* ===================================================== */


/* ===================================================== */
/* 030301 */
.product-list.type2 .item {width: calc(25% - 3rem); margin-right: 3rem; margin-bottom: 3rem;}
.product-list.type2 .item:nth-of-type(4n) {margin-right: 0;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .product-list.type2 .item {width: calc(25% - 1.5rem); margin-right: 2rem; margin-bottom: 2rem;}
}
@media (max-width: 1280px){
}
@media (max-width: 1024px){
    .product-list.type2 .item {width: calc(50% - 1rem);}
    .product-list.type2 .item:nth-of-type(2n) {margin-right: 0;}
}
@media (max-width: 768px){
}
@media (max-width: 576px){
}
@media (max-width: 480px){
    .product-list.type2 .item {width: 100%; margin-right: 0;}
}
/* 030301 */
/* ===================================================== */


/* ===================================================== */
/* 040101 */
.careers-wrap {padding: 6.5rem 0 18rem;}
.careers-wrap .con-box+.con-box {margin-top: 12rem;}
.careers-wrap .con-tit {text-align: center; font-size: 4rem; font-weight: 700; color: #222; letter-spacing: -0.02em;}

.careers-list {display: flex; justify-content: space-between; text-align: center; padding-bottom: 13rem; border-bottom: 1px solid #eee;}
.careers-list .careers-item:nth-of-type(2) {display: flex; flex-direction: column-reverse;}
.careers-list .img {border-radius: 30px; overflow: hidden;}
.careers-list .txt {padding-top: 6rem; position: relative;}
.careers-list .careers-item:nth-of-type(2) .txt {padding-top: 0; padding-bottom: 6rem;}
.careers-list .txt h6 {display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(to top right, #009fe3, #07a577); font-family: var(--font-montserrat); font-size: 18px; font-weight: 700; color: #fff; letter-spacing: 0.05em; position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%);}
.careers-list .careers-item:nth-of-type(2) .txt h6 {top: auto; bottom: 0; transform: translate(-50%, 50%);}
.careers-list .txt h2 {font-size: 30px; font-weight: 700; color: #222;}
.careers-list .txt p {margin-top: 3.5rem; font-size: 20px; font-weight: 500; color: #222; line-height: 1.6;}

.careers-step {display: flex; justify-content: center; margin-top: 7rem;}
.careers-step .item {display: flex; flex-direction: column; justify-content: center; align-items: center; width: 250px; height: 250px; border-radius: 50%; border: 7px solid #ededed; position: relative;}
.careers-step .item+.item {margin-left: 8.5rem;}
.careers-step .item+.item::before {display: block; content: ''; width: 8.5rem; height: 5px; background: #ededed; position: absolute; top: 50%; left: -7px; transform: translate(-100%, -50%);}
.careers-step .item+.item::after {display: block; content: ''; width: 21px; height: 32px; background: url(../images/sub/careers-dot02.png) no-repeat center; position: absolute; top: 50%; left: -4.25rem; transform: translate(-50%, -50%);}
.careers-step h6 {font-family: var(--font-montserrat); font-size: 16px; font-weight: 700; color: var(--color-main); letter-spacing: -0.02em;}
.careers-step h2 {font-size: 28px; font-weight: 700; color: #7d7d7d; letter-spacing: -0.02em; margin-top: 1rem;}
.careers-step .item.nth-3 h2 {color: var(--color-main);}

.welfare-list {display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 6rem;}
.welfare-list .item {width: calc(50% - 5rem); margin-right: 10rem; margin-bottom: 10rem; border-radius: 20px; overflow: hidden;}
.welfare-list .item:nth-of-type(2n) {margin-right: 0;}
.welfare-list .item img {width: 100%;}
.welfare-list .txt {padding: 4rem; background: #f6f6f6; min-height: 30rem;}
.welfare-list .txt h2 {font-size: 24px; font-weight: 700; color: #222; letter-spacing: -0.02em;}
.welfare-list .txt p {margin-top: 2.5rem; font-size: 18px; font-weight: 400; color: #444; letter-spacing: -0.02em; line-height: 1.8;}
.welfare-list .txt span {display: block; padding-left: 24px; position: relative;}
.welfare-list .txt span::after {display: block; content: ''; width: 15px; height: 12px; background: url(../images/sub/careers-dot01.png) no-repeat center; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .careers-list .careers-item+.careers-item {margin-left: 3rem;}
}
@media (max-width: 1280px){
    .welfare-list .item {margin-right: 5rem; margin-bottom: 5rem; width: calc(50% - 2.5rem);}
    .welfare-list .txt {min-height: 300px;}
    .careers-list .txt p {margin-top: 2.5rem;}
}
@media (max-width: 1024px){
    .careers-wrap .con-tit {font-size: 30px;}
    .careers-list {padding-bottom: 10rem;}
    .careers-list .txt h2 {font-size: 24px;}
    .careers-list .txt p {font-size: 18px; margin-top: 2rem;}
    .careers-step .item {width: 180px; height: 180px;}
    .careers-step h6 {font-size: 14px;}
    .careers-step h2 {font-size: 20px;}

    .careers-wrap .con-box+.con-box {margin-top: 10rem;}
    .welfare-list .txt {padding: 3rem; min-height: 280px;}
    .welfare-list .txt h2,
    .welfare-list .txt span {font-size: 20px;}
}
@media (max-width: 768px){
    .careers-list .careers-item+.careers-item {margin-left: 1.5rem;}
    .careers-list .careers-item .txt {padding: 6rem 0;}
    .careers-list .careers-item:nth-of-type(2) {flex-direction: column;}
    .careers-list .careers-item:nth-of-type(2) .txt {padding-top: 6rem;}
    .careers-list .careers-item:nth-of-type(2) .txt h6 {top: 0; bottom: auto; transform: translate(-50%, -50%);}
    .careers-list .txt p {font-size: 16px;}
    .careers-list .txt p br {display: none;}
    .careers-list .img {border-radius: 15px;}
    .careers-list .img img {width: 100%;}
    .careers-list .txt h6 {font-size: 16px; font-weight: 500; width: 40px; height: 40px;}
    .careers-step .item {width: 150px; height: 150px;}
    .careers-step .item+.item {margin-left: 3.5rem;}
    .careers-step .item+.item::before {width: 3.5rem;}
    .careers-step .item+.item::after {left: -2.6rem;}
    .careers-step h6 {font-weight: 600;}
    .welfare-list .item {margin-right: 3rem; margin-bottom: 3rem; width: calc(50% - 1.5rem); border-radius: 10px;}
    .welfare-list .txt {min-height: 255px;}
    .welfare-list .txt h2 {font-size: 18px;}
    .welfare-list .txt p {margin-top: 1.5rem; line-height: 1.6;}
    .welfare-list .txt span {font-size: 18px; padding-left: 20px;}
    .welfare-list .txt span::after {top: 15px;}
}
@media (max-width: 576px){
    .careers-wrap .con-tit {font-size: 24px;}
    .careers-list {flex-direction: column;}
    .welfare-list .item {margin-right: 0; width: 100%;}
    .welfare-list .txt {min-height: 1px;}
    .careers-list .txt h2 {font-size: 20px;}
    .careers-list .txt p {margin-top: 1rem;}
    .careers-step {flex-direction: column; align-items: center; margin-top: 3rem;}
    .careers-step .item {width: 250px; height: 250px;}
    .careers-step .item+.item {margin-left: 0; margin-top: 5rem;}
    .careers-step .item+.item::before {width: 5px; height: 5rem; top: -7px; left: 50%; transform: translate(-50%, -100%);}
    .careers-step .item+.item::after {top: -3.5rem; left: 50%; transform: translate(-50%, -50%) rotate(90deg);}
    .welfare-list {margin-top: 3rem;}
}
@media (max-width: 480px){
    .welfare-list .txt span {font-size: 16px;}
}
/* 040101 */
/* ===================================================== */


/* ===================================================== */
/* 040201 */
.job-introduction-wrap .con-box {text-align: center;}
.job-introduction-wrap .con-box+.con-box {margin-top: 12rem;}
.job-introduction-wrap .con-tit {font-size: 26px; font-weight: 700; color: #666;}
.motto-list {display: inline-flex; padding: 4rem 10rem; margin-top: 2rem; border-radius: 20px; background: url(../images/sub/motto-bg.png) no-repeat center / cover; border: 1px solid #ddd;}
.motto-list .item {position: relative; width: 33.3%;}
.motto-list .item+.item {margin-left: 14.5rem;}
.motto-list .item+.item::after {display: block; content: ''; width: 20px; height: 20px; background: url(../images/sub/motto-plus.png) no-repeat center; position: absolute; top: 50%; left: -7.25rem; transform: translate(-50%, -50%);}
.motto-list h2 {font-size: 24px; font-weight: 400; color: #9b9b9b;}
.motto-list p {margin-top: 1rem; font-size: 30px; font-weight: 700; color: #026fb6;}

.organization-wrap {display: flex; position: relative;}
.organization-wrap::before {display: block; content: ''; width: 60%; height: 1px; background: #ccc; position: absolute; top: calc(50% - 8.8rem); left: 5%;}
.organization-wrap .organization-item+.organization-item {padding-left: 10rem;}
.organization-wrap .organization-item.nth-1 {display: flex; align-items: center; padding-right: 10rem;}
.organization-wrap .ceo {display: flex; align-items: center; justify-content: center; margin-bottom: 18.5rem; width: 280px; height: 280px; border-radius: 50%; background: linear-gradient(to top right, #009fe3, #07a577); position: relative;}
.organization-wrap .ceo::before {display: block; content: ''; width: 193px; height: 144px; background: url(../images/sub/organization-bg.png) no-repeat center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.organization-wrap .ceo h2 {font-size: 3.5rem; font-weight: 700; color: #fff; position: relative; z-index: 1;}

.organization-wrap .item {padding: 2rem 1rem; border-radius: 15px; background: #f3f6f9; min-width: 25rem; font-size: 17px; font-weight: 600; color: #444;}
.organization-wrap .item+.item {margin-top: 10px;}
.organization-wrap .item.point {background: #fff; border: 2px solid #07a577; font-size: 17px; font-weight: 700; color: #222; position: relative;}
.organization-wrap .item.point::after {display: block; content: ''; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid #07a577; position: absolute; top: 50%; left: -1px; transform: translate(-50%, -50%);}
.organization-wrap .item.point::before {display: block; content: ''; width: 10rem; height: 1px; background: #ccc; position: absolute; top: 50%; left: -10rem;}

.organization-wrap .organization-item.nth-2 {position: relative;}
.organization-wrap .organization-item.nth-2::after {display: block; content: ''; width: 1px; height: calc(50% - 12rem); background: #ccc; position: absolute; top: 32px; left: 1px;}

.organization-wrap .organization-item.nth-3 {margin-left: 7rem; position: relative;}
.organization-wrap .organization-item.nth-3::after {display: block; content: ''; width: 1px; height: calc(100% - 26rem); background: #ccc; position: absolute; top: 32px; left: 1px;}
.organization-wrap .organization-item.nth-3 .item.point,
.organization-wrap .organization-item.nth-3 .item.point::after {border-color: #2996e0;}
.organization-wrap .organization-item.nth-3 .list:nth-of-type(2) .item.point::before {display: none;}
.organization-wrap .organization-item.nth-3 .list {display: flex; align-items: flex-start; min-height: 26rem;}
.organization-wrap .list+.list {margin-top: 30px;}
.organization-wrap .list .item-wrap {margin-left: 10px;}
.organi_mobile {display: none;}

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1440px){
    .organization-wrap {justify-content: center;}
    .organization-wrap .organization-item+.organization-item {padding-left: 4rem;}
    .organization-wrap .organization-item.nth-1 {padding-right: 6rem;}
    .organization-wrap .organization-item.nth-3 {margin-left: 6rem;}
    .organization-wrap .item.point::before {left: -4rem; width: 4rem;}
}
@media (max-width: 1280px){
    .motto-list h2 {font-size: 20px;}
    .motto-list p {font-size: 24px; margin-top: 0;}
    .organization-wrap .ceo {width: 200px; height: 200px;}
    .organization-wrap .item { min-width: 22rem;}
}
@media (max-width: 1024px){
    .organization-wrap::before {top: calc(50% - 13.2rem); left: 14%;}
    .organization-wrap .ceo {width: 150px; height: 150px; margin-bottom: 25.5rem;}
    .organization-wrap .organization-item.nth-2::after {top: 32px; height: calc(50% - 16.5rem);}
    .organization-wrap .organization-item.nth-3::after {top: 32px; height: calc(100% - 29.5rem);}
    .organization-wrap .organization-item.nth-3 .list {flex-direction: column;}
    .organization-wrap .list .item-wrap {margin-left: 0; margin-top: 10px;}
}
@media (max-width: 768px){
    .motto-list {padding: 4rem; width: 100%; justify-content: center; flex-direction: column; align-items: center; row-gap: 50px;}
    .motto-list .item+.item {margin-left: 0;}
    .motto-list .item {width: 100%;}
    .motto-list .item:last-child p br {display: none;}
    .motto-list .item+.item::after {left: 50%; top: -40px; transform: translateX(-50%);}
    .organization-wrap {flex-direction: column; align-items: center;}
    .organization-wrap::before {top: 10rem; left: 50%; width: 1px; height: 50%;}
    .organization-wrap .list+.list {margin-top: 0; margin-left: 20px;}
    .organization-wrap .item {font-size: 16px; min-width: 21rem;}
    .organization-wrap .organization-item.nth-1 {padding-right: 0;}
    .organization-wrap .ceo {margin-bottom: 50px;}
    .organization-wrap .ceo h2 {font-size: 24px;}
    .organization-wrap .organization-item.nth-2 {width: 100%; display: flex; justify-content: flex-end; padding-left: 0; position: relative;}
    .organization-wrap .organization-item.nth-2::after {display: block; content: ''; width: 30%; height: 1px; background: #ccc; position: absolute; top: 28px; left: 50%; z-index: -1;}
    .organization-wrap .organization-item.nth-2 .item.point::before {display: none;}
    .organization-wrap .organization-item.nth-3 {display: flex; justify-content: space-between; width: 100%; padding-left: 0; margin-left: 0; padding-top: 3rem; margin-top: 3rem;}
    .organization-wrap .organization-item.nth-3::after {width: calc(100% - 20rem); height: 1px; background: #ccc; position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
    .organization-wrap .organization-item.nth-3 .item.point::after {top: 0; left: 50%;}
    .organization-wrap .organization-item.nth-3 .item.point::before {width: 1px; height: 3rem; position: absolute; top: -1px; left: 50%; transform: translateY(-100%);}
    .organi_pc {display: none;}
    .organi_mobile {display: block;}
}
@media (max-width: 576px){
    .motto-list .item+.item {margin-left: 0;}

    .organization-wrap .item {min-width: 17rem;}
    .organization-wrap .organization-item.nth-3::after {width: 73%;}
}
@media (max-width: 480px){
    .motto-list {flex-direction: column;}
    .motto-list .item+.item {margin-left: 0; margin-top: 5.5rem;}
    .motto-list .item+.item::after {top: -3rem; left: 50%;}
    .motto-list h2 {font-size: 16px;}
    .motto-list p {font-size: 18px;}

    .organization-wrap::before {height: 40%;}
    .organization-wrap .list+.list {margin-left: 5px;}
    .organization-wrap .list .item-wrap {width: 100%;}
    .organization-wrap .item {min-width: 1px; padding: 1rem 0.5rem; width: 100%; font-size: 14px;}
    .organization-wrap .item.point {font-size: 15px; font-weight: 500;}

    .organization-wrap .ceo {width: 100px; height: 100px; margin-bottom: 20px;}
    .organization-wrap .ceo h2 {font-size: 20px;}

    .organization-wrap .organization-item.nth-2 .list,
    .organization-wrap .organization-item.nth-3 .list {width: calc(33.3333% - 3.3333px);}
    .organization-wrap .organization-item.nth-2::after {top: 17px;}
    .organization-wrap .organization-item.nth-3::after {width: 68%; left: 50%;}
}
/* 040201 */
/* ===================================================== */


/* ===================================================== */
/*  */

@media (hover: hover) and (pointer: fine) {
}
@media (max-width: 1280px){
}
@media (max-width: 1024px){
}
@media (max-width: 768px){
}
@media (max-width: 576px){
}
@media (max-width: 480px){
}
/*  */
/* ===================================================== */