.main-container {overflow-x: unset;}
/* 이용약관 페이지 */
.policy-section {padding: 60px 0 100px;}
.policy-section .inner {max-width: 1180px;}
.policy-head {margin-bottom: 48px; text-align: center;}
.policy-head h2 {font-size: 24px; font-weight: 600; color: #303030; margin-bottom: 10px;}
.policy-head p {font-size: 16px; color: #606060;}
.policy-cont-wrap {display: flex; align-items: flex-start; gap: 24px; padding-top: 48px; border-top: 1px solid #eee;}
.policy-nav {position: sticky; top: 125px; width: 280px; flex-shrink: 0; padding: 18px; border: 1px solid #eee; border-radius: 18px; background-color: #fff;}
.policy-nav-title {display: block; padding-bottom: 14px; margin-bottom: 10px; border-bottom: 1px solid #eee; font-size: 14px; font-weight: 700; color: #999;}
.policy-nav-list {display: flex; flex-direction: column; gap: 6px;}
.policy-nav-list > li > button {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 10px; border: 0; border-radius: 12px; background-color: transparent; font-size: 14px; font-weight: 700; color: #333; text-align: left; cursor: pointer; transition: background-color .25s, color .25s;}
.policy-nav-list > li > button svg {width: 20px; height: 20px; flex-shrink: 0; transition: transform .25s;}
.policy-nav-list > li > button.on {background-color: #FFF1F1; color: #FF4D4F;}
.policy-nav-list > li > button.on svg {transform: rotate(180deg);}
.policy-nav-list > li > button.on svg path {fill: #FF4D4F;}
.policy-sub-list {display: none; padding: 4px 0 8px;}
.policy-sub-list li a {display: block; padding: 8px 10px; font-size: 13px; line-height: 1.5; color: #777; transition: color .25s;}
.policy-content {flex: 1; min-width: 0;}
.policy-list {display: flex; flex-direction: column; gap: 34px;}
.policy-list > li {scroll-margin-top: 120px;}
.policy-list-title {display: block; margin-bottom: 10px; font-size: 17px; font-weight: 500; line-height: 1.6; color: #000;}
.policy-list-text {font-size: 15px; line-height: 1.9; color: #666; word-break: keep-all;}
.policy-depth-list {display: flex; flex-direction: column; gap: 6px; padding-left: 12px;}
.policy-depth-list li {font-size: 16px; line-height: 1.9; color: #606060; word-break: keep-all;}
.policy-depth-list .policy-depth-list {margin-top: 6px; padding-left: 14px;}

@media (hover: hover) {
    .policy-sub-list li a:hover {color: #FF4D4F;}
    .policy-nav-list > li > button:not(.on):hover {background-color: #f8f8f8;}
}

@media screen and (max-width: 1024px) {
    .policy-section {padding: 50px 0 90px;}
    .policy-cont-wrap {gap: 20px;}
    .policy-nav {width: 240px;}
}

@media screen and (max-width: 768px) {
    .main-container {overflow-x: hidden;}
    .site-header {height: 69px;}
    .site-header .main-header {display: none;}
    .site-header .sub-header {display: flex; height: 100%;}
    .site-header .sub-header .sub-btn-wrap .icon-btn,
    .site-header .sub-header .sub-btn-wrap .square-btn.region-btn {display: none;}
    .site-header .sub-header .back-btn {display: flex; align-items: center; column-gap: 8px; font-size: 17px; color: #111; font-weight: 500;}
    .site-footer {display: none;}
    .policy-section {padding: 24px 0 80px;}
    .policy-head {margin-bottom: 24px; text-align: left;}
    .policy-head h2 {font-size: 22px;}
    .policy-head p {font-size: 14px;}
    .policy-cont-wrap {display: block; padding-top: 28px;}
    .policy-nav {display: none;}
    .policy-content {width: 100%; padding: 22px 18px; border: 1px solid #eee; border-radius: 18px; background-color: #fff;}
    .policy-list {gap: 28px;}
    .policy-list-title {font-size: 16px;}
    .policy-list-text,
    .policy-depth-list li {font-size: 14px; line-height: 1.8;}
}