@charset "UTF-8";
/*
Copyright (c) 2021 Kil Hyung-jin, with Reserved Font Name Pretendard.
https://github.com/orioncactus/pretendard

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
*/
@font-face {
  font-family: "Pretendard Variable";
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
  src: url("../fonts/PretendardVariable.woff2") format("woff2-variations");
}
@font-face {
  font-family: "SF_HambakSnow";
  src: url("../fonts/SF_HambakSnow.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/*-----------------------
Author : Sooj
Last Updated : 2022-03-18
Reference : The new CSS reset - version 1.5.1 (last updated 1.3.2022) (https://github.com/elad2412/the-new-css-reset)
------------------------*/
/* 모든 브라우저 스타일 초기화 */
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* 박스스타일 지정 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* 기본 라인 높이 설정 */
/* ios 폰트사이즈 변화 대응 */
html {
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
}
@media screen and (max-width: 1248px) {
  html {
    font-size: 15px;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 14px;
  }
}

/* 포인트 커서 적용 */
a,
button {
  cursor: pointer;
  color: #6a6e79;
  text-decoration: none;
}

strong {
  font-weight: 700;
}

/* 리스트 스타일 삭제 */
ol,
ul,
menu {
  list-style: none;
}

/* 이미지가 컨테이너 영역을 넘어갈 수 없도록 지정 */
img,
picture,
video,
canvas,
svg {
  display: block;
}

/* 테이블 셀 간 간격 삭제 */
table {
  border-collapse: collapse;
}

/* 체크박스, 라디오스타일 */
input[type=checkbox] {
  -webkit-appearance: checkbox;
}

input[type=radio] {
  -webkit-appearance: radio;
}

/* 웹폰트가 나눔스퀘어일때 */
/* 사파리에서 textarea의 공백 되돌림 */
textarea {
  white-space: revert;
}

/* meter 최소 스타일링 */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

/* placeholder 초기화 */
/* 모든 hidden 요소 숨김 ( display:revert; 로 되돌림 ) */
:where([hidden]) {
  display: none;
}

/* 크롬 버그 복구 */
:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
}

/* 드래그 기능 다시적용 ( Chrome 및 Safari ) */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
}

body {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding: 0;
  font-family: "Pretendard Variable", "맑은 고딕", "MalgumGothic", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #6a6e79;
  letter-spacing: -0.03rem;
  line-height: 1.6;
  overflow-y: scroll;
  overflow-x: hidden;
}

.wrapper--push,
.header--push {
  margin-left: -40%;
}
@media screen and (max-width: 576px) {
  .wrapper--push,
.header--push {
    margin-left: -80%;
  }
}

.wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  min-height: 100vh;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.wrapper--locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  z-index: 9999;
  transition: all 0.3s ease-in-out;
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    height: 6rem;
  }
}
@media screen and (max-width: 576px) {
  .header__inner {
    height: 4.5rem;
  }
}
.header::after {
  content: "";
  display: block;
  position: absolute;
  top: 6.4375rem;
  left: 0;
  right: 0;
  height: 1px;
  background-color: rgba(213, 218, 231, 0.2);
}
@media screen and (max-width: 1024px) {
  .header::after {
    top: 6rem;
  }
}
@media screen and (max-width: 576px) {
  .header::after {
    top: 4.5rem;
  }
}
.header--normal, .header--active, .header--fixed {
  background-color: #ffffff;
  box-shadow: 0 0.5rem 1rem rgba(106, 110, 121, 0.1);
}
.header--normal .logo h1, .header--active .logo h1, .header--fixed .logo h1 {
  background-image: url("../img/common/logo.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.header--normal .gnb__item > a, .header--active .gnb__item > a, .header--fixed .gnb__item > a {
  color: #383c46;
}
.header--normal {
  box-shadow: none;
}
.header--normal::after {
  display: none;
}
.header--active::after {
  background-color: #d5dae7;
}
.header--fixed::after {
  display: none;
}
.header:not(.header--active, .header--fixed, .header--normal) .menuall__btn::after {
  color: #ffffff;
}

.logo {
  display: block;
  position: absolute;
  top: 1.625rem;
}
.logo h1 {
  width: 11.25rem;
  height: 3.125rem;
  text-indent: -9999px;
  background-image: url("../img/common/logo_w.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 1024px) {
  .logo {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 576px) {
  .logo h1 {
    width: 8.75rem;
    height: 2.25rem;
  }
}

.gnb {
  position: relative;
  margin-left: auto;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .gnb {
    display: none;
  }
}
.gnb__list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  height: 100%;
}
.gnb__item {
  height: 100%;
  padding: 0 2rem;
}
.gnb__item > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 0.5rem;
  font-size: 1.375rem;
  font-weight: 500;
  color: #ffffff;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1600px) {
  .gnb__item > a {
    font-size: 1.25rem;
  }
}
.gnb__item > a span {
  position: relative;
  line-height: 1;
}
.gnb__item > a span::after {
  content: "";
  display: block;
  position: absolute;
  top: -0.3125rem;
  right: -1.875rem;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #bdde3a;
  border-radius: 999px;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.gnb__item:hover {
  cursor: pointer;
}
.gnb__item:hover > a {
  font-weight: 700;
}
.gnb__item:hover > a span::after {
  right: -1.25rem;
  opacity: 1;
}
.gnb__item:hover .depth2__list > a {
  color: #6a6e79;
}

.depth2 {
  display: none;
  padding: 2rem 0 2.5rem;
}
.depth2__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.depth2__list > a {
  font-size: 1.125rem;
  font-weight: 500;
  color: #b2b6c2;
}
.depth2__list > a:hover {
  color: #383c46;
  font-weight: 700;
}

.footer {
  position: relative;
  background-color: #ffffff;
  border-top: 1px solid #d5dae7;
  z-index: 1;
}
.footer__inner {
  padding: 5rem;
  text-align: center;
  color: #b2b6c2;
}
@media screen and (max-width: 1024px) {
  .footer__inner {
    padding: 3.75rem;
  }
}
@media screen and (max-width: 576px) {
  .footer__inner {
    padding: 2.5rem;
  }
}
.footer .setting-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.5rem;
  padding: 0 1rem;
  margin-top: 0.5rem;
  background-color: #383c46;
  color: #ffffff;
  border-radius: 999px;
}

.header__inner,
.main-section__inner,
.banner__inner,
.footer__inner {
  position: relative;
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1600px) {
  .header__inner,
.main-section__inner,
.banner__inner,
.footer__inner {
    max-width: 78rem;
  }
}
@media screen and (max-width: 1248px) {
  .header__inner,
.main-section__inner,
.banner__inner,
.footer__inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.menuall {
  display: none;
  position: fixed;
  top: 0;
  right: -40%;
  width: 40%;
  height: 100%;
  background-color: #ffffff;
  z-index: 10000;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .menuall {
    display: block;
  }
}
@media screen and (max-width: 576px) {
  .menuall {
    right: -80%;
    width: 80%;
  }
}
.menuall--active {
  right: 0;
}
.menuall__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 1.875rem;
  left: -3.75rem;
  width: 2.25rem;
  height: 2.25rem;
}
@media screen and (max-width: 576px) {
  .menuall__btn {
    top: 1.125rem;
  }
}
.menuall__btn::after {
  content: "\e98f";
  font-family: "feather";
  font-size: 2rem;
  color: #383c46;
  line-height: 1;
}
.menuall__btn--close::after {
  content: "\ea02";
  color: #d5dae7;
}
.menuall__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 1.5rem 0;
}
.menuall__item > a {
  display: block;
  padding: 1rem 1.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  color: #383c46;
}
.menuall .depth2 {
  padding: 0;
  background-color: #f6f8fa;
}
.menuall .depth2__list {
  align-items: stretch;
  gap: 0.25rem;
  padding: 1rem 1.5rem;
}
.menuall .depth2__list > a {
  padding: 0.5rem 1rem;
  color: #6a6e79;
  font-size: 1.125rem;
  font-weight: 500;
}

