@font-face {
  font-family: 'Pretendard-Regular';
  src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body{
  font-family: 'Pretendard-Regular';
  display:flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
  color: #222;
}

p {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 28px;
}

:root{
  --active-brightness: 0.85;
  --border-radius: 5px;
  --box-shadow: 2px 2px 10px;
  --color-accent: #118bee15;
  --color-border: #e6e6e6;
  --color-bg: #fff;
  --color-bg-secondary: #f8f9fa;
  --color-bg-link-hover: #f8f9fa;
  --color-link: #118bee;
  --color-primary:#D80D18;
  --color-secondary: #1D2088;
  --color-secondary-accent: #920de90b;
  --color-shadow: #f4f4f4;
  --color-table: #118bee;
  --color-text: #222222;
  --color-text-secondary: #999;
  --color-gray100:#f6f9fc;
  --color-gray200:#e9ecef;
  --color-gray300:#dee2e6;
  --color-gray400:#ced4da;
  --color-gray500:#adb5bd;
  --color-gray600:#8898aa;
  --color-gray700:#525f7f;
  --color-gray800:#32325d;
  --color-gray900:#212529;
  --font-family: 'Pretendard', sans-serif;
  --hover-brightness: 1.2;
  --justify-important: center;
  --justify-normal: left;
  --line-height: 1.5;
  --padding-link:8px 10px;
}

.navbar-toggler:focus,
a:focus,
input:focus,
textarea:focus,
button:focus,
.btn:focus,
.btn.focus,
.btn:not(:disabled):not(.disabled).active,
.btn:not(:disabled):not(.disabled):active {
  text-decoration: none;
  outline: none;
  outline: none !important;
  border-color: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.form-check-input:checked {
  background-color: #0069ff;
  border-color: #0069ff;
}

select {
  -webkit-writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: #27314F;
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  white-space: pre;
  -webkit-rtl-ordering: logical;
  background-color: -internal-light-dark(white, #3b3b3b);
  cursor: default;
  margin: 0em;
  font: 400 14px;
  border-radius: 0px;
  border-width: 1px;
  border-style: solid;
  border-color: -internal-light-dark(#767676, #858585);
  -o-border-image: initial;
  border-image: initial;
}

span,
a {
  display: inline-block;
  text-decoration: none;
  transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

img {
  max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  margin: 0px;
  color: #27314F;
  font-family: 'Pretendard-Regular';
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
}

h1 {
  font-size: 50px;
}

h2 {
  font-size: 40px;
}

h3 {
  font-size: 30px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 20px;
}

h6 {
  font-size: 16px;
}

ul {
  margin: 0px;
  padding: 0px;
  list-style-type: none;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.text-btn{
  color:var(--color-link);
}

.mt-0 {
  margin-top: 0 !important
}

.mt-1 {
  margin-top: .25rem !important
}

.mt-2 {
  margin-top: .5rem !important
}

.mt-3 {
  margin-top: 1rem !important
}

.mt-4 {
  margin-top: 1.5rem !important
}

.mt-5 {
  margin-top: 3rem !important
}

.mb-0 {
  margin-bottom: 0 !important
}

.mb-1 {
  margin-bottom: .25rem !important
}

.mb-2 {
  margin-bottom: .5rem !important
}

.mb-3 {
  margin-bottom: 1rem !important
}

.mb-4 {
  margin-bottom: 1.5rem !important
}

.mb-5 {
  margin-bottom: 3rem !important
}

.w-50 {
  width: 50%!important;
}

.txt-center{
  text-align: center !important;
}

@media screen and (max-width: 1023px){
  img{
    border-radius: 0.4rem;
  }
}

/*********************************
          pc 스크롤바
 *********************************/
@media all and (min-width: 768px) {
  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  ::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
    border-width: 2px;
    border-style: solid;
    border-color: transparent;
    border-radius: 5px;
    transition: all 0.2s ease-in-out;
  }
  ::-webkit-scrollbar-track {
    background: 0 0;
  }
}


/*********************************
  인풋, 셀렉트박스, 체크박스, 라디오
 *********************************/
.form_inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 60px;
  width: 100%;
  background-color: #fff;
  padding-inline: 16px;
  cursor: pointer;
}

.form_inner input {
  flex: auto;
  height: 100%;
  width: 100%;
  background: rgba(0,0,0,0);
  font-size: 16px;
  border: 0;
  outline: none;
  box-shadow: none;
  padding-inline: 0;
  font-family: inherit;
}

.form_inner textarea {
  flex: auto;
  height: 100%;
  width: 100%;
  background: rgba(0,0,0,0);
  font-size: 16px;
  border: 0;
  outline: none;
  box-shadow: none;
  padding-inline: 0;
  resize: none;
  font-family: inherit;
}

.form_inner:has(textarea){
  height: 150px;
  padding: 16px;
}

.input_box label, .input_box_combo label,.input_wrap label {
  position: relative;
  font-size: 16px;
  height: 28px;
  display: inline-block;
  line-height: 28px;
  margin-bottom: 4px;
  min-width: 160px;
}

.input_wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 0.0625rem solid #ddd;
  padding-top: .4rem;
}

.input_wrap:focus-within {
    border-bottom: 0.0625rem solid #222;
}

.input_wrap .input_box, .input_wrap .input_box_combo {
  flex: 1;
}


.input_box_combo .combo_list {
  overflow-x: hidden;
  display: none;
  position: absolute;
  top: 10%;
  left: -1px;
  width: calc(100% + 2px);
  max-height: 17.5rem;
  background: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0,0,0,0);
  border-radius: 8px;
  box-shadow: 0 10px 20px 0 rgba(0,0,0,.12);
  z-index: 9;
}

.input_box_combo .form_inner.on .combo_list:has(.combo_list_inner>li:not(:empty)) {
  display: block;
  top: 100%;
  border-color: #222;
  border-radius: 10px;
}

.input_box_combo .form_inner:not(.locat).on {
  border-color: #222;
}

.input_box_combo .form_inner:has(.combo_list_inner>li:not(:empty)).on {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.input_box_combo .form_inner:after {
  content: "";
  background: url(../images/arrowdown.svg)no-repeat;
  background-size: cover;
  position: absolute;
  top: calc(50% - 8px);
  right: 16px;
  width: 18px;
  height: 18px;
  transition: transform .2s;
}

.input_box_combo .form_inner.on:after {
  transform: rotate(180deg);
}

.input_box_combo .form_inner .combo_list_inner>li {
  font-size: 16px;
  color: #222;
  padding: 12px 20px;
}

.input_box_combo .form_inner .combo_list_inner>li:hover, .input_box_combo .form_inner .combo_list_inner>li.selected {
  background-color: #f5f5f5;
}

.input_box_combo .form_inner:not(.locat):has(input:disabled) input, .input_box_combo .form_inner:not(.locat):has(input:read-only) input{
  color: #222;
  cursor: pointer;
  pointer-events: none;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M18 6L6 18' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6 6L18 18' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center no-repeat;
  cursor: pointer;
}

.input_box_search .form_inner {
  padding-inline: 16px 8px;
}

.form_inner:has(input[type=text]:focus),
.form_inner:has(input[type=date]:focus),
.form_inner:has(input[type=password]:focus),
.form_inner:has(input[type=search]:focus),
.form_inner:has(input[type=number]:focus),
.form_inner:has(input[type=tel]:focus),
.form_inner:has(input[type=email]:focus),
.form_inner:has(input[type=month]:focus),
.form_inner:has(input[type=datetime-local]:focus),
.form_inner:has(textarea:focus) {
  border-color: #222
}


input[type='date'] {
  position: relative;
  width: 100%;
  background: url('/assets/images/calender.svg')no-repeat right;
  background-size: 18px;
}

input[type='date']::-webkit-calendar-picker-indicator {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

input[type='date']:before {
  content: attr(placeholder);
  width: 100%;
  color: rgb(117, 117, 117);
}

input[type='date']:focus::before,
input[type='date']:valid::before {
  display: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type=number] {
    -moz-appearance: textfield;
}

/*체크박스*/
.check_box label {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 30px;
  height: 24px;
  cursor: pointer;
}
.check_box input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.control__indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 24px;
  width: 24px;
  background: #e6e6e6;
  border-radius: 6px;
}

.check_box label:hover input ~ .control__indicator,
.check_box input:focus ~ .control__indicator {
  background: #ccc;
}
.check_box input:checked ~ .control__indicator {
  background: var(--color-primary);
}
.check_box label:hover input:not([disabled]):checked ~ .control__indicator,
.check_box input:checked:focus ~ .control__indicator {
  background: #c0000a;
}
.check_box input:disabled ~ .control__indicator {
  background: #e6e6e6;
  opacity: 0.6;
  pointer-events: none;
}
.control__indicator:after {
  content: '';
  position: absolute;
  display: none;
}
.check_box input ~ .control__indicator:after {
  display: block;
}
.check_box label .control__indicator:after {
  left: 8px;
  top: 4px;
  width: 7px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.check_box input:disabled ~ .control__indicator:after {
  border-color: #7b7b7b;
}

/*********************************
          팝업 popup
 *********************************/
.popup_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.35);
  padding-top: 3%;
  opacity: 0;
  visibility: hidden;
  transition: all .3s;
  z-index: 99999
}

.popup_wrap .popup_wrap_inner {
  display: none;
  overflow: hidden;
  width: 600px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 2px 4px 50px 0 rgba(0,0,0,.1)
}

.popup_wrap .popup_wrap_inner .popup_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 5px 24px 0 30px;
  border-bottom: .0625rem solid #ddd
}

.popup_wrap .popup_wrap_inner .popup_footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 30px 40px
}

.popup_wrap .popup_wrap_inner .popup_footer button {
  flex: 1;
  height: 46px;
  max-width: 267px
}

.popup_wrap .popup_wrap_inner .popup_footer button:not(:first-child) {
  margin-left: 8px
}

.popup_wrap .popup_wrap_inner .popup_footer button span {
  font-size: 16px;
  font-weight: 500
}

.popup_wrap .popup_wrap_inner .popup_body {
  overflow-y: auto
}

.popup_wrap .popup_wrap_inner:has(.popup_footer) .popup_body {
  max-height: 660px;
  min-height: 200px;
  padding: 24px 30px 0px
}

.popup_wrap .popup_wrap_inner:not(:has(.popup_footer)) .popup_body {
  max-height: 760px;
  min-height: 300px;
  padding: 24px 30px 30px
}

.popup_wrap.sm .popup_wrap_inner {
  width: 500px
}

.popup_wrap.md .popup_wrap_inner {
  width: 900px
}

.popup_wrap.lg .popup_wrap_inner {
  width: 1200px
}

.popup_wrap.active {
  padding-top: 0;
  opacity: 1;
  visibility: visible
}

.popup_wrap.active .popup_wrap_inner {
  display: block
}




/*사이트맵 팝업*/

.popup_wrap.pc_sitemap .popup_wrap_inner{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: var(--color-bg-secondary);
}

.popup_wrap.pc_sitemap .popup_wrap_inner .popup_header{
  border: none;
  width: 1400px;
  margin: 0 auto;
}

.popup_wrap.pc_sitemap .sitemap_list_wrap {
  display: flex;
  justify-content: space-evenly;
  font-size: 20px;
  gap: 1rem;
  height: 100%;
}

