/*팝업*/
/* 1092 이하 */
@media only screen and (max-width: 768px)
{.mainBannerPopupBox{ width:420px !important; border-top-left-radius: 15px!important; border-top-right-radius: 15px!important; }
}

/* 420 이하 */
@media screen and (max-width: 420px)
{.mainBannerPopupWrap{right: 5px !important;} .mainBannerPopupBox{ width:340px !important;
border-top-left-radius: 15px!important; border-top-right-radius: 15px !important;}} 

/* 초소형 */
@media (max-width:360px)
{.mainBannerPopupWrap{right: 5px !important;} .mainBannerPopupBox{ width:260px !important;
border-top-left-radius: 15px!important; border-top-right-radius: 15px !important;}} 


.header .b_nav .gnb.ceo_gnb > li{width: 130px;}


.blue {color:#2C4391;}
.lightblue {color: #859ee9;}
.font_bold{font-weight: 600;}
.ida-title-box .size{font-size:24px; margin-right: 4px;}
.slide_pause i {color: #8f8f8f; margin-left: 5px;}
.txt_b {font-size: 1.5rem;}
.main_illust_wrap.ceo_image{width: 50%;}


/*서브배너 이미지*/

.why_sub_banner
{background: url(/images/ceosub_visual05.jpg) no-repeat top / cover;}

.store_sub_banner
{background: url(/images/ceosub_visual04.jpg) no-repeat top / cover;}

.consult_sub_banner
{background: url(/images/ceosub_visual01.jpg) no-repeat top / cover;}

.ceocommunity_sub_banner
{background: url(/images/ceosub_visual02.jpg) no-repeat top / cover;}

.owner_sub_banner
{background: url(/images/ceosub_visual03.jpg) no-repeat top / cover;}

/*메인 영상*/
.main_visual_swiper .swiper-slide video{
    width:100%;
    height:100%;
    object-fit:cover; /* 이미지 background-size:cover 느낌 */
    display:block;
}

/*로그인페이지*/

.login-wrap{
display: flex;
align-items: center;
justify-content: space-between;
padding: 0;
width: 100%;
}

.login-wrap.top {padding: 100px 0;
margin-top: 140px;}

/* left */
.login-left{
display: block;
width: 50%;
min-width: 0;
margin-top: 3%;
text-align: center;
}

.login-left h2{
font-size:2.2rem;
font-weight:700;
margin-bottom:40px;
width:100%;
float: left;
}



.lock-circle{
width: 60%;
display: block;
margin: 0 auto;
}

.lock-icon{
position:relative;
}

.shackle{
width:80px;
height:90px;
border:8px solid #8f8f8f;
border-bottom:none;
border-radius:60px 60px 0 0;
margin:0 auto -15px;
}

.body{
width:120px;
height:90px;
background:#efb67d;
border-radius:14px;
display:flex;
justify-content:center;
align-items:center;
position:relative;
z-index:2;
}

.body span{
display:block;
width:8px;
height:32px;
background:#fff;
border-radius:4px;
}

/* right */
.login-right{
display: block;
width: 50%;
min-width: 0;
}

.login-box{
/*max-width: 500px;*/
margin: 0 auto;
border: 1px solid #d7dbe1;
padding: 39px;
border-radius: 20px;
    width: 85%;
float: left;
}

.login-form{
border:1px solid #d7dbe1;
border-radius:10px;
overflow:hidden;
background:#fff;
margin-top: 16px;
}

.form-row{
padding: 0px 18px 10px;
position:relative;
}

.form-row:first-child{
border-bottom:1px solid #e5e5e5;
}

.form-row label{
display:block;
font-size:0.9rem;
color:#9aa1ab;
margin-bottom:5px;
margin-top: 8px;
}

.input-wrap{
position:relative;
}

.input-wrap input{
width:100%;
border:0;
outline:none;
font-size:1.2rem;
font-weight:500;
padding-right:65px;
background:transparent;
letter-spacing: 0.3px;
}

.clear-btn,
.eye-btn{
    border:none;
    background:none;
    cursor:pointer;
    padding:0;
    appearance:none;
    -webkit-appearance:none;
    -webkit-tap-highlight-color:transparent;
}

/* 눈 아이콘 */
.eye-btn,
.eye-btn i{
    color:#696969 !important;
    -webkit-text-fill-color:#696969 ;
}

/* X 버튼 */
.clear-btn{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);

    width:17px;
    height:17px;
    border-radius:50%;
    background:#8f98a4;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff !important;
    -webkit-text-fill-color:#fff;

    font-size:8px;
    line-height:1;
}

.input-icons{
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
display:flex;
gap:12px;
align-items:center;
}

.eye-btn{
font-size:18px;
opacity:.6;
}

.input-icons .clear-btn{
position:static;
transform:none;
}


.input-icons button:hover {
opacity: 1;
}

.login-wrap input:checked + .check-icon::after
{border-color: #fff;}
.login-wrap input:checked + .check-icon {
background: #ff6e00;
border-color: #ff6e00;}

/* checkbox area */
.login-option{
margin-top:14px;
display:flex;
gap:26px;
}

.login-option label{
display:flex;
align-items:center;
gap:8px;
font-size:1.1rem;
color:#777;
cursor:pointer;
}

.login-option input[type="checkbox"]{
appearance:none;
-webkit-appearance:none;
width:18px;
height:18px;
border-radius:50%;
border:1px solid #c8c8c8;
position:relative;
}

.login-option input[type="checkbox"]:checked{
background:#10b65c;
border-color:#10b65c;
}

.login-option input[type="checkbox"]:checked:after{
content:"✓";
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-55%);
font-size:11px;
color:#fff;
}


.fa-check-circle:before {margin-right: 6px;}

.login-tabs {
width: 100%;
background: #f5f5f5;
border-radius: 12px;
padding: 4px;
}

.login-tabs .tab {
width: 49%;
border: none;
background: transparent;
padding: 12px 24px;
border-radius: 10px;
font-size: 1.3rem;
font-weight: 500;
color: #888;
cursor: pointer;
transition: all 0.25s ease;
}

/* 활성화 */
.login-tabs .tab.active {
background: #fff;
color: #222;
font-weight: bold;
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
width: 49%;
}


.login-btn{
width:100%;
height:60px;
background:#000;
color:#fff;
border:none;
border-radius:8px;
font-weight:600;
font-size:1.3rem;
cursor:pointer;
margin-top: 25px;
}

.login-btn.error{
width:100%;
height:55px;
background:#ff0000;
color:#fff;
border:none;
border-radius:8px;
font-weight:600;
font-size:16px;
cursor:pointer;
margin-top: 22px;
}

.or-line{
text-align:center;
font-size:1rem;
color:#999;
margin-bottom:18px;
margin-top: 18px;
position:relative;
width: 100%;
float: left;
}

.or-line:before,
.or-line:after{
content:"";
position:absolute;
top:50%;
width:120px;
height:1px;
background:#ddd;
}

.or-line:before{
left:0;
}

.or-line:after{
right:0;
}

.kakao-btn{
width:100%;
height:60px;
background:#FEE500;
border:none;
border-radius:8px;
font-weight:700;
cursor:pointer;
font-size:1.3rem;

color:#000000 !important;
-webkit-text-fill-color:#000000;
appearance:none;
-webkit-appearance:none;
}

.util-menu{
margin-top:16px;
display:flex;
justify-content:center;
gap:30px;
list-style:none;
}

.util-menu li{
position:relative;
}

.util-menu li:not(:last-child)::after{
content:"";
position:absolute;
right:-17px;
top:4px;
width:1px;
height:12px;
background:#ddd;
}

.util-menu a{
text-decoration:none;
color:#999;
font-size:1rem;
}

.kakao-btn img{
width: 29px;
margin-right: 6px;
vertical-align: middle;
margin-bottom: 3px;
}


/*회원가입*/
.singup-right {float: right; width: 55%;}
.section-title {
font-size: 1.1rem;
color: #666;
margin-bottom: 10px;
width: 100%;
float: left;
}

/* 버튼 공통 */
.signupbtn {
width: 100%;
height: 70px;
border-radius: 10px;
border: none;
font-size: 1.2rem;
color: #fff;
cursor: pointer;
margin-bottom: 20px;
font-weight: 400;
transition: all 0.2s ease;
letter-spacing: -0.4px;
font-weight: 600;
}

/* 보험 버튼 */
.signupbtn.btn-orange {
background: #ff6e00;
}

/* CEO 버튼 */
.signupbtn.btn-blue {
background: #1f45b5;
}

/* CEO 버튼 */
.signupbtn.btn-black {
background: #222222;
}


/* 버튼 hover */
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}


/* 약관 전체 */

/* 전체 동의 */
.agree-all {
display: flex;
align-items: center;
gap: 8px;
font-size: 1.5rem;
font-weight: 600;
cursor: pointer;
}

/* 설명 */
.agree-desc {
padding: 10px 0 10px 28px;
font-size: 0.9rem;
line-height: 1.5;
color: #888;
}

/* 리스트 */
.agree-list {
list-style: none;
padding: 0;
margin: 0;
}

.agree-list li {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-top: 20px;
font-size: 1.1rem;
}

/* label 자체도 위쪽 정렬 */
.agree-list label {
display: flex;
align-items: flex-start;
gap: 8px;
cursor: pointer;
line-height: 1.5;
}


.agree-list a {
font-size: 1.1rem;
color: #777;
text-decoration: underline;
}

.required {
color: #ff6e00;
font-weight: 700;
}

.agree-wrap {
width: 100%;
float: left;
margin-bottom: 15px;
}

.agree-wrap input {
display: none;
}

.check-icon {
width: 20px;
height: 20px;
border: 2px solid #bbb;
border-radius: 50%;
position: relative;
}

.check-icon::after {
content: "";
position: absolute;
left: 5px;
top: 2px;
width: 5px;
height: 9px;
border: solid #bbb;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}

.agree-wrap input:checked + .check-icon {
background: #ff6e00;
border-color: #ff6e00;
}

.agree-wrap input:checked + .check-icon::after {
border-color: #fff;
}

.checkblack {color: #000; font-weight: 700;}

/*약관동의-서비스 이용약관*/
.terms-modal {
display: none;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.35);
z-index: 9999;
align-items: center;
justify-content: center;
}

.terms-modal.active {
display: flex;
}

.terms-box {
width: 520px;
max-width: calc(100% - 40px);
background: #fff;
border: 1px solid #d9dee5;
border-radius: 14px;
padding: 28px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

.terms-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}

.terms-head h3 {
font-size: 22px;
font-weight: 700;
margin: 0;
color: #222;
}

.terms-head button {
border: 0;
background: none;
font-size: 28px;
cursor: pointer;
color: #777;
}

.terms-content {
height: 260px;
overflow-y: auto;
border: 1px solid #eceff3;
border-radius: 10px;
padding: 18px;
font-size: 14px;
line-height: 1.7;
color: #555;
background: #fafafa;
}

.terms-confirm {
    width: 100%;
height: 52px;
margin-top: 20px;
border-radius: 8px;
border: 1px solid #dfdfdf;
color: #b2b1b1;
font-size: 16px;
font-weight: 500;
cursor: pointer;
background: white;
}

/*휴대폰인증-sms*/

/* 공통 입력 */
.login-box .input_sms {
width: 100%;
height: 53px;
padding: 0 14px;
border: 1px solid #e5e7eb;
border-radius: 8px;
font-size: 1.1rem;
box-sizing: border-box;
outline: none;
}

.login-box .input_sms::placeholder {
color: #b0b0b0;
}

.login-box .input_sms:focus {
border-color: #5067ad;
}

/* 에러 상태 */
.login-box .input_sms.error {
border-color: #ff3b30;
}

/* 줄 정렬 */
.login-box .row {
display: flex;
gap: 10px;
margin-top: 14px;
align-items: center;
text-align: left;
float: left;
width: 100%;
}

/* 주민번호 row */

/* 생년월일 input */
.login-box .rrn input:first-child {
flex: 1;
width: auto;
min-width: 0;
}

/* 뒷자리 첫번째 숫자 */
.login-box .rrn .short {
width: 50px;
flex: 0 0 50px;
text-align: center;
padding: 0;
}

/* ●●●●●● */
.login-box .rrn .dots {
white-space: nowrap;
letter-spacing: 3px;
font-size: 0.7rem;
}
/* 인증번호 입력 */
.code-wrap {
position: relative;
flex: 1;
}

.code-wrap .login-display{
display:flex;
align-items:center;
gap:10px;
}

.code-wrap input{
width:100%;
padding-right:60px;
box-sizing:border-box;
}

.code-wrap .timer {
position:absolute;
right:15px;
top:50%;
transform:translateY(-50%);

}

/* 버튼 */
.login-box .btn {
height: 48px;
padding: 0 14px;
border-radius: 8px;
border: none;
font-weight: 500;
cursor: pointer;
white-space: nowrap;
font-size: 1.1rem;
}

.login-box .btn.blue {
background: #5067ad;
color: #fff;
width: 114px;
}


/* 메시지 */
.login-box .msg {
width: 100%;
float: left;
font-size: 0.9rem;
line-height: 1.5;
margin-top: 10px;
}

.login-box .msg p {
margin: 0;
}

.login-box .msg .error {
color: #ff3b30;
}

.login-box .msg .success {
color: #00a651;
}

.login-box .msg .wait {
color: #999;
}

/*회원가입 완료*/
.login-box .card .title {
text-align: center;
}

.login-box .card .title .name {
font-size: 1.6rem;
font-weight: bold;
}

.login-box .card .title .name span {
font-weight: bold;
color: #999;
}

.login-box .card .title h1 {
margin-top: 5px;
font-size: 17px;
font-weight: 800;
color: #000;
line-height: 1.4;
}

.login-box .card .divider {
height: 1px;
background: #e5e5e5;
margin-top:25px;
}

.login-box .card .info {
font-size: 1.2rem;
margin-top:12px;
}

.login-box .card .label {
width: 30%;
font-weight: bold;
color: #333;
}

.login-box .card .value {
color: #666;
width: 60%;
}

.login-box .card .notice {
margin-top: 16px;
background: #f5f5f5;
padding: 14px;
border-radius: 6px;
text-align: center;
font-size: 13px;
color: #999;
line-height: 1.5;
width: 100%;
float: left;
}

.login-btn:hover {
opacity: 0.9;
}



/*회원가입-과정*/
.login-box .login-section
{width: 100%;
float: left;}

/* input 감싸는 영역 */
.input-item {
position: relative;
margin-bottom: 14px;
}

/* input */
.login-process .input-item input {
width: 100%;
height: 60px;
padding: 0 100px 0 18px; 
border: 1px solid #bbb;
border-radius: 8px;
background: #ffffff;
font-size: 1.1rem;
box-sizing: border-box;
outline: none;
}

/* placeholder */
.login-process {
position: relative; /* 기준 부모 */
    width: 100%;
float: left;
}

.login-process .input-item input::placeholder {
color: #b5b5b5;
}

/* 오른쪽 버튼 */
.login-process .input-btn {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);

height: 32px;
padding: 0 10px;
border-radius: 6px;

border: none;
background: #ffe600;
font-size: 13px;
cursor: pointer;
}

/* 약관 박스 */
.login-process .agree-box {
margin-top: 30px;
background: #ffffff;
padding: 20px;
border-radius: 10px;
}

/* 항목 */
.agree-item {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
font-size: 14px;
}

.agree-item a {
color: #666;
text-decoration: underline;
}

.agree-wrap.top {margin-top: 10px;}

/*아이디,비밀번호찾기 login_find*/
.login-findbox {margin-top: 20px; width: 100%; float: left;}
.row.top.display { display : block}

/*비밀번호 설정-login_find_pw*/
.pw_title {width: 100%; float: left; font-size:1.8rem; font-weight: 700; padding: 0 0 25px; }


.login-process .input-item.has-icons input {
padding-right: 90px;
}

.login-btn.top {margin-top: 10px;}

/*아이디&비밀번호찾기-LIGIN_FIND03*/

/*cancle01*/
.withdraw-box {
width: 100%;
float: left;
}

.withdraw-box textarea {
width: 100%;
height: 100px;
padding: 12px;
border: 1px solid #cfcfcf;
resize: none;
box-sizing: border-box;
font-size: 13px;
color: #333;
}

.withdraw-box textarea::placeholder {
color: #aaa;
}

.captcha-row {
display:flex;
gap:6px;
align-items:center;
 width:100%;
}

.captcha-code {
display: flex;
align-items: center;
background: #5a8ec9;
border-radius: 5px;
overflow: hidden;
height: 34px;
}

.captcha-code span {
color: #fff;
padding: 0 10px;
font-size: 14px;
letter-spacing: 0.5px;
white-space:nowrap;
}

.captcha-code button {
width: 32px;
height: 28px;
margin-right: 4px;
border: 0;
border-radius: 4px;
background: #f2f2f2;
color: #5a8ec9;
font-size: 20px;
cursor: pointer;
line-height: 1;
}

.captcha-row input {
flex: 1;
min-width:0; /* 중요 */
height: 34px;
padding: 10px 12px;
border: 1px solid #e1e1e1;
border-radius: 5px;
box-sizing: border-box;
font-size: 13px;
}

@media screen and (max-width:585px){

    .captcha-row{
        flex-direction:column;
        align-items:stretch;
    }

    .captcha-code{
        width:35%;
        justify-content:center;
    }

    .captcha-row input{
        width:100%;
    }

}

@media screen and (max-width:480px){

    .captcha-row{
        flex-direction:column;
        align-items:stretch;
    }

    .captcha-code{
        width:33%;
        justify-content:center;
    }

    .captcha-row input{
        width:100%;
    }

}


@media screen and (max-width:370px){

    .captcha-row{
        flex-direction:column;
        align-items:stretch;
    }

    .captcha-code{
        width:55%;
        justify-content:center;
    }

    .captcha-row input{
        width:100%;
    }

}
.captcha-row input::placeholder {
color: #aaa;
}

.withdraw-btn {
width: 100%;
height: 45px;
margin-top: 22px;
border: 0;
border-radius: 6px;
background: #568bc8;
color: #fff;
font-size: 18px;
cursor: pointer;
}

.pw_blue{color: #1f45b5;}


/*커뮤니티-공지사항 notice*/

.main_txt_wrap.right{
position: sticky;
align-self: flex-start;
z-index: 10;}


.main_illust_wrap.width{
margin-left:auto;
flex:1;
min-height: 500px;
}

.community_section.section02 
{height: auto;
display: block;
align-items: unset;
padding: 160px 0;
overflow: hidden;}


/* 상단 */

.notice_top01{
display:flex;
justify-content:flex-end;
align-items:center;
width:100%;
padding-bottom:18px;
margin-bottom:0;
}

.notice_top02{
display:flex;
justify-content:space-between;
align-items:center;
padding-bottom:18px;
border-bottom:3px solid #222;
}

.notice_item {border-bottom:1px solid #e5e5e5;}


.notice_total{
font-size:18px;
font-weight:600;
color:#111;
}


/* 검색 */
.notice_search{
display:flex;
align-items:center;
gap:10px;
width:100%;
justify-content:flex-end;
}

.notice_search select{
width:15%;
height:46px;
border:0;
border-radius:30px;
background:#f5f5f5;
padding:0 38px 0 18px;
font-size:14px;
color:#666;
outline:none;
box-sizing:border-box;

appearance:none;
-webkit-appearance:none;
-moz-appearance:none;

background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");

background-repeat:no-repeat;

/* 여기 숫자로 위치 조절 */
background-position:right 14px center;
}


.search_input{
width:280px;
height:46px;
border-radius:30px;
background:#f5f5f5;
display:flex;
align-items:center;
padding:0 18px;
justify-content: space-between;
}

.search_input input{
width:70%;
border:0;
background:none;
outline:none;
font-size:14px;
}

.search_input button{
border:0;
background:none;
color:#777;
cursor:pointer;
}

/* 리스트 */
.notice_list{
border-top:2px solid #222;
}

.notice_head{
display:flex;
justify-content:space-between;
align-items:center;
padding:24px 10px;
cursor:pointer;
border-bottom:1px solid #ededed;
}
.notice_item.active .notice_head{border-bottom:0;}

.notice_left{
display:flex;
align-items:center;
gap:24px;
min-width:0;
width: 100%;

}

.notice_num{
font-size:1.3rem;
font-weight: 600;
text-align: left;
}

.notice_title{
font-size:1.2rem;
color:#222;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
text-align: left;
width: 75%;
}

.notice_right{
display:flex;
align-items:center;
gap:16px;
color:#999;
flex-shrink:0;
}

.notice_date{
font-size:15px;
}


.notice_total {font-size:1.2rem; font-weight: 600;}
/* 내용 */
.notice_content{
background:#f7f7f7;
padding:34px;
font-size:15px;
color:#444;
line-height:1.9;
border:1px solid #ededed;
display:none;
text-align:left;
}

/* 페이지네이션 */
.pagination{
display:flex;
justify-content:center;
align-items:center;
gap:7px;
margin-top:40px;
}

.pagination a{
width:32px;
height:32px;
display:flex;
align-items:center;
justify-content:center;
color:#666;
border-radius:8px;
font-size:14px;
}

.pagination a.active{
background:#1f45b5;
color:#fff;
font-weight:600;
}


.notice_head{
cursor:pointer;
}

.notice_item.active .notice_arrow{
transform:rotate(180deg);
}

.notice_arrow{
transition:0.3s;
}

/*사장님전용-owner*/
.platform-section {
width: 100%;
height: auto !important;
min-height: auto !important;
position: relative;
overflow: visible;
}

.platform-section h3 {
margin: 0 0 28px;
font-size: 1.5rem;
font-weight: 700;
color: #222;
}

.section_inner.colum {
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-bottom: 100px;
    min-height: 800px;
    height: auto;
    margin: 90px 0px 150px 0px;
}

.platform-list {
display: flex;
flex-wrap: wrap;
gap: 25px 40px;
}

.platform-item {
width: 80px;
text-align: center;
}


.platform-card.noimage {
background: #f1f1f1;
}

.platform-card.noimage span {
width: 40px;
height: 40px;
border: 3px solid #d9d9d9;
border-radius: 50%;
color: #d2d2d2;
font-size: 14px;
font-family: Georgia, serif;
display: flex;
align-items: center;
justify-content: center;
}

.platform-card.red {
background: #ff321f;
}

.platform-card.red strong {
color: #fff;
font-size: 16px;
font-weight: 800;
letter-spacing: -0.5px;
}

.platform-item p {
width: 100%;
float: left;
font-size: 1rem;
font-weight: 500;
color: #222;
letter-spacing: -0.5px;
margin-left: 11px;
text-align: left;
margin-top: 5px;
}

.platform-card img {
width: 100%;
height: 100%;
object-fit: cover;
}


.platform-section.top { position: relative;
    overflow: visible; margin-top: 50px;}



.platform-account-row strong{
    width:90px;      /* 고정폭 */
    min-width:90px;
    text-align:left;
    flex-shrink:0;
    font-size:1rem;
    font-weight:700;
}

.platform-account-row input{
    flex:1;
    width:100%;
    min-width:0;
    height:42px;
    padding:0 12px;
    border: 0;
    border-radius:6px;
    box-sizing:border-box;
}

/* 모달 배경 */

.platform-card {
    padding: 0;
    background: transparent;
    width: 100px;
    height: 100px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e5e5;


    /* 카드 클릭 가능하게 */
    cursor: pointer;
    overflow: hidden;
}


.platform-card.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.platform-empty {
    width: 100%;
    padding: 28px 0;
    color: #777;
    font-size: 1rem;
}

.platform-menu .menu-item {
    color: inherit;
    text-decoration: none;
}

.platform-menu .menu-item.disabled {
    opacity: 0.45;
    cursor: default;
    pointer-events: none;
}

#platformModalClose {
    z-index: 20;
}

#platformCompanyName {
    padding-right: 44px;
}

.platform-account-form {
    margin-top: 26px;
    border-top: 1px solid #ececec;
    padding-top: 22px;
}

.platform-account-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
}

.platform-account-row:first-child {
    margin-top: 0;
}

.platform-account-row input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #d9d9d9;
    border-radius: 10px;
    font-size: 15px;
    color: #222;
    background: #fff;
}

