/* VAR */
:root {

  /* color : 아래 5개만 사용합니다. 그 이상 넘어갈 경우 디자이너에게 수정 요청해주세요. */
  --colorUtilBackground: #1f51c0;
  --colorUtilText: #fff;
  --colorMenuBackground: #1f51c0;
  --colorMenuText: #fff;
  --colorMenuTextActive: #fff;
}



/* header */
header.forTemplate .header-top-search {gap: 0.5rem; height: 2.5rem;}
header.forTemplate .header-top-search .insert-group {width: 14.15rem; height: 100%; border-radius: 1.25rem; background-color: #ededed;}
header.forTemplate .header-top-search .insert-group select {width: 4rem; border-radius: 1.25rem 0 0 1.25rem;}
header.forTemplate .header-top-search .insert-group input {width: calc(100% - 4rem); border-radius: 0 1.25rem 1.25rem 0;}
header.forTemplate .header-top-search button {width: 2.5rem; height: 100%; border-radius: 50%; background-color: var(--colorUtilBackground); font-size: 1rem; color: var(--colorUtilText);}
header.forTemplate .header-top-util button {background-color: var(--colorUtilBackground); color: var(--colorUtilText);}
header.forTemplate .header-bottom {border-top-color: var(--colorMenuBackground); border-bottom-color: var(--colorMenuBackground); background-color: var(--colorMenuBackground);}
header.forTemplate .header-bottom-menu .depth-01 > li > a {color: var(--colorMenuText); transition: 0.3s;}
header.forTemplate .header-bottom-menu .depth-01 > li > a span {padding: 0 2px; position: relative; z-index: 0;}
header.forTemplate .header-bottom-menu .depth-01 > li > a span::before {content: ""; display: block; width: 0%; height: 0.45rem; border-radius: 0.225rem; background-color: rgba(255, 255, 255, 0.2); position: absolute; left: 0; bottom: 0; z-index: -1; transition: 0.3s;}
/* header : active */
header.forTemplate .header-bottom-menu .depth-01 > li.on > a,
header.forTemplate .header-bottom-menu .depth-01 > li.active > a {color: var(--colorMenuTextActive);}
header.forTemplate .header-bottom-menu .depth-01 > li.on > a,
header.forTemplate .header-bottom-menu .depth-01 > li.active > a span::before {width: 100%;}



/* main */
main {position: relative;}
main::before {content: ""; display: block; width: calc(50% + 45.15rem); height: 44.35rem; border-top-right-radius: 22.175rem; background-color: #e9e0ff; position: absolute; left: 0; bottom: 0; z-index: -2;}



/* section */
#section01 {z-index: 1;}
#section02 {position: relative;}
#section02::before {content: ""; display: block; width: 26.8rem; height: 26.8rem; border-radius: 50%; border: 6rem solid #ffeff4; position: absolute; left: var(--container-gap); top: 0; transform: translate(-60.26%, -58.4%); z-index: -1;}
#section02::after {content: ""; display: block; width: 19.7rem; height: 19.7rem; border-radius: 50%; border: 5rem solid #eef8ff; position: absolute; right: var(--container-gap); bottom: 0; transform: translate(75.38%, 17.51%); z-index: -1;}



@media (max-width: 1280px) {

  /* header */
  header.forTemplate .header-util .btn-menu {background-color: var(--colorUtilBackground); color: var(--colorUtilText);}

  /* main */
  main::before {display: none;}

  /* section */
  #section02::before,
  #section02::after {display: none;}
  #section03 {position: relative;}
  #section03::before {content: ""; width: 100vw; height: calc(((100% - var(--container-gap)) / 4) + var(--container-gap)); background-color: #e9e0ff; position: absolute; left: calc(50% - 50vw); bottom: calc(var(--container-gap) * -1); z-index: -1;}
  #section03 ~ .custom-section {position: relative;}
  #section03 ~ .custom-section::before {content: ""; width: 100vw; height: calc(100% + var(--container-gap)); background-color: #e9e0ff; position: absolute; left: calc(50% - 50vw); bottom: calc(var(--container-gap) * -1); z-index: -1;}
}