.popup_wrap.pc_sitemap .sitemap_list_wrap ul{
  display: flex;
  padding: 1rem 2rem;
  width: 20%;
  margin: 0 auto;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
}
.popup_wrap.pc_sitemap .sitemap_list_wrap ul h5{
  margin-bottom: 1rem;
  border-bottom: 1px solid #ddd;
  padding: 1rem 0;
}

.popup_wrap.pc_sitemap .sitemap_list_wrap h4 {
  margin-bottom: 1rem;
  border-bottom: 1px solid #ddd;
  padding: 1rem 0;
}

.popup_wrap.pc_sitemap .sitemap_list_wrap li {
  padding: 1rem 0;
}

.popup_wrap.pc_sitemap .sitemap_list_wrap li a:hover{
  color:var(--color-primary)
}

.popup_wrap.pc_sitemap .popup_wrap_inner:not(:has(.popup_footer)) .popup_body{
  width: 1400px;
  margin: 0 auto;
  flex: 1;
}

.popup_wrap.pc_sitemap .btn.popup_close{
  border-radius: 50%;
  width: 40px;
  height: 40px;
}

.popup_wrap.pc_sitemap .btn.popup_close:hover{
  background-color: #cdcdcd;
}

@media screen and (max-width: 1023px){
  .popup_wrap.pc_sitemap{
    display: none;
    visibility: hidden;
  }
}

/***************************************
                layout
***************************************/
header{
  flex:0 0 auto;
}

main{
  flex:1 1 auto;
}

footer{
  flex:0 0 auto;
  background: #f6f6f6;
  padding: 10px 20px;
}



/*********************************
          GNB
 *********************************/
header {
  background: #fff;
  height: 4rem;
  z-index: 100;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
}

header.header.sticky {
  background: #fff;
  animation: dropHeader 0.3s;
  -webkit-box-shadow: 0px 20px 50px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 20px 50px 0px rgba(0, 0, 0, 0.05);
}

@keyframes dropHeader {
  0% {
    top: -5rem;
  }
  100% {
    top: 0;
  }
}

.nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0.4rem;
  position: relative;
  max-width: 1280px;
  height: 4rem;
  margin: 0 auto;
}

.nav-menu {
  display: flex;
}

.nav-bar .nav-item{
  position: relative;
  padding: 1rem 0;
  margin-right: 40px;
}

.nav-bar .nav-item .sub-menu {
  padding: 8px 20px;
  min-width: 240px;
  background: #fff;
  -webkit-box-shadow: 0px 5px 20px #0000001a;
  box-shadow: 0px 5px 20px #0000001a;
  position: absolute;
  top: 110% !important;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  border-radius: 0 0 4px 4px;
  border-radius: 10px;
}

.nav-bar .nav-item:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
}

.nav-bar .nav-item a {
  font-size: 16px;
  color: #222;
  -webkit-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 600;
  transition: all 0.3s ease-out 0s;
  position: relative;
  text-transform: capitalize;
}

.nav-bar .nav-item .sub-menu .nav-item{
  margin-right: 0;
}

.nav-bar .nav-item .sub-menu .nav-item a {
  padding: 0;
  display: block;
  width: 100%;
  font-size: 15px;
  font-weight: 500;
  text-transform: capitalize;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.nav-bar .nav-item a:hover {
  color: var(--color-primary);
}

.nav-right {
  display: flex;
  align-items: center;
}

.nav-right .form_inner {
  border-radius: 24px;
  font-size: 15px;
  padding-right: 50px;
  border: none;
  height: 40px;
}

.nav-right .input_box_combo .form_inner:not(.locat).on {
  border-color: var(--color-primary);
}

.nav-right .input_box_combo .form_inner:has(.combo_list_inner>li:not(:empty)).on {
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}

.nav-right .input_box_combo .form_inner.on .combo_list:has(.combo_list_inner>li:not(:empty)){
  border-radius: 20px;
  top: 110%;
}

.btn.mobile_menu {
  border-radius: 50%;
  width: 40px;
  height: 40px;
}

.btn.mobile_menu:hover{
  background: rgba(0,0,0,0.1);
}

.site_map_modal button{
  border-radius: 50%;
  width: 40px;
  height: 40px;
}

.site_map_modal button:hover {
  background: rgba(0,0,0,0.1);
}

@media screen and (max-width: 1023px){
  .nav-bar{display: none;}
  .nav-right{display: none;}

  /*모바일메뉴 open*/
  .nav-inner.active .nav-bar {
    background: #000;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    left: 0;
    flex-direction: column;
    display: flex;
    padding-top: 70px;
  }

  .nav-inner.active .nav-bar .btn_hamburger_close{
    display: block;
    position: absolute;
    top: 16px;
    right: 20px;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-color: transparent;
    background-image: url(/assets/images/x_white.svg);
    background-position: 50% 50%;
    background-size: 24px 24px;
    border: 0;
    box-shadow: none;
  }

  .nav-inner.active .nav-bar .nav-menu{
    flex-direction: column;
    background: #fff;
    position: relative;
    top: 5rem;
    height: 100vh;
    padding: 1rem;
  }

  .nav-inner.active .nav-bar .nav-menu a{
    padding: 0.7rem 1rem;
    display: inline-block;
    width: 100%;
  }

  .nav-inner.active .nav-bar .nav-menu a.dd-menu.collapsible:after {
    content: "\f078";
    font: var(--fa-font-solid);
    position: absolute;
    top: calc(50% - 8px);
    right: 16px;
    width: 18px;
    height: 18px;
    transition: transform .2s;
  }

  .nav-inner.active .nav-bar .nav-menu a.dd-menu.collapsible.active:after {
    transform: rotate(180deg);
  }

  .nav-inner.active .nav-bar .nav-menu .collapsible.active +.sub-menu{
    position: static;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    background: #ededed;
  }

  .nav-inner.active .nav-bar .nav-menu .nav-item{
    margin: 0;
    padding: 0;
  }

  .nav-bar .nav-item:hover > .sub-menu{
    visibility: hidden;
  }

  .nav-inner.active .nav-right{
    display: block;
  }

  .nav-inner.active .nav-right .input_box_combo{
    display: block;
    position: relative;
    top: 5rem;
  }
}


@media screen and (min-width: 1023px){
  .mobile_menu{display: none;}
}

@media screen and (max-width: 1023px){
  body:has(.index) header{
    background: #fff;
    position: relative;
  }
}


/*======================================
	tab
========================================*/
.tab_wrap .tab_tit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid #eee;
}
.tab_wrap .tab_tit li{
  position: relative;
  bottom: -1px;
  padding: 1rem 2rem;
  cursor: pointer;
  border-bottom: 2px solid transparent;
}

.tab_wrap .tab_tit li.active{
  border-bottom: 2px solid var(--color-primary);
  color: var(--color-primary);
  font-weight: bold;
}

.tab_wrap .tab_cont {
  display: none;
}

.tab_wrap .tab_cont.active {
  display: block;
  max-width: 1280px;
}

@media screen and (max-width: 1023px){
  .tab_wrap .tab_tit {
    justify-content: space-around;
    align-items: flex-end;
  }

  .tab_wrap .tab_tit li{
    font-size: 14px;
    flex: 1;
    text-align: center;
    padding: 1rem 0;
  }

  .tab_wrap .tab_tit.manytab{
    text-align: center;
    border-bottom: none;
  }

  .tab_wrap .tab_tit.manytab li{
    flex: 1 1 30%;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-bottom: transparent;
    font-size: 14px;
    padding: 1rem 0;
  }

  .tab_wrap .tab_tit.manytab li:nth-child(3),.tab_wrap .tab_tit.manytab li:nth-child(6),.tab_wrap .tab_tit.manytab li:nth-child(9),
  .tab_wrap .tab_tit.manytab li:last-child{
    border-right: 1px solid #ddd;
  }

  .tab_wrap .tab_tit.manytab li:nth-child(1){
    border-top-left-radius: 6px;
  }

  .tab_wrap .tab_tit.manytab li:nth-child(3){
    border-top-right-radius: 6px;
  }

  .tab_wrap .tab_tit.many-9 li:nth-child(7),
  .tab_wrap .tab_tit.many-5 li:nth-child(4),
  .tab_wrap .tab_tit.many-7 li:nth-child(7),
  .tab_wrap .tab_tit.many-8 li:nth-child(7){
    border-bottom-left-radius: 6px;
  }

  .tab_wrap .tab_tit.many-9 li:nth-child(9), .tab_wrap .tab_tit.many-5 li:nth-child(5), .tab_wrap .tab_tit.manytab li:last-child{
    border-bottom-right-radius: 6px;
  }

  .tab_wrap .tab_tit.many-9 li:nth-child(7),
  .tab_wrap .tab_tit.many-9 li:nth-child(8),
  .tab_wrap .tab_tit.many-9 li:nth-child(9),
  .tab_wrap .tab_tit.many-8 li:nth-child(7),
  .tab_wrap .tab_tit.many-8 li:nth-child(8){
    border-bottom: 1px solid #ddd;
  }

  .tab_wrap .tab_tit.manytab li.active{
    background: var(--color-primary);
    color:#fff;
  }

  .tab_wrap .tab_tit.many-5 li:nth-child(4) {
    border-bottom: 1px solid #ddd;
  }

  .tab_wrap .tab_tit.many-5 li:nth-child(5){
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }

  .tab_wrap .tab_cont.active{
    width: 100%;
  }

  .tab_wrap .tab_tit.many-7 li:nth-child(7){
    border-bottom: 1px solid #ddd;
  }
}


/*********************************
          테이블
 *********************************/
table {
  caption-side: bottom;
  border-collapse: collapse;
}

tbody, td, tfoot, th, thead, tr {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: #212529;
  --bs-table-bg: #fff;
  --bs-table-border-color: #dee2e6;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: #dee2e6;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-wrap {
  border: 1px solid #ddd;
  border-radius: 12px;
}

.table-wrap table{
  font-size: 14px;
  text-align: center;
  margin: 0;
}

.table-wrap .table>:not(caption)>*>* {
  padding: 1rem 0.5rem;
  font-size: 0.9rem;
  vertical-align: middle;
}

.table>:not(caption)>*>*{
  font-size: 0.9rem;
  vertical-align: middle;
  color: var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));
}

.table-wrap table th {
  background-color: #f8f9fa !important;
  color: #666;
}

table tbody tr:first-child {
  border-bottom-width: 1px;
}

.table-wrap table td, .table-wrap tbody th{
  border-width: 1px;
}

.table-wrap table td:last-child,
.table-wrap table th:last-child{
  border-right: none;
}

.table-wrap table thead tr:first-child th{
  border-top: none;
}

.table-wrap table tr th{
  border-left: none;
  border-bottom: none;
}

.table-wrap table tr:last-child td{
  border-bottom: none;
  border-bottom: transparent;
}

.table-wrap table td:last-child, .section .table-wrap table th:last-child {
  border-bottom: 0;
}

.table-title-block span {
  display: block;
}

.table-fare {
  background-color: #f0fdff !important;
  font-weight: 600;
}

.table-total {
  background-color: #fffbef !important;
  font-weight: 600;
}

.table-wrap thead tr:not(:only-child) th {
  border-width: 1px;
}

.table-wrap table:not(:has(thead)) tr:first-child td,
.table-wrap table:not(:has(thead)) tr:first-child th{
  border-top: none;
}

.table-wrap table:not(:has(thead)) td{
  text-align: left;
  padding: 1.3rem !important;
}