.platform-account-row input[readonly] {
    background: #f7f7f7;
    color: #555;
}

.platform-account-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.platform-account-actions .btn {
    min-width: 30%;
    height: 44px;
    border: 0;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
}

.platform-account-actions .btn.gray {
    background: #e9e9e9;
    color: #333;
}

.platform-account-actions .btn.blue {
    background: #1d4ed8;
    color: #fff;
}

.platform-modal {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
display: none;
align-items: center;
justify-content: center;
z-index: 9999;
}

/* 모달 열렸을 때 */
.platform-modal.active {
display: flex;
}

/* 모달 박스 */
.platform-modal-inner {
width: 500px;
background: #fff;
border-radius: 16px;
padding: 20px;
position: relative;
box-sizing: border-box;
}

/* 닫기 버튼 */
.modal-close {
position: absolute;
right: 16px;
top: 12px;
border: 0;
background: none;
font-size: 24px;
color: #999;
cursor: pointer;
}

/* 모달 제목 */
.platform-modal-inner h2 {
margin: 0 0 12px;
font-size:1.5rem;
font-weight: 800;
}

/* 검색창 */
.platform-search input {
width: 100%;
height: 35px;
border: 1px solid #e5e5e5;
border-radius: 5px;
text-align: center;
font-size: 0.9rem;
box-sizing: border-box;
}

