/* Public-site responsive layout. Desktop rules remain in common.css/main.css. */
.mobileTableHint {display:none;}
.quoteItem {border:1px solid #cbd6df;border-radius:6px;padding:20px;margin:16px 0;background:#fff;min-width:0;}
.quoteItem legend {visibility:visible;overflow:visible;height:auto;font-size:18px;line-height:1.5;font-weight:bold;padding:0 8px;color:#245b85;}
#quoteDetails .bbsBox {height:auto;min-height:0;border:0;background:transparent;}
.quoteItemGrid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.writeBox .quoteItemGrid label {display:block;width:auto;line-height:1.7;font-size:15px;}
.writeBox .quoteItemGrid input,.writeBox #quoteMemo {display:block;width:100%;box-sizing:border-box;min-height:44px;padding:10px;border:1px solid #bac8d5;background:#fff;font-size:16px;}
.writeBox #quoteMemo {min-height:140px;resize:vertical;line-height:1.7;}
.quoteMemoBox {margin:24px 0;}
.quoteMemoBox>label {display:block!important;width:auto!important;font-weight:bold;margin-bottom:10px;}
#quoteAddItem,.quoteItem button {min-height:44px;padding:10px 16px;border:1px solid #95b4cc;border-radius:4px;background:#edf5fc;color:#245b85;font-size:15px;cursor:pointer;}
.quoteItem button {margin-top:16px;background:#fff;}
#quoteLegacy {padding:16px;background:#f4f4f4;margin:16px 0;line-height:1.7;overflow-wrap:anywhere;}
#quoteLegacyText {white-space:pre-wrap;max-height:260px;overflow:auto;}
#estimateForm [hidden] {display:none!important;}
.quoteEntry {margin:24px 0 32px;padding:24px;box-sizing:border-box;border:1px solid #cbdce9;border-radius:8px;background:#f3f8fc;display:flex;align-items:center;flex-wrap:wrap;gap:16px;}
.quoteEntry>div {flex:1;min-width:0;}
.quoteEntry h2 {font-size:23px;line-height:1.5;margin:0 0 8px;}
.quoteEntry p,.quoteFormHelp {font-size:15px;line-height:1.7;color:#43576a;}
.quoteEntryButton {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;box-sizing:border-box;background:#2169a3;color:#fff!important;border-radius:5px;font-size:17px;font-weight:bold;}
.quoteEntryNote {flex-basis:100%;margin:0;}
.quoteSteps {display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.quoteSteps a {display:flex;align-items:center;min-height:44px;padding:0 14px;box-sizing:border-box;background:#edf4fa;border:1px solid #cbdce9;border-radius:4px;color:#205784;}
.quoteFormHelp {margin:12px 0 20px;}
#quoteCategory,#quoteContact,#quoteDetails,#quoteAgreement {scroll-margin-top:20px;}
.jRegEstimate:disabled {opacity:.65;cursor:wait;}
@media (max-width:1199px) {
 .quoteItemGrid {grid-template-columns:1fr;}
 .quoteItem {padding:16px;}
 #quoteAddItem {width:100%;}
 .quoteEntry {padding:20px;display:block;}
 .quoteEntry h2 {font-size:21px;}
 .quoteEntryButton {width:100%;margin-top:16px;}
 .quoteEntryNote {margin-top:8px!important;}
 .quoteSteps a {flex:1 1 calc(50% - 8px);font-size:14px;padding:8px;}
 html,body {min-width:0;width:100%;height:auto;}
 #wrap {overflow:visible;}
 header .cons,footer .cons,.mainContents,.contents {width:100%;box-sizing:border-box;}
 .mainContents,.contents {padding:0 16px;min-width:0;}
 .contents {margin-bottom:48px;}
 header .cons,footer .cons {padding:0 16px;}
 header .head {height:auto;}
 header .head .cons {display:flex;flex-wrap:wrap;align-items:center;padding-top:12px;padding-bottom:14px;gap:12px;}
 header .head h1 {float:none;margin:0;}
 header .head h1 a {width:160px;height:auto;}
 header .head h1 img {width:160px;height:auto;}
 header .slide-container,header .miniBanner,.slideshow-container,#quickmenu {display:none!important;}
 header .searchWrap {position:static;left:auto;top:auto;margin:0;flex:1;min-width:300px;width:auto;}
 header .searchWrap .category {display:flex;gap:6px;margin-bottom:6px;}
 header .searchWrap .category select {float:none;width:50%;height:44px;border:1px solid #ddd;border-radius:4px;font-size:16px;}
 header .searchWrap .find {display:flex;gap:6px;}
 header .searchWrap .find input[type=text] {flex:1;width:0;height:44px;border:1px solid #ddd;border-radius:4px;font-size:16px;}
 header .searchWrap .find input[type=image] {float:none;width:44px;height:44px;object-fit:contain;}
 header .searchWrap .keyWord {text-align:left;}
 header .searchWrap .keyWord ul {display:flex;flex-wrap:wrap;align-items:center;}
 header .searchWrap .keyWord ul li {float:none;}
 header .searchWrap .keyWord a {display:inline-block;min-height:30px;line-height:30px;}
 .headerMenu,.headerMenu .menuLink {height:auto;min-height:50px;}
 .headerMenu .menuLink {display:flex;}
 .headerMenu .menuLink>li,.headerMenu .menuLink .btnMenu {float:none;flex:1;width:auto;margin:0;height:auto;}
 .headerMenu .menuLink>li>a {font-size:15px;white-space:nowrap;}
 .headerMenu .dropMenu {box-sizing:border-box;opacity:1;max-height:65vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 16px #0002;}
 .headerMenu .menuLink .btnMenu:hover>.dropMenu {display:none;}
 .headerMenu .menuLink .btnMenu.mobileMenuOpen>.dropMenu {display:block;}
 .headerMenu .dropMenu>li {width:33.333%;padding:10px 8px;}
 .headerMenu .dropMenu li ul {height:auto;margin:0;}
 .headerMenu .dropMenu>li>a {font-size:15px;line-height:1.5;padding:10px 4px;}
 .headerMenu .dropMenu li ul li a {font-size:14px;line-height:1.5;padding:10px 4px;}
 .mainContents .banner,.contents .banner {width:100%;height:auto;margin-bottom:30px;}
 #swiper_main {width:100%;height:auto;}
 #swiper_main .swiper-slide img {width:100%;height:auto;display:block;}
 .mainContents h2,.contents h2 {font-size:21px;padding:20px 0;}
 .mainContents .recommend {padding-bottom:28px;}
 .mainContents .newQuote {padding-bottom:40px;}
 .mainContents .recommend .more {top:20px;margin-top:0;}
 .mainContents .newQuote .more {margin-top:24px;}
 .mobileTableScroll {max-width:100%;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
 .mobileTableScroll:focus-visible {outline:2px solid #307dc4;outline-offset:2px;}
 .mobileTableScroll table {min-width:700px;font-size:14px;}
 .recommend .mobileTableScroll table {min-width:1000px;}
 .mobileTableScroll th,.mobileTableScroll td {padding:12px 10px;white-space:nowrap;color:#555;}
 .mobileTableScroll td a {display:inline-flex;align-items:center;min-height:44px;}
 .mobileTableScroll td em {display:inline-block;}
 .mobileTableHint {display:block;font-size:12px;color:#666;margin:0 0 8px;}
 .categorySearch,.partnerList .categorySearch {position:static;width:100%;margin:16px 0;padding:16px;}
 .categorySearch .category,.partnerList .categorySearch .category {display:flex;flex-wrap:wrap;gap:8px;width:100%;}
 .categorySearch .category select,.partnerList .categorySearch .category select {width:auto;flex:1;min-width:140px;height:44px;margin:0;font-size:16px;box-sizing:border-box;}
 .categorySearch .btn_search {min-height:44px;padding:8px 20px;}
 .tableList .select {position:static;float:none;display:flex;gap:8px;margin-bottom:12px;}
 .tableList .select input {min-width:0;flex:1;max-width:100%;font-size:16px;}
 .tableList .select a {display:inline-block;padding:10px;}
 .tableList .progress ul {display:flex;flex-wrap:wrap;gap:8px;}
 .tableList .progress ul li {margin:0;}
 .tableList .progress ul li a {margin:0;}
 .myPageArea {padding:24px 0 16px;}
 .myPageArea h1 {float:none;font-size:26px;line-height:1.4;margin:12px 0;}
 .myPageArea .userBox {float:none;width:100%;}
 .myPageArea .btnArea {float:none;width:100%;margin:12px 0;}
 .myPageArea .btnArea ul {display:flex;flex-wrap:wrap;gap:8px;}
 .myPageArea .btnArea ul li {margin:0;}
 .myPageArea .btn_request {position:static;display:block;width:100%;height:auto;line-height:1.5;padding:14px 8px;border-radius:6px;box-sizing:border-box;font-size:17px;}
 .loginPage,.joinPage {width:100%;max-width:500px;height:auto;margin:32px auto;min-height:420px;}
 .loginPage .tab,.joinPage .tab {display:flex;gap:6px;}
 .loginPage .tab li,.joinPage .tab li {flex:1;width:auto;}
 .loginPage .tab_con form,.joinPage .tab_con form {margin:8px 0;}
 .loginPage input,.joinPage input {font-size:16px;}
 .partnerPage,.writeBox {width:100%;min-width:0;}
 .partnerList .partner,.mainContents .partner {width:100%;height:auto;min-height:250px;margin:12px 0;padding:20px;}
 .partnerList .partner .partnerimg {max-width:42%;height:auto;}
 .partnerList .partner .txtArea {width:52%;}
 .partnerList .partner .scrap {left:20px;width:38%;bottom:20px;min-height:36px;line-height:36px;}
 .writeBox .infoBox {padding:16px 0;box-sizing:border-box;}
 .writeBox .infoBox p label {display:block;width:100%;margin-bottom:6px;}
 .writeBox .infoBox p input {width:100%;box-sizing:border-box;font-size:16px;min-height:44px;}
 .writeBox .infoBox textarea,.writeBox .infoBox .bbsInputArea .bbsBox {width:100%;box-sizing:border-box;font-size:16px;}
 .writeBox .infoBox .privacy_table .privacy_txt {width:100%;margin-right:0;}
 .writeBox .categorySearch .category>span {flex-basis:100%;margin:0;}
 .writeBox .infoBox .privacy_table,.writeBox .infoBox .privacy_table tbody,.writeBox .infoBox .privacy_table tr,
 .writeBox .infoBox .privacy_table th,.writeBox .infoBox .privacy_table td {display:block;width:100%;box-sizing:border-box;}
 .writeBox .infoBox .privacy_table th {padding:12px;text-align:left;font-size:15px;}
 .writeBox .infoBox .privacy_table th br {display:none;}
 .writeBox .infoBox .privacy_table td {padding:12px;}
 .writeBox .infoBox .privacy_table .agree {margin:0;flex-wrap:wrap;gap:0 8px;text-align:left;}
 .writeBox .infoBox .privacy_table .agree>span {flex-basis:100%;font-size:14px;line-height:1.6;margin-bottom:8px;}
 .writeBox .infoBox .privacy_table .agree input[type=radio] {width:20px;height:20px;margin:0;flex:none;}
 .writeBox .infoBox .privacy_table .agree label {display:inline-flex;align-items:center;min-height:44px;font-size:15px;white-space:nowrap;margin-right:12px;}
 .writeBox .infoBox .btn_ok {width:100%;max-width:100%;float:none;margin:16px 0;box-sizing:border-box;}
 .writeBox .file_input_div {height:44px;width:140px;}
 .writeBox #file_input_button,.writeBox #file_input_photo_button {min-height:44px;width:130px;}
 .writeBox .cke {max-width:100%;box-sizing:border-box;}
 .writeBox #newEstimateMailConsent {width:20px;height:20px;vertical-align:middle;margin:0 8px 0 0;flex-shrink:0;}
 .writeBox label:has(>#newEstimateMailConsent) {display:flex;align-items:flex-start;line-height:1.6;min-height:44px;}
 .writeBox #saveNewEstimateMailConsent {min-height:44px;max-width:100%;font-size:16px;}
 .writeBox .infoBox #price {width:calc(100% - 28px)!important;}
 .writeBox .cke_top {max-height:140px;overflow-y:auto;}
 .writeBox .cke_contents {max-width:100%;}
 .writeBox textarea.jBoard + .cke .cke_top {display:none;}
 .viewPage .companyInfo {padding:16px;overflow-wrap:anywhere;}
 .viewPage .companyInfo>div>p {display:block;width:100%;margin-bottom:4px;}
 .viewPage .companyInfo>div>span {display:block;max-width:100%;margin-bottom:12px;}
 .viewPage .companyInfo .files,.viewPage .detailContents div {padding:12px;}
 .estimateDeadlineControl {box-sizing:border-box;}
 .estimateDeadlineControl label {display:block!important;margin-bottom:8px;}
 .estimateDeadlineControl input[type=date] {max-width:100%;min-height:44px;box-sizing:border-box;font-size:16px;}
 .estimateDeadlineControl button {min-height:44px;margin-top:8px;}
 .product .productDetail {flex-direction:column;gap:24px;}
 .product .productDetail .brand,.product .productDetail .detail {float:none;width:100%;margin:0;min-width:0;}
 .product .productDetail .brand .brandName {width:100%;}
 .product .productDetail .brand .productImage {max-width:100%;width:480px;height:auto;aspect-ratio:1;box-sizing:border-box;}
 .product .productDetail .detail .title li {width:100%;box-sizing:border-box;}
 .product .productDetail .detail .title li>strong {padding-right:12px;flex-shrink:0;width:110px;}
 .product .productDetail .detail .title li .product_detail {width:auto;min-width:0;flex:1;flex-wrap:wrap;gap:8px;}
 .product .under_lines {left:16px;right:16px;width:auto;}
 .product .button {max-width:100%;margin:16px 0;float:none;display:flex;gap:8px;}
 .product .productGo,.product .backGo {float:none;flex:1;width:auto;}
 .paging {display:flex;flex-wrap:wrap;justify-content:center;gap:4px;}
 .paging a,.paging strong {min-width:36px;height:40px;line-height:40px;}
 footer {height:auto;padding:20px 0;}
 footer .upper,footer .mid {height:auto;padding:14px 0;}
 footer .upper h2 {float:none;margin:0 0 16px;}
 footer .upper .snb,footer .mid .snb {float:none;display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;}
 footer .upper .snb li,footer .mid .snb li {float:none;margin:0;padding:0;background:none;}
 footer .upper .snb li a {font-size:15px;}
 footer .snb a {display:inline-block;padding:8px 0;}
 footer .lower {margin-top:16px;overflow-wrap:anywhere;}
 a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {outline:2px solid #307dc4;outline-offset:2px;}
}
@media (max-width:599px) {
 header .topBar {height:auto;min-height:36px;line-height:36px;}
 header .topBar .cons ul {float:none;display:flex;flex-wrap:wrap;justify-content:flex-end;}
 header .topBar .cons ul li {margin-left:8px;font-size:13px;}
 header .head .cons {display:block;}
 header .head h1 {margin-bottom:12px;}
 header .searchWrap {min-width:0;width:100%;}
 .headerMenu .cons {padding:0;}
 .headerMenu .menuLink>.btnMenu {flex:1.35;}
 .headerMenu .menuLink>li>a {font-size:13px;}
 .headerMenu .menuLink>li a img {width:18px;height:auto;margin-left:3px;margin-top:18px;}
 .headerMenu .dropMenu>li {width:50%;}
 .mainContents .banner,.contents .banner {margin-left:-16px;width:calc(100% + 32px);}
 .mainContents .partner .txtArea {width:52%;}
}
