/* -------------------------------------------------------------------------- */
/*                                   Colors                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                              Default Functions                             */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                               Default Mixins                               */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                Custom Layout                               */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   Header                                   */
/* -------------------------------------------------------------------------- */
@media screen and (width <= 768px) {
  .header__wrapper-xl {
    height: 85px;
  }
  .header__logo, .header__box {
    filter: drop-shadow(0 0 0);
  }
  .header__logo {
    width: 247px;
    height: 65px;
    border-radius: 0;
    background-color: transparent;
    z-index: 150;
    border: 1px solid #aaaaaa;
  }
  .header__logo a {
    width: inherit;
    height: inherit;
    border-radius: 0;
  }
  .header__menu {
    width: 65px;
    height: 65px;
    border-radius: 0;
    padding: 0;
  }
  .header__menu img {
    margin: auto;
  }
  .header__news {
    width: 100%;
    position: relative;
    inset: 0;
    border-radius: 0;
    padding: 4rem 1.6rem 5rem;
  }
  .header__news-wrapper {
    flex-flow: column nowrap;
  }
  .header__news-wrapper .cmn-header {
    margin: 0;
  }
  .header__news .news__list {
    margin-bottom: 0;
  }
}
/* --------------------------------- Visual --------------------------------- */
@media screen and (width <= 1600px) {
  .mainvis__header {
    margin: 0 auto 13.7rem 5rem;
  }
}
@media screen and (width <= 768px) {
  .mainvis__wrapper-xl {
    height: 42rem;
  }
  .mainvis__box {
    justify-content: end;
  }
  .mainvis__header {
    margin: auto auto 2rem auto;
  }
  .subvis__img img {
    height: 20rem;
  }
  .subvis__box {
    justify-content: center;
    align-items: center;
  }
  .subvis__header {
    margin: 4rem auto 0;
    padding: 1rem 1.5rem;
  }
  .subvis__header h2 {
    font-size: 2.4rem;
  }
}
/* -------------------------------------------------------------------------- */
/*                                    Main                                    */
/* -------------------------------------------------------------------------- */
@media screen and (width <= 768px) {
  /* --------------------------------- Sec00 -------------------------------- */
  .sec00__wrapper {
    width: min(100%, 420px);
    flex-flow: column nowrap;
  }
  .sec00__item:not(:last-child) {
    margin-bottom: 1rem;
  }
  .sec00__item-link {
    font-size: 2.2rem;
  }
  /* --------------------------------- Sec01 -------------------------------- */
  .sec01__wrapper-l {
    padding-block: 10rem 5rem;
  }
  .sec01__wrapper-l::before {
    content: none;
  }
  .sec01__header {
    margin-bottom: 3rem;
  }
  .sec01__header::before {
    transform: translate(-45px, -100px);
  }
  .sec01__header h3 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
  }
  .sec01__header p {
    font-size: 1.8rem;
  }
  .sec01__list {
    gap: 1.5rem;
    flex-flow: column nowrap;
  }
  .sec01__item {
    width: min(100%, 285px);
    font-size: 1.6rem;
    padding-left: 3.5rem;
  }
  .sec01__item::before {
    width: 23px;
    height: 23px;
    border-radius: 0;
    inset: 0 auto auto 0;
  }
  .sec01__list2 {
    gap: 2rem;
  }
  .sec01__item2 {
    font-size: 2.5rem;
  }
  /* --------------------------------- Sec02 -------------------------------- */
  .sec02__content {
    padding: 16rem 1.6rem 5rem;
  }
  .sec02__content .cmn-textbox {
    margin-bottom: 3rem;
  }
  .sec02__header {
    margin-bottom: 2.5rem;
  }
  .sec02__header::before {
    inset: 0 0 auto 0;
    margin-inline: auto;
    width: 228px;
    height: 116px;
    border-radius: 0;
    transform: translate(0, -130px);
  }
  .sec02__header h3 {
    font-size: 2.2rem;
    line-height: 3.4rem;
  }
  .sec02__subtitle {
    font-size: 1.6rem;
    padding: 0.8rem 1.5rem;
  }
  .sec02__subtitle:last-of-type {
    margin-bottom: 2rem;
  }
  /* --------------------------------- Sec03 -------------------------------- */
  .sec03__wrapper-xl {
    position: relative;
  }
  .sec03__wrapper-xl::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    margin-inline: auto;
    width: 400px;
    height: 250px;
    border-radius: 0;
    background: no-repeat center/contain url("/assets/images/top/sec03_img2.webp");
    opacity: 0.2;
  }
  .sec03__content::before {
    content: none;
  }
  .sec03 .cmn-textbox {
    margin-bottom: 4rem;
  }
  /* ---------------------------------- Sec04 --------------------------------- */
  .sec04 {
    padding-inline: 1.6rem;
  }
  .sec04__wrapper {
    margin-bottom: 0;
  }
  .sec04__list {
    align-items: center;
    flex-flow: column nowrap;
    gap: 1rem;
  }
  .sec04__item {
    width: min(100%, 340px);
    height: 300px;
    border-radius: 15px;
  }
  .sec04__item-link {
    align-items: center;
    padding: 2rem 1.5rem;
    gap: 0rem;
  }
  .sec04__box {
    width: min(100%, 884px);
    height: 353px;
    border-radius: 0;
    margin-bottom: 0;
  }
  .sec04__box-link {
    background: no-repeat center/contain url("/assets/images/top/sec04_img5.webp");
  }
  .sec04__box-link::before {
    content: none;
  }
  .sec04__box-header {
    margin: auto;
  }
  .sec04__box-header::before {
    content: none;
  }
  .sec04__box-header h3 {
    font-size: 2.2rem;
  }
  /* --------------------------------- Sec05 -------------------------------- */
  .sec05__text {
    margin-bottom: 1rem;
  }
  .sec05__box {
    margin-bottom: 2rem;
  }
  .sec05__button {
    height: 6rem;
  }
  .sec05__button span {
    font-size: 1.8rem;
  }
  /* --------------------------------- Sec07 -------------------------------- */
  .sec07 {
    overflow: hidden;
  }
  .sec07__wrapper-xl {
    align-items: center;
    flex-flow: column nowrap;
    gap: 0.5rem;
  }
  .sec07__img {
    height: 20rem;
  }
  .sec07__img--des1 {
    order: 2;
  }
  .sec07__content {
    margin-bottom: 3rem;
  }
  .sec07__subtitle {
    font-size: 2rem;
    padding: 1rem 1.5rem;
    margin-bottom: 3rem;
  }
  /* --------------------------------- Sec08 -------------------------------- */
  .sec08__item:not(:last-child) {
    margin-bottom: 3rem;
  }
  .sec08__item-header {
    margin-bottom: 1.5rem;
  }
  .sec08__item-header h4 {
    font-size: 1.8rem;
  }
  /* --------------------------------- Sec09 -------------------------------- */
  .sec09__list {
    margin-bottom: 3rem;
  }
  .sec09__item:not(:last-child) {
    margin-bottom: 3rem;
  }
  .sec09__item, .sec09__item:nth-child(even) {
    align-items: center;
    flex-flow: column nowrap;
  }
  .sec09__item-header {
    margin-bottom: 1.5rem;
  }
  .sec09__item-header h4 {
    font-size: 1.8rem;
  }
  .sec09__item-box2 {
    width: min(100%, 520px);
    padding: 2rem;
  }
  .sec09__item-header2 {
    margin-bottom: 1.5rem;
  }
  .sec09__item-header2 h4 {
    font-size: 1.8rem;
  }
  .sec09__item2 {
    font-size: clamp(14px, 2.5vw, 15px);
  }
  .sec09__box {
    width: min(100%, 520px);
    margin-inline: auto;
    padding: 2.5rem;
  }
  .sec09__box-header {
    margin-bottom: 1.5rem;
  }
  .sec09__box-header h4 {
    font-size: 2rem;
  }
  .sec09__box-header h4 em {
    font-size: 2.2rem;
  }
  /* --------------------------------- Sec10 -------------------------------- */
  .sec10__wrapper-m {
    padding: 4rem 1.6rem 20rem;
    background: none;
    position: relative;
    z-index: 20;
  }
  .sec10__wrapper-m::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    margin-inline: auto;
    width: auto;
    height: 300px;
    border-radius: 0;
    background: no-repeat center/contain url("/assets/images/works/sec10_img1.webp");
    opacity: 0.7;
    z-index: -10;
  }
  .sec10__content {
    text-align: center;
    margin-inline: auto;
  }
  .sec10__content .cmn-header {
    text-align: center;
    margin-inline: auto;
  }
  .sec10__content .cmn-header img {
    margin-inline: auto;
  }
  /* --------------------------------- Sec11 -------------------------------- */
  .sec11__wrapper-m {
    gap: 1.5rem;
  }
  /* --------------------------------- Sec12 -------------------------------- */
  .sec12__item {
    flex-flow: column nowrap;
    padding: 0 2rem 2rem;
    gap: 0;
  }
  .sec12__item::before {
    font-size: 7rem;
  }
  .sec12__item-header {
    flex-flow: column nowrap;
    gap: 1rem;
  }
  .sec12__item-header p {
    font-size: 1.5rem;
  }
  .sec12__item-header h4 {
    font-size: 2rem;
  }
  .sec12__box {
    padding: 2rem;
  }
  .sec12__box-header {
    margin-bottom: 2rem;
  }
  .sec12__box-header h4 {
    font-size: 1.8rem;
  }
  .sec12__lis2 {
    flex-flow: column nowrap;
  }
  .sec12__item2 {
    width: 100%;
    font-size: clamp(15px, 2.5vw, 16px);
  }
  /* --------------------------------- Sec13 -------------------------------- */
  .sec13__item-time {
    font-size: 2rem;
  }
  .sec13__item-box {
    padding: 1.5rem 2rem;
  }
  .sec13__item-box p {
    font-size: clamp(16px, 2.5vw, 18px);
  }
  /* --------------------------------- Sec14 -------------------------------- */
  .sec14__link {
    height: 20rem;
  }
  .sec14__link-text1, .sec14__link-text2 {
    font-size: clamp(15px, 2.5vw, 16px);
  }
}
/* -------------------------------------------------------------------------- */
/*                                   Footer                                   */
/* -------------------------------------------------------------------------- */
@media screen and (width <= 768px) {
  .footer {
    padding-block: 4rem 1rem;
  }
  .footer__content {
    align-items: center;
    flex-flow: column nowrap;
  }
  .footer__lbox {
    align-items: center;
  }
  .footer__lbox .cmn-tel {
    margin-inline: auto;
  }
  .footer__lbox .cmn-address {
    text-align: center;
  }
  .footer__link {
    height: 11rem;
  }
  .footer__link-text1, .footer__link-text2 {
    font-size: clamp(15px, 2.5vw, 16px);
  }
}