.layer-dim {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(24, 28, 37, 0.7);
  z-index: 100;
}

.container {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
}

.pagetop {
  position: relative;
  width: 100%;
  height: 22.5rem;
  background: #383c46;
}
@media screen and (max-width: 1024px) {
  .pagetop {
    height: 20rem;
  }
}
@media screen and (max-width: 576px) {
  .pagetop {
    height: 13.75rem;
  }
}
.pagetop__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 0;
}
.pagetop__bg img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%) scale(1.2);
  opacity: 0.3;
  transition: all 4s ease-in-out;
}
.pagetop__bg--active img {
  opacity: 0.6;
  transform: translate(-50%, -50%) scale(1);
}
.pagetop__title {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  height: 100%;
  padding-bottom: 3rem;
}
@media screen and (max-width: 1024px) {
  .pagetop__title {
    padding-bottom: 2.5rem;
  }
}
@media screen and (max-width: 576px) {
  .pagetop__title {
    padding-bottom: 1.5rem;
  }
}
.pagetop h2 {
  font-size: 3rem;
  font-family: "SF_HambakSnow", sans-serif;
  color: #ffffff;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .pagetop h2 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .pagetop h2 {
    font-size: 2.25rem;
  }
}
@media screen and (max-width: 576px) {
  .pagetop h2 {
    font-size: 1.75rem;
  }
}
.pagetop h2.nosub {
  padding-bottom: 1.5rem;
}