/* 모달 아이콘 영역 */
.platform-menu {
margin-top: 12px;
padding: 18px;
background: #fafafa;
display: flex;
flex-wrap: wrap;
gap: 20px 8px;
}

/* 모달 아이콘 한 개 */
.menu-item {
width: 100px;
text-align: center;
}

.menu-icon {
width: 100px;
height: 100px;
border: 1px solid #e5e5e5;
border-radius: 14px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
}

.menu-icon img {
width: 70%;
height: 100%;
object-fit: contain;
}

/* 모달 아이콘 텍스트 */
.menu-item p {
margin: 7px 0 0;
font-size: 1rem;
font-weight: 700;
line-height: 1.3;
color: #222;
}

.menu-item span {
display: block;
font-size: 1rem;
font-weight: 700;
color: #ff2b2b;
}

/* 하단 정보 */
.platform-info {
margin-top: 25px;
padding: 22px 10px 0px 10px;
border-top: 1px solid #eee;
}

.info-row {
display: flex;
margin-bottom: 13px;
    gap: 4%;
}

.info-row strong {
width: 70px;
font-size: 1.2rem;
font-weight: 800;
}

.info-row span {
font-size: 1.2rem;
color: #777;
}

/* 수정 버튼 */
.modify-btn {
width: 100%;
height: 50px;
margin: 28px auto 0;
display: block;
border: 1px solid #ddd;
border-radius: 8px;
background: #fff;
color: #999;
cursor: pointer;
font-size: 1.1rem;
}