.table-wrap.txt-center table:not(:has(thead)) td{
  text-align: center !important;
}

.table-wrap table tbody tr:not(:has(th)) td:first-child {
  border-left: none;
}

.table-wrap table tbody tr:only-child {
  border-bottom: none;
}

/*********************************
          메인페이지
 *********************************/
main.index {
  background: linear-gradient(to bottom,rgb(70 174 238 / 20%),rgb(127 127 127 / 10%)), url(/assets/images/home-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  height: calc(100vh - 100px);
  padding-bottom: 10rem;
}

main.index img {
  border-radius: 0px;
}

.main-content-wrap {
  position: relative;
  padding-top: 160px;
  display: flex;
  flex-direction: column;
  max-width: 1280px;
  justify-content: space-around;
  margin: 0 auto;
}

.main-content-wrap .main_booking .tab_wrap .tab_tit{
  justify-content: left;
  border-bottom: none;
}

.main-content-wrap .main_booking .tab_wrap .tab_tit li{
  padding: 0.8rem 3.4rem;
  background: rgba(106, 106, 106, 0.5);
  border-radius: 16px 16px 0 0;
  color: #fff;
  margin-right: 0.2rem;
}

.main-content-wrap .main_booking .tab_wrap .tab_tit li.active{
  border-bottom: none;
  background: #fff;
  color:#222;
  position: relative;
  bottom: -1px;
}

.main-content-wrap .main_booking .tab_wrap .tab_cont .content_wrap{
  position: relative;
  background: #fff;
  border-radius: 0 20px 20px 20px;
  padding: 1rem 1.5rem;
  min-height: 150px;
}

.main-content-wrap .main_booking .booking_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.main-content-wrap .main_booking .booking_top .left_btn button {
    background: #eee;
    border-radius: 20px;
    width: 58px;
}

.main-content-wrap .main_booking .booking_top .left_btn button.active{
  background: var(--color-primary);
  color:#fff;
}

.main-content-wrap .main_booking .booking_top .tooltip{
  cursor: pointer;
  border: 1px solid #eee;
  border-radius: 40px;
  padding: 0.5rem;
}

.main-content-wrap .main_booking .booking_top .tooltip:hover{
  border: 1px solid #999;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext{
  padding: 1rem;
  cursor: default;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext>p{
  padding-bottom: 6px;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div{
  background: #505050;
  border-radius: 10px;
  padding: 6px 10px;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div+p{
  margin-top: 1rem;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul:nth-child(2){
  margin-top: 0.8rem;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul>p{
  font-size: 14px;
  text-decoration: underline;
  font-weight: bold;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul li{
  font-size: 14px;
  line-height: 1.5;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul li.call{
  background: url(/assets/images/call.svg)no-repeat;
  background-position: left;
  padding-left: 22px;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul li.mail{
  background: url(/assets/images/mail.svg)no-repeat;
  background-position: left;
  padding-left: 24px;
}

.main-content-wrap .main_booking .booking_top .tooltip .tooltiptext div ul li.call.kor{
  font-size: 20px;
  font-weight: bold;
}

.main-content-wrap .main_booking .booking_bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
}

.main-content-wrap .main_booking .booking_bottom .booking_list{
  display: flex;
  gap: 2rem;
  align-items: center;
}

.main-content-wrap .main_booking .booking_bottom .booking_list>div+div:before{
  content: '';
  border-left: 1px solid #ddd;
}

.main-content-wrap .main_booking .booking_bottom .booking_list .place{
  display: flex;
  background: url(/assets/images/place.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.main-content-wrap .main_booking .booking_bottom .booking_list button{
  border: none;
  width: 130px;
  background: transparent;
  font-size: 18px;
  color: #ddd;
  text-align: left;
  margin: 0 1.2rem;
  cursor: pointer;
}

.main-content-wrap .main_booking .booking_bottom .booking_list div:has(.flatpickr-input) input{
  font-size: 18px;
  border: none;
  margin: 0 1.2rem;
  font-family: inherit;
}

.main-content-wrap .main_booking .booking_bottom .booking_list div:has(.flatpickr-input) input::placeholder{
  color: #ddd;
}

.main-content-wrap .main_booking .booking_btn{
  border: none;
  background-color: var(--color-primary);
  color:#fff;
  border-radius: 20px;
  padding: 1.3rem 2rem;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.4s ease;
}

.main-content-wrap .main_booking .booking_bottom .booking_btn:hover{
  background: #c6040f;
}

.main-content-wrap .content-center:has(.booking_check){
  display: flex;
  align-items: center;
}

.main-content-wrap .booking_check{
  display: flex;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
  flex: 1;
}

.main-content-wrap .booking_check .input_area{
  display: flex;
  gap: 2rem;
  flex: 1;
  width: 100%;
}

.main-content-wrap .booking_check .input_area .input_box{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.main-content-wrap .booking_check .input_area .input_box label {
  color: #666;
}

.main-content-wrap .booking_check .input_area .input_box input{
  border: none;
  border-bottom: 1px solid #eee;
  font-size: 18px;
  padding: 1rem 0;
  font-family: inherit;
}

.main-content-wrap .booking_check .input_area .input_box input::placeholder{
  color:#ddd;
}


.schedule{
  background: rgba(29, 32, 136, 0.7);
  border-radius: 20px;
  padding: 1rem;
  color: #fff;
  margin-top: 10px;
}

.schedule_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.schedule_inner>p{
  font-weight: bold;
}

.schedule_inner .schedule_content {
    flex: 1;
    display: flex;
    gap: 1rem;
    align-items: center;
}

.schedule_content p>span{
    margin-right: 8px;
}

.schedule_content p>span:first-child{
  font-weight: bold;
}

.schedule_inner .schedule_table button{
  text-decoration: underline;
  position: relative;
}



/*출발지,도착지 선택 팝업*/

.main_booking .popup_wrap{
  background: none;
  width: auto;
  height: auto;
  position: absolute;
  top: 163px;
  left: auto;
  right: auto;
  bottom: auto;
}

.main-content-wrap .main_booking .booking_bottom .booking_list .popup_wrap .popup_header{
  display: flex;
  justify-content: space-between;
  height: auto;
  padding: 0;
  border: none;
}

.main-content-wrap .main_booking .booking_bottom .booking_list .popup_header button{
  width: auto;
  color: var(--bs-btn-color);
  display: none;
}

.popup_wrap.place .popup_wrap_inner{
    width: auto;
    min-width: 240px;
}

.popup_wrap.place .popup_wrap_inner:not(:has(.popup_footer)) .popup_body{
  min-height: auto;
  padding: 12px 10px;
}

.popup_wrap.place .popup_wrap_inner .place_btn{
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.popup_wrap.place .popup_wrap_inner .place_btn button{
  font-size: 18px;
  border: none;
  background:transparent;
  text-align: left;
  border-radius: 12px;
  padding: 0.8rem 0.8rem;
  width: auto;
  margin: 0;
  color: #000;
  cursor: pointer;
}

.popup_wrap.place .popup_wrap_inner .place_btn button:hover{
  background-color: rgba(0,0,0,0.1)
}

.popup_wrap.place .popup_wrap_inner .place_btn button.on{
  background-image: url(/assets/images/place_check.svg);
  background-repeat: no-repeat;
  background-position: 90% center;
}

.popup_wrap .popup_wrap_inner .title{
  font-size: 18px;
  margin-bottom: 0.5rem;
  padding: 0.8rem 0.8rem;
  font-weight: bold;
}

.main_booking .popup_wrap.place:last-child{
  left: 190px;
}

/*날짜선택 flatpickr daterangepicker*/

.flatpickr-calendar {
  margin-top: 110px;
  width: 100% !important;
  max-width: 1280px !important;
  border-radius: 20px;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.flatpickr-calendar .calendar-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 10px 0;
}

.flatpickr-calendar .calendar-title{
  text-align: left;
  font-size: 18px;
  margin-bottom: 0.5rem;
  padding: 1rem 1.4rem;
  font-weight: bold;
}

.flatpickr-calendar .calendar-header button{
  border: none;
  background: transparent;
  cursor: pointer;
}

.flatpickr-calendar:before, .flatpickr-calendar:after{
  content: none !important;
}

.flatpickr-current-month {
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  align-items: center;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month{
  top: 60px;
}

.flatpickr-months {
  padding-bottom: 1.5rem;
}

.flatpickr-weekdaycontainer {
  padding: 0 20px;
}

.flatpickr-days{
  width: 100%;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay{
  background: #D80D18;
  border-color: #D80D18;
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus{
  background: #FFDDDF;
  border-color: #FFDDDF;
}

.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #FFDDDF, 5px 0 0 #FFDDDF;
  box-shadow: -5px 0 0 #FFDDDF, 5px 0 0 #FFDDDF;
}

.flatpickr-day{
  font-size: 18px;
  max-width: none;
  line-height: 38px;
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
  border-radius: 50px;
  -webkit-box-shadow: 15px 0 0 #FFDDDF, 15px 0 0 #FFDDDF;
  box-shadow: 15px 0px 0px 0px #FFDDDF, 15px 0 0 #FFDDDF;
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange{
  border-radius: 50px;
  -webkit-box-shadow: -15px 0 0 #FFDDDF, -5px 0 0 #FFDDDF;
  box-shadow: -15px 0px 0px 0px #FFDDDF, -15px 0 0 #FFDDDF;
}

.custom-calendar-wrapper {
  position: relative;
  padding: 10px;
  background: white;
  border-radius: 8px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.flatpickr-rContainer{
  width: 100%;
}

.dayContainer {
  width: 100%;
  min-width: auto;
  max-width: none;
  padding: 0 20px 20px;
}

.numInputWrapper span.arrowUp, .numInputWrapper span.arrowDown {
  display: none;
}

.numInputWrapper:hover {
  background: transparent;
}

.flatpickr-current-month .numInputWrapper{
  width: 5ch;
}


/*승객 선택 팝업*/
.popup_wrap.passengers .popup_wrap_inner {
  width: auto;
  min-width: 260px;
}

.popup_wrap.passengers .popup_wrap_inner:not(:has(.popup_footer)) .popup_body {
  min-height: auto;
  padding: 12px 10px;
}

.popup_wrap.passengers .passenger_list{
  display: flex;
  justify-content: space-between;
  padding: 0.8rem 0 0.8rem 0.8rem;
}

.popup_wrap.passengers .passenger_list .passenger_txt p{
  font-size: 18px;
  font-weight: bold;
}

.popup_wrap.passengers .passenger_list .passenger_txt span{
  font-size: 14px;
  color: #666666;
}

.popup_wrap.passengers .passenger_list .passenger_btn {
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
}

.popup_wrap.passengers .passenger_list .passenger_btn input{
  border: none;
  font-size: 18px;
  width: 30px;
  text-align: center;
  font-family: inherit;
}

.popup_wrap.passengers .passenger_list .passenger_btn button{
  width: auto;
  min-width: auto;
  margin: auto;
  color: #222;
}

.popup_wrap.passengers .passenger_list .passenger_btn button.disabled{
  color: #ddd;
  cursor: default;
}


/*좌석 선택 팝업*/
.popup_wrap.seat .popup_wrap_inner {
  width: auto;
  min-width: 260px;
}

.popup_wrap.seat .popup_wrap_inner:not(:has(.popup_footer)) .popup_body {
  min-height: auto;
  padding: 12px 10px;
}

.popup_wrap.seat .seat_list{
  display: flex;
  gap: 1rem;
  padding: 0.8rem 0.8rem;
}

.popup_wrap.seat .seat_list .subtitle{
  font-size: 14px;
  color: #666666;
}

.popup_wrap.seat .popup_wrap_inner .seat_list button {
  border: none;
  background: transparent;
  text-align: left;
  border-radius: 12px;
  margin: 0;
  padding: 0.8rem 0.8rem;
  color: #000;
  width: 100%;
  margin-bottom: 0.6rem;
}

.popup_wrap.seat .popup_wrap_inner .seat_list button:hover{
  background-color: rgba(0, 0, 0, 0.1);
}

.popup_wrap.seat .popup_wrap_inner .seat_list button.on {
  background-image: url(/assets/images/place_check.svg);
  background-repeat: no-repeat;
  background-position: 90% center;
}

/* 선박운항일정팝업*/
.schedule_table .popup_wrap{
  background: none;
  color: #222;
  width: auto;
  height: auto;
  position: absolute;
  top: 578px;
  left: auto;
}

.schedule_table .popup_wrap .popup_wrap_inner{
  width: auto;
  max-width: 500px;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_header{
  height: 40px;
  border-bottom: none;
  padding: 0.7rem 1rem 0;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_header .title{
  padding: 0;
  margin: 0;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body{
  max-height: none;
  min-height: auto;
  padding: 1rem;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table{
  table-layout: fixed;
  width: 100%;
  font-size: 14px;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table tbody tr:first-child {
  border-bottom: 1px solid #999;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table tbody tr{
  border-bottom: 1px solid #eee;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table tbody tr:last-child{
  border-bottom: 1px solid #000;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table tr:nth-child(1) th{
  padding: 0.6rem 0.2rem;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table tr th:nth-child(1){
  border-right: 1px solid #eee;
  text-align: center;
}

.schedule_table .popup_wrap .popup_wrap_inner .popup_body table td{
  padding: 0.8rem 0.1rem;
  text-align: center;
}

/*pc*/
@media screen and (min-width: 1024px){
  .nav-right .form_inner{
    padding-right: 16px;
  }

  .nav-right .form_inner:after{
    display: none;
  }

  .nav-right .input_box_combo .form_inner.on .combo_list:has(.combo_list_inner>li:not(:empty)){
    width: calc(100% + 30px);
  }
}

/*모바일*/
@media screen and (max-width: 1023px){
  main.index {
    height: 100%;
    width: 100%;
    overflow: overlay;
  }

  .main-content-wrap{
    flex-direction: column;
    max-width: none;
    margin: 16px;
    gap: 2rem;
    padding-top: 0;
  }

  .main-content-wrap .main_booking .tab_wrap .tab_tit li{
    margin: 0;
    padding: 0.8rem 0;
  }

  .main-content-wrap .main_booking .tab_wrap .tab_cont .content_wrap{
    border-radius: 0 0 20px 20px;
    padding: 1rem;
  }

  .main-content-wrap .main_booking .booking_bottom{
    flex-direction: column;
    gap: 2rem;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list{
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
    gap: 1rem;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list>div+div:before{
    border: none;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list>div{
    width: 100%;
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list button{
    width: 100%;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .place{
    background-position:  45% center;
    background-size: auto;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .place button{
    width: 40%;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .popup_wrap{
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .popup_wrap .popup_wrap_inner{
    width: 100%;
    height: 100%;
    border-radius: 0;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .popup_header button{
    display: block;
    width: 40px;
    height: 40px;
    text-align: center;
    min-width: auto;
    margin: 0;
    border-radius: 50px;
  }

  .main-content-wrap .main_booking .booking_bottom .booking_list .popup_header button:hover{
    background: rgba(0,0,0,0.1);
  }


  .main-content-wrap .main_booking .booking_bottom .booking_list .place .popup_wrap.place .popup_wrap_inner .place_btn button{
    width: 100%;
  }

  .popup_wrap.place .popup_wrap_inner .place_btn button.on {
    background-position: 95% center;
  }

  .popup_wrap.passengers .passenger_list .passenger_btn button{
    width: auto;
  }

  .flatpickr-calendar.open {
    height: 100%;
    max-height: none;
    margin: 0;
    border-radius: 0;
    position: fixed !important;
  }

  .flatpickr-calendar .calendar-header button{
    border-radius: 50px;
    width: 40px;
    height: 40px;
  }

  .flatpickr-calendar .calendar-header button:hover{
    background: rgba(0,0,0,0.1);
  }

  .flatpickr-weekdays .flatpickr-weekdaycontainer:last-child{
    display: none;
  }

  .flatpickr-month{
    display: none;
  }

  .flatpickr-month:first-of-type{
    display: block;
  }

  .dayContainer{
    display: none;
  }

  .dayContainer:first-of-type{
    display: block;
  }

  .flatpickr-days{
    display: flex;
    flex-direction: column;
    width: 100% !important;
    gap: 1rem;
  }

  .main-content-wrap .booking_check{
    flex-direction: column;
  }

  .main-content-wrap .booking_check .input_area{
    flex-direction: column;
  }

  .main-content-wrap .main_booking .booking_btn{
    width: 100%;
  }

  .schedule_inner{
    flex-wrap: wrap;
  }

  .schedule_inner>p{
    order: 1;
    flex: 1 1 45%;
  }

  .schedule_table{
    order: 2;
    text-align: right;
    flex: 1 1 45%;
  }

  .schedule_content{
    order: 3;
    justify-content: center;
  }

  .schedule_content p{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
  }

  .schedule_content p>span:first-child{
    width: 100%;
    text-align: center;
  }

  .schedule_table .popup_wrap{
    background: rgba(0, 0, 0, .35);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
  }

  .schedule_table .popup_wrap .popup_wrap_inner{
    width: 100%;
    height: 100%;
    border-radius: 0;
  }

}

/***************************************
                Footer
***************************************/
footer, footer p {
  font-size: 14px;
  color: #999;
}

.foot-inner {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-top {
  padding: 1rem;
  border-bottom: 1px solid #eee;
}

.foot-link a:after {
  content: ' ·';
  font-size: 14px;
  padding: 0.4rem;
}

.foot-link a:last-child:after {
  content: unset;
}

.footer-bottom {
  display: flex;
  padding: 1rem;
  gap: 1rem;
}

.foot-logo {
  width: 80%;
  padding-bottom: 1rem;
}

.foot-center {
  flex-grow: 1;
}

.foot-center .foot-company {
  line-height: 1.2rem;
  display: flex;
  flex-wrap: wrap;
}

.foot-center .foot-company li:after {
  content: ' |';
  font-size: 14px;
  padding: 0.4rem;
  color: #eee;
}

.foot-center .foot-company li:last-child:after {
  content: '';
}

@media screen and (max-width: 1023px){
  .foot-inner{
    margin: 0 20px;
  }

  .footer-bottom{
    flex-direction: column;
  }
}




/***************************************
                breadcrumbs
***************************************/
.breadcrumbs{
  position: relative;
  padding-bottom: 70px;
  padding-top: 110px;
  background: #081828 url(/assets/images/home-bg.jpg)no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 2;
  text-align: left;
}

.breadcrumbs:before {
  background: #000;
  width: 100vw;
  height: 100%;
  display: block;
  content: '';
  padding-bottom: 33px;
  padding-top: 110px;
  position: absolute;
  top: 0;
  opacity: 0.4;
}

.breadcrumbs .sect-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}

@media screen and (max-width: 1023px){
  .breadcrumbs .sect-inner{
    flex-direction: column;
  }
}

.breadcrumbs .breadcrumbs-content .page-title {
  font-size: 20px;
  color: #fff;
  font-weight: 600;
  position: relative;
  line-height: 50px;
}

.breadcrumbs .breadcrumb-nav li {
  display: inline-block;
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
  text-transform: capitalize;
}

.breadcrumbs .breadcrumb-nav li, .breadcrumbs .breadcrumb-nav li a {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

.breadcrumbs .breadcrumb-nav li a {
  position: relative;
}

.breadcrumbs .breadcrumb-nav > li:after {
  content: "\f105";
  font: var(--fa-font-solid);
  font-size: 10px;
  position: absolute;
  top: 4px;
  right: -7px;
}

.breadcrumbs .breadcrumb-nav li:last-child:after {
  content: "";
}

.breadcrumbs .breadcrumb-nav li a:hover {
  text-decoration: underline;
}

.breadcrumbs + section.graybg {
  background: #f9f9f9;
}


/***************************************
  Content
***************************************/
.sect-inner{
  position: relative;
  max-width: 1280px;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding-top: 2rem;
  padding-bottom: 5rem;
}

.content_wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.content_wrap .content-center {
  width: 100%;
}

.content_wrap .content-center-xs {
  width: max(40vw,640px);
  margin: 0 auto;
}

.content_wrap .content-center-s {
  width: max(50vw,640px);
  margin: 0 auto;
}

.content_wrap .content-center-m {
  width: max(60vw,768px);
  margin: 0 auto;
}

.content_wrap .content-left, .content_wrap .content-right  {
  width: 50%;
  flex: 1 1 40%;
}

.content_box {
  border-radius: 10px;
  overflow: hidden;
  padding: 35px;
  background: #fff;
}

@media screen and (max-width: 1023px){
  .sect-inner{
    margin: 0 20px;
    padding-top: 3rem;
  }
  .content_wrap{
    flex-direction: column;
    align-items: center;
  }
  .content_wrap .content-left, .content_wrap .content-right{
    width: 100%;
  }
  .content_wrap .content-left:has(img) img, .content_wrap .content-right:has(img) img{
    width: 100%;
  }
  .content_wrap .content-center-xs {
    width: 100%;
  }
  .content_wrap .content-center-s {
    width: 100%;
  }
  .content_wrap .content-center-m {
    width: 100%;
  }
}



.tab_inner_title {
  margin-bottom: 2rem;
}

.content_wrap:has(.dot-list:not(:only-of-type)) .tab_inner_title{
  margin: 2rem 0 1rem;
}

.content_wrap:has(.dot-list:not(:only-child)) .dot-list:first-child .tab_inner_title{
  margin-top: 0;
}


/*blockquote*/
blockquote {
  position: relative;
  color: #27314F;
  font-weight: 400;
  margin: 40px 0;
  text-align: left;
  padding: 40px;
  background-color: #f0f0f0;
  border-radius: 0;
  overflow: hidden;
  border-radius: 8px;
}

blockquote .icon i {
  font-size: 32px;
  color: #4e4e4e;
  display: block;
  margin-bottom: 20px;
  text-align: center;
}

blockquote span {
  font-size: 13px;
  display: block;
  margin-top: 20px;
  color: #727272;
}

@media (max-width: 1199px) {
  blockquote {
    padding: 2rem;
  }

  blockquote .icon i {
    margin-bottom: 15px;
  }
}



/*======================================
	회사소개
========================================*/
/*연혁*/

.timeline {
  position: relative;
}
.timeline:before {
    top: 0;
    bottom: 0;
    position: absolute;
    content: "";
    width: 14px;
    background-color: #dfe0ef;
    border-radius: 20px;
    left: 40px;
    margin-left: -7px;
}
.timeline h3 {
  color: var(--color-primary);
}

.timeline p {
  font-size: 15px;
}
.timeline div>span{
  color: #000;
  font-weight: bold;
}
.timeline .timeline-date {
  padding: 0 8px;
}
.timeline-normal .timeline-body>div {
  display: flex;
  flex-direction: row-reverse;
}
.timeline-body>div {
  display: flex;
}
.timeline-body {
  line-height: 28px;
}
.timeline > li {
  margin-bottom: 50px;
  position: relative;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.timeline-inverted {
  flex-direction: row-reverse;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li .timeline-panel {
  width: 100%;
  float: right;
  position: relative;
  text-align: left;
  padding: 0 20px 0 80px;
}
.timeline > li .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline > li .timeline-image {
  left: 0;
  margin-left: 15px;
  width: 50px;
  height: 50px;
  position: absolute;
  z-index: 10;
  color: white;
  border-radius: 100%;
  border: 4px solid #dfe0ef;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.timeline > li:nth-child(1) .timeline-image{
  background-image: url(/assets/images/history1.jpg);
}
.timeline > li:nth-child(2) .timeline-image{
  background-image: url(/assets/images/history2.jpg);
}
.timeline > li:nth-child(3) .timeline-image{
  background-image: url(/assets/images/history3.jpg);
}
.timeline > li:nth-child(4) .timeline-image{
  background-image: url(/assets/images/history4.jpg);
}
.timeline > li:nth-child(5) .timeline-image{
  background-image: url(/assets/images/history5.jpg);
}
.timeline > li:nth-child(6) .timeline-image{
  background-image: url(/assets/images/history6.jpg);
}
.timeline > li:nth-child(7) .timeline-image{
  background-image: url(/assets/images/bg.jpg);
  background-position: 60%;
}
.timeline > li .timeline-image h4 {
  font-size: 10px;
  margin-top: 12px;
  line-height: 14px;
}
.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
  text-align: left;
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline > li:last-child {
  margin-bottom: 0;
}
.timeline .timeline-heading h4 {
  margin-top: 0;
  color: inherit;
}
.timeline .timeline-heading h4.subheading {
  text-transform: none;
}
.timeline .timeline-body > p,
.timeline .timeline-body > ul {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .timeline-normal .timeline-body>div {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .timeline:before {
    left: 50%;
  }
  .timeline > li {
    margin-bottom: 100px;
  }
  .timeline > li .timeline-panel {
    width: 44%;
    float: left;
    text-align: right;
  }
  .timeline > li .timeline-image {
    width: 100px;
    height: 100px;
    left: 50%;
    margin-left: -50px;
  }
  .timeline > li .timeline-image h4 {
    font-size: 13px;
    margin-top: 16px;
    line-height: 18px;
  }
  .timeline > li.timeline-inverted > .timeline-panel {
    float: right;
    text-align: left;
    padding: 0 20px;
  }



}

/*오시는길*/

.traffic_guide li+li{
  margin-top: 1rem;
}

.traffic_guide h5{
  line-height: 2;
}

.traffic_guide p{
  margin-left: 1.4rem;
}

.traffic_guide i.transportation{
  color: #0069ff;
  font-size: 14px;
}

.traffic_guide .fa-solid.fa-asterisk {
  font-size: x-small;
  color: #b5b5b5;
  vertical-align: middle;
}


/*======================================
	선박소개
========================================*/

/*선박제원*/

.ship_specifications{
  max-width: 1200px;
  margin: 0 auto;
}

.ship_specifications img{
  width: 100%;
  height: 100%;
}

/*스와이프*/
.swiper-pagination-bullet {
  width: 16px;
  background-color: #fff;
  border-radius: 6px;
}

/*선실*/
.ship .content_wrap:has(.content-left+.content-right+.content-center){
  background: #f9f9f9;
  padding: 3rem;
  border-radius: 1rem;
}

.ship .content_wrap:has(.content-left+.content-right+.content-center) .dot-list li{
  padding: 1rem 0;
  border-bottom: 1px dashed #ddd;
}

.floor-guide{
  border-bottom: 1px solid #ddd;
  padding-block: 1rem;
  margin-block: 1rem;
}


@media screen and (max-width: 1023px){
  .ship .content_wrap:has(.content-left+.content-right+.content-center){
    padding: 2rem;
  }
  .ship .content_wrap:has(.content-left+.content-right+.content-center) .dot-list li{
    padding: 0.5rem 0;
  }
}

/*편의시설 예약*/
.amenities{
  text-align: center;
}

.amenities ul{
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

.amenities ul li{
  width: 100%;
  margin-top: 10px;
  padding: 20px 0;
  border-radius: 8px;
  text-align: center;
  background-color: #f9f9f9;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  border: 1px solid #f1f1f1;
}

.amenities ul li i{
  padding: 1rem;
  border-radius: 50%;
  border: 3px solid #ddd;
  margin-bottom: 1rem;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.amenities ul li:hover i{
  border-color: var(--color-primary);
  background-color: #fff;
}

.amenities button{
  height: 52px;
  padding: 1rem 3rem;
}

@media screen and (max-width: 1023px){
  .amenities ul{
    gap: 1rem;
    flex-wrap: wrap;
  }

  .amenities ul li{
    flex:1 1 40%;
    margin: 0;
  }
}

/*운항스케줄*/
.btn-call {
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
  border: 1px solid #ddd;
  font-size: 14px;
}

.btn-call svg{
  margin-right: 4px;
}

.btn-call:hover{
  border-color: #666;
}

/*======================================
	여객
========================================*/
/*출입국 수속안내*/
.passenger .accordion details{
  background: #f0f0f0;
}

.dot-list span small{
  margin-left: 1.4rem;
  line-height: 1.5rem;
}

.dot-list h6{
  line-height: 1.8rem;
}

/*동북3성 여행지안내*/
.passenger .dot-list:has(img) li+li{
  margin-top: 1rem;
}

.passenger .china-tour-detail-two-image {
  display: flex;
  margin-top: 2rem;
  margin-bottom: 3rem;
  text-align: center;
  justify-content: center;
  gap: 1rem;
}

.passenger .china-tour-detail-one-image {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

/*면세품 목록*/
.passenger .duty-free-basket{
  position: relative;
  text-align: right;
  margin-top: 2rem;
}

.passenger .duty-free-basket .badge{
  position: absolute;
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: .75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 50rem;
  top:0;
  left: 100%;
  background-color: #dc3545;
  transform: translate(-50%, -50%);
}

.passenger .duty-free-box-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.passenger .duty-free-box {
  flex: 0 1 24%;
  padding: 30px 20px;
  border-radius: 8px;
  background-color: #fff;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  text-align: center;
  position: relative;
  overflow: hidden;
  z-index: 2;
}

.passenger .duty-free-box .image-wrap{
  height: 150px;
  width: 150px;
  margin: 0 auto;
}

.passenger .duty-free-box .image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.passenger .duty-free-box .title {
  font-size: 16px;
  margin-bottom: 20px;
  margin-top: 25px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.passenger .duty-free-box .price {
  color: var(--color-primary);
  font-size: 25px;
}

.passenger .duty-free-box .old-price {
  color: #727272;
  text-decoration: line-through;
  display: block;
  margin-top: 5px;
}

.passenger .duty-free-box .button{
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.passenger .duty-free-box .button .btn{
  background-color: #fff;
  border: 2px solid #eee;
  color: #27314F;
  padding: 10px 16px;
  font-size: 14px;
  margin: 0;
  border-radius: 6px;
}

.passenger .duty-free-box .button .btn:hover{
  color: #fff;
  background-color: #0069ff;
  border-color: transparent;
}

@media screen and (max-width: 1023px){
  .passenger .duty-free-box{
    flex: 1 1 40%;
    width: 50%;
    padding: 1rem;
  }

  .passenger .duty-free-box-wrap:has(li:nth-child(odd)) li{
    flex: 0 0 47.5%;
  }

  .passenger .duty-free-box .button .btn{
    width: 100%;
  }
  .passenger .duty-free-box .image-wrap{
    height: 100px;
    width: 100px;
  }
}

/*면세품 장바구니 주문*/

.content_wrap:has(.aside) {
  flex-wrap: nowrap;
}

.content-center-xs.aside .field_box{
  padding: 3rem 2rem;
}

.passenger .field_box {
  background: #fff;
  padding: 3rem 4rem;
  border-radius: 20px;
  box-shadow: none;
}

.passenger .field_box .page-title{
  position: relative;
  border-bottom: 2px solid #eee;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.passenger .field_box .page-title:before {
  position: absolute;
  content: "";
  left: 0;
  bottom: -2px;
  height: 2px;
  width: 70px;
  background-color: var(--color-primary);
}

.passenger .field_box .input_wrap+.page-title{
  margin-top: 3rem;
}

.passenger .field_box .order_header {
  flex: 0 0 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.passenger .field_box .order_header .btn.order_del {
  border-radius: 50%;
  width: 36px;
  height: 36px;
}

.passenger .field_box .order_header .btn.order_del:hover{
  background: rgba(0,0,0,0.1);
}

.passenger .order_wrap{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.passenger .order_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

.passenger .order_list + .order_list{
  border-top: 1px solid #ddd;
}

.passenger .order_info{
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 1rem;
  flex: 0;
}

.passenger .order_list .image-wrap{
  width: 100px;
  height: 100px;
  flex-shrink: 0;
}

.passenger .order_list .image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.passenger .order_list .product_name {
  padding: 0.5rem 0;
}

.passenger .order_list .item_qty{
  display: flex;
}

.passenger .order_list .item_qty button{
  width: 46px;
  height: 46px;
  background: #fff;
  font-size: 20px;
}

.passenger .order_list .item_qty button:first-child{
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border: 1px solid #ddd;
  border-right:none;
}

.passenger .order_list .item_qty button:last-child{
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border: 1px solid #ddd;
  border-left: none;
}

.passenger .order_list .item_qty button:focus{
  background-color: #f9f9f9;
}

.passenger .order_list .item_qty .form_inner{
  width: 60px;
  border-radius: 0;
}

.passenger .order_list .item_qty .form_inner input{
  text-align: center;
}

.passenger .order_list .price{
  text-align: right;
  font-size: 18px;
  font-weight: bold;
  margin: 1rem 0 0.6rem;
}

.passenger .total_price_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-top: 1px solid #222;
  margin-top: 1rem;
  padding: 1rem 0.6rem;
  font-size: 18px;
}

.passenger .total_price_wrap .total_price{
  font-size: 26px;
  font-weight: bold;
}

@media screen and (max-width: 1023px){
  .passenger .duty_input{
    order: 2;
  }

  .passenger .aside{
    order: 1;
  }

  .passenger .field_box {
    padding: 2rem;
  }
  .passenger .order_list .image-wrap {
    margin-top: 1rem;
  }
  .passenger .order_list .product_name{
    text-align: center;
  }
}

/*여행지안내*/
.gallery_board .board_top{
  display: flex;
  margin-bottom: 2rem;
  align-items: center;
  gap: 1rem;
}

.gallery_board .board_total {
  flex: 1;
}

.gallery_board .input_box_combo {
  width: 150px;
}

.gallery_board .board_total strong {
  color: var(--color-primary);
  font-weight: bolder;
}

.gallery_board .travel_package_wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.gallery_board .travel_package_list {
  display: flex;
  flex: 0 1 49%;
  gap: 1rem;
  border-bottom: 1px solid var(--color-border);

}
.gallery_board .travel_package_list a{
  display: flex;
  gap: 1rem;
  padding: 1rem;
}

.gallery_board .travel_info h6{
  margin-bottom: 1rem;
}

.gallery_board .travel_info p{
  max-width: 400px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.travel_img_wrap{
  width: 200px;
  height: 150px;
}

.travel_img_wrap img{
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1023px){
  .gallery_board .board_top{
    flex-direction: column;
    align-items: flex-start;
  }

  .gallery_board .input_box_combo{
    width: 100%;
  }

  .gallery_board .input_box_search{
    width: 100%;
  }

  .gallery_board .board_total{
    order:3;
  }

  .gallery_board .travel_package_list{
    flex: 1 1 100%;
  }

  .gallery_board .travel_package_wrap li:first-child{
    border-top: 1px solid #222;
  }

  .gallery_board .travel_package_wrap{
    gap: 0;
  }
}

.board_view .board-content img+p {
  margin-top: 2rem;
}

/*======================================
	화물 수출입절차
========================================*/
.procedure .content_wrap{
  flex-direction: column;
  margin: 2rem
}
@media screen and (max-width: 1023px){
  .procedure .content_wrap{
    margin: 2rem 2rem;
  }
}

.procedure .single_box{
  padding: 3rem 2rem;
  border-radius: 8px;
  text-align: center;
  background-color: #f8f8f8;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  border: 1px solid #eeeeee80;
  width: 100%;
}

.procedure .single_box:hover{
  -webkit-box-shadow: 0px 10px 30px rgb(0 0 0 / 10%);
  box-shadow: 0px 10px 30px rgb(0 0 0 / 10%);
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

.procedure .single_box .step_tit {
  color: #0067f9;
  font-weight: bold;
  font-size: 15px;
  background: #eef5ff;
  display: inline-block;
  padding: 4px 8px;
  border-radius: 3px;
  margin-bottom: 10px;
}

.procedure .step-down-icon {
  padding: 1rem;
  text-align: center;
  color: #27314F;
  font-weight: bolder;
}

.procedure p{
  font-weight: 600;
}

.single_box:has(>small) p{
  margin-bottom: 1rem;
}

.dot-list li {
  line-height: 1.8rem;
}

.dot-list li:before {
  content: '\f111';
  font: var(--fa-font-solid);
  font-size: 5px;
  color: var(--color-secondary);
  padding: 0.4rem;
  vertical-align: middle;
  line-height: 1.8rem;
}

/***************************************
  고객지원
***************************************/
/*공지사항*/
.notice_board .board_top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  align-items: center;
}

.notice_board .board_total strong{
  color:var(--color-primary);
  font-weight: bolder;
}

.notice_board .board_head, .board_list {
  display: flex;
  padding: 1.2rem 2em 1.2rem 0;
  align-items: center;
}

.notice_board .board_head .num, .notice_board .board_list .num{
  width: 10%;
  text-align: center;
}

.notice_board .board_head .title, .notice_board .board_list .title {
  width: auto;
  flex: 1;
}

.notice_board .board_head .date, .notice_board .board_list .date{
  width: 20%;
  text-align: center;
}

.notice_board .board_list .num, .notice_board .board_list .date{
  color:#666
}

.notice_board .board_list .title p {
  display: inline-block;
  max-width: 700px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 1.4rem;
}

.notice_board .board_list .title.file p{
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.21429 6.60713V11.6071C8.21429 12.5934 9.01378 13.3928 10 13.3928C10.9862 13.3928 11.7857 12.5934 11.7857 11.6071V6.42856C11.7857 4.55474 10.2667 3.03571 8.39286 3.03571C6.51903 3.03571 5 4.55474 5 6.42856V11.9643C5 14.7257 7.23858 16.9643 10 16.9643C12.7614 16.9643 15 14.7257 15 11.9643V6.60713' stroke='%23424A54' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-position: right 3px;
}

.notice_board .board_content p{
  margin-bottom: 0.7rem;
}

.notice_board .board_content .board_file{
  margin-top: 2rem;
}

.notice_board .board_content .board_file a{
  color: #666;
  text-decoration: underline;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.21429 6.60713V11.6071C8.21429 12.5934 9.01378 13.3928 10 13.3928C10.9862 13.3928 11.7857 12.5934 11.7857 11.6071V6.42856C11.7857 4.55474 10.2667 3.03571 8.39286 3.03571C6.51903 3.03571 5 4.55474 5 6.42856V11.9643C5 14.7257 7.23858 16.9643 10 16.9643C12.7614 16.9643 15 14.7257 15 11.9643V6.60713' stroke='%23424A54' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 20px 20px;
  padding-left: 24px;
}

.notice_board .board_content .board_file a:not(:only-child){
  margin-right: 1rem;
}

.notice_board .board_head {
  border-top: 2px solid #222;
  border-bottom: 1px solid #222;
  font-weight: bold;
}

.notice_board .board_head .title{
  text-align: center;
}

.notice_board summary{
  cursor: pointer;
  position: relative;
}
ㄴ
summary {
  list-style-type: none;
}

summary::-webkit-details-marker {
  display: none;
}

.notice_board summary::marker {
  content: none;
}

.notice_board summary:after {
  content: "\f078";
  font: var(--fa-font-solid);
  position: absolute;
  top: calc(50% - 7px);
  right: 20px;
}

.notice_board [open] summary:after {
  transform: rotate(180deg);
}

.notice_board details {
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  transition: all 0.2s;
}

.notice_board details + details {
  border-top: none;
}

.notice_board .board_content {
  padding: 2rem;
  background-color: #f4f4f4;
}

.notice_board details:last-child {
  border-bottom-color: #222;
}

.board_list:has(.fa-thumbtack){
  background-color: #f9f9f9;
  border-bottom: 1px solid var(--color-border);;
}

.board_list:has(.fa-thumbtack) .title{
  color:var(--color-primary);
  font-weight: bold;
}


@media screen and (max-width: 1023px){
  .notice_board .board_head{
    display: none;
  }
  .notice_board details:first-child {
    border-top-color: #222;
  }

  .notice_board .board_list{
    flex-direction: column;
    align-items: normal;
    padding: 1.2rem 2.5rem 1.2rem 1rem;
  }

  .notice_board .board_list .num{
    display: none;
  }

  .notice_board .board_list .title p{
    font-weight: bold;
    max-width: 100%;
  }

  .notice_board .board_list .date{
    text-align: left;
    font-size: 14px;
    margin-top: 0.4rem;
  }
  .notice_board .board_content{
    padding: 1.4rem;
  }
}

/*기관및업체*/
.family_site{
  display: flex;
  flex-wrap: wrap;
}

.family_site li{
  flex-basis: 33.3%;
  padding: 1rem;
}

.family_site_img {
  width: 100%;
  height: 100px;
  border: 1px solid #ddd;
  padding: 1.4rem;
}

.family_site_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.family_site h6+a:has(.family_site_img){
  margin-top: 1rem;
  width: 100%;
}

@media screen and (max-width: 1023px){
  .family_site li{
    flex-basis: 50%;
  }
}

@media screen and (max-width: 550px){
  .family_site li{
    flex-basis: 100%;
  }
}

/***************************************
  페이지네이션
***************************************/
.pagination{
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.pagination .page-btn{
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: 10px;
}

.pagination .page-btn:hover{
  background-color: var(--color-gray200);
}

.pagination .page-btn.now-page{
  background: var(--color-primary);
  color:#fff
}

.pagination .page-btn.disable{
  color: var(--color-gray400);
  cursor: not-allowed;
}

.pagination .page-prev {
  margin-right: 1rem;
}

.pagination .page-next {
  margin-left: 1rem;
}

.pagination .page-btn.disable:hover {
  background: none;
}


/*******************************************
  아코디언(FAQ 자주하는 질문, 개인정보취급안내)
*******************************************/
.accordion .board_list {
  display: flex;
  padding: 1.2rem 2em;
  align-items: center;
}

.accordion .board_list .title {
  width: auto;
  flex: 1;
}

.accordion .board_list .title p {
  display: inline-block;
  max-width: 700px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 1.4rem;
  font-weight: bold;
}

.accordion .board_content p{
  margin-bottom: 0.7rem;
}

.accordion summary{
  cursor: pointer;
  position: relative;
}

.accordion summary::marker {
  content: none;
}

.accordion summary:after {
  content: "\f078";
  font: var(--fa-font-solid);
  position: absolute;
  top: calc(50% - 7px);
  right: 20px;
}

.accordion [open] summary:after {
  transform: rotate(180deg);
}

.accordion details {
  background: #f7f7f7;
  margin-bottom: 1rem;
  border-radius: 1rem;
  transition: all 0.2s;
}

.accordion details:hover{
  background: #ebebeb;
}

.accordion details + details {
  border-top: none;
}

.accordion .board_content {
  padding: 2rem;
  background-color: #f4f4f4;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
}

.accordion details:last-child {
  border-bottom-color: #222;
}



@media screen and (max-width: 1023px){

  .accordion details:first-child {
    border-top-color: #222;
  }

  .accordion .board_list{
    flex-direction: column;
    align-items: normal;
    padding: 1.2rem 2.5rem 1.2rem 1rem;
  }

  .accordion .board_list .title p{
    font-weight: bold;
    max-width: 100%;
  }

  .accordion .board_content{
    padding: 1.4rem;
  }
}



/*faq*/

.faq_board .faq_content_wrap {
  display: flex;
}

.faq_board aside.filter_tab {
  width: 100%;
  max-width: 200px;
  margin-right: 60px;
}

.faq_board aside.filter_tab a{
  width: 100%;
  font-size: 1.3rem;
  padding: 1rem;
  border-radius: 0.7rem;
}

.faq_board aside.filter_tab a:hover{
  background: #f7f7f7;
}

.faq_board aside.filter_tab a span{
  color:var(--color-primary);
  font-weight: bold;
  font-size: 1rem;
}

.faq_board .accordion_content{
  flex:1;
}

.faq_board .accordion details{
  background: white;
}

.faq_board .accordion details:hover{
  background: #f7f7f7;
}

.faq_board li.title:before{
  content: 'Q';
  margin-right: 0.6rem;
  color:#999;
  font-weight: bold;
  position: relative;
  top: -9px;
}

@media screen and (max-width: 1023px){
  .faq_board .faq_content_wrap{
    flex-direction: column;
    gap: 2rem;
  }

  .faq_board aside.filter_tab{
    display: flex;
    max-width: none;
    margin: 0;
  }

  .faq_board aside.filter_tab a{
    font-size: 1rem;
    width: auto;
  }

  .faq_board .accordion details{
    background: #f7f7f7;
  }

  .faq_board .accordion details:hover{
    background: #ebebeb;
  }
}

/***************************************
  Q&A
***************************************/
/*qna글상세*/
.board_view .view-header {
  padding: 1rem 0 2rem;
  border-bottom: 1px solid #666;
}

.board_view .view-header ul {
  display: flex;
  margin-top: 1rem;
  color: #666;
  font-size: 14px;
  gap: 1rem;
}

.board_view .board-content{
  padding: 3rem 0 2rem;
}

.board_view .question-answer{
  padding: 1rem 0;
}

.board_view .answer-text {
  background-color: #f4f4f4;
  padding: 1rem;
  border-radius: 8px;
}

.board_view .board-content p+p, .answer-text p+p {
  margin-top: 1rem;
}

.board_view .question-answer h6{
  padding: 1rem 0;
}

.board_view .listview-btn {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
  border-top: 1px solid #666;
}

.board_view .listview-btn a{
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 0.6rem 2rem;
}

.board_view .listview-btn a:hover{
  border-color:#666;
}

/*qna글쓰기*/
.qna_board .page-title{
  text-align: center;
  margin-bottom: 4rem;
}

.qna_board .field_box {
  background: #fff;
  padding: 3rem 4rem;
  border-radius: 20px;
  box-shadow: none;
}

.qna_board .field_box:has(.page-title) .page-title{
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.qna_board .field_box:has(p) p{
  text-align: center;
  margin-bottom: 3rem;
}

.bottom-btn{
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

.bottom-btn button{
  min-width: 240px;
  height: 52px;
  border-radius: 6px;
  padding: 0.6rem 2rem;
}

.field_box:has(.bottom-btn) button{
  min-width: auto;
  width: 100%;
}

.btn.btn-gray {
  background: var(--color-gray300);
  border-radius: 6px;
}

.btn.btn-primary {
  background: var(--color-primary);
  color: #fff;
  border-radius: 6px;
}

.btn.btn-gray:hover{
  background-color: var(--color-gray400);
}

.btn.btn-primary:hover{
  background-color: #004c94;
}

label.must:after {
  content: '';
  position: absolute;
  top: calc(50% - 3px);
  width: 5px;
  height: 5px;
  background: #ff5448;
  margin-left: 4px;
  border-radius: 50%;
}

@media screen and (max-width: 1023px){
  .qna_board .field_box{
    padding: 2rem;
  }

  .bottom-btn button{
    min-width: auto;
    width: 100%;
    min-width: 80px;
    padding-inline: 0px;
  }
}

/*qna*/
.qna_board .board_top{
  display: flex;
  margin-bottom: 1rem;
  align-items: center;
  gap: 1rem;
}

.qna_board .board_total {
  flex: 1;
}

.qna_board .board_total strong {
  color: var(--color-primary);
  font-weight: bolder;
}

.qna_board .boardwrite-btn{
  display: flex;
}

.qna_board .boardwrite-btn .btn{
  border-radius: 6px;
  padding: 0.6rem 2rem;
  height: 46px;
  line-height: 29px;
}

.qna_board .board_head{
  border-top: 2px solid #222;
  border-bottom: 1px solid #222;
  font-weight: bold;
}

.qna_board .board_list .num, .qna_board .board_list .date, .qna_board .board_list .user {
  color: #666;
}

.qna_board .board_head, .qna_board .board_list {
  display: flex;
  padding: 1.2rem 2em 1.2rem 0;
  align-items: center;
}

.qna_board .board_head .num, .qna_board .board_list .num {
  width: 8%;
  text-align: center;
}

.qna_board .board_head .title, .qna_board .board_list .title {
  width: auto;
  flex: 1;
}

.qna_board .board_head .title {
  text-align: center;
}

.qna_board .board_head .user, .qna_board .board_list .user {
  width: 14%;
  text-align: center;
}

.qna_board .board_head .date, .qna_board .board_list .date {
  width: 14%;
  text-align: center;
}

.qna_board .board_list_wrap a{
  width: 100%;
}

.qna_board .board_list {
  border-bottom: 1px solid var(--color-border);
}

.qna_board .board_list_wrap a:last-child .board_list {
  border-color: #222;
}

.qna_board .board_list .title p {
  display: inline-block;
  max-width: 680px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 1.4rem;
}

li.title.lock p:before {
  content: '\f023';
  font: var(--fa-font-solid);
  display: inline-block;
  padding-right: 0.6rem;
  color: #666;
  font-size: 14px;
}

li.title.answer-finish:before {
  content: '답변완료';
  position: relative;
  font-size: 11px;
  background: #0069ff;
  color: white;
  padding: 4px 5px;
  border-radius: 3px;
  margin-right: 16px;
  top: -11px;
}

li.title.answer-yet:before{
  content: '답변예정';
  position: relative;
  font-size: 11px;
  background: #686868;
  color: white;
  padding: 4px 5px;
  border-radius: 3px;
  margin-right: 16px;
  top: -11px;
}

@media screen and (max-width: 1023px){
  .qna_board .board_top{
    flex-wrap: wrap;
  }

  .qna_board .board_total{
    order: 3;
  }

  .qna_board form:has(.input_box_search) {
    order: 2;
    flex: 1 1 100%;
  }

  .qna_board .boardwrite-btn{
    order: 1;
    flex: 1 1 100%;
  }

  .qna_board .boardwrite-btn .btn {
    width: 100%;
  }

  .qna_board .board_head{
    display: none;
  }

  .qna_board .board_list_wrap a:first-child .board_list {
    border-top: 1px solid #222;
  }

  .qna_board .board_list{
    flex-wrap: wrap;
    flex-direction: row;
    align-items: normal;
    padding: 1.2rem 1rem;
  }

  .qna_board .board_list .num{
    display: none;
  }

  .qna_board .board_list .title{
    width: 100%;
    flex: 1 1 100%;
  }

  .qna_board .board_list .title p{
    font-weight: bold;
    max-width: 100%;
  }

  .qna_board .board_list .user, .qna_board .board_list .date{
    width: auto;
    text-align: left;
    margin-top: 0.4rem;
    margin-right: 1rem;
    font-size: 14px;

  }

  .qna_board .board_content{
    padding: 1.4rem;
  }
}




/***********************************************************
sub tab
***********************************************************/
.sub-tab{
  position: relative;
  top: -2.75rem;
  z-index: 10;
}

.sub-tab .sect-inner{
  padding: 0;
  display: flex;
  gap: 0.4rem;
}

.sub-tab li{
  position: relative;
  background: rgb(57 57 57 / 60%);
  color:#fff;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  flex: 1;
  text-align: center;
  top: -1px;
}

.sub-tab li.active{
  background-color: #ffffff;
  color:#222;
  top:0;
}

.sub-tab li a {
  padding: 0.8rem 2rem;
  width: 100%;
}

@media screen and (max-width: 1023px){
  .sub-tab{
    display: none;
  }
}


.breadcrumb-nav .input_box_combo {
  width: 100%;
}

.breadcrumb-nav .form_inner{
  background-color: transparent;
  border: none;
  height: auto;
}

.breadcrumb-nav .input_box_combo .form_inner:after{
  display: none;
}

.breadcrumb-nav .combo_list li a{
  color:#222;
}

.breadcrumb-nav .combo_list li a:hover{
  text-decoration: none;
}

.breadcrumb-nav .input_box_combo .form_inner .combo_list_inner>li{
  padding: 10px 14px;
  margin: 0;
  width: 100%;
}

.breadcrumb-nav .input_box_combo .form_inner.on .combo_list:has(.combo_list_inner>li:not(:empty)) {
  border-radius: 10px;
  top: 160%;
  display: none;
}

@media screen and (max-width: 1023px){
  .breadcrumbs{
    padding-bottom:0;
  }

  .breadcrumbs .sect-inner{
    margin: 0;
  }

  .breadcrumbs .breadcrumb-nav{
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .6);
    display: flex;
    justify-content: space-between;
    height: 46px;
    line-height: 46px;
    margin-top: 20px;
  }

  .breadcrumb-nav .form_inner{
    padding-inline: 0;
    justify-content: space-around;
  }

  .breadcrumb-nav .input_box_combo .form_inner:after {
    position: relative;
    left: 10px;
    display: block;
  }

  .breadcrumbs .breadcrumb-nav li{
    position: relative;
    margin-right: 0;
    padding-right: 0;
    width: 100%;
  }

  .breadcrumbs .breadcrumb-nav li:first-child{
    flex-basis: 46px;
    padding-inline: 15px;
  }

  .breadcrumbs .breadcrumb-nav > li:after{
    content: '';
    border-right: 1px solid rgba(255, 255, 255, .6);
    display: block;
    width: 1px;
    height: 3rem;
    top: 0;
    right: 0;
  }

  .breadcrumbs .breadcrumb-nav > li:last-child:after{
    display: none;
  }

  .breadcrumb-nav .input_box_combo .form_inner.on .combo_list:has(.combo_list_inner>li:not(:empty)){
    line-height: 2;
    top: 98%;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    display: block;
  }
}



/*스와이프필요한가..?*/
.swipe-inner{
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

.swiper-slide {
  text-align: center;
}

.swiper-pagination{
  display: none;
}

.swiper-pagination-bullet{
  background-color: #fff;
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
}

.swiper-button-next, .swiper-button-prev{
  color:#929292;
}

.swiper-button-next:after, .swiper-button-prev:after{
  font-size: 2rem;
}

.swiper-button-prev{
  left: -50px;
}

.swiper-button-next{
  right: -50px;
}

@media screen and (max-width: 1023px){
  .swiper-pagination{
    display: block;
    position: relative;
    margin-top: 1rem;
  }
}






/***************************************
  툴팁 tooltip
***************************************/
.tooltip {
  position: relative;
  display: block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  min-width: 120px;
  background-color:#343434;
  color: #fff;
  border-radius: 20px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}


/* 툴팁 화살표 기본 스타일 설정 */

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  border-style: solid;
  border-width: 5px;
}

/* 툴팁 방향 설정 */

/* 왼쪽 툴팁 */

.tooltip .tooltip-left {
  top: -5px;
  right: 105%;
}

.tooltip .tooltip-left::after {
  top: 7%;
  left: 100%;
  margin-top: -5px;
  border-color: transparent transparent transparent #343434;
}


/* 오른쪽 툴팁 */

.tooltip .tooltip-right {
  top: -5px;
  left: 105%;
}

.tooltip .tooltip-right::after {
  top: 50%;
  right: 100%;
  margin-top: -5px;
  border-color: transparent #343434 transparent transparent;
}

/* 위쪽 툴팁 */

.tooltip .tooltip-top {
  width: 120px;
  bottom: 150%;
  left: 50%;
  margin-left: -60px;
}

.tooltip .tooltip-top::after {
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-color: #343434 transparent transparent transparent;
}

/* 아래쪽 툴팁*/

.tooltip .tooltip-bottom {
  width: 120px;
  top: 150%;
  left: 50%;
  margin-left: -60px;
}

.tooltip .tooltip-bottom::after {
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  border-color: transparent transparent #343434 transparent;
}



/*======================================
	예약
========================================*/

.content_wrap div:has(.pagetitle+.stepper){
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

body:has(.booking) footer{
  display: none;
}

.stepper {
    display: flex;
    gap: 6px;
}

.stepper li:before{
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    background: #B8B8B8;
    margin-right: 6px;
}
.stepper .step_now:before{
    width: 12px;
    height: 12px;
    background: var(--color-primary) url("/assets/images/check.svg")no-repeat 5px 7px;
}

.stepper .step_past:before{
    background: #fff url("/assets/images/check_blue.svg")no-repeat 2px 2px;
    border: 2px solid var(--color-primary);
}

.stepper li:after{
    content: '';
    width: 24px;
    display: inline-block;
    vertical-align: middle;
    border: 1px dotted #ddd;
}

.stepper li:last-child:after{
    content:'';
    display: none;
}

.stepper li span{
    display: none;
}

.stepper li.step_now span{
    display: inline-block;
    font-weight: bold;
    margin-right: 4px;
}


/*step1*/

.select_journey{
  display: flex;
  background-color: #f9f9f9;
  border-radius: 20px;
}

.journey_title{
  position: relative;
  display: flex;
  flex-basis: 18%;
  padding: 1rem;
}

.journey_title label {
    margin-bottom: 0;
    background: var(--color-secondary);
    padding: 4px 13px;
    color: #fff;
    font-size: 16px;
    margin-right: 0.4rem;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 15px 20px 20px 0;
}

.journey_detail{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem 0 1rem;
}

.journey_detail span{
  font-size: 18px;
  padding-inline: 4px;
}

.journey_detail .time{
  font-size: 18px;
  font-weight: bold;
}

.journey_title .journey_detail div:nth-of-type(1):before{
  content: '';
  background: #666;
  width: 6px;
  height: 6px;
  display: inline-block;
  vertical-align: middle;
  border-radius: 50%;
  margin-inline: 4px 8px;
  position: relative;
  z-index: 1;
}

.journey_title .journey_detail div:nth-of-type(2):before{
  content: '';
  background: url(/assets/images/pin.svg) no-repeat;
  width: 14px;
  height: 14px;
  margin-inline: 0px 8px;
  display: inline-block;
  background-size: contain;
  position: relative;
  z-index: 1;
}

.journey_title .duration{
  color:#999;
  font-size: 13px;
  margin-left: 24px;
}

.journey_title .duration:before{
  content: '';
  position: absolute;
  height: calc(100% - 140px);
  top: 78px;
  left: 22px;
  border-left: 2px dashed #ddd;
}

.select_room{
  flex: 1;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  background: #f2f2f2;
  border-radius: 0 20px 20px 0;
  padding: 1rem;
}

.roomtype {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  flex: 0 1 23.7%;
  padding: 1rem;
  background: #fff;
  border-radius: 10px;
  border:1px solid transparent;
  text-align: left;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}


.roomtype .price{
  font-size: 20px;
  font-weight: bold;
}

.roomtype .remaining{
  font-size: 14px;
  color: #666;
}

button.roomtype:hover{
  border: 1px solid #ddd;
}

button.roomtype.select{
  border: 1px solid #444;
  box-shadow: 0 2px 4px 0px #00000030 ;
}


/*step2*/

.step2 {
    width: 100%;
    position: relative;
}

.booking h4{
    padding: 2rem 0;
}

.booking h4:first-child{
  margin-bottom: 1rem;
}

.step2 .field_box{
  margin-bottom: 3rem;
}
.step2 .tab_wrap .tab_tit{
  border-bottom: none;
  gap: 1rem;
}

.step2 .tab_wrap .tab_tit li{
  padding: 0.3rem 0.8rem;
  margin-bottom: 1rem;
  border: 2px solid #e3e3e3;
  border-radius: 20px;
  background: #e3e3e3;
}

.step2 .tab_wrap .tab_tit li.active{
  font-weight: bold;
  border: 2px solid var(--color-secondary);
  border-radius: 20px;
  background: var(--color-secondary);
  color: #fff;
}



/*step3*/

.step3 {
    width: 100%;
    display: flex;
    gap: 3rem;
}

.booking .content-left{
    width: auto;
    flex: 1 1 auto;
}

.booking .content-right {
    width: auto;
    flex: 0 1 320px;
}

.travelbox {
    display: flex;
    align-items: flex-start;
    padding: 2rem;
    gap: 2rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #ddd;
}

.travelbox:nth-child(1){
  border-top: 1px solid #ddd;
}

.travelbox label{
    background: var(--color-secondary);
    color: #fff;
    border-radius: 10px;
    padding: 0.3rem 0.6rem;
}

.travel-information p{
  font-size: 18px;
  font-weight: bold;
}

.travel-information {
    flex: 1;
    line-height: 2;
}

.travel-information ul{
  display: flex;
  flex-wrap: wrap;
}

.travel-information ul li:after{
  content: 'l';
  padding-inline: 1rem;
  color: #ddd;
}

.travel-information ul li:last-child:after{
  content: '';
}

.travelbox .travel-price{
  color:var(--color-primary);
  font-size: 18px;
}

.field_box{
  border-top: 2px solid #222;
}

.payment-info {
    margin-block: 3rem;
}

.payment-title{
  background: url(/assets/images/Info.svg)no-repeat;
  background-size: 20px;
  /*padding-left: 1.6rem;*/
  background-position: left;
  font-weight: bold;
  margin-bottom: 0.6rem;
}

.payment-info li{
  line-height: 1.5;
  color: var(--color-text-secondary);
  font-size: 15px;
  margin-bottom: 4px;
  word-break: keep-all;
}

.payment-info li:before{
  content: '· ';
}

.content-right .pay {
  line-height: 2.5;
  padding: 1.2rem 1.6rem;
  border: 2px solid #222;
  border-radius: 20px;
}

.content-right .pay ul{
  margin-top: 1rem;
}

.content-right .pay ul li{
  display: flex;
  justify-content: space-between;
}

.content-right .pay .total{
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #ddd;
  margin-top: 1rem;
  padding-top: 1rem;
  align-items: center;
}

.content-right .pay .total span:last-child{
  font-size: 20px;
  color:var(--color-primary)
}


/*step4*/
.step4 {
    width: 100%;
    display: flex;
    gap: 3rem;
}

.step4 .content-left .travelbox:nth-of-type(1){
  border-top: 2px solid #222;
}

.booking_num{
  font-weight: bold;
  margin-bottom: 0.7rem;
  font-size: 18px;
}

.step4 .input_wrap input:disabled{
  color:#222;
}

.step4 .table-wrap{
  border-radius: 0;
  border: none;
  border-top: 2px solid #222;
  border-bottom: 1px solid #ddd;
}

.step4 .table-wrap table{
  font-size: 16px;
  word-break: keep-all;
}

.step4 .table-wrap .table>:not(caption)>*>* {
  font-size: 16px;
}

.step4 .table-wrap table td{
    border-width: 0px;
}

/*booking_footer*/

.booking_footer_wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    z-index: 10;
    width: 100vw;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
    padding: 1rem 2rem;
}

.booking_footer_wrap .total{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1rem;
    align-items: center;
    font-weight: 500;
}

.booking_footer_wrap .total .price{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 2rem;
    order: 2;
    flex: 1;
    justify-content: flex-end;
}

.booking_footer_wrap .total p {
    font-weight: bold;
}

.booking_footer_wrap .total h3{
    color:var(--color-primary);
}

.booking_footer_wrap .total .btn-previous{
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 10px 30px;
    order: 1;
}

.booking_footer_wrap .total .btn-next{
    background: var(--color-primary);
    color: #fff;
    border-radius: 10px;
    padding: 10px 80px;
    order: 3;
}

.btn-next:disabled{
  background-color: var(--color-gray200) !important;
  color: var(--color-gray400) !important;
  cursor: auto;
}

.booking_footer_wrap{
  position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    z-index: 10;
    width: 100vw;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
    padding: 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.booking_footer_wrap details{
  width: 100%;
}

.booking_footer_wrap summary{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  cursor: pointer;
}

.booking_footer_wrap .total {
  flex: 1;
}

.booking_footer_wrap details ul {
  background: #f9f9f9;
  border-radius: 10px;
  padding: 1rem;
  margin-block: 1rem;
}

.booking_footer_wrap details ul li{
  display: flex;
  justify-content: space-between;
  line-height: 2;
}

.booking_footer_wrap .btn-previous {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 30px;
}

.booking_footer_wrap .btn-next{
  background: var(--color-primary);
  color: #fff;
  border-radius: 10px;
  padding: 10px 80px;
}

details summary::-webkit-details-marker {
  display: block;
}

summary .total_price:after {
  content: "";
  background: url(../images/arrowdown.svg);
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
}

details[open] > summary .total_price:after {
  transform: rotate(180deg);
}



@media screen and (max-width: 1200px){
  .roomtype{
    flex: 0 1 32%;
  }
  .select_room{
    border-radius: 0px 0px 20px 20px;
  }

  .select_journey{
    flex-direction: column;
  }

  .journey_detail{
    width: 100%;
    flex-direction: row;
  }

  .journey_title .journey_detail div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
  }

  .journey_title .duration{
    line-height: 5;
    margin: 0;
  }

  .journey_title .duration:before{
    width: 50%;
    height: 2px;
    border-top: 2px dashed #ddd;
    top: 61px;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .journey_title .journey_detail div:nth-of-type(1):before{
    display: block;
    margin: 8px auto;
  }

  .journey_title .journey_detail div:nth-of-type(2):before{
    display: block;
    margin: 6px auto;
  }
}

@media screen and (max-width: 1023px){
  .step2 .tab_wrap .tab_tit{
    justify-content: flex-start;
  }

  .step2 .tab_wrap .tab_tit li{
    flex:none
  }

  .step3{
    flex-direction: column;
  }

  .travelbox{
    flex-direction: column;
    padding: 2rem 1rem;
  }

  .content-right .pay{
    margin-bottom: 4rem;
  }

  .step4{
    flex-direction: column;
  }

  .booking_footer_wrap summary{
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
  }

  .booking_footer_wrap .total{
    order: 1;
    flex: 1 1 100%;
    justify-content: space-between;
  }

  .booking_footer_wrap .btn-previous{
    order: 2;
  }

  .booking_footer_wrap .btn-next{
    order: 3;
  }
}

@media screen and (max-width: 879px){
    .roomtype {
        flex: 0 1 48%;
    }
}

@media screen and (max-width: 579px){
    .content_wrap div:has(.pagetitle+.stepper){
      flex-direction: column-reverse;
      gap: 2rem;
    }

    .step1 .roomtype {
        flex: 1 1 100%;
    }

    .input_wrap.phone .input_box_combo {
      flex: 0 0 40%;
    }

    .step2 .tab_wrap .tab_tit{
      gap: 0.3rem;
      flex-wrap: nowrap;
      overflow-x: auto;
    }

    .booking_footer_wrap{
      padding: 1rem;
    }

    .booking_footer_wrap .btn-previous{
      flex:1;
    }

    .booking_footer_wrap .btn-next{
      flex:2;
    }

    .booking_footer_wrap details ul {
        margin-block: 1rem 0;
    }

    .booking_footer_wrap details ul li{
      font-size: 15px;
    }
}



/*예약동의*/

.agreement .content-center{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.agreement .check_box{
  font-size: 18px;
  font-weight: bold;
}

.agree-content{
  background: #f9f9f9;
  border: 1px solid #ddd;
  color: #444;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  padding: 1rem;
  overflow: auto;
  white-space: pre-wrap;
  height: 10rem;
  overflow-y: auto;
  font-size: 15px;
}

.agreement details[open] summary{
  border-radius: 10px 10px 0 0;
}

.agreement summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 10px;
  cursor: pointer;
}

.agreement summary .check_box{
  font-size: 16px;
  font-weight: normal;
}

.agreement summary::marker {
  content: none;
}

.agreement summary:after{
  content: "";
  background: url(/assets/images/arrowdown.svg);
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
}

.agreement details[open] > summary:after {
  transform: rotate(180deg);
}

.agreement_footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
}

.agreement_footer .btn-next{
    background: var(--color-primary);
    color: #fff;
    border-radius: 10px;
    padding: 10px 80px;
}

@media screen and (max-width: 579px){
  .agreement_footer{
    flex-direction: column;
    align-items: normal;
    gap: 1rem;
  }

  .agreement_footer .btn-next{
    flex: 1 1 100%;
  }
}