.lnbtab {
  position: relative;
  margin-top: 2rem;
  font-family: #383c46;
}
@media screen and (max-width: 1024px) {
  .lnbtab {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 576px) {
  .lnbtab {
    margin-top: 1rem;
  }
}
.lnbtab__info {
  display: none;
  color: #ffffff;
}
@media screen and (max-width: 1024px) {
  .lnbtab__info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 18rem;
    height: 3rem;
    padding: 0 1rem;
    border: 1px solid #bdde3a;
    border-radius: 999px;
    font-size: 1.25rem;
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .lnbtab__info {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 576px) {
  .lnbtab__info {
    width: 15rem;
    height: 2.5rem;
    font-size: 1rem;
  }
}
.lnbtab__info::after {
  content: "\e92e";
  font-family: "feather";
}
.lnbtab__info--active::after {
  content: "\e931";
  font-family: "feather";
}
.lnbtab__list {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
@media screen and (max-width: 1024px) {
  .lnbtab__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    position: absolute;
    top: 3rem;
    left: 50%;
    width: 18rem;
    height: 0;
    background-color: #f6f8fa;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    transform: translateX(-50%);
    box-shadow: 0 0.5rem 1rem rgba(24, 28, 37, 0.2);
  }
  .lnbtab__list--active {
    height: auto;
    opacity: 1;
    visibility: visible;
    transition: all 0.3s ease-in-out;
  }
}
@media screen and (max-width: 768px) {
  .lnbtab__list {
    top: 3rem;
  }
}
@media screen and (max-width: 576px) {
  .lnbtab__list {
    top: 2.5rem;
    width: 15rem;
  }
}
.lnbtab__item {
  display: flex;
  align-items: center;
  position: relative;
  height: 3rem;
  padding: 0 1.25rem;
  color: #ffffff;
  font-size: 1.25rem;
  border-radius: 999px;
}
@media screen and (max-width: 1024px) {
  .lnbtab__item {
    justify-content: center;
    color: #383c46;
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  .lnbtab__item {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 576px) {
  .lnbtab__item {
    font-size: 1rem;
  }
}
.lnbtab__item--active {
  font-weight: 700;
  color: #bdde3a;
  border: 2px solid #bdde3a;
}
@media screen and (max-width: 1024px) {
  .lnbtab__item--active {
    background-color: #383c46;
    border: 0;
  }
}
.lnbtab__item--active::after {
  transform: translateX(10%);
  opacity: 1;
}
.lnbtab__item:not(.lnbtab__item--active):where(.lnbtab__item:hover, .lnbtab__item:focus) {
  font-weight: 700;
}
.lnbtab__item:not(.lnbtab__item--active):where(.lnbtab__item:hover, .lnbtab__item:focus)::after {
  transform: translateX(10%);
  opacity: 1;
  background-color: #bdde3a;
}

.pagetab {
  width: 100%;
  padding-top: 1.5rem;
}
.pagetab__list {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem 2rem;
}
.pagetab__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: #b2b6c2;
}
.pagetab__item span {
  padding: 0 0.5rem 0.375rem;
}
.pagetab__item::after {
  content: "";
  width: 100%;
  height: 0.25rem;
  background-color: #b2b6c2;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.pagetab__item--active {
  font-weight: 700;
  color: #383c46;
}
.pagetab__item--active::after {
  background-color: #491eca;
  opacity: 1;
}
.pagetab__item:hover:not(.pagetab__item--active)::after {
  background-color: #b2b6c2;
  opacity: 1;
}

.page {
  flex-grow: 1;
  position: relative;
  padding: 5rem 1.5rem 7.5rem;
  background-color: #ffffff;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .page {
    padding: 4rem 0 7rem;
  }
}
@media screen and (max-width: 576px) {
  .page {
    padding: 2.5rem 0 4rem;
  }
}

.cont-box__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-bottom: 2.5rem;
  margin-bottom: 4rem;
  border-bottom: 1px solid #d5dae7;
}
@media screen and (max-width: 1024px) {
  .cont-box__title {
    gap: 0.5rem;
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 576px) {
  .cont-box__title {
    gap: 0.25rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 360px) {
  .cont-box__title {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
}
.cont-box__title > p {
  font-family: "SF_HambakSnow", sans-serif;
  color: #383c46;
  font-weight: 700;
  font-size: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .cont-box__title > p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 576px) {
  .cont-box__title > p {
    font-size: 1.625rem;
  }
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: #383c46;
}
@media screen and (max-width: 360px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb__item {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 576px) {
  .breadcrumb__item {
    font-size: 1rem;
  }
}
.breadcrumb__item--line {
  display: block;
}
.breadcrumb__item--line::after {
  content: "\e930";
  font-family: "feather";
  color: #d5dae7;
}
.breadcrumb__item--active {
  font-weight: 700;
  color: #bdde3a;
}

.inner {
  position: relative;
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1600px) {
  .inner {
    max-width: 78rem;
  }
}
@media screen and (max-width: 1248px) {
  .inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.article {
  padding: 0 2.5rem;
}
@media screen and (max-width: 576px) {
  .article {
    padding: 0 1rem;
  }
}
.article--row {
  display: flex;
  gap: 3.5rem;
}
@media screen and (max-width: 768px) {
  .article--row {
    flex-direction: column;
    gap: 2.5rem;
  }
}
.article__box {
  flex-grow: 1;
}
.article__box--left, .article__box--right {
  flex-basis: 50%;
}
@media screen and (max-width: 768px) {
  .article__box--left, .article__box--right {
    flex-basis: 100%;
  }
}
.article ~ .article {
  margin-top: 5rem;
}

.article-block__wrap {
  display: flex;
  align-items: stretch;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .article-block__wrap {
    flex-direction: column;
    gap: 1rem;
  }
}
.article-block__wrap .article-block__title {
  align-items: stretch;
  min-width: 8.75rem;
  margin-bottom: 0;
}
.article-block__wrap ~ .article-block__wrap {
  margin-top: 1.5rem;
}
.article-block__headline {
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.75rem;
  font-family: "SF_HambakSnow", sans-serif;
  color: #383c46;
  font-weight: 700;
  border-bottom: 1px solid #383c46;
}
.article-block__headline small {
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Pretendard Variable", "맑은 고딕", "MalgumGothic", sans-serif;
  margin-left: 0.5rem;
}
.article-block__title {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  color: #383c46;
  font-size: 1.125rem;
  font-weight: 700;
}
.article-block__title::before {
  content: "\e975";
  font-family: "feather";
  margin-right: 0.5rem;
  color: #bdde3a;
}
.article-block__img--greet {
  position: relative;
  width: 30rem;
  height: 35rem;
}
@media screen and (max-width: 1248px) {
  .article-block__img--greet {
    width: 22.5rem;
    height: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .article-block__img--greet {
    width: 100%;
    height: auto;
  }
}
.article-block__img img {
  width: 100%;
  height: auto;
  min-height: 100%;
  object-fit: cover;
}
.article-block__list {
  list-style: disc;
  padding-left: 1.25rem;
  line-height: 2;
}
.article-block__list dl {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
}
.article-block__list dl dt {
  font-weight: 700;
}
.article-block__list dl dd {
  display: flex;
  flex-direction: column;
}
.article-block__text p {
  word-break: keep-all;
}
.article-block__text p ~ p {
  margin-top: 0.5rem;
}
.article-block__text ~ .article-block__text {
  margin-top: 1rem;
}
.article-block__text .download {
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  color: #383c46;
  margin: 0.5rem 0;
  border-bottom: 1px solid #491eca;
}
.article-block__text .download::before {
  content: "\e955";
  font-family: "feather";
  padding-right: 0.25rem;
  color: #491eca;
}
.article-block__notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background-color: #f6f8fa;
  border: 1px solid #d5dae7;
}
.article-block__notice::before {
  content: "\e97c";
  font-family: "feather";
  color: #6a6e79;
}
.article-block__table table {
  width: 100%;
  border-bottom: 1px solid #383c46;
}
.article-block__table table th {
  background-color: #383c46;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  padding: 0.5rem 1rem;
}
.article-block__table table td {
  border-bottom: 1px solid #d5dae7;
  padding: 0.75rem 1rem;
}
.article-block__table table td.day {
  width: 5rem;
  text-align: center;
  color: #383c46;
  font-weight: 500;
  background-color: #f6f8fa;
  border-right: 1px solid #d5dae7;
  vertical-align: middle;
}
.article-block__table table td.time {
  width: 10rem;
  background-color: #bdde3a;
  color: #383c46;
  font-weight: 700;
  text-align: center;
  border-color: #383c46;
}
.article-block ~ .article-block {
  margin-top: 2.5rem;
}

.map {
  border: 1px solid #383c46;
}
.map__info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: #383c46;
  padding: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .map__info {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.5rem;
  }
}
.map__item {
  color: #d5dae7;
  font-weight: 500;
}
@media screen and (max-width: 576px) {
  .map__item {
    font-size: 1rem;
  }
}
.map__item--addr {
  display: flex;
  align-items: center;
  margin-right: auto;
  font-size: 1.125rem;
}
@media screen and (max-width: 1024px) {
  .map__item--addr {
    margin-bottom: 0.5rem;
  }
}
.map__item--addr::before {
  content: "\e98c";
  font-family: "feather";
  margin-right: 0.5rem;
  color: #bdde3a;
}
.map__item > a {
  color: inherit;
}
.map__item strong {
  font-weight: 700;
  margin-right: 0.25rem;
}
.map__print {
  width: 100%;
  height: 31.25rem;
}
@media screen and (max-width: 576px) {
  .map__print {
    height: 16.25rem;
  }
}

.business__list {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
}
.business__item {
  flex-basis: calc(33.3333333333% - 1.5rem / 3 * 2);
  padding: 1.5rem;
  background-color: #f6f8fa;
}
@media screen and (max-width: 1024px) {
  .business__item {
    flex-basis: calc(50% - 1.5rem / 2);
    padding: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .business__item {
    flex-basis: 100%;
  }
}
.business__info {
  padding-top: 1.5rem;
}
.business__title {
  color: #383c46;
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
.business__thumb {
  max-height: 16.25rem;
  overflow: hidden;
}
.business__thumb img {
  width: 100%;
  height: auto;
  min-height: 100%;
  object-fit: cover;
}

.event__list {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
}
.event__item {
  flex-basis: calc(20% - 1.5rem / 5 * 4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 4px solid #bdde3a;
  color: #383c46;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 1rem;
}
@media screen and (max-width: 1440px) {
  .event__item {
    flex-basis: calc(25% - 1.5rem / 4 * 3);
  }
}
@media screen and (max-width: 1248px) {
  .event__item {
    flex-basis: calc(33.3333333333% - 1.5rem / 3 * 2);
  }
}
@media screen and (max-width: 768px) {
  .event__item {
    flex-basis: calc(50% - 1.5rem / 2);
  }
}
@media screen and (max-width: 576px) {
  .event__item {
    flex-basis: 100%;
  }
}
.event__item span {
  text-align: center;
}

.image__list {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
}
.image__item {
  flex-basis: calc(50% - 1.5rem / 2);
}
@media screen and (max-width: 768px) {
  .image__item {
    flex-basis: 100%;
  }
}
.image__item img {
  width: 100%;
}

.organization__list p {
  display: flex;
  align-items: center;
  justify-content: center;
}
.organization__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  z-index: 1;
}
.organization__item > p {
  background-color: #bdde3a;
  color: #383c46;
  margin-bottom: 1.875rem;
  width: 40%;
  height: 3.75rem;
}
@media screen and (max-width: 576px) {
  .organization__item > p {
    width: 70%;
  }
}
.organization__item::after {
  content: "";
  display: block;
  position: absolute;
  top: 3.75rem;
  width: 1px;
  height: 9.375rem;
  background-color: #d5dae7;
  z-index: 0;
}
.organization__depth2 {
  position: relative;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.organization__depth2 li {
  flex-basis: 30%;
}
.organization__depth2 p {
  min-height: 3.75rem;
  height: auto;
  background-color: #b2b6c2;
  color: #383c46;
}
.organization__depth2::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 50%;
  height: 1px;
  background-color: #d5dae7;
  z-index: -1;
}
.organization__depth3 {
  position: relative;
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  width: 100%;
  padding: 3.75rem 0 0;
  z-index: 1;
}
@media screen and (max-width: 576px) {
  .organization__depth3 {
    flex-direction: column;
    padding-top: 1.875rem;
  }
}
.organization__depth3 li {
  flex-basis: calc(33.3333333333% - 1.5rem / 3 * 2);
}
.organization__depth3 p {
  min-height: 3.75rem;
  height: auto;
  background-color: #383c46;
  color: #bdde3a;
}
.organization__depth3::after {
  content: "";
  display: block;
  position: absolute;
  top: 1.875rem;
  width: 60%;
  height: 3.75rem;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #d5dae7;
  z-index: -1;
}
@media screen and (max-width: 576px) {
  .organization__depth3::after {
    top: 1.875rem;
    left: 50%;
    width: 1px;
    height: calc(100% - 1.875rem);
    border: none;
    background-color: #d5dae7;
  }
}

.board {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.board__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .board__head {
    flex-direction: column;
    justify-content: flex-start;
  }
}
.board__head .util {
  flex-shrink: 0;
  font-weight: 500;
}
.board__head .util strong {
  color: #383c46;
}
@media screen and (max-width: 768px) {
  .board__head .util {
    display: none;
  }
}
.board__head .sch {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .board__head .sch {
    width: 100%;
    gap: 0.5rem;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .board__head .sch .check-wrap {
    width: 100%;
  }
}
.board__head .sch__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  color: #383c46;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .board__head .sch__btn {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.25rem;
  }
}
.board__head .sch .input {
  display: flex;
  align-items: center;
  height: auto;
  background-color: #f6f8fa;
}
.board__head .sch select,
.board__head .sch input {
  height: 3rem;
  line-height: 3rem;
  padding: 0 1rem;
  vertical-align: middle;
  color: #383c46;
  border: none;
}
@media screen and (max-width: 768px) {
  .board__head .sch select,
.board__head .sch input {
    height: 2.5rem;
    line-height: 2.5rem;
  }
}
.board__head .sch select {
  width: 100%;
  min-width: 6.25rem;
  max-width: 7.5rem;
  background: url("../img/common/icon_select.png") no-repeat 90% 50% #f6f8fa;
  background-size: 1rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .board__head .sch select {
    min-width: 5rem;
  }
}
@media screen and (max-width: 576px) {
  .board__head .sch input {
    width: 11.25rem;
  }
}
.board__list, .board__view {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #383c46;
}
@media screen and (max-width: 1024px) {
  .board__list {
    border-top: 2px solid #383c46;
  }
}
.board__item {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}
@media screen and (max-width: 1024px) {
  .board__item {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }
}
.board__item:hover:not(.board__item--header) {
  background: #f6f8fa;
}
.board__item:hover:not(.board__item--header) .subject {
  text-decoration: underline;
}
.board__item:not(:last-of-type, .board__item--header, .gallery__item) {
  border-bottom: 1px dashed #d5dae7;
}
.board__item--header {
  background-color: #383c46;
  border-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .board__item--header {
    display: none;
  }
}
.board__item--header p,
.board__item--header .infobox > p {
  text-align: center;
  font-size: 1.125rem;
  color: #ffffff !important;
  font-weight: 500;
}
.board__item--header .subject {
  flex: 1;
}
.board__item:hover .thumb img {
  transform: scale(1.1);
  opacity: 0.6;
}
@media screen and (max-width: 576px) {
  .board__item:hover .thumb img {
    transform: scale(1);
    opacity: 1;
  }
}
.board__item .num {
  width: 5rem;
  text-align: center;
}
@media screen and (max-width: 1248px) {
  .board__item .num {
    display: none;
  }
}
.board__item .infobox {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .board__item .infobox {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.5rem;
    order: 2;
  }
}
.board__item .infobox .info {
  display: flex;
  align-items: center;
  color: #6a6e79;
  font-weight: 500;
  margin: auto -0.5rem 0;
}
@media screen and (max-width: 576px) {
  .board__item .infobox .info {
    flex-wrap: wrap;
  }
}
.board__item .infobox .info p {
  flex-shrink: 0;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .board__item .infobox .info p {
    text-align: left;
    width: auto !important;
    padding: 0 0.5rem;
  }
}
.board__item .infobox .info p.writer {
  width: 10rem;
}
.board__item .infobox .info p.date {
  width: 7.5rem;
}
.board__item .infobox .info p.duration {
  width: 16.25rem;
}
.board__item .infobox .info p.hit {
  width: 5rem;
}
.board__item .infobox .info em {
  display: none;
}
@media screen and (max-width: 1024px) {
  .board__item .infobox .info em {
    display: inline-block;
    padding-right: 0.25rem;
  }
  .board__item .infobox .info em::after {
    content: ":";
  }
}
.board__item .infobox .subject {
  flex-grow: 1;
  position: relative;
  font-size: 1.125rem;
  color: #383c46;
  font-weight: 500;
  line-height: 140%;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.board__item .infobox .desc {
  margin-top: 1rem;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.board__item--null {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: 16.5rem;
  background-color: #f6f8fa;
  border-bottom: 0;
  font-weight: 500;
  font-size: 1.125rem;
  color: #b2b6c2;
}
@media screen and (max-width: 1440px) {
  .board__item--null {
    height: 15rem;
  }
}
@media screen and (max-width: 1024px) {
  .board__item--null {
    font-size: 1rem;
  }
}
.board__item--null::before {
  content: "\e978";
  display: block;
  font-family: "feather";
  font-size: 1.5rem;
}
.board .category {
  width: 11.25rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .board .category {
    text-align: left;
    order: 1;
  }
}
.board__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding-top: 3.5rem;
}

.blog__list,
.gallery__list {
  border-top: 2px solid #383c46;
}
.blog__item,
.gallery__item {
  align-items: stretch;
  justify-content: flex-start;
  padding: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .blog__item,
.gallery__item {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .blog__item,
.gallery__item {
    padding-left: 0;
    padding-right: 0;
  }
}
.blog .thumb,
.gallery .thumb {
  flex-shrink: 0;
  display: block;
  width: 100%;
  height: 15rem;
  background: #b2b6c2;
  overflow: hidden;
  border: 1px solid #d5dae7;
}
.blog .thumb img,
.gallery .thumb img {
  width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: all 0.3s ease-in-out;
}
.blog .infobox,
.gallery .infobox {
  flex-direction: column;
  align-items: flex-start;
}
.blog .infobox .subject,
.gallery .infobox .subject {
  flex-grow: 0;
  font-size: 1.25rem;
  font-weight: 700;
}
@media screen and (max-width: 576px) {
  .blog .infobox .subject,
.gallery .infobox .subject {
    font-size: 1.125rem;
    max-height: 3rem;
  }
}
@media screen and (max-width: 576px) {
  .blog .infobox .desc,
.gallery .infobox .desc {
    display: none;
  }
}
.blog .infobox .info p,
.gallery .infobox .info p {
  width: auto !important;
  padding: 0 0.5rem;
  text-align: left;
}
.blog .infobox .info p.date, .blog .infobox .info p.writer,
.gallery .infobox .info p.date,
.gallery .infobox .info p.writer {
  color: #383c46;
}
.blog .infobox .info p.date em, .blog .infobox .info p.writer em,
.gallery .infobox .info p.date em,
.gallery .infobox .info p.writer em {
  display: none;
}
.blog .infobox .info p.hit em,
.gallery .infobox .info p.hit em {
  margin-right: 0.25rem;
  display: inline-block;
}
.blog .infobox .info p.hit em::after,
.gallery .infobox .info p.hit em::after {
  display: none;
}

.blog__item {
  gap: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .blog__item {
    flex-direction: row;
  }
}
@media screen and (max-width: 576px) {
  .blog__item {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.blog .thumb {
  width: 21.25rem;
}
@media screen and (max-width: 1024px) {
  .blog .thumb {
    width: 18.75rem;
    height: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .blog .thumb {
    width: 17.5rem;
  }
}
@media screen and (max-width: 576px) {
  .blog .thumb {
    width: 100%;
  }
}
.blog .infobox {
  justify-content: space-between;
  padding: 1rem 0;
}
@media screen and (max-width: 576px) {
  .blog .infobox {
    padding: 0 0.5rem;
  }
}
.blog--poster .blog__list {
  flex-flow: row wrap;
  gap: 1rem;
}
.blog--poster .blog__item {
  flex: 0 1 calc(50% - 1rem / 2 * 2);
}
@media screen and (max-width: 1024px) {
  .blog--poster .blog__item {
    flex: 0 1 100%;
  }
}
@media screen and (max-width: 576px) {
  .blog--poster .blog__item {
    flex-direction: row;
    padding-left: 0.5rem;
  }
}
@media screen and (max-width: 360px) {
  .blog--poster .blog__item {
    flex-direction: column;
    padding-left: 0;
  }
}
.blog--poster .thumb {
  height: 27.5rem;
}
@media screen and (max-width: 1440px) {
  .blog--poster .thumb {
    width: 18.75rem;
    height: 25rem;
  }
}
@media screen and (max-width: 1248px) {
  .blog--poster .thumb {
    width: 15rem;
    height: 20rem;
  }
}
@media screen and (max-width: 360px) {
  .blog--poster .thumb {
    width: 100%;
    height: auto;
  }
}

.gallery__list {
  flex-flow: row wrap;
  padding: 1.5rem 0;
  gap: 1.5rem 1rem;
}
@media screen and (max-width: 576px) {
  .gallery__list {
    padding: 0;
  }
}
.gallery__item {
  flex: 0 1 calc(33.3333333333% - 1rem / 3 * 2);
  flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .gallery__item {
    flex: 0 1 calc(50% - 1rem / 2 * 2);
  }
}
@media screen and (max-width: 576px) {
  .gallery__item {
    flex: 0 1 100%;
    gap: 1.5rem;
  }
  .gallery__item:not(:last-of-type) {
    border-bottom: 1px dashed #d5dae7;
  }
}
.gallery .badge {
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 1024px) {
  .gallery .badge {
    margin-bottom: 0;
  }
}
.gallery .thumb {
  height: 17.5rem;
}
@media screen and (max-width: 768px) {
  .gallery .thumb {
    height: 12.5rem;
  }
}
.gallery .infobox .info {
  margin-top: 0.5rem;
}
@media screen and (max-width: 1024px) {
  .gallery .infobox .info {
    margin-top: 0;
  }
}

.view .title-write {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.view .title-write input {
  max-width: 100% !important;
}
.view .title-write strong {
  color: #383c46;
}
.view .title-write ~ .title-write {
  margin-top: 1rem;
}
.view input[type=text] {
  width: 100%;
  max-width: 18rem;
  height: 2.5rem;
  border: 1px solid #d5dae7;
  background-color: #f6f8fa;
  padding: 0 1rem;
  color: #6a6e79;
}
.view input[type=file] {
  width: 100%;
}
.view input::placeholder {
  color: #b2b6c2;
}
.view .post-top {
  position: relative;
  padding: 0 0.5rem 2rem;
  border-bottom: 1px solid #383c46;
}
@media screen and (max-width: 1024px) {
  .view .post-top {
    padding-bottom: 1.5rem;
  }
}
.view .post-top .category {
  text-align: left;
  margin-bottom: 1rem;
}
.view .post-top__info {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.view .post-top__info .infobox {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.view .post-top__info .subject {
  font-size: 1.5rem;
  color: #383c46;
  font-weight: 700;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 1024px) {
  .view .post-top__info .subject {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 576px) {
  .view .post-top__info .subject {
    font-size: 1.125rem;
  }
}
.view .post-top__info .info {
  display: flex;
  align-items: center;
  padding-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .view .post-top__info .info {
    flex-direction: column;
    align-items: stretch;
  }
}
.view .post-top__info .info > p {
  margin-right: 1rem;
}
.view .post-top__info .info > p em {
  color: #383c46;
  font-weight: 500;
  margin-right: 0.5rem;
}
.view .post {
  display: block;
  padding: 2.5rem 0.5rem;
  overflow-x: auto;
}
.view .post img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
}
.view .filebox,
.view .urlbox,
.view .catebox {
  display: flex;
  align-items: stretch;
}
.view .filebox__list,
.view .urlbox__list,
.view .catebox__list {
  padding: 1.5rem 0.5rem;
}
.view .filebox__item,
.view .urlbox__item,
.view .catebox__item {
  display: flex;
  align-items: center;
}
.view .filebox__item::before,
.view .urlbox__item::before,
.view .catebox__item::before {
  font-family: "feather";
  margin-right: 0.5rem;
  color: #6a6e79;
}
.view .filebox a,
.view .urlbox a,
.view .catebox a {
  color: #383c46;
}
.view .filebox a:hover,
.view .urlbox a:hover,
.view .catebox a:hover {
  text-decoration: underline;
}
.view .catebox {
  border-bottom: 1px solid #d5dae7;
}
.view .urlbox {
  border-bottom: 1px solid #d5dae7;
}
.view .urlbox__wrap {
  display: flex;
  gap: 1rem;
  width: 100%;
  padding: 1.5rem 0.5rem;
}
@media screen and (max-width: 1024px) {
  .view .urlbox__wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
}
.view .urlbox__wrap dl {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .view .urlbox__wrap dl {
    width: 100%;
  }
}
.view .urlbox__wrap dl dt {
  color: #383c46;
  font-weight: bold;
}
.view .urlbox__item {
  font-weight: 500;
}
.view .urlbox__item::before {
  content: "\e982";
  color: #491eca;
}
.view .filebox {
  border-top: 1px solid #d5dae7;
}
.view .filebox__item::before {
  content: "\e955";
  color: #491eca;
}
.view .filebox__item ~ .filebox__item {
  margin-top: 0.5rem;
}
.view .filebox__files {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  padding: 1.5rem 0.5rem;
}
.view .filebox__file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.view .filebox__file .file > img {
  width: 16.25rem;
  height: auto;
  max-height: 31.25rem;
  border-radius: 1rem;
}
.view .filebox__file .edit {
  margin-left: auto;
}
.view .filebox__file ~ .filebox__file {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px dashed #d5dae7;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.pagination__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.25rem;
  color: #383c46;
  font-weight: 500;
  border-radius: 999px;
}
@media screen and (max-width: 576px) {
  .pagination__item {
    font-size: 1rem;
  }
}
.pagination__item--active {
  font-weight: 700;
  background-color: #491eca;
  color: #ffffff;
}
.pagination__item--btn {
  font-size: 1.25rem;
  color: #b2b6c2;
  transition: all 0.3s ease-in-out;
}
.pagination__item--btn:hover {
  color: #6a6e79;
}
.pagination__item:hover:not(.pagination__item--active) {
  background-color: #d5dae7;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  padding: 0 0.5rem;
  background-color: #bdde3a;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 999px;
  font-size: 0.875rem;
  line-height: 1;
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.btn__item {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: 1.125rem;
  line-height: 1;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 576px) {
  .btn__item {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .btn__item--pconly {
    display: none;
  }
}
.btn__item--board {
  min-width: 12.5rem;
  height: 4rem;
  font-weight: 700;
  font-size: 1.25rem;
  color: #383c46;
  background-color: #bdde3a;
}
@media screen and (max-width: 768px) {
  .btn__item--board {
    height: 3rem;
  }
}
.btn__item--board:hover {
  gap: 3.75rem;
  color: #383c46;
  background-color: #a3c421;
}
.btn__item--big {
  min-width: 12.5rem;
  height: 3.5rem;
}
@media screen and (max-width: 768px) {
  .btn__item--big {
    height: 3rem;
  }
}
.btn__item--sml {
  height: 2rem;
  padding: 0 0.5rem;
  gap: 0.25rem;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
}
.btn__item--mid {
  height: 3rem;
  padding: 0 1rem;
  border-radius: 1rem;
}
@media screen and (max-width: 768px) {
  .btn__item--mid {
    height: 2.5rem;
  }
}
.btn__item--black {
  background: #383c46;
  color: #ffffff;
}
.btn__item--black:hover {
  background: #4f5462;
  box-shadow: 0 0 0 0.25rem rgba(56, 60, 70, 0.4);
}
.btn__item--line {
  border: 1px solid #383c46;
  color: #383c46;
}
.btn__item--line:hover {
  box-shadow: 0 0 0 0.25rem rgba(56, 60, 70, 0.4);
}
.btn__item--primary {
  background: #bdde3a;
  color: #ffffff;
}
.btn__item--primary:hover {
  background: #a3c421;
  box-shadow: 0 0 0 0.25rem rgba(189, 222, 58, 0.4);
}
.btn__sch {
  width: 5rem;
}

@keyframes jump-shaking {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateY(-0.25rem);
  }
  35% {
    transform: translateY(-0.25rem) rotate(17deg);
  }
  55% {
    transform: translateY(-0.25rem) rotate(-17deg);
  }
  65% {
    transform: translateY(-0.25rem) rotate(17deg);
  }
  75% {
    transform: translateY(-0.25rem) rotate(-17deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
input[type=checkbox], input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  cursor: pointer;
}
input[type=checkbox] ~ label, input[type=radio] ~ label {
  display: inline-block;
  position: relative;
  width: auto;
  padding-left: 1.75rem;
  vertical-align: middle;
  color: #383c46;
  cursor: default;
}
input[type=checkbox] ~ label::before, input[type=radio] ~ label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  text-align: center;
  border: 1px solid #d5dae7;
  border-radius: 0.25rem;
  background: #ffffff;
  transform: translateY(-50%);
}
input[type=checkbox] ~ label::after, input[type=radio] ~ label::after {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  position: absolute;
  font-weight: 700;
}
input[type=checkbox]:disabled ~ label::before, input[type=radio]:disabled ~ label::before {
  border: 1px solid #b2b6c2;
  background: #d5dae7;
}
input[type=checkbox]:checked ~ label::before, input[type=radio]:checked ~ label::before {
  border-color: #383c46;
}
input[type=checkbox] ~ label::after {
  top: 50%;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  transform: translateY(-50%);
}
input[type=checkbox]:checked ~ label::before {
  border: 1px solid #bdde3a;
  background: #bdde3a;
}
input[type=checkbox]:checked ~ label::after {
  content: "\e92b";
  font-family: "feather";
}
input[type=checkbox]:checked:disabled ~ label::before {
  border: 1px solid #b2b6c2;
  background: #d5dae7;
}
input[type=checkbox]:checked:disabled ~ label::after {
  color: #b2b6c2;
}
input[type=radio] ~ label::before {
  border-radius: 100%;
}
input[type=radio] ~ label::after {
  top: 50%;
  left: 0.25rem;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: -0.25rem;
}
input[type=radio]:checked ~ label::after {
  background: #bdde3a;
  border-radius: 100%;
}

select {
  width: 100%;
  max-width: 12.5rem;
  border: 1px solid #d5dae7;
  height: 2.5rem;
  line-height: 2.5rem;
  padding: 0 1rem;
  vertical-align: middle;
  background: url("../img/common/icon_select.png") no-repeat 85% 50%;
  background-size: 0.875rem;
}

textarea {
  width: 100%;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #d5dae7;
  color: #383c46;
  text-align: left;
}
textarea::placeholder {
  color: #b2b6c2;
}
textarea:read-only {
  background: #f6f8fa;
  cursor: default;
}
textarea:disabled {
  background: #f6f8fa;
  color: #b2b6c2;
  cursor: no-drop;
}

.shop__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 4rem;
}
@media screen and (max-width: 1024px) {
  .shop__list {
    gap: 3rem;
  }
}
.shop__item {
  flex: 0 1 calc(33.3333333333% - 4rem / 3 * 2);
}
@media screen and (max-width: 1024px) {
  .shop__item {
    flex: 0 1 calc(33.3333333333% - 3rem / 3 * 2);
  }
}
@media screen and (max-width: 768px) {
  .shop__item {
    flex: 0 1 calc(50% - 3rem / 2 * 2);
  }
}
@media screen and (max-width: 576px) {
  .shop__item {
    flex: 0 1 100%;
    border-bottom: 1px dashed #d5dae7;
  }
}
.shop__item:hover .thumb img {
  transform: scale(1.1);
}
.shop__item:hover .thumb::before {
  opacity: 1;
}
.shop__item:hover .name {
  font-weight: 700;
}
.shop__info {
  padding: 1.5rem 0;
}
.shop__info p {
  line-height: 1;
}
.shop .name {
  width: 100%;
  margin-top: 1rem;
  font-weight: 700;
  color: #383c46;
  font-size: 1.375rem;
  line-height: 1.4;
  transition: all 0.3s ease-in-out;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-all;
}
@media screen and (max-width: 1248px) {
  .shop .name {
    margin-top: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .shop .name {
    font-size: 1.125rem;
  }
}
.shop .name:hover {
  font-weight: 700;
}
.shop .price {
  margin-top: 0.5rem;
  font-weight: 700;
  color: #bdde3a;
  font-size: 1.375rem;
}
@media screen and (max-width: 768px) {
  .shop .price {
    font-size: 1.125rem;
  }
}
.shop .price small {
  margin-left: 0.25rem;
  font-size: 1.125rem;
}
.shop .thumb {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.shop .thumb img {
  width: 100%;
  transition: all 0.3s ease-in-out;
}
.shop .thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 0.5rem solid #bdde3a;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.mainpop {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 31.25rem;
  height: auto;
  z-index: 10000;
  transform: translate(-50%, -50%);
}
.mainpop__wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(24, 28, 37, 0.4);
  z-index: 10000;
}
@media screen and (max-width: 768px) {
  .mainpop {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  .mainpop {
    width: 90%;
  }
}
.mainpop__inner {
  box-shadow: 0.25rem 0.25rem 0.25rem rgba(56, 60, 70, 0.2);
}
.mainpop__inner img {
  width: 100%;
  height: auto;
}
.mainpop__bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 1rem;
  height: 3.75rem;
  background-color: #383c46;
}
.mainpop__today {
  color: #ffffff;
  cursor: pointer;
}
.mainpop__close {
  position: relative;
  color: #bdde3a;
  font-weight: 700;
  text-align: right;
}
.mainpop .slide-count {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  color: #ffffff;
  font-size: 1.25rem;
}
.mainpop .slick-arrow {
  position: absolute;
  top: 50%;
  width: 2.5rem;
  height: 2.5rem;
  transform: trnaslateY(-50%);
  text-indent: -9999px;
}
.mainpop .slick-prev {
  left: -3rem;
  background-image: url("../img/main/news_arrow_left.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.mainpop .slick-next {
  right: -3rem;
  background-image: url("../img/main/news_arrow_right.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.main-vis {
  position: relative;
  overflow: hidden;
  width: 100vw;
  background-color: #181c25;
  transition: height 0.3s ease-in-out;
}
.main-vis__item--active .main-vis__img {
  transform: scale(1) rotate(0.003deg);
}
.main-vis__item--active .main-vis__img img {
  opacity: 0.85;
}
.main-vis__text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 90rem;
  margin-top: -3.5rem;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1600px) {
  .main-vis__text {
    max-width: 78rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 1248px) {
  .main-vis__text {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
.main-vis__text .slogan {
  font-size: 5.5rem;
  color: #ffffff;
  font-family: "SF_HambakSnow", sans-serif;
  line-height: 1.1;
}
@media screen and (max-width: 1600px) {
  .main-vis__text .slogan {
    font-size: 4.5rem;
  }
}
@media screen and (max-width: 1248px) {
  .main-vis__text .slogan {
    font-size: 4rem;
  }
}
@media screen and (max-width: 576px) {
  .main-vis__text .slogan {
    font-size: 3rem;
  }
}
@media screen and (max-width: 360px) {
  .main-vis__text .slogan {
    font-size: 2.5rem;
  }
}
.main-vis__text .desc {
  margin-top: 2.5rem;
  color: #ffffff;
  font-size: 1.5rem;
}
@media screen and (max-width: 1600px) {
  .main-vis__text .desc {
    margin-top: 2rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 576px) {
  .main-vis__text .desc {
    margin-top: 1.5rem;
    font-size: 1rem;
  }
}
.main-vis__text span {
  display: block;
}
.main-vis__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  transform: scale(1.2) rotate(0.003deg);
  transition: transform 4s ease-in-out;
}
.main-vis__img img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
  transition: opacity 4s ease-in-out;
}
.main-vis .scroll-down {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 7.5rem;
  width: 6.25rem;
  height: 6.25rem;
  background-color: #bdde3a;
  border-radius: 999px;
  margin-left: -45rem;
  text-indent: -9999px;
  animation: scrollShadow 0.8s infinite;
}
.main-vis .scroll-down::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  background-image: url("../img/main/scroll_down.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  animation: scrollArrow 0.8s infinite;
}

.main-section__inner {
  border-left: 1px solid #d5dae7;
  border-right: 1px solid #d5dae7;
  padding: 9.25rem 3rem;
}
@media screen and (max-width: 1600px) {
  .main-section__inner {
    padding: 7.5rem 2rem;
  }
}
@media screen and (max-width: 1248px) {
  .main-section__inner {
    border: none;
    padding: 5rem 1.5rem;
  }
}
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  padding: 0 0.5rem;
  background-color: #bdde3a;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 999px;
  font-size: 0.875rem;
  line-height: 1;
}

.product .name, .main-section .subject {
  width: 100%;
  font-weight: 500;
  color: #383c46;
  font-size: 1.375rem;
  line-height: 1.4;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1600px) {
  .product .name, .main-section .subject {
    font-size: 1.25rem;
  }
}
.product .name:hover, .main-section .subject:hover {
  font-weight: 700;
}

.main-section .desc {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .main-section .desc {
    line-height: 1.4;
  }
}

.main-section .date {
  color: #b2b6c2;
}

.community .main-section__inner {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 6rem;
}
@media screen and (max-width: 1600px) {
  .community .main-section__inner {
    gap: 4rem;
  }
}
@media screen and (max-width: 1024px) {
  .community .main-section__inner {
    flex-direction: column;
    justify-content: flex-start;
    gap: 3rem;
  }
}
.community .main-section__inner::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 31rem;
  display: block;
  width: 1px;
  background-color: #d5dae7;
}
@media screen and (max-width: 1600px) {
  .community .main-section__inner::after {
    left: 22.75rem;
  }
}
@media screen and (max-width: 1248px) {
  .community .main-section__inner::after {
    display: none;
  }
}
.community__wrap:first-of-type {
  flex-shrink: 0;
  width: 25rem;
}
@media screen and (max-width: 1600px) {
  .community__wrap:first-of-type {
    width: 18.75rem;
  }
}
@media screen and (max-width: 1024px) {
  .community__wrap:first-of-type {
    width: 100%;
  }
}
.community__wrap:last-of-type {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 53rem;
}
@media screen and (max-width: 1600px) {
  .community__wrap:last-of-type {
    width: 51rem;
  }
}
@media screen and (max-width: 1248px) {
  .community__wrap:last-of-type {
    width: calc(100% - 23rem);
  }
}
@media screen and (max-width: 1024px) {
  .community__wrap:last-of-type {
    justify-content: flex-start;
    align-items: stretch;
    gap: 3rem;
    width: 100%;
  }
}
.community__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2.5rem;
}
@media screen and (max-width: 1600px) {
  .community__item {
    gap: 1.75rem;
  }
}
.community__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.community__title .title {
  font-size: 2rem;
  font-weight: 700;
  color: #383c46;
}
@media screen and (max-width: 1600px) {
  .community__title .title {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 1248px) {
  .community__title .title {
    font-size: 1.5rem;
  }
}
.community__title .view-more {
  display: block;
  width: 2.25rem;
  height: 1.375rem;
  text-indent: -9999px;
  background-image: url("../img/main/more.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 1600px) {
  .community__title .view-more {
    width: 1.875rem;
    height: 1.125rem;
  }
}
.community__title .view-more:hover {
  animation: goArr 0.8s infinite;
}

.news__item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .news__item {
    flex-direction: row;
    align-items: stretch;
  }
}
@media screen and (max-width: 576px) {
  .news__item {
    flex-direction: column;
  }
}
.news__item:hover .subject {
  font-weight: 700;
}
.news__item:hover .thumb img {
  transform: scale(1.1);
}
.news__item:hover .thumb::before {
  opacity: 1;
}
.news .desc {
  margin-top: 0.5rem;
}
.news .date {
  margin-top: 1.5rem;
}
.news .thumb {
  height: 26.875rem;
}
.news .thumb img {
  width: 100%;
  min-height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 1600px) {
  .news .thumb {
    height: auto;
  }
}

.notice {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .notice {
    flex-direction: column;
  }
}
.notice__item {
  position: relative;
  width: 50%;
  padding: 2rem;
  background-color: #f6f8fa;
}
@media screen and (max-width: 1600px) {
  .notice__item {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .notice__item {
    width: 100%;
    padding: 1.25rem;
  }
}
.notice__item:hover .subject {
  font-weight: 700;
}
.notice__item:hover::before {
  opacity: 1;
}
.notice__item > p {
  margin-top: 0.5rem;
}
.notice__item .subject {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 1600px) {
  .notice__item .subject {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-all;
  }
}
.notice__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 0.5rem solid #bdde3a;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.press {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
}
@media screen and (max-width: 1600px) {
  .press {
    gap: 1rem;
  }
}
.press__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .press__item {
    flex-direction: column;
    align-items: stretch;
  }
}
.press__item::before {
  content: "";
  flex-shrink: 0;
  flex-grow: 0;
  display: block;
  width: 0.5rem;
  height: 0.25rem;
  margin-right: 0.5rem;
  background-color: #bdde3a;
}
@media screen and (max-width: 768px) {
  .press__item::before {
    display: none;
  }
}
.press .subject {
  flex-grow: 1;
  margin-right: 4rem;
  font-size: 1.125rem;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .press .subject {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}
.press .date {
  flex-shrink: 0;
}

.minishop .main-section__inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 4rem;
}
.minishop__side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2.5rem;
}
.minishop__title {
  width: 18rem;
  font-family: "SF_HambakSnow", sans-serif;
  font-size: 2.5rem;
  line-height: 1.3;
  color: #383c46;
}
.minishop__title span {
  display: block;
}
.minishop__nav {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
}
.minishop__menu {
  display: block;
  position: relative;
  font-size: 1.25rem;
  color: #383c46;
  font-weight: 500;
  line-height: 1;
}
.minishop__menu::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -1.875rem;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #383c46;
  border-radius: 999px;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.minishop__menu:hover {
  font-weight: 700;
}
.minishop__menu:hover::after {
  right: -1.25rem;
  opacity: 1;
}
.minishop__menu--active {
  font-weight: 700;
  color: #bdde3a;
}
.minishop__menu--active::after {
  background-color: #bdde3a;
  opacity: 1;
  right: -1.25rem;
}

.product {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 3.9375rem;
}
.product__item {
  width: 18rem;
}
.product__item:hover .thumb img {
  transform: scale(1.1);
}
.product__item:hover .thumb::before {
  opacity: 1;
}
.product__item:hover .name {
  font-weight: 700;
}
.product__info {
  padding: 1.5rem 0;
}
.product__info p {
  line-height: 1;
}
.product .name {
  margin-top: 1rem;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: break-all;
}
.product .price {
  margin-top: 0.75rem;
  font-weight: 700;
  color: #bdde3a;
}

.thumb {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.thumb img {
  width: 100%;
  transition: all 0.3s ease-in-out;
}
.thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 0.5rem solid #bdde3a;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 1248px) {
  .banner {
    margin-bottom: 5rem;
  }
}
.banner .main-section__inner {
  padding: 3.5rem 0 7.5rem;
}
@media screen and (max-width: 1248px) {
  .banner .main-section__inner {
    display: flex;
    align-items: stretch;
    flex-direction: row-reverse;
    padding: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .banner .main-section__inner {
    flex-direction: column-reverse;
  }
}
.banner__text {
  width: 55.5rem;
  padding: 5rem 7rem;
  margin-left: -4rem;
  margin-top: -3.5rem;
  background-color: #383c46;
}
@media screen and (max-width: 1248px) {
  .banner__text {
    width: 60%;
    padding: 4rem;
    margin-left: 0;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .banner__text {
    width: 100%;
    padding: 2.625rem 2.25rem;
  }
}
@media screen and (max-width: 576px) {
  .banner__text {
    padding: 2rem 1.5rem;
  }
}
.banner__text h2 {
  line-height: 1;
  font-family: "SF_HambakSnow", sans-serif;
  font-size: 3.5rem;
  color: #bdde3a;
}
@media screen and (max-width: 1248px) {
  .banner__text h2 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .banner__text h2 {
    font-size: 2.25rem;
  }
}
@media screen and (max-width: 576px) {
  .banner__text h2 {
    font-size: 1.5rem;
  }
}
.banner__text .desc {
  margin-top: 1.5rem;
  font-size: 1.25rem;
  color: #d5dae7;
}
@media screen and (max-width: 1248px) {
  .banner__text .desc {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 1024px) {
  .banner__text .desc {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 576px) {
  .banner__text .desc {
    font-size: 1rem;
  }
}
.banner__text .desc span {
  display: block;
}
.banner__btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 4.5rem;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .banner__btn {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 576px) {
  .banner__btn {
    margin-top: 2rem;
    font-size: 1rem;
  }
}
.banner__btn::after {
  content: "";
  width: 2.25rem;
  height: 1.5rem;
  background-image: url("../img/main/festival_arrow.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.banner__btn:hover {
  color: #bdde3a;
}
.banner__btn:hover::after {
  animation: goArr 0.8s infinite;
}
.banner__img {
  position: absolute;
  top: 3.5rem;
  right: -4rem;
  width: 47rem;
  height: 25rem;
  overflow: hidden;
}
@media screen and (max-width: 1248px) {
  .banner__img {
    position: relative;
    top: 0;
    right: 0;
    width: 40%;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .banner__img {
    width: 100%;
  }
}
.banner__img img {
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1248px) {
  .banner__img img {
    height: 100%;
  }
}

@keyframes goArr {
  0% {
    transform: translateX(-1rem);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes scrollShadow {
  0% {
    box-shadow: 0 0 0 0.5rem rgba(189, 222, 58, 0);
  }
  100% {
    box-shadow: 0 0 0 1.5rem rgba(189, 222, 58, 0.2);
  }
}
@keyframes scrollArrow {
  0% {
    transform: translateY(-1rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.login__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 30rem;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 576px) {
  .login__inner {
    width: 100%;
  }
}
.login__input {
  display: flex;
  flex-direction: column-reverse;
}
.login__input .alert {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
.login__input .alert.warning {
  color: #b70000;
}
.login__input label {
  font-weight: 700;
  color: #383c46;
  margin-bottom: 0.25rem;
}
.login__input input {
  background: #f6f8fa;
  height: 3rem;
  padding: 0 1rem;
  border: 1px solid #f6f8fa;
}
.login__input input:focus {
  border: 1px solid #bdde3a;
  background: #ffffff;
}
.login__input input:focus + label {
  color: #383c46;
  font-weight: 700;
}
.login__input ~ .login__input {
  margin-top: 1rem;
}
.login .id-save {
  text-align: right;
  margin: 1rem 0 0.5rem;
}
.login .id-save label::before {
  margin-right: 0.5rem;
}

.btn--login {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  height: 3.5rem;
  background-color: #bdde3a;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.125rem;
  transition: all 0.3s ease-in-out;
}
.btn--login:hover {
  background-color: #a3c421;
}

/*# sourceMappingURL=style.css.map */