.chrome-btn{
width:100%;
height:58px;
border:1px solid #dcdcdc;
border-radius:6px;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
font-size: 1.1rem;
color:#666;
cursor:pointer;
}

.chrome-btn img{
width:18px;
height:18px;
object-fit:contain;
}


/*상담신청-consult*/

.section_inner .consult_tab_btn.active2 {
background:#1f45b5;
color: #fff;
box-shadow: 0 2px 8px rgba(22, 65, 249, 0.28);}

.required2 {color: #1f45b5;
font-weight: 700;}

.section_inner .consult_radio_item2:has(.consult_radio_input:checked)
{border-color: #1f45b5;
background: #e4ebff;}

.section_inner .consult_radio_item2 {display: flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
padding: 0.6rem 1.1rem 0.6rem 0.75rem;
border: 1.5px solid #e0e0e0;
border-radius: 50px;
transition: border-color 0.2s, background 0.2s;
user-select: none;
white-space: nowrap;}

.section_inner .consult_radio_box2{width: 1rem;
height: 1rem;
border-radius: 50%;
border: 2px solid #ccc;
background: #fff;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
transition: border-color 0.2s, background 0.2s;
position: relative;}

.section_inner .consult_radio_input:checked + .consult_radio_box2{
border-color: #1f45b5;
background: #ffffff;}

.section_inner .consult_radio_input:checked ~ .consult_radio_txt2 
{color: #1f45b5;
font-weight: 700;}

.section_inner .consult_radio_input:checked + .consult_radio_box2::after {
opacity: 1;}



/*메인-main_slide"*/
.main_visual.ceo_main_visual{
background: url('/images/b_visual_img02.jpg') no-repeat top center / cover !important;
}

.main_s_title.top{margin-top: 15px;}

/* 오른쪽- */
.main_slide_wrap {
width: 100%;
max-width: 520px;
min-width: 0;
display: flex;
flex-direction: column;
align-items: center;
}

.main_right_slide {
position: relative;
width: 100%;
border-radius: 100px 15px 15px 15px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
height: 335px;
}

.main_right_slide img {
width: 100%;
display: block;
}

/* 하단 검정 텍스트 박스 */
.slide_txt_box {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
padding: 24px 28px;
background: rgba(0, 0, 0, 0.7);
}

.slide_title {
font-size: 22px;
font-weight: 700;
color: #fff;
margin-bottom: 8px;
}

.slide_desc {
font-size: 16px;
line-height: 1.5;
color: rgba(255,255,255,0.9);
}


.section01 .main_txt_wrap {
flex: 1 1 0;
min-width: 0;
}


.main_right_slide {
position: relative;
width: 100%;
aspect-ratio: 520 / 335;
height: auto;
border-radius: 100px 15px 15px 15px;
overflow: hidden;
}

.main_right_slide img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

/* =========================
슬라이드 하단 컨트롤 영역
========================= */
.slide_control {
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
margin-top: 24px;
}


/* =========================
페이지네이션 dots
========================= */
.slide_pagination {
display: flex;
align-items: center;
gap: 8px;
}

/* 기본 dot */
.slide_pagination span {
width: 8px;
height: 8px;
border-radius: 50%;
background: #d2d2d2;
transition: all 0.3s ease;
}

/* 활성화 dot */
.slide_pagination span.active {
width: 22px;
border-radius: 999px;
background: #8f8f8f;
}


/* =========================
일시정지 버튼
========================= */
.slide_pause {
display: flex;
align-items: center;
justify-content: center;
gap: 3px;

background: none;
border: 0;
padding: 0;
cursor: pointer;
}

/* pause 막대 */
.slide_pause span {
width: 3px;
height: 12px;
border-radius: 999px;
background: #8f8f8f;
}


/*오른쪽-s02_right*/
.compare_wrap {
width: 100%;
max-width: 640px;
margin: 0 auto;
}

/* 상단 */
.compare_head {
display: grid;
grid-template-columns: 90px 1fr 60px 1fr;
align-items: center;
margin-bottom: 20px;
}

.compare_title {
height: 56px;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;

font-size: 20px;
font-weight: 700;
color: #fff;
}

.compare_title.gray {
background: #3d3d3d;
}

.compare_title.blue {
background: #2C4391;
}

.vs_txt {
text-align: center;
font-size: 20px;
font-weight: 800;
}

/* row */
.compare_row {
display: grid;
grid-template-columns: 90px 1fr 1fr;
align-items: center;
border-top: 1px solid #dcdcdc;
min-height: 78px;
}

/* 왼쪽 항목 */
.compare_label {
font-size: 18px;
font-weight: 700;
color: #111;
}

/* 내용 */
.compare_box {
padding: 16px 18px;
font-size: 17px;
line-height: 1.5;
word-break: keep-all;
}

.gray_txt {
color: #555;
text-align: center;
}

.blue_txt {
font-weight: 700;
text-align: center;
}

.compare_box span {
display: block;
margin-top: 4px;
font-size: 13px;
color: #888;
}


/* row */
.compare_row {
display: grid;
grid-template-columns: 90px 1fr 1fr;
align-items: center;

border-top: 1px solid #dcdcdc;
min-height: 78px;
}

/* 왼쪽 항목 */
.compare_label {
font-size: 18px;
font-weight: 700;
color: #111;

border-right: 1px solid #dcdcdc;

height: 100%;

display: flex;
align-items: center;
justify-content: center;
}

/* 공통 */
.compare_box {
padding: 16px 18px;
font-size: 17px;
line-height: 1.5;
word-break: keep-all;
}




/*메인-s03_right*/
/*메인-s03_right*/
/* 전체 */
.s03_right.ceo {
width: 100%;
min-width: 0;
}

.vision_graph_wrap {
position: relative;
width: 100%;
max-width: 720px;
margin-left: auto;
overflow: visible;
z-index: 1;
}

/* 배경 이미지 */
.vision_graph_wrap::before {
content: '';
position: absolute;
top: -160px;
left: 53%;
transform: translateX(-50%);
width: 45vw;
height: 90%;
background: url('/images/ceo_whiteback.png') no-repeat center center;
background-size: cover;
z-index: -1;
}

/* 배경 */
.vision_bg {
position: absolute;
top: -20px;
right: 0;
width: 100%;
opacity: 0.15;
z-index: 0;
}

/* 그래프 */
.vision_graph {
position: relative;
z-index: 1;
display: flex;
align-items: flex-end;
justify-content: center;
gap: 16px;
}

/* 아이템 */
.graph_item {
display: flex;
flex-direction: column;
align-items: center;
min-width: 0;
}

/* 상단 텍스트 */
.graph_top_txt {
margin-bottom: 14px;
font-size: clamp(11px, 1.3vw, 18px);
line-height: 1.35;
text-align: center;
color: #333;
font-weight: 700;
word-break: keep-all;
}

.graph_top_txt.orange {
    position: relative;
z-index: 2;

color: #ff6600;

transform: scale(1.4);
transform-origin: center bottom;

/* 흰색 glow */
text-shadow:
    0 0 4px rgba(255,255,255,0.5),
    0 0 8px rgba(255,255,255,0.95),
    0 0 14px rgba(255,255,255,0.9),
    0 0 22px rgba(255,255,255,0.75);
}

/* 바 */
.graph_bar {
width: clamp(45px, 7vw, 58px);

background: #2f3138;
border-radius: 18px 18px 0 0;

display: flex;
align-items: flex-end;
justify-content: center;

padding-bottom: clamp(8px, 1vw, 16px);
box-sizing: border-box;
}

.graph_bar span {
color: #fff;
font-size: clamp(10px, 1vw, 15px);
}

.graph_bar .number {
font-weight: 600;
}

/* 높이 */
.graph_bar.small {
height: clamp(55px, 7vw, 90px);
}

.graph_bar.medium {
height: clamp(80px, 10vw, 130px);
}

.graph_bar.large {
height: clamp(110px, 14vw, 180px);
}

.graph_bar.xlarge {
height: clamp(150px, 19vw, 240px);
}

.graph_bar.goal {
height: clamp(210px, 30vw, 380px);
background: #2C4391;
}

/* 점 영역 */
.graph_dot_group {
display: flex;
align-items: center;
gap: 4px;
padding-bottom: clamp(35px, 5vw, 70px);
}

/* 점 */
.graph_dot_group span {
width: 6px;
height: 6px;
border-radius: 50%;
}

.graph_dot_group span:nth-child(1) {
background: rgba(31, 69, 181, 0.3);
}

.graph_dot_group span:nth-child(2) {
background: rgba(31, 69, 181, 0.6);
}

.graph_dot_group span:nth-child(3) {
background: #1f45b5;
}


/* 그래프 애니메이션 초기 상태 */
.graph_item .graph_bar{
transform:scaleY(0);
transform-origin:bottom;
opacity:0;
transition:
    transform 0.8s ease,
    opacity 0.8s ease;
}

.graph_item .graph_top_txt{
opacity:0;
transform:translateY(30px);
transition:
    transform 0.6s ease,
    opacity 0.6s ease;
}

/* 활성화 */
.graph_item.show .graph_bar{
transform:scaleY(1);
opacity:1;
}

.graph_item.show .graph_top_txt{
opacity:1;
transform:translateY(0);
}

/* 점도 같이 등장 */
.graph_dot_group{
opacity:0;
transform:translateY(20px);
transition:0.6s ease;
}

.graph_dot_group.show{
opacity:1;
transform:translateY(0);
}

/* 하단 박스 */
.vision_info_box {
position: relative;
z-index: 2;

border: 3px solid #2C4391;
border-radius: 37px;
background: #fff;

display: flex;
justify-content: space-between;

padding: clamp(18px, 3vw, 40px) clamp(10px, 2vw, 20px);

box-sizing: border-box;
}

/* 내부 */
.info_item {
flex: 1;
text-align: center;
position: relative;
}

.info_item:not(:last-child)::after {
content: "";
position: absolute;
top: 0;
right: 0;

width: 1px;
height: 100%;

background: #d9d9d9;
}

.info_item p {
font-size: clamp(17px, 1.1vw, 15px);
color: #000000;
margin-bottom: 8px;
font-weight: 600;
}

.info_item strong {
    display:inline-flex;
    align-items:flex-end;
    gap:4px;

    font-size:40px;
    font-weight:700;

    opacity:0;
    transform:translateY(-30px);
    transition:.6s;
    color: #2C4391;

}

.info_item.show strong{
    opacity:1;
    transform:translateY(0);
    
}

/* 살짝 따라오는 설명 */
.info_item p{
    opacity:0;
    transform:translateY(15px);
    transition:
        transform 0.6s ease,
        opacity 0.6s ease;
}

.info_item.show p{
    opacity:1;
    transform:translateY(0);
}

.fas.fa-lock {
margin-left: 5px;
}

.section_inner.flexstart{align-items: flex-start;}

.support_txt{font-size: 17px;}

.common_box.section05 .main_illust_wrap img{
position:relative;
}
/* 1092 이하 */
@media only screen and (min-width: 769px) and (max-width: 1092px) {

.s03_right.ceo {
    width: 100%;
    margin-top: 40px;
}

.vision_graph_wrap {
    max-width: 100%;
}

.vision_graph_wrap::before {
    width: 100%;
    left: 50%;
    top: -80px;
    opacity: 0.2;
}

.graph_bar.goal {
height: clamp(215px, 27vw, 419px);}


.graph_bar span {
color: #fff;
font-size: clamp(13px, 1vw, 15px);}

.graph_bar span {
    font-size: clamp(17px);}

.graph_bar{width: clamp(54px, 13vw, 65px);}

.graph_top_txt.orange {
color: #ff6600;
transform: scale(1.4);} 

.graph_top_txt{font-size: clamp(16px, 1.3vw, 18px);}

.info_item strong{font-size: clamp(28px, 1.8vw, 23px);}

.mainBannerPopupBox{width:400px !important;}
.main_illust_wrap.ceo_image {
    width: 100%;}

}


/* 767 이하 */
@media screen and (max-width: 767px) {

.s03_right.ceo {
    width: 100%;
    margin-top: 35px;
}

.vision_graph_wrap {
    max-width: 100%;
}

.vision_graph_wrap::before {
    width: 110%;
    left: 50%;
    top: -40px;
    height: 85%;
    opacity: 0.2;
}

.vision_graph {
    gap: 3px;
    padding: 0;
}

.graph_top_txt {
    font-size: 16px;
}

.graph_bar {
    width: 42px;
    border-radius: 12px 12px 0 0;
}

.graph_bar.small { height: 50px; }
.graph_bar.medium { height: 75px; }
.graph_bar.large { height: 100px; }
.graph_bar.xlarge { height: 135px; }
.graph_bar.goal { height: 190px; }

.graph_bar span {
    font-size: 12px;
}

.graph_dot_group {
    padding-bottom: 28px;
}

.graph_dot_group span {
    width: 4px;
    height: 4px;
}

.vision_info_box {
    border-radius: 20px;
    padding: 18px 10px;
}

.info_item p {
    font-size: 15px;
}

.info_item strong {
    font-size: 20px;
}

.main_right_slide {height: 270px;}

.compare_title {
height: 50px;
font-size: 10px;}

.common_box.section05 .main_illust_wrap{
    width:100%;
    margin:30px auto 0;
    text-align:center;
}

.common_box.section05 .main_illust_wrap img{
    width:55%;
}
.support_title {font-size: 15px;}
.support_txt {font-size: 14px;}
.support_grid {gap: 20px 20px;}
.support_icon {height: 122px; margin: 0px 0px 10px 0px;}

.main_illust_wrap.ceo_image {
    width: 100%;}
}


/* 420 이하 */
@media screen and (max-width: 420px) {

.graph_top_txt {font-size: 9px;}
.graph_bar {width: 20px;}
.graph_bar.small { height: 42px; }
.graph_bar.medium { height: 62px; }
.graph_bar.large { height: 84px; }
.graph_bar.xlarge { height: 112px; }
.graph_bar.goal { height: 160px; }

.vision_info_box {padding: 15px 6px;}

.info_item strong {
    font-size: 11px;
}

    .vision_graph_wrap {
    max-width: 100%;
}

.vision_graph_wrap::before {
    width: 100%;
    left: 50%;
    top: -80px;
    opacity: 0.2;
}

.graph_bar.goal {
height: clamp(225px, 27vw, 419px);}


.graph_bar span {
color: #fff;
font-size: clamp(13px, 1vw, 15px);}

.graph_bar span {
    font-size: clamp(17px);}

.graph_bar{width: clamp(43px, 13vw, 65px);}

.graph_top_txt.orange {
color: #ff6600;
transform: scale(1.4);} 

.graph_top_txt{font-size: clamp(16px, 1.3vw, 18px);}

.info_item strong{font-size: clamp(20px, 1.8vw, 23px);}

.vision_graph {gap:5px;}


.support_icon {width: 100%; height: 100px;}

.common_box.section05 .main_illust_wrap{
    max-width:320px;
    margin-top:24px;
}

.common_box.section05 .main_illust_wrap img{
    width:85%;
}
.support_title {font-size: 15px;}
.support_txt {font-size: 14px;}
.support_grid {gap: 30px 20px;}
.support_icon {height: 110px; margin: 0px 0px 10px 0px;}

.notice_left {gap:7px}

.main_illust_wrap.ceo_image {
    width: 100%;}
} 



/*메인-s04_right*/
.section_inner .main_txt_wrap .main_title .lightblue{
color: #859ee9;
}
.section_inner .main_txt_wrap .main_title .white
{color: #ffffff;}

.section04.back{
background:#001040;
overflow:hidden;
}
.section_inner .main_txt_wrap .main_s_title .white{color: #ffffff;}
.section_inner .main_txt_wrap .main_desc .white
{color: #000;}
/* 오른쪽 카드 영역 */
.region_card_wrap{
display:flex;
gap:40px;
overflow:hidden;
position:relative;
}

.region_col{
width:50%;
display:flex;
flex-direction:column;
gap:25px;
will-change:transform;
}
/* 왼쪽 컬럼 */
.region_col:first-child{
animation:leftRolling 25s linear infinite;
}

/* 오른쪽 컬럼 */
.region_col:last-child{
animation:rightRolling 25s linear infinite;
}

@keyframes leftRolling{
0%{
    transform:translateY(0);
}

100%{
    transform:translateY(-500px);
}
}

@keyframes rightRolling{
0%{
    transform:translateY(-500px);
}

100%{
    transform:translateY(0);
}
}
.mt80{
margin-top:80px;
}

.region_card{
width:270px;
background:#f4f4f4;
border-radius:40px;
padding:22px;
box-sizing:border-box;
box-shadow:
0 12px 30px rgba(0,0,0,0.08);
}

.region_img{
width:100%;
height:180px;
border-radius:24px;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
margin-bottom:20px;
}

.region_img img{
max-width:85%;
max-height:85%;
object-fit:contain;
}

.region_title{
font-size:21px;
font-weight:700;
color:#111;
}

.region_desc{
font-size:15px;
line-height:1.5;
color:#555;
margin-top: 10px;
}

.region_desc span{
color:#4d6dff;
font-weight:700;
}


.contact_tel{
display:flex;
align-items:center;
gap:8px;
font-size:40px;
font-weight:600;
color:#fff;
line-height:1;
margin-top:40px;
justify-content: flex-start;
}

.tel_icon{
width:36px;
height:36px;
border:2px solid #fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
}

.tel_icon i{
font-size:17px;
color:#fff;
}

.contact_btn{
width:190px;
height:60px;
border:1px solid rgba(255,255,255,.7);
border-radius:10px;
background:transparent;
color:#fff;
font-size:20px;
font-weight:400;
cursor:pointer;
margin-top: 40px;
}

.contact_btn span{
margin-left:8px;
}


/*왜 IDA?*/

.section02 .identity_title{
font-size:21px;
font-weight:600;
line-height:1.6;
}

.section02 .identity_desc{
font-size:19px;
font-weight:600;
color:#222;
line-height:1.4;
word-break:keep-all;
margin-top: 6px;
}

.section02 .identity_slider{
display:flex;
align-items:center;
justify-content:center;
gap:6px;
margin-top:45px;
width: 100%;
overflow: hidden;
}

.section02 .identity_slide{
display:flex;
justify-content:center;
align-items:center;

width:100%;
margin:45px auto 0;
gap:6px;
}

.section02 .identity_slide button{
width:5px;
height:5px;
border:0;
border-radius:50%;
background:#aaa;
padding:0;
cursor:pointer;
}

.section02 .identity_slide button.on{
width:24px;
height:5px;
border-radius:20px;
background:#aaa;
}
.section02 .identity_slider {
width: 100%;
overflow: hidden;
}

.section02 .identity_track {
display: flex;
width: 100%;        /* track은 100% */
transition: transform 0.6s ease;
}
.section02 .identity_item {
flex: 0 0 100%;     /* 각 슬라이드가 track의 100% 차지 */
width: 100%;
}

.section02 .identity_item img {
max-width: 100%;
display: block;
margin: 0 auto;
}

/* 기존 box CSS 그대로 사용 가능 */
.section02 .identity_box{
width: 100%;
max-width: 560px;
margin: 30px auto 0;
padding: 30px 35px 30px;
border: 3px solid #2C4391;
border-radius: 999px;
background: #fff;
text-align: center;
box-sizing: border-box;
}

#termsModal{
opacity:0;
visibility:hidden;
transition:all 0.7s ease;
}

#termsModal.active{
opacity:1;
visibility:visible;
}

.bi_section{
    align-items: unset;
    padding: 160px 0;
}

.brand-color-section {
width: 100%;
padding: 25px 30px;
box-sizing: border-box;
}

.brand-logo-box {
text-align: center;
padding-bottom: 55px;
border-bottom: 1px solid #eee;
}

.brand-logo-box img {
max-width: 550px;
width: 100%;
display: inline-block;
}

.download-box {
display: flex;
justify-content: flex-end;
gap: 12px;
margin-top: -55px;
margin-bottom: 15px;
}

.download-wrap{
position:relative;
}

.download-btn {
    height:40px;
padding:0 22px;
border-radius:30px;
border:0;
cursor:pointer;
font-size:14px;
font-weight:600;
transition:0.25s;
}

.download-btn.ci{
background:#fff;
border:1px solid #ddd;
color:#111;
}

.download-btn.bi{
background:#000;
color:#fff;
}

/* 드롭다운 */
.download-menu{
position:absolute;
top:50px;
right:0;

width:210px;

background:#fff;
border-radius:18px;

box-shadow:0 10px 30px rgba(0,0,0,0.08);

overflow:hidden;

opacity:0;
visibility:hidden;
transform:translateY(10px);

transition:0.25s;

z-index:50;
}

/* active */
.download-wrap.active .download-menu{
opacity:1;
visibility:visible;
transform:translateY(0);
}

/* 메뉴 */
.download-menu a{
display:flex;
align-items:center;

height:52px;
padding:0 22px;

font-size:14px;
font-weight:500;
color:#222;
text-decoration:none;

border-bottom:1px solid #f1f1f1;

transition:0.2s;
}

.download-menu a:last-child{
border-bottom:0;
}

.download-menu a:hover{
background:#f8f8f8;
padding-left:28px;
}

.color-list {
width: 100%;
}

.color-item {
display: flex;
gap: 15px;
padding: 28px 15px 28px;
border-bottom: 1px solid #eee;
box-sizing: border-box;
}

.color-dot {
flex-shrink: 0;
width: 23px;
height: 23px;
border-radius: 50%;
margin-top: 2px;
}

.color-dot.gold {
background: #f7941d;
}

.color-dot.navy {
background: #2C4391;
}
.color-text{text-align: left;}

.color-text p {
margin: 0;
text-align: left;
}

.color-title {
font-size: 22px;
font-weight: 700;
line-height: 1.3;
}

.color-code {
margin-top: 3px !important;
font-size: 14px;
font-weight: 500;
line-height: 1.4;
}

.color-desc {
margin-top: 14px !important;
font-size: 16px;
font-weight: 400;
color: #666;
line-height: 1.7;
}

.gold-text {
color: #f7941d;
}

.navy-text {
color: #405ca3;
}

.ida-value-section{
width:100%;
}

/* 상단 타이틀 */
.ida-title-box{
width:100%;
height:80px;
border-radius:50px;
background:#2C4391;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:28px;
}

.ida-title-box p{
margin:0;
color:#fff;
font-size:22px;
font-weight:300;
letter-spacing:0px;
}

/* 리스트 */
.ida-value-list{
display:flex;
flex-direction:column;
gap:10px;
}

/* 아이템 */
.ida-item{
display:flex;
align-items:center;
gap:0;
margin-bottom:12px;
}


.ida-label.blue{
background:#2C4391;
}

.ida-label.orange{
background:#ff6e00;
}

.ida-label .eng{
color:#fff;
font-size:16px;
font-weight:700;
}

.ida-item{
display:flex;
align-items:center;
position:relative;
}

/* 왼쪽 라벨 */
.ida-label{
width:170px;
min-width:105px;
height:68px;
border-radius:50px;

display:flex;
align-items:center;
justify-content:center;

position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
z-index:2;
}

/* 오른쪽 컨텐츠 */
.ida-content{
width:100%;
min-height:70px;
max-height: 70px;
border-radius:50px;
display:flex;
align-items:center;
padding:0 23px 0 205px; /* ← 여기 중요 */
box-sizing:border-box;

overflow:hidden; /* 중요 */
position:relative;
}

.ida-content.gray{
background:#f0f5ff;
}

.ida-content.beige{
background:#fff7f0;
}

.ko-title{
margin:0;
font-size:20px;
font-weight:700;
color:#111;

margin-right:25px;
flex-shrink:0;
}

.desc{
position:relative;

/*animation:textMove 12s linear infinite;*/
white-space: nowrap;
margin:0;
font-size:16px;
line-height:1.5;
color:#555;
font-weight:500;
letter-spacing:-0.2px;
text-align: left;
}

/* ──────────────────────────────────────────────
IDA 비전 섹션 반응형
────────────────────────────────────────────── */

/* 구간 3: 태블릿 세로 / 모바일 (≤768px) */
@media only screen and (max-width: 768px) {

.ida-title-box {
    height: 60px;
    border-radius: 30px;
    margin-bottom: 20px;
}
.ida-title-box p { font-size: 20px; }

/* 아이템: 가로 → 세로 스택 */
.ida-item {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

/* 라벨: absolute 해제 → 일반 블록 */
.ida-label {
    position: static;
    transform: none;
    width: 100%;
    height: 50px;
    border-radius: 30px 30px 0 0;   /* 상단만 둥글게 */
}

/* 컨텐츠: 왼쪽 패딩 초기화 → 세로 배치 */
.ida-content {
    padding: 16px 20px;
    border-radius: 0 0 30px 30px;   /* 하단만 둥글게 */
    min-height: auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    max-height: 93px;
}

.ko-title {
    font-size: 24px;
    margin-right: 0;
    margin-bottom: 4px;
}

.desc {
    font-size: 16px;
    animation: none;               /* 모바일에서 흐르는 텍스트 해제 */
    white-space: normal;
}

.ida-value-list {margin-top: 40px;}
}

/* 구간 4: 모바일 (≤480px) */
@media only screen and (max-width: 480px) {

.ida-title-box { height: 52px; }
.ida-title-box p { font-size: 14px; }
.ida-label { height: 44px; }
.ko-title { font-size: 18px; }
.desc { font-size: 14px; }
}

/* 구간 5: 소형 모바일 (≤390px) */
@media only screen and (max-width: 390px) {

.ida-title-box p { font-size: 12px; }
.ida-content { padding: 12px 16px;  max-height: 93px; }
}


/*왜IDA?-05*/
.platform_section{
    align-items: unset;
    padding: 160px 0;
}
.support_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px 20px;
margin: 0 auto;
}

.support_item {
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
box-sizing:border-box;
text-align:center;

}

.support_item p{
    margin:0;
display:inline-block;
min-height:60px; /* 모든 박스 높이 통일 */
box-sizing:border-box;
line-height:1.4;
margin-top: 8px;
}


.support_icon {
width: 100%;
height: 135px;
margin: 0 auto 4px;
border: 1px solid #e7e7e7;
border-radius: 18px;
background: #fafafa;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
}

.support_icon img {
width: 80px;
height: auto;
display: block;
transition:all 0.35s ease;
}

/* 이미지만 호버 */
.support_icon img:hover{
transform:rotate(-5deg) scale(1.4);
}

.support_title {
margin: 0 0 3px;
font-size: 17px;
font-weight: 700;
line-height: 1.25;
}

.support_desc {
margin: 0;
font-size: 11px;
font-weight: 700;
color: #111;
line-height: 1.25;
}

.support_box p{
    display:inline-block;
margin:0;
}


/* 구간 3: 태블릿 세로 / 중간 모바일 (≤768px) - 3열 → 2열 */
@media only screen and (max-width: 768px) {
.support_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 14px;
}
.support_icon {
    height: 135px;
}
.support_icon img { width: 64px; }
.support_title { font-size: 14px; }
.support_icon img:hover{
    transform:none !important;
}

/* 구간 4: 모바일 (≤480px) */
@media only screen and (max-width: 480px) {
.support_grid { gap: 10px 10px; }
.support_icon {
    height: 122px;
    border-radius: 14px;
}
.support_icon img { width: 56px; }
.support_title { font-size: 15px; }
.support_txt   { font-size: 14px; }
}

/* 구간 5: 소형 모바일 (≤390px) */
@media only screen and (max-width: 390px) {
.support_grid { gap: 8px 8px; }
.support_icon  { height: 120px; border-radius: 12px; }
.support_icon img { width: 48px; }
.support_title { font-size: 15px; }
}

}

/*커뮤니티- 지원센터*/

.office_info_wrap{
display:flex;
align-items:stretch;
justify-content:space-between;
gap:50px;

width:100%;
max-width:1200px;
min-height:400px;

margin:0 auto;
padding:45px;

background:#f7f7f7;
border-radius:36px;

box-sizing:border-box;
}

/* 왼쪽 정보영역 */
.office_info{
width:40%;
display:flex;
flex-direction:column;
text-align: left;
}

.office_info h3{
margin:0 0 32px;

font-size:22px;
font-weight:800;
color:#111;
}

.office_info dl{
margin-top:30px;
}

.office_info dl div{
display:flex;
align-items:flex-start;

margin-bottom:14px;
}

.office_info dt{
width:75px;

font-size:15px;
font-weight:700;
color:#111;
}

.office_info dd{
margin:0;

font-size:15px;
line-height:1.6;
color:#666;
}

/* 전화번호 */
.office_tel{
margin-top:auto;

display:flex;
align-items:center;
gap:8px;

color:#2C4391;
}

.office_tel span{
width:28px;
height:28px;

border:2px solid #2C4391;
border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:15px;

box-sizing:border-box;
}

.office_tel strong{
font-size:34px;
font-weight:800;
letter-spacing:-1px;
}

/* 지도영역 */
.office_map{
    width:52%;
min-height:420px;
border-radius:24px;
overflow:hidden;
position:relative;
}

.office_map iframe{
width:100%;
height:100%;

min-height:420px;

display:block;
border:0;
}

.custom_overlay{
padding:10px 16px;
background:#2C4391;
border-radius:50px;
box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

.custom_overlay span{
display:block;
font-size:14px;
font-weight:700;
color:#fff;
white-space:nowrap;
}

#google_map{
width:100%;
height:420px;
}

/* 카카오맵 기본 UI 제거 */
.office_map .wrap_map,
.office_map .root_daum_roughmap
{width:100%; height:100%;}

.tel_icon2
{width: 36px;
height: 36px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
border: 2px solid #2C4391;}

.tel_icon2 i
{font-size: 17px; color: #2C4391;}

.mobile_nav .m_gnb_toggle.owner_only{
justify-content:flex-start;
gap:3px;
}

/*ida매장-개점절차*/

.section03 .section_inner.bottom{margin-bottom: 100px;}

.main_illust_wrap.process {
    width: 100%;
    box-sizing: border-box;
} 
.roadmap_wrap {
    position: relative;
     width: 100%;
}

.roadmap_wrap img {
    display: block;
}

.process_08_text {
    position: absolute;
    right: 6.5%;
    bottom: -13%;
    text-align: center;
    z-index: 2;
}

.process_08_text span {
    font-size: 1.4rem;
    font-weight: 700;
    background:#1f45b5;
    color: #ffffff;
    display:inline-block;
    padding:10px 18px;
    border-radius:30px;
    animation: floatText 2.5s ease-in-out infinite;
}

@keyframes floatText{
    0%{
        transform:translateY(0);
        box-shadow:0 5px 15px rgba(31,69,181,0.15);
    }

    50%{
        transform:translateY(-6px);
        box-shadow:0 10px 25px rgba(31,69,181,0.25);
    }

    100%{
        transform:translateY(0);
        box-shadow:0 5px 15px rgba(31,69,181,0.15);
    }
}

/* 900px */
@media only screen and (max-width:1000px){

    .process_08_text{
        right:14%;
        bottom:-10%;
    }

    .process_08_text span{
        font-size:1.5rem;
        padding:8px 16px;
        border-radius:25px;
    }
}
/*815px*/
@media only screen and (max-width:815px){

    .process_08_text{
        right:13%;
        bottom:-8%;
        transform:translateX(50%);
        width:50%;
    }

    .process_08_text span{
        font-size:1rem;
        padding:7px 14px;
        line-height:1.5;
        border-radius:20px;
    }
}

/* 767px */
@media only screen and (max-width:767px){

    .process_08_text{
        right:27%;
        bottom:-11%;
        transform:translateX(50%);
        width:40%;
    }

    .process_08_text span{
        font-size:1.3rem;
        padding:7px 14px;
        line-height:1.5;
        border-radius:20px;
    }
}

/* 700px */
@media only screen and (max-width:700px){

    .process_08_text{
        right:27%;
        bottom:-12%;
        transform:translateX(50%);
        width:40%;
    }

    .process_08_text span{
        font-size:1.1rem;
        padding:7px 14px;
        line-height:1.5;
        border-radius:20px;
    }
}

/* 600px */
@media only screen and (max-width:600px){

    .process_08_text{
        right:27%;
        bottom:-14%;
        transform:translateX(50%);
        width:40%;
    }

    .process_08_text span{
        font-size:1.1rem;
        padding:7px 14px;
        line-height:1.5;
        border-radius:20px;
    }
}

/* 420px */
@media only screen and (max-width:420px){

    .process_08_text{
        right:27%;
        bottom:-14%;
        transform:translateX(50%);
        width:40%;
    }

    .process_08_text span{
        font-size:0.8rem;
        padding:7px 14px;
        line-height:1.5;
        border-radius:20px;
    }
}

/* 라인 */
.roadmap_line {
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='920' height='360' viewBox='0 0 920 360' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 35H850C890 35 910 60 910 95C910 130 890 165 850 165H80C40 165 20 195 20 235C20 275 50 315 95 315H870' stroke='%234b82c3' stroke-width='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
    background-size: 100% auto;
}

/* 공통 */
.roadmap_item {
    position: absolute;
    width: 180px;
    color: #222;
    font-size: 14px;
    line-height: 1.35;
}

.roadmap_item span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: #4b82c3;
    border: 4px solid #e8f0fb;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    box-sizing: border-box;
}

.roadmap_item strong {
    display: block;
    margin-bottom: 4px;
    color: #004fff;
    font-size: 15px;
    font-weight: 800;
}

.roadmap_item p {
    margin: 0;
}

.roadmap_item em {
    color: #ff0000;
    font-style: normal;
    font-weight: 700;
}

/* 위치 */
.item01 { left: 10px; top: 0; }
.item02 { left: 285px; top: 0; }
.item03 { right: 135px; top: 0; }

.item04 { left: 520px; top: 145px; }
.item05 { left: 185px; top: 145px; }

.item06 { left: 88px; bottom: 0; }
.item07 { left: 420px; bottom: 0; }
.item08 { right: 0; bottom: 0; }

.item04 span,
.item05 span {
    margin-bottom: 18px;
}

.roadmap_text {
    position: absolute;
    right: 70px;
    top: 255px;
    font-size: 20px;
    font-weight: 900;
    color: #111;
}

.m_toggle_arrow.owner_only{margin-left:auto;}
/* 1024px */
@media only screen and (max-width:1024px){

.office_info_wrap{
    gap:30px;
    padding:35px;
}

.office_tel strong{
    font-size:28px;
}

}

/* 767px */
@media only screen and (max-width:767px){

.office_info_wrap{
    flex-direction:column;

    padding:30px 24px;
    border-radius:28px;

    min-height:auto;
}

.office_info,
.office_map{
    width:100%;
}

.office_info h3{
    margin-bottom:24px;

    font-size:20px;
}

.office_tel{
    margin-top:30px;
}

.office_tel strong{
    font-size:28px;
}

.office_map{
    height:260px;
}

    .office_map{
    width:100%;
    min-height:320px;
}

.office_map iframe{
    min-height:320px;
}


}

/* 420px */
@media only screen and (max-width:420px){

.office_info_wrap{
    padding:26px 20px;
}

.office_info dl div{
    display:block;
}

.office_info dt{
    width:auto;
    margin-bottom:4px;
}

.office_tel strong{
    font-size:25px;
}

}

/* 반응형 */
@media all and (max-width:1024px){

.section02 .identity_box{
    width:100%;
    border-radius:30px;
    padding:20px 20px 20px;
    height: 175px; 
}

.section02 .identity_title{
    font-size:20px;
}

.section02 .identity_desc{
    font-size:17px;
}

}

@media all and (max-width:767px){

.section02 .identity_box{
    margin-top:20px;
    border-width:2px;
    border-radius:30px;
    padding:28px 18px 28px;
    height: 175px; 
}

.section02 .identity_title{
    font-size:16px;
    margin-bottom:12px;
}

.section02 .identity_desc{
    font-size:15px;
    line-height:1.6;
}

}

/* 반응형-미디어쿼리 */

@media screen and (max-width: 1024px) {

.login-wrap {
flex-direction: column;
width: 100%;
max-width: 520px;
margin: 0 auto;
gap:0;
}

.login-wrap.top {
padding: 0px 0px;
margin-top: 100px;}

.login-left,
.login-right {
width: 100%;
}

.login-left {
padding: 35px 20px;
text-align: center;
margin-top: 0;
}

.login-left h2 {
font-size: 28px;
}

.lock-circle {
margin: 20px auto 0;
}

.lock-circle img {
max-width: 180px;
width: 100%;
}

.login-right {
padding: 0;
}

.login-box {
width: 100%;
padding: 30px 24px;
box-sizing: border-box;
margin: 20px 0px 100px;
}

.login-tabs {
width: 100%;
}

.login-tabs .tab {
flex: 1;
}

.input-wrap input {
width: 100%;
box-sizing: border-box;
}

.login-option {
flex-wrap: wrap;
gap: 10px;
}

.login-btn,
.kakao-btn {
width: 100%;
}

.util-menu {
justify-content: center;
flex-wrap: wrap;
}
}


@media all and (max-width:1200px){

    .region_card_wrap {
    width: 130vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.region_col {
    width: max-content;
    display: flex;
    flex-direction: row;
    gap: 16px;
    will-change: transform;
}

.region_card {
    width: 260px;
    flex-shrink: 0;
}

.mt80 {
    margin-top: 0 !important;
}

/* 첫번째 줄: 왼쪽으로 */
.region_col:first-child {
    animation: rollingLeft 50s linear infinite;
}

/* 두번째 줄: 오른쪽으로 */
.region_col:last-child {
    animation: rollingRight 50s linear infinite;
}

@keyframes rollingLeft {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes rollingRight {
    0% {
        transform: translateX(-50%);
    }

    100% {
        transform: translateX(0);
    }
}
    .contact_box{
    align-items:center;
}

.contact_tel{
    justify-content:center;
    text-align:center;
    font-size:32px;
    margin-top:30px;
}
}



@media only screen and (min-width: 769px) and (max-width: 1092px){.section04 {margin-top: 0;}
.main_illust_wrap.width {margin-top: 0;}
.notice_head {padding: 20px 14px;}
.notice_num {width: 10%; text-align: left;}

    .common_box.section05 .main_illust_wrap{
    width:100%;
    margin:30px auto 0;
    text-align:center;
}

.common_box.section05 .main_illust_wrap img{
    width:45%;
}
.support_title {font-size: 16px;}
.support_txt {font-size: 15px;}
.support_grid {gap: 12px 20px;}

}


@media screen and (max-width: 767px) { 
.main_title{
    font-size:38px;
}

.main_desc{
    font-size:15px;
}

.region_card{
    width:210px;
    border-radius:26px;
}

.region_img{
    height:140px;
}

.region_title{
    font-size:20px;
}

.mt80{
    margin-top:50px;
}

    .contact_box{
    align-items:center;
}

.contact_tel{
    justify-content: flex-start;
    text-align:center;
    font-size:32px;
    margin-top:30px;
}

.login-wrap.top {
padding: 0px 0px;
margin-top: 90px;}
.login-wrap {gap:0;}
.login-left h2 {margin-bottom: 10px;}
.section04 {margin-top: 0;}
.notice_head {padding: 18px 16px;}
.notice_num {width: 15%; text-align: left;}


.main_illust_wrap.width{
    width:100%;
flex:none;
margin-left:0;
box-sizing:border-box;}

.main_illust_wrap { display:block;}


.notice_top01{
    width:100%;
    display:block;
    padding-bottom:15px;}

     .platform-modal-inner{
        width:95%;
        max-width:500px;
        padding:20px 15px;
        border-radius:12px;
    }

    .platform-modal-inner h2{
        font-size:1.3rem;
        padding-right:30px;
    }

    .platform-menu{
        justify-content:center;
        gap:15px 10px;
        padding:15px;
    }

    .menu-item{
        width:calc(33.333% - 8px);
    }

    .menu-icon{
        width:100%;
        height:55px;
    }

    .menu-icon img 
    {height: 85%;}
    .menu-item p{
    font-size:0.9rem;
    }

    .menu-item span{
        font-size:0.85rem;
    }

    .chrome-btn{
        height:30px;
        font-size:0.95rem;
    }

    .platform-account-row{
        display:flex;
        gap:6px;
        margin-bottom:15px;
        padding: 0px 10px 0px 10px;
    }

    .platform-account-row strong{
        width:auto;
        font-size:1rem;
    }

    .platform-account-row input{
        width:100%;
    }

    .platform-account-actions{
        display:flex;
        gap:10px;
    }

    .platform-account-actions .btn{
        flex:1;
        height: 38px;
    }

    


.notice_search{
width:100%;
display:flex;
flex-direction:row;
align-items:center;
gap:6px;
box-sizing:border-box
}

.notice_search select{
    flex:0 0 80px;
width:80px;
min-width:80px;
height:40px;
padding:0 10px;
font-size:13px;
box-sizing:border-box;
}

.search_input{
    flex:1;
width:auto;
min-width:0;
height:40px;
padding:0 12px;
box-sizing:border-box;
}

.search_input input{
    flex:1;
width:auto;
min-width:0;
font-size:1rem;
}

.search_input button{
    flex:0 0 auto;
}

.compare_title {height: 50px;font-size: 16px;}

    .section02 .identity_slide{
    margin-top:16px;
    gap:6px;
}

.section02 .identity_slide button{
    width:7px;
    height:7px;
}

.section02 .identity_slide button.on{
    width:9px;
    height:9px;
}

    .compare_title {
height: 50px;
font-size: 10px;}

.contact_btn{margin-top: 25px;}



}




@media screen and (max-width: 420px) { 
.login-wrap.top {
padding: 0px 0px;
margin-top: 90px;}

.login-wrap {gap:0;}

.login-left h2 {margin-bottom: 10px;}

.notice_top01 {display:block; justify-content: flex-end;}

.notice_search{display:flex;}

.notice_search select{width:75px; height: 45px;}

.search_input {width:195px; height: 45px;}

.notice_total{font-size: 1.4rem;}

.platform-card {width: 100px; height: 100px; }

.platform-list{gap: 20px 35px;}

.section_inner.colum {margin: 40px 0px 120px 0px;}

.platform-modal-inner{ width:90%;
        padding:18px 12px;}
.platform-menu { gap:5px 8px;}
.menu-icon{height:75px;}
.menu-item {  width:calc(50% - 4px);}
.menu-item p{ font-size:1.1rem;}
.menu-item span{font-size:1.1rem;}
.modify-btn {    margin: 14px auto 0;}
.platform-modal-inner h2{font-size:1.3rem;
padding-right:30px;}
.compare_head{grid-template-columns: 89px 1fr 41px 1fr;}
.compare_title {
height: 50px;
font-size: 12px;}

.or-line:before,
.or-line:after{width:65px;}

.chrome-btn{font-size:0.8rem;}

    .platform-menu{
        gap:10px 6px;
        justify-content:center;
    }

    .menu-item{
        width:calc(33.333% - 4px);
    }

    .menu-icon{
        width:100%;
        height:70px;
    }

    .menu-item p{
        font-size:0.75rem;
        line-height:1.2;
    }

    .menu-item span{
        font-size:0.7rem;
    }


  .platform-account-row{
    gap:8px;
    }

     .platform-account-row strong{
     width:75px;
        min-width:75px;
        font-size:0.9rem;
    }

    .platform-account-row input{
        width:100%;
    }

}


@media (max-width: 370px){
  
    .platform-account-form {
    margin-top: 15px;
    padding-top: 5px;}

    .platform-account-row strong{
         width:65px;
        min-width:65px;
        font-size:1.2rem;
    }

    .platform-account-row input{
        height:35px;
        font-size:1.2rem;
    }

}


@media (max-width: 343px){
.main_illust_wrap.width{
margin-left:auto;
flex:1;
min-width:0;
}

.notice_top01{
    justify-content:center;
    padding-bottom:12px;
}

.notice_search{
    width:100%;
    flex-direction:column;
    gap:8px;
}

.notice_search select{
    width:100%;
    height:42px;
}

.search_input{
    width:100%;
    height:42px;
    box-sizing:border-box;
}

.search_input input{
    width:calc(100% - 30px);
}

    .common_box.section05 .main_illust_wrap{
    max-width:260px;
    margin-top:18px;
}

.common_box.section05 .main_illust_wrap img{
    width:88%;
}

.menu-icon {        width: 60px;
        height: 50px;}

}

