/* visual */
.visual {position: relative; background-image:url(/images/visual.jpg)}
.visual > .center {height:45rem; align-items: center; text-align: center; }
.visual > .center *{color: #fff; }
.visual h2 {text-align: left; font-size: 2.875rem; font-weight: 200; line-height:3.75rem; text-align: center; }
.visual h2 span {color: var(--main-color)}
.visual p{font-size: 18px; margin: 20px 0 0; line-height: 1.4; }

.visual .btn_wrap{display: flex; justify-content: center; align-items: center; gap: 10px; }
.visual .btn_wrap a {display:inline-flex; align-items: center; justify-content: flex-start; margin-top:2.5rem; padding:0.75rem 0.9375rem; border:0.0625rem solid #aaa; border-radius:6.25rem; font-size: 1.25rem; font-weight: 600; animation-delay: 0.6s}
.visual .btn_wrap a figure {margin-right:0.625rem;}
/* .visual .phone svg {width:1.875rem; height:auto; filter: invert(1);} */
.visual .btn_wrap a .st0 {
        fill: none;
        stroke: #444;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 0.25rem;
    }
.visual .btn_wrap a svg{width: auto; height: 30px;  filter: invert(1);}

.visual .ipt_menu {position: absolute; left:0; bottom:0; width:100%; background-image:linear-gradient(90deg,rgba(0,65,214,0.05),rgba(0,65,214,0.3),rgba(0,65,214,0.05));}
.visual .ipt_menu a {display:flex; align-items: center; justify-content: center; width:20%; height:5rem; border-right:0.0625rem solid rgba(255,255,255,0.3); font-size: 1.125rem; font-weight: 700; color: #fff; }
.visual .ipt_menu a:first-child {border-left:0.0625rem solid rgba(255,255,255,0.3);}
.visual .ipt_menu a figure {display:flex; align-items: center; justify-content: center; width:1.875rem; height:1.875rem; margin-right:0.3125rem;}
.visual .ipt_menu a figure svg { width:auto; height:100%; filter: invert(1);}

/* 怨꾩궛�섍린 */
.calculator table {border-top:0.0625rem solid #888;}
.calculator table th,
.calculator table td {height:5rem; padding:0.625rem; border-bottom:0.0625rem solid #888; font-size: 1.0625rem;}
.calculator table th {width: 15%; background-color: var(--bg-color);}
.calculator table td {width: 35%; text-align: left;}
.calculator .ip_comm {width:100%; max-width:13.75rem;}
.calculator .slt_date {display:grid; grid-template-columns: 2fr 1fr 1fr; grid-gap: 0.625rem}
.calculator tfoot th {background-color: #000; color: #fff;}
.calculator tfoot td {text-align: right; font-size: 1.25rem; font-weight: 600;}
.calculator tfoot span {position: relative; padding:0 1.25rem; }
.calculator tfoot span::after {content:""; display: block; width:0.0625rem; height:0.625rem; background-color: #aaa; position: absolute; right:0; top:50%; transform:translateY(-50%)}
.calculator tfoot span:last-child::after {display: none;}
.calculator tfoot .total {font-weight: 700; color: red;}
.calculator .set_btn {display:flex; justify-content: center; margin-top:2.5rem;}



/* 二쇱감媛ㅻ윭由� */
.main2 {background-color:var(--bg-color)}
.gall {display:grid; grid-template-columns: repeat(4,1fr); grid-gap:1.25rem}
.gall a {position: relative; display:block;}
.gall img {display:block; width:100%; height:auto;}
.gall a > div {position: absolute; left:0; top:0; width:100%; height:100%; background-color: rgba(0,0,0,0.5); display:flex; flex-direction: column; align-items: center; justify-content: center;display:none;}
.gall a:hover > div {display:flex}
.gall a div h3 {font-weight: 600; color: #fff;}



/* 理쒖떊湲� */
.main3 {display:grid; grid-template-columns: repeat(3,1fr); grid-gap:5rem;}
.main3 h2 {margin-bottom:1.875rem; font-size: 1.625rem; font-weight: 700; color: #000;}
.main3 ul li { margin-bottom:0.5rem;}
.main3 ul li:last-child {margin-bottom:0;}
.main3 ul li a {display:flex; align-items: center; justify-content: space-between; height:1.75rem;}
.main3 ul li .tit {overflow:hidden; white-space: nowrap; text-overflow:ellipsis; font-weight: 600;}
.main3 ul li .num,
.main3 ul li .date {font-size: 0.9375rem; color: #666;}
.main3 ul li .set_state {text-align: right;}
.main3 ul li .state {display:inline-flex;  align-items: center; justify-content: center; width: 4.0625rem; height: 1.75rem; background-color: var(--main-color); border-radius:0.25rem; font-size: 0.875rem;  color: #fff;}
.main3 ul li .state_none {display:inline-flex;  align-items: center; justify-content: center; width: 4.0625rem; height: 1.75rem; background-color: var(--sub-color); border-radius:0.25rem; font-size: 0.875rem;  color: #fff;}

.btn_state {display:inline-flex;  align-items: center; justify-content: center; width: 4.0625rem; height: 1.75rem; background-color: var(--main-color); border-radius:0.25rem; font-size: 0.875rem;  color: #fff;}
.btn_state_none {display:inline-flex;  align-items: center; justify-content: center; width: 4.0625rem; height: 1.75rem; background-color: var(--sub-color); border-radius:0.25rem; font-size: 0.875rem;  color: #fff;}

.main3 .check li .tit {width: 50%;}
.main3 .check li .num,
.main3 .check li .date {width: 15%;}
.main3 .check li .set_state {width: 20%;}

.main3 .question li .tit {width: 80%;}
.main3 .question li .set_state {width: 20%;}

.main3 .notice li .tit {width: 80%;}
.main3 .notice li .date {text-align: right;}


/* �꾧린 */
.main4 {position: relative; overflow:hidden; background-image:url(/images/bg_review.jpg); background-size:cover;}
.main4 h2 {color: #fff;}
.main4 .swiper-slide {width:32.5rem;}
.main4 .item {display:flex; align-items: center;  padding:2.5rem; background-color: #fff;}
.main4 .item figure {width: 5rem;}
.main4 .item article {width: calc(100% - 5rem); padding-left:1.875rem;}
.main4 .item .name {font-size: 1.0625rem; font-weight: 700; }
.main4 .item .name span {font-size: 0.875rem; font-weight:300}
.main4 .item .point {margin-top:0.625rem; font-size: 1.125rem; color: #ffc000;}
.main4 .item .txt {margin-top:0.9375rem; font-size: 0.9375rem; line-height:1.4375rem;}

/* faq */
.main6 {position: relative;}
.faq dl {border-top:0.0625rem solid #aaa;}
.faq dl:last-child {border-bottom:0.0625rem solid #aaa;}
.faq dl dt,
.faq dl dd {position: relative; display:flex; justify-content: flex-start; padding:1.25rem;}
    .faq dl dt::before,
    .faq dl dd::before {width: 2.1875rem; font-size:1.5rem; font-weight: 700; color: var(--main-color);}
    .faq dl dt::before {content:"Q."}
/*    .faq dl dd::before {content:"A."; line-height:1.5; color:var(--sub-color)} */
.faq dl dt::after {content:""; position: absolute; right:1.25rem; top:50%; transform:translateY(-50%); width:0.9375rem; height:0.9375rem; background-image: url(/images/arr_v.svg); background-size:contain}
.faq dl.on dt::after {transform:translateY(-50%) rotate(180deg);}
.faq dl dt {align-items: center; font-size: 1.125rem; cursor: pointer}
.faq dl dd {background-color:var(--bg-color); display:none;}
.faq dl.on dd {display:block;}
/*.faq dl p {width:calc(100% - 2.1875rem); font-size:1.0625rem; line-height:1.8;}*/
/*.faq dl p {display:block !important;font-size:1.0625rem; line-height:1.8;}*/

/* �뚰듃�� */
section.main6 {overflow:hidden; padding:0; padding:1.5625rem 0; border-top:0.0625rem solid #ddd;}
.ptn .swiper-slide {width:auto;}


/* sub0101 */
.sub0101 .p1 {margin-bottom:15px; line-height:1.4; font-size:30px; font-weight: 300; color: #000;}
.sub0101 .p1 span {color: var(--main-color);}
.sub0101 .p_comm {font-size: 18px;}
/*
.license {display:grid; grid-template-columns: (3,1fr); grid-gap:10px;}
.license figure {border:1px solid #ccc; margin-bottom:15px;}
.license figure img {display: block; width:100%; height:auto;}
.license div {width: 30%; text-align: center; }
*/

/* sub0102 */
.sub0102 {text-align: center;}
.sub0102 .map {width:100%; height:400px; }
.sub0102 .map iframe {width:100%; height:100%; }
.sub0102 p {margin-top: 50px; font-size: 22px; font-weight: 600; color: #000;}
.sub0102 a {display:inline-flex; margin-top:25px; padding:15px 20px; border-radius:100px; background-color: var(--main-color); font-size: 18px; color: #fff;}

/* .sub0201 */
.sub0201 .row {align-items: stretch;}
.sub0201 .row > div {overflow:hidden; width: 49%; border:1px solid #ddd; border-radius:20px;}
.sub0201 hgroup {padding:20px; }
.sub0201 .in hgroup {background-color: var(--main-color);}
.sub0201 .out hgroup {background-color: var(--sub-color);}
.sub0201 hgroup h4 {font-size: 18px; font-weight: 600; color: #fff;}
.sub0201 article {padding:30px 20px;}

.sub0201 .caution {margin-top: 30px;}
.sub0201 .caution h4 {font-weight: 600; color: red;}


/*sub0301*/
.sub0301 .row {align-items: stretch;}
.sub0301 .row > div {width:calc((100% - 5rem)/2);}
.sub0301 .row > div h4 {margin-bottom:1.25rem; font-size: 1.25rem; font-weight:700; color: #000;}
.sub0301 .row > div h4 span {color:var(--main-color)}

.tbl_price {}
.tbl_price th,
.tbl_price td {border-bottom:0.0625rem solid #ddd; height:3.125rem; padding:0 1.25rem;}
.tbl_price thead th {background-color:#000; font-weight: 500; color: #fff;}
.tbl_price tbody th {background-color:var(--bg-color); font-weight: 500; color: #000;}
.tbl_price tbody td {text-align: right; color: red;}

.refer {margin-top:0.625rem;}
.refer li {position: relative; margin-bottom:0.3125rem; padding-left:0.75rem; line-height:1.2; font-size:0.875rem; color: #666;}
.refer li::before {position: absolute; left:0; top:0.5rem; display: block; width:0.1875rem; height:0.1875rem; border-radius:100%; background-color: var(--main-color); content:""}
.sub0301 .set_btn {margin-top:1.875rem;}
.sub0301 .btn_sm {margin:0 auto;  width: 8.75rem; height: 3.125rem; border-radius:0.3125rem; font-size: 1.125rem;font-weight: 500;}



/*sub0503*/
.search {overflow:hidden; position: relative; border-radius:0.3125rem; border:0.0625rem solid var(--main-color); width:22.5rem; margin:0 auto; margin-bottom:2.5rem; background-color: #fff; }
.search .ip_comm {width:100%; border-radius:0; border:0; padding-right:3.625rem;}
.search button {position: absolute; right:0; top:0;}




.li_ctfc {overflow:hidden;}
.li_ctfc li {float:left; width:23.5%; margin-right:2%; margin-bottom:40px; }
.li_ctfc li:nth-child(4n) {margin-right:0;}
.li_ctfc li img  {display:block; width:100%; height:auto; border:1px solid #eee; transition:all 0.3s}
.li_ctfc li:hover img  {border:1px solid #0d6fb8;}
.li_ctfc li .tit  {margin-top:15px; text-align:center; font-weight:700; letter-spacing: 0;}

.pop_ctfc {display:none; position:fixed; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0.8); z-index:1000;}
.pop_ctfc #pop_cont {position:absolute; left:50%; top:50%; width:600px; transform:translate(-50%,-50%);}
.pop_ctfc #pop_cont img {width:100%; height:auto;}
.pop_ctfc .btn_close {position:fixed; right:30px; top:30px; color:#fff;}





/*========= table ===========*/
.set_tbl {margin-bottom:1.25rem; overflow:hidden; border:0.0625rem solid #ddd;border-radius:var(--radius-m); }

.tbl {background-color: transparent; margin-top:-0.0625rem;}

.tbl th,
.tbl td {height:1.875rem; border-right:0.0625rem solid #fff; border-top:0.0625rem solid #fff; text-align: center; font-size: 0.875rem; color: #fff;}
.tbl th {font-weight: 600;}

.tbl tr th:last-child,
.tbl tr td:last-child {border-right:0;}

.tbl thead td {background-color: rgba(255,255,255,0.2);}
.tbl thead th,
.tbl tbody th {background-color: rgba(0,0,0,0.5);}


/*========= sub0401 ===========*/
.write_reserv {border-top:0.0625rem solid #aaa;}
.write_reserv th,
.write_reserv td {padding:1.875rem 0.625rem; border-bottom:0.0625rem solid #aaa;}
.write_reserv th {width: 12%;}
.write_reserv td {width: 38%;}
.write_reserv th {text-align: left;}
.write_reserv th label { font-weight:700;}
.write_reserv td label {margin-right:1.25rem;}
.write_reserv td label input {margin-right:0.3125rem;}
.write_reserv td div {margin-top:0.625rem;}
.write_reserv td div label { font-size: 0.875rem;}
.write_reserv .ip_comm {display: inline-block;width:18.75rem; border:0.0625rem solid #ddd;}
.write_reserv textarea.ip_comm {width:100%;}
.write_reserv .ip_comm.tel {width:9.375rem;}
.write_reserv .ip_comm.date {width:12.5rem; margin-left:0.3125rem;}
.write_reserv .ip_comm.time {width:6.25rem; margin-left:0.3125rem;}
.write_reserv .btn_sum_price {display:inline-flex; padding:0.9375rem 1.25rem; background-color: #222; font-size: 0.9375rem;}
.write_reserv .total {margin:1.25rem 0; font-size: 1.125rem; color: var(--color-1);}
.write_reserv .total .ip_comm {width:9.375rem; margin-right:0.3125rem;text-align: right; font-weight: 700;}
.write_reserv .reserv_ta {padding:0.9375rem; background-color: #f9f9f9;line-height:1.5}

.write_reserv .set_icon {display:flex; align-items: stretch;}
.write_reserv .set_icon li {position: relative; margin-right:10px; padding:15px 18px; border-radius:10px; overflow:hidden; border:1px solid #ddd}
.write_reserv .set_icon input {position: absolute; left:10px; top:10px; z-index: 1;}
.write_reserv .set_icon label {margin:0;}


.write_reserv + .wrap_btn {display:flex; align-items: center; justify-content: center; margin-top:2.5rem;}
.write_reserv + .wrap_btn .btn_comm {display:flex; align-items: center; justify-content: center; width: 8.75rem; height: 3.75rem; margin:0 0.3125rem; background-color: #eee; border-radius:0; font-size: 1.0625rem; font-weight: 600; color: #888;}
.write_reserv + .wrap_btn .btn_comm.btn_sm {background-color:var(--main-color); color:#fff;}
.sub0401 .li_refer li {color: #888;}
.sub0402 .li_refer li {color: #888;}

/*========= sub0402 ===========*/
.sub0402 {}
.sub0402 .sch {display:flex; align-items: center; justify-content: center; margin-bottom:2.5rem;}
.sub0402 .sch fieldset {position: relative; width:25rem;  background-color: #fff; box-shadow:0.25rem 0.25rem 0.625rem rgba(0,0,0,0.3); }
.sub0402 .sch .ip_comm {border:0; border-radius:0; height:3.375rem}
.sub0402 .sch .btn_sch {position: absolute; right:0; top:0; width:3.375rem; height:3.375rem; font-size: 1.125rem; }


.sub0402 .wrap_btn {display:flex; align-items: center; justify-content: center; margin-top:2.5rem;}
.sub0402 .tbl .state {display:inline-block; padding:0.3125rem 0.5rem;  background-color: #aaa; font-weight: 400; color: #fff;}
.sub0402 .tbl .state.done {background-color: var(--main-color);}
.sub0402 .tbl th,
.sub0402 .tbl td {padding:10px; font-size: 16px;}
.sub0402 .tbl th {color: #fff;}
.sub0402 .tbl td {color: #444;}



#bo_v_con *{line-height:150% !important}
#bo_list .td_group {color: #f3c300;}
#bo_list .td_name {text-align: center; !important}

.sub_list {display:grid; grid-template-columns: repeat(4,1fr); grid-gap:30px}
.sub_list li {position: relative;}
.sub_list a,
.sub_list img {display: block; width:100%; height:auto; text-align: center;}
.sub_list input {position: absolute; left:5px; top:5px;}
.sub_list .tit {margin-top:12px; text-align: center; font-weight:600;}

.sub_list2 {display:grid; grid-template-columns: repeat(3,1fr); grid-gap: 10px}
.sub_list2 li {position: relative;}
.sub_list2 a,
.sub_list2 img {display: block; width:100%; height:auto;}
.sub_list2 input {position: absolute; left:5px; top:5px;}