@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

*,
html {
  /*font-size:62.5%;*/
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  scroll-behavior: smooth;
}
html,
body {
  container: body / inline-size;
  width: 100%;
  min-height: 100%;
  -webkit-text-size-adjust: none;
  padding: 0;
  margin: 0;
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
  background-color: var(--colour-white);
  word-break: keep-all;
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
p,
img {
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
}
ul,
ol {
  list-style: none;
}
a,
a:active,
a:focus,
a:visited {
  -webkit-tab-highlight-color: rgba(0, 0, 0, 0.1);
  color: var(--colour-lightblack);
}

:root {
  --primary:/*#028faa;*/ #e8006d;
  --secondary: #fec037;
  --tertiary: #8d9caf;

  --colour-lightblack: #0d0d0d;
  --colour-black: #000;
  --colour-white: #fff;
  --colour-grey: #a3a3a3;
  --colour-lightgrey: #f2f2f2;

  --xxxxsmall: 14px;
  --xxxsmall: 16px;
  --xxsmall: 18px;
  --xsmall: 27px;
  --small: 32px;
  --medium: 36px;
  --large: 40px;
  --xlarge: 50px;
}

.skelloadpartial {
  *[skel] {
    animation: backFade 0.4s 1;
  }
  *[skel1s] {
    animation: backFade 1s 1;
  }
}
@keyframes backFade {
  0% {
    background: linear-gradient(120deg, #e5e5e5 30%, #f0f0f0 38%, #f0f0f0 40%, #e5e5e5 48%);
    border-radius: 55px;
    background-size: 200% 100%;
    background-position: 100% 0;
    color: transparent;
  }
  50% {
  }
  100% {
    background: var(--colour-lightgrey);
    color: var(--colour-lightgrey);
  }
}

.bounce {
  animation: bounce 2s ease infinite;
}
@keyframes bounce {
  10% {
    transform: translateY(0%);
  }
  30% {
    transform: translateY(-15%);
  }
  90% {
    transform: translateY(0%);
  }
  95% {
    transform: translateY(-7%);
  }
  97% {
    transform: translateY(0%);
  }
  99% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(0);
  }
}

/*main {container:main / inline-size; max-width:1280px; margin:0 auto; padding:50px 0;}*/

/*
.loginwrap {
    background-color:var(--primary); width:100cqw; height:100cqh;
    & .signin {
        width:400px; height:auto; margin:0 auto; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
        & p {font-weight:500; font-size:clamp(1.2rem, 6cqi, 1.6rem); margin-bottom:40px; color:var(--colour-white); text-align:center;}
        & button {
            display:block; margin:0 auto 20px auto; outline:0; border:0; font-size:clamp(1rem, 3cqi, 1rem); font-weight:500; cursor:pointer; width:90%; height:60px; border-radius:10cqi; background-color:var(--colour-white); color:var(--colour-black); background-repeat:no-repeat; background-size:20px 20px; background-position:50px 50%;
            &.btn_google {background-image:url('../img/ico_google.svg');}
            &.btn_apple {background-image:url('../img/ico_apple.svg');}
        }
    }
}
*/

.wrap {
  container: wrap / inline-size;
  width: 100%;
  height: 100%;
}
.row {
  max-width: 1280px;
  margin: 0 auto;
}

.page {
  margin-top: 90px;
  display: block;
  min-height: 1000px;
}

button {
  outline: 0;
  border: 0;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 400;
  cursor: pointer;
}

#btn_top {
  display: none;
  position: fixed;
  z-index: 10;
  bottom: 70px;
  right: 30px;
  width: 50px;
  height: 50px;
  border: 1px solid var(--primary);
  outline: 0;
  border-radius: 50%;
  cursor: pointer;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: 50% 50%;
  background-image: url('../img/ico_arrowtop.svg');
  background-color: var(--colour-white);
}

.btn_bna {
  position: fixed;
  z-index: 10;
  bottom: 210px;
  right: 28px;
  width: 55px;
  height: 55px;
  outline: 0;
  border-radius: 50%;
  cursor: pointer;
  background-repeat: no-repeat;
  background-size: 55px 55px;
  background-position: 50% 50%;
  background-image: url('../img/ico_bna.svg');
}

.btn_message {
  position: fixed;
  z-index: 10;
  bottom: 140px;
  right: 28px;
  width: 55px;
  height: 55px;
  outline: 0;
  border-radius: 50%;
  cursor: pointer;
  background-repeat: no-repeat;
  background-size: 55px 55px;
  background-position: 50% 50%;
  background-image: url('../img/ico_assistant.svg');
}

.quicktext {
  display: none;
  position: fixed;
  z-index: 10;
  bottom: 130px;
  right: 30px;
  width: 370px;
  height: 670px;
  background-color: var(--primary);
  border-radius: 40px;
  & .close {
    width: 100%;
    height: 70px;
    position: relative;
    /* cursor: pointer; */
    & img {
      cursor: pointer;
      width: 30px;
      height: 30px;
      position: absolute;
      top: 25px;
      right: 20px;
    }
  }
  & .inner {
    width: 310px;
    margin: 0 auto;
    & .qheader {
      margin-bottom: 50px;
      & p {
        font-size: var(--xxsmall);
        font-weight: 500;
        color: var(--colour-white);
        letter-spacing: 0.03em;
        &:first-child {
          font-size: var(--large);
        }
      }
    }
    & .qbody {
      margin-bottom: 50px;
      & p {
        margin-bottom: 20px;
        color: var(--colour-white);
        font-size: 11px;
        letter-spacing: 0.03em;
        & a {
          color: var(--colour-white);
          text-decoration: underline;
        }
      }
      & input {
        width: 100%;
        height: 40px;
        outline: 0;
        border: 0;
        padding: 5px 7px;
        border-bottom: 1px solid var(--colour-white);
        background-color: transparent;
        color: var(--colour-white);
        font-size: var(--xxxxsmall);
        &::placeholder {
          color: rgba(255, 255, 255, 0.7);
        }
        &.checkbox {
          width: 17px;
          height: 17px;
          vertical-align: middle;
          margin-right: 7px;
          border: 0;
          accent-color: var(--secondary);
          &:checked {
            border-color: yellowgreen;
            background-color: yellowgreen;
          }
        }
      }
    }
    & .btn_conversation {
      width: 100%;
      color: var(--primary);
      background-color: var(--colour-white);
      font-weight: 500;
      border-radius: 30px;
      padding: 15px;
      font-size: var(--xxxxsmall);
      letter-spacing: 0.03em;
      &.disabled {
        color: #99004d;
        background-color: #d00062;
      }
    }
  }
}

header {
  width: 100%;
  height: 90px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: transparent;
  z-index: 10;
  &.hscroll {
    background-color: var(--colour-white);
    transition: 0.4s;
  }
  & .colwrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 90px;
    & h1 {
      height: 40px;
      & img {
        width: 40px;
        height: auto;
        cursor: pointer;
      }
    }
    & nav {
      & .gnb {
        & > ul > li {
          position: relative;
          &:focus::before, &:hover::before {
            position: absolute;
            width: 100%;
            height: 35px;
            bottom: -35px;
            content: '';
          }
        }
        & ul {
          display: flex;
          align-items: center;
          gap: 40px;
          font-size: var(--xxxxsmall);
          font-weight: 500;
          & li {
            cursor: pointer;
            &:hover,
            &:focus {
              color: var(--primary);
              transition: all 0.3s;
              & .dropdown {
                visibility: visible;
                opacity: 1;
              }
            }
            & .dropdown {
              cursor: default;
              width: 100%;
              position: fixed;
              top: 90px;
              left: 0;
              background-color: var(--colour-white);
              padding: 50px 30px;
              border-top: 1px solid var(--primary);
              visibility: hidden;
              opacity: 0;
              transition: all 0.5s ease;
              & .depth2 {
                max-width: 1280px;
                margin: 0 auto;
                & .depth2_title {
                  margin-bottom: 50px;
                  color: var(--colour-lightblack);
                  & span {
                    display: block;
                    width: fit-content;
                    font-size: 22px;
                    font-weight: 500;
                    margin-bottom: 15px;
                  }
                  & .depth2_list {
                    display: block;
                    & li {
                      width: fit-content;
                      & a {
                        display: block;
                        font-size: var(--xxxxsmall);
                        margin-bottom: 15px;
                        color: var(--colour-lightblack);
                        &:hover {
                          color: var(--primary);
                          transition: all 0.3s;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
      & .menu {
        display: none;
        & img {
          width: 40px;
          height: auto;
          cursor: pointer;
        }
      }
      & .gnb2 {
        display: none;
      }
      & .btn_book {
        color: var(--colour-white);
        background-color: var(--primary);
        font-weight: 500;
        border-radius: 30px;
        padding: 10px 15px;
        font-size: var(--xxxxsmall);
        &:hover {
          background-color: #d00062;
          transition: all 0.3s;
        }
      }
    }
  }
}

footer {
  padding: 100px 0;
  background-color: var(--colour-lightgrey);
  margin-top: 100px;
  & .colwrap {
    display: flex;
    justify-content: space-between;
    & h1 {
      height: 40px;
      margin-bottom: 30px;
      opacity: 0.6;
      & img {
        width: 40px;
        height: auto;
        cursor: pointer;
      }
    }
    & p {
      font-size: clamp(11px, 1vw, 12px);
      color: var(--tertiary);
      margin-bottom: 10px;
      & a {
        color: var(--tertiary);
        &:hover {
          color: var(--primary);
        }
      }
    }
    & ul {
      & li {
        font-size: clamp(12px, 1vw, 12px);
        color: var(--tertiary);
        margin-bottom: 20px;
        cursor: pointer;
        &:hover {
          color: var(--primary);
        }
        &:first-child {
          font-weight: 500;
          font-size: clamp(14px, 1vw, 16px);
          color: #546b88;
        }
        & a {
          color: var(--tertiary);
          &:hover {
            color: var(--primary);
          }
        }
      }
    }
  }
}

.js-transitions-disabled * {
  transition: none !important;
}
.carousel {
  position: relative;
  height: 70vh;
  overflow: hidden;
  /* perspective: 50vw; */
  perspective: 1000px;
  perspective-origin: 50% 50%;
  margin-top: 90px;
  & .carousel_control {
    position: absolute;
    height: 160px;
    width: 40px;
    background-color: var(--colour-white);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    & a {
      position: relative;
      display: block;
      width: 100%;
      padding-top: 75%;
      box-sizing: border-box;
      &:hover {
        &:before {
          background-color: rgba(0, 0, 0, 0.4);
        }
      }
      &.active {
        &:before {
          background-color: var(--primary);
        }
        &:hover {
          &:before {
            background-color: var(--primary);
          }
        }
      }
      &:first-child {
        margin-top: 15px;
      }
      &:before {
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        margin: auto;
        border-radius: 50%;
        padding-top: 25%;
        width: 25%;
        background: rgba(0, 0, 0, 0.2);
        content: '';
        display: block;
        margin-top: -10%;
      }
    }
  }
  & .carousel_stage {
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    margin: auto;
    transform-style: preserve-3d;
    transform: translateZ(calc(-50vh + 20px));
  }
}
.spinner {
  position: absolute;
  width: 50%;
  height: calc(100vh - 40px);
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  margin: auto;
  transform-style: preserve-3d;
  transition: transform 1s;
  backface-visibility: hidden;
  transform-origin: 50% 50%;
  transform: rotateX(0);
  & .js_active {
    display: block;
    transform: translateZ(calc(50vh - 20px));
  }
}
.spinner_face {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  &.js_next {
    display: block;
    transform: rotateX(90deg) translateZ(calc(50vh - 20px));
  }
  .content {
    position: absolute;
    width: 200%;
    height: 100%;
    left: 0;
    & .content_left {
      position: absolute;
      left: 0;
      top: 0;
      width: 50%;
      height: 100%;
      background-repeat: no-repeat;
      background-size: cover;
      &:after {
        position: absolute;
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.1);
      }
      & h1 {
        position: absolute;
        top: 50%;
        margin-top: -3vw;
        text-align: center;
        font-size: clamp(26px, 5vw, 70px);
        height: 10vw;
        opacity: 1;
        color: var(--colour-white);
        width: 100%;
        letter-spacing: 0.15em;
        line-height: 0.7;
        font-family: 'Merriweather';
      }
      & span {
        font-size: clamp(12px, 1.4vw, 14px);
        font-weight: 300;
        letter-spacing: 0.2em;
        opacity: 0.9;
        font-family: 'Merriweather';
      }
    }
    & .content_right {
      position: absolute;
      left: auto;
      right: 0;
      top: 0;
      width: 50%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      & .content_main {
        position: absolute;
        text-align: left;
        color: var(--colour-white);
        padding: 0 8vw;
        font-weight: 300;
        margin: 0;
        opacity: 0.8;
        & p {
          line-height: 1.3em;
          font-family: 'Merriweather';
          &.txt1 {
            font-size: clamp(16px, 2vw, 60px);
            margin-bottom: 15px;
            font-weight: 400;
            letter-spacing: 0.05em;
          }
          &.txt2 {
            font-size: clamp(12px, 1vw, 14px);
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: 0.05em;
          }
        }
      }
      & .content_index {
        font-size: 25vh;
        position: absolute;
        right: -1vh;
        top: 35vh;
        opacity: 0.04;
        font-family: 'oswald';
        color: var(--colour-white);
      }
    }
  }
}

.js_spin_fwd {
  & .spinner {
    transform: rotateX(-90deg);
  }
  & .spinner_right {
    transform: rotateX(90deg);
  }
}
.js_spin_bwd {
  & .spinner {
    transform: rotateX(90deg);
  }
  & .spinner_right {
    transform: rotateX(-90deg);
    & .spinner_face {
      &.js_next {
        transform: rotateX(-270deg) translateZ(calc(50vh - 20px));
      }
    }
  }
  & .spinner_face {
    &.js_next {
      transform: rotateX(-90deg) translateZ(calc(50vh - 20px));
    }
  }
}

.spinner_right {
  right: 0;
  left: auto;
  & .spinner_face {
    &.js_next {
      transform: rotateX(270deg) translateZ(calc(50vh - 20px));
    }
  }
  & .content {
    left: -100%;
  }
}

[data-type='banner01'] .content_left {
  background-image: url('../img/img_banner01.jpg');
}
.spinner_right [data-type='banner01'] .content_left {
  background-image: none;
}
[data-type='banner02'] .content_left {
  background-image: url('../img/img_banner02.jpg');
}
.spinner_right [data-type='banner02'] .content_left {
  background-image: none;
}
[data-type='banner03'] .content_left {
  background-image: url('../img/img_banner03.jpg');
}
.spinner_right [data-type='banner03'] .content_left {
  background-image: none;
}
[data-type='banner04'] .content_left {
  background-image: url('../img/img_banner04.jpg');
}
.spinner_right [data-type='banner04'] .content_left {
  background-image: none;
}

.section1,
.section2,
.section3,
.section4,
.section5,
.section6,
.section7,
.section8 {
  padding: 100px 0;
}
.section2,
.section5 {
  background-color: #f8f8fb;
}
.section8 {
  position: relative;
}

.title1 {
  text-align: center;
  padding: 0 30px;
  margin-bottom: 70px;
  & h2 {
    font-size: clamp(26px, 4vw, 50px);
    font-weight: 500;
    color: var(--colour-lightblack);
    margin-bottom: 10px;
  }
  & p {
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 300;
    color: var(--colour-grey);
  }
}

.title2 {
  margin-bottom: 70px;
  display: flex;
  align-items: center;
  gap: 30px;
  & h2 {
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 500;
    color: var(--colour-lightblack);
  }
  & .btn_more {
    color: var(--colour-white);
    background-color: var(--tertiary);
    font-weight: 500;
    border-radius: 30px;
    padding: 10px 15px;
    &:hover {
      background-color: #7b8b9f;
      transition: all 0.3s;
    }
  }
}

.page_title {
  padding: 50px 0;
  & h3 {
    font-size: clamp(18px, 6vw, 80px);
    margin-bottom: 10px;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--colour-lightblack);
    font-family: 'Merriweather';
    & span {
      color: var(--primary);
      font-size: 120%;
    }
  }
  & p {
    font-size: clamp(12px, 1.2vw, 18px);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: var(--colour-grey);
    margin-left: 3px;
    line-height: 1.2em;
  }
}

.quickhelp {
  display: flex;
  align-items: center;
  & .col {
    width: 25%;
    min-height: 200px;
    max-height: auto;
    & article {
      text-align: center;
      padding: 0 30px;
      cursor: pointer;
      &:hover {
        & label {
          color: var(--primary);
        }
      }
      & .image {
        width: 70px;
        height: 70px;
        border-radius: 25px;
        background-color: var(--colour-lightgrey);
        margin: 0 auto 20px auto;
        overflow: hidden;
        & img {
          width: 70px;
          height: 70px;
          object-fit: cover;
          border-radius: 25px;
          transform: scale(1);
          &:hover {
            transform: scale(1.2);
            transition: transform 0.5s;
          }
        }
      }
      & label {
        display: block;
        font-size: clamp(15px, 1vw, 16px);
        color: var(--colour-lightblack);
        font-weight: 500;
        margin-bottom: 10px;
        cursor: pointer;
      }
      & .description {
        font-size: clamp(13px, 1vw, 14px);
        color: var(--colour-grey);
        font-weight: 300;
      }
    }
  }
}

.type_standard {
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: center;
  & .col {
    width: 25%;
    height: auto;
    & article {
      position: relative;
      cursor: pointer;
      transition: 0.3s;
      &:hover {
        transform: translate(0, -10px);
      }
      & .thumbnail {
        position: relative;
        & .thumb {
          /*position:relative; width:100%; height:0; padding-bottom:100%; overflow:hidden; border-radius:40px;*/
          position: relative;
          width: 100%;
          aspect-ratio: 1 / 1;
          overflow: hidden;
          border-radius: 40px;
          & img {
            /*position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100%; height:100%; object-fit:cover;*/
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
        & .overlay {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          border-radius: 40px;
          background-color: rgba(0, 0, 0, 0.4);
          z-index: 1;
        }
      }
      & .badge {
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 5px;
        & span {
          font-size: clamp(12px, 1vw, 12px);
          color: var(--colour-white);
          display: inline-block;
          border-radius: 15px;
          padding: 3px 12px;
          border: 1px solid rgba(255, 255, 255, 0.1);
          &.badge_location {
            background-color:/*#e89800*/ #faf0e8;
            color: #d00062;
          }
          &.badge_category {
            background-color: var(--colour-lightblack);
          }
        }
      }
      & .summary {
        width: 100%;
        position: absolute;
        bottom: 30px;
        left: 0;
        padding: 0 30px;
        z-index: 2;
        & label {
          display: block;
          color: var(--colour-white);
          font-size: clamp(16px, 1.3vw, 18px);
          font-weight: 500;
          margin-bottom: 10px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
        & .description {
          font-size: clamp(14px, 1.2vw, 16px);
          color: var(--colour-lightgrey);
          font-weight: 300;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
        }
        & .hashtag {
          color: var(--colour-lightgrey);
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
          word-break: break-all;
          & span {
            margin-right: 10px;
            color: var(--colour-lightgrey);
            font-size: clamp(13px, 1vw, 14px);
          }
        }
      }
    }
  }
}

.type_market {
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: center;
  & .col {
    width: 25%;
    height: auto;
    & article {
      cursor: pointer;
      transition: 0.3s;
      border: 1px solid var(--colour-lightgrey);
      border-radius: 40px;
      box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.18);
      &:hover {
        transform: translate(0, -10px);
      }
      & .thumbnail {
        max-height: 420px;
        overflow: hidden;
        border-radius: 40px;
        & .thumb {
          position: relative;
          width: 100%;
          aspect-ratio: 4 / 5;
          overflow: hidden;
          border-radius: 40px;
          & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
        & .overlay {
          display: none;
        }
      }
      & .summary {
        width: 100%;
        padding: 30px;
        & label {
          display: block;
          color: var(--colour-lightblack);
          font-size: clamp(16px, 1.3vw, 18px);
          font-weight: 500;
          margin-bottom: 10px;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }
        & .description {
          font-size: clamp(18px, 1.6vw, 20px);
          color: var(--colour-lightblack);
          font-weight: 500;
          margin-bottom: 10px;
        }
        & .hashtag {
          & span {
            margin-right: 10px;
            color: var(--tertiary);
            font-size: clamp(13px, 1vw, 14px);
          }
        }
      }
    }
  }
}

.type_news {
  & .container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    & article {
      cursor: pointer;
      transition: 0.3s;
      border-radius: 40px;
      &:hover {
        transform: translate(0, -10px);
      }
      & .thumbnail {
        max-height: 466px;
        overflow: hidden;
        border-radius: 40px;
        & .thumb {
          width: 100%;
          aspect-ratio: 4 / 3;
          overflow: hidden;
          border-radius: 40px;
          & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
        & .overlay {
          display: none;
        }
      }
      & .summary {
        width: 100%;
        padding: 30px 10px;
        & label {
          display: block;
          color: var(--colour-lightblack);
          font-size: clamp(16px, 2vw, 27px);
          font-weight: 400;
          margin-bottom: 20px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          word-wrap: break-word;
          line-height: 1.4em;
          height: 2.8em;
        }
        & .description {
          font-size: clamp(14px, 1.3vw, 18px);
          color: rgba(0, 0, 0, 0.7);
          font-weight: 300;
          margin-bottom: 20px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 5;
          -webkit-box-orient: vertical;
          word-wrap: break-word;
          line-height: 1.4em;
          height: 7em;
        }
        & .date {
          color: var(--tertiary);
          font-size: clamp(13px, 1vw, 14px);
        }
      }
    }
    & .box1 {
      grid-area: 1 / 1 / 5 / 2;
      & article {
        & .thumbnail {
          max-height: 800px;
          & .thumb {
            aspect-ratio: 3 / 4;
          }
        }
      }
    }
    & .box2 {
      grid-area: 1 / 2 / 3 / 3;
    }
    & .box3 {
      grid-area: 3 / 2 / 5 / 3;
    }
  }
}

.type_review {
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: center;
  & .col {
    width: 25%;
    height: auto;
    & article {
      cursor: pointer;
      transition: 0.3s;
      border: 2px solid var(--colour-lightgrey);
      border-radius: 40px; /*box-shadow:0px 10px 20px 0px rgba(0,0,0,.18);*/
      padding: 50px 30px;
      background-color: #f8f8fb;
      position: relative;
      &:hover {
        transform: translate(0, -10px);
      }
      & .thumbnail {
        max-width: 200px;
        max-height: 200px;
        overflow: hidden;
        border-radius: 50%;
        margin: 0 auto 30px auto; /*position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);*/
        & .thumb {
          position: relative;
          width: 100%;
          aspect-ratio: 1 / 1;
          overflow: hidden;
          border-radius: 50%;
          & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
        & .overlay {
          display: none;
        }
      }
      & .summary {
        width: 100%;
        & label {
          display: block;
          color: var(--colour-lightblack);
          font-size: clamp(16px, 1.3vw, 18px);
          font-weight: 500;
          margin-bottom: 10px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          word-wrap: break-word;
          line-height: 1.4em;
          height: 2.8em;
        }
        & .description {
          font-size: clamp(14px, 1.2vw, 16px);
          color: rgba(0, 0, 0, 0.7);
          font-weight: 300;
          margin-bottom: 10px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          word-wrap: break-word;
          line-height: 1.4em;
          height: 2.8em;
        }
        & .date {
          color: var(--tertiary);
          font-size: clamp(13px, 1vw, 14px);
        }
      }
    }
  }
}

.type_normal {
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: center;
  & .col {
    width: 50%;
    height: auto;
    & article {
      cursor: pointer;
      transition: 0.3s;
      border: 1px solid var(--colour-lightgrey);
      border-radius: 40px;
      box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.18);
      &:hover {
        transform: translate(0, -10px);
      }
      & .thumbnail {
        overflow: hidden;
        border-radius: 40px;
        & .thumb {
          position: relative;
          width: 100%;
          aspect-ratio: 16 / 9;
          overflow: hidden;
          border-radius: 40px;
          & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
        & .overlay {
          display: none;
        }
      }
      & .summary {
        width: 100%;
        padding: 30px;
        & label {
          display: block;
          color: var(--colour-lightblack);
          font-size: clamp(16px, 1.3vw, 18px);
          font-weight: 500;
          margin-bottom: 10px;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
        }
        & .description {
          font-size: clamp(14px, 1.2vw, 16px);
          color: rgba(0, 0, 0, 0.7);
          font-weight: 300;
          margin-bottom: 10px;
          overflow: hidden;
          text-overflow: ellipsis;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          word-wrap: break-word;
          line-height: 1.4em;
          height: 2.8em;
        }
      }
    }
  }
}

.contact {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  & .socialmedia {
    display: flex;
    align-items: center;
    gap: 30px;
    justify-content: space-around; /*background-color:#f8f8fb;*/
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 60px;
    border: 2px solid var(--colour-lightgrey);
    padding: 30px;
    & div {
      max-width: 70px;
      margin: 0 auto;
      & img {
        width: 100%;
        height: auto;
        transition: 0.7s;
        cursor: pointer;
        user-select: none;
        &:hover {
          transform: rotateY(360deg);
        }
      }
    }
  }
}

.tabmenu {
  background-color: #f8f8fb;
  & ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 20px;
    padding: 20px 30px;
    width: 100%;
    overflow: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-snap-align: center;
    &::-webkit-scrollbar {
      width: 5px;
      height: 5px;
    }
    &::-webkit-scrollbar-track {
      background-color: var(--colour-lightgrey);
      border-radius: 10px;
    }
    &::-webkit-scrollbar-thumb {
      background-color: #d3d4da;
      border-radius: 10px;
    }
    & li {
      color: var(--colour-lightblack);
      border-radius: 50px;
      background-color: var(--colour-white);
      padding: 18px 25px;
      text-align: center;
      font-size: clamp(12px, 1vw, 14px);
      cursor: pointer;
      transition: all 0.3s;
      white-space: nowrap;
      &:hover,
      &.active {
        background-color: var(--colour-lightblack);
        color: var(--colour-white);
      }
    }
  }
}

.tabframe {
  padding: 50px 0;
  & .row {
    margin-bottom: 50px;
    &:last-child {
      margin-bottom: 0;
    }
  }
}

.break {
  & .type_standard,
  & .type_review,
  & .type_market {
    flex-wrap: wrap;
  }
}

.kn {
  & .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    & article {
      & .summary {
        & label {
          line-height: 1.2em;
          height: 2.4em;
        }
        & .description {
          line-height: 1.3em;
          height: 3.9em;
        }
      }
    }
    & .box1 {
      grid-area: auto;
      & article {
        & .thumbnail {
          max-height: 466px;
          & .thumb {
            aspect-ratio: 4 / 3;
          }
        }
      }
    }
    & .box {
      grid-area: auto;
    }
  }
}

.view {
  padding: 100px 0;
  & article {
    & .title {
      font-size: clamp(26px, 5vw, 44px);
      font-weight: 500;
      color: var(--colour-lightblack);
      line-height: 1.3em;
      margin-bottom: 70px;
    }
    & .info_variety {
      display: flex;
      gap: 30px;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 70px;
      font-size: clamp(12px, 1vw, 14px);
      color: #546b88;
      font-style: italic;
      & img {
        width: 20px;
        height: 20px;
        vertical-align: middle;
        cursor: pointer;
      }
      & span {
        margin-right: 10px;
        color: var(--colour-grey);
      }
    }
    & .pricing {
      display: flex;
      gap: 30px;
      align-items: center;
      & .col {
        width: 50%;
      }
      & article {
        width: 100%;
        background-color: var(--colour-white);
        margin-bottom: 70px;
        padding: 10px;
        border-radius: 40px;
        box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.18);
        & .inner {
          border-radius: 35px;
          background: linear-gradient(to right, #f7f4f4, #e6ecff);
          padding: 30px;
          margin-bottom: 30px;
          & .plan {
            color: var(--colour-white);
            background-color: var(--primary);
            font-weight: 400;
            border-radius: 30px;
            padding: 5px 15px;
            font-size: var(--xxxxsmall);
            margin-bottom: 50px;
            display: inline-block;
          }
          & .price {
            font-size: clamp(26px, 4vw, 34px);
            font-weight: 500;
            color: var(--colour-lightblack);
            & span {
              font-weight: 500;
              font-size: clamp(14px, 1vw, 16px);
              &:first-child {
                font-size: 11px;
                margin-right: 5px;
              }
            }
          }
        }
        & p {
          margin: 0 0 30px 10px;
          font-weight: 500;
          font-size: clamp(14px, 1vw, 16px);
        }
        & .btn_book {
          width: 100%;
          color: var(--colour-white);
          background-color: var(--colour-lightblack);
          font-weight: 500;
          border-radius: 30px;
          padding: 20px 50px;
          font-size: var(--xxxxsmall);
        }
      }
    }
    & .description {
      & * {
        margin: revert;
        &:first-child {
          margin-top: 0;
        }
        &:last-child {
          margin-bottom: 0;
        }
      }
      & ol {
        padding-left: 1.5em;
      }
      & li {
        padding-left: 1.5em;
        position: relative;
        &[data-list=bullet] > .ql-ui::before {
          content: '\2022';
        }
        @supports (counter-set:none) {
          .ql-editor li[data-list] {
            counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9
          }
        }
        @supports not (counter-set:none) {
          .ql-editor li[data-list] {
            counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9
          }
        }
        &[data-list=ordered] {
          counter-increment: list-0;
          & > .ql-ui::before {
            content: counter(list-0, decimal) '. '
          }
        }
      }
      .ql-ui {
        position: absolute;
        &::before {
          display: inline-block;
          margin-left: -1.5em;
          margin-right: .3em;
          text-align: right;
          white-space: nowrap;
          width: 1.2em;
        }
      }
      & img {
        width: 100%;
        height: auto;
      }
      & p {
        /* margin-bottom: 50px; */
        font-size: clamp(14px, 3vw, 16px);
        color: var(--colour-black);
      }
    }
    & .card_author {
      width: 430px;
      height: 150px;
      display: flex;
      align-items: center;
      gap: 25px;
      overflow: hidden;
      background-color: var(--colour-white);
      box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.18);
      margin: 150px 0;
      & .profileimg {
        position: relative;
        width: 150px;
        flex-shrink: 0;
        & .pimg {
          position: relative;
          width: 100%;
          aspect-ratio: 1 / 1;
          overflow: hidden;
          & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
      }
      & .summary {
        & label {
          display: block;
          font-weight: 500;
          font-size: clamp(14px, 5vw, 20px);
          color: var(--colour-lightblack);
          margin-bottom: 5px;
          letter-spacing: 0.02em;
        }
        & p {
          font-weight: 400;
          font-size: clamp(12px, 1vw, 12px);
          color: var(--colour-grey);
          margin-bottom: 20px;
          letter-spacing: 0.02em;
          &:last-child {
            margin-bottom: 0;
          }
        }
      }
    }
  }
  &.view2 {
    padding-top: 50px;
    & .colwrap {
      display: flex;
      flex-direction: row;
      & .col {
        width: 100%;
        flex-grow: 1;
        &.col1 {
          background-color: #f8f8fb;
          border-right: 1px dashed var(--colour-white);
        }
        &.col2 {
          background-color: #f8f8fb;
          padding: 40px 40px 40px 60px;
        }
        & .title {
          font-size: clamp(22px, 3vw, 40px);
          font-weight: 500;
          color: var(--colour-lightblack);
          margin-bottom: 30px;
        }
        & .description {
          font-size: clamp(14px, 3vw, 16px);
          color: var(--colour-black);
          padding-bottom: 60px;
          margin-bottom: 60px;
          border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
        }
        & .info {
          & ul {
            & li {
              display: flex;
              align-items: baseline;
              margin-bottom: 30px;
              &.support-lang {
                & p {
                  display: flex;
                  flex-wrap: wrap;
                  gap: 10px;
                  & span {
                    margin-right: 0;
                    flex-shrink: 0;
                  }
                }
              }
              &.time {
                & .time-list {
                  display: flex;
                  flex-direction: column;
                  gap: 10px;
                  & > div {
                    display: flex;
                    align-items: center;
                    gap: 20px;
                  }
                }
              }
              & label {
                display: block;
                min-width: 120px;
                font-weight: 500;
                font-size: clamp(14px, 2vw, 16px);
                color: #546b88;
              }
              & p {
                font-size: clamp(14px, 2vw, 16px);
                line-height: 1.2em;
                color: var(--colour-lightblack);
                & span {
                  background-color: var(--colour-lightblack);
                  margin-right: 10px;
                  color: var(--colour-white);
                  padding: 5px 13px;
                  border-radius: 30px;
                  font-size: 13px;
                }
              }
            }
          }
          & .map {
            width: 100%;
            height: 300px;
            overflow: hidden;
          }
        }
      }
    }
  }
}

.various {
  & .vbox {
    margin-bottom: 70px;
    & .vtitle {
      font-weight: 500;
      font-size: clamp(14px, 5vw, 20px);
      color: var(--colour-lightblack);
      margin-bottom: 20px;
    }
    & .colwrap {
      display: flex;
      flex-wrap: nowrap;
      width: 100%;
      overflow: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      scroll-snap-align: center;
      padding-left: 0;
      &::-webkit-scrollbar {
        width: 5px;
        height: 5px;
      }
      &::-webkit-scrollbar-track {
        background-color: var(--colour-lightgrey);
        border-radius: 10px;
      }
      &::-webkit-scrollbar-thumb {
        background-color: #d3d4da;
        border-radius: 10px;
      }
      &.type_standard {
        gap: 20px;
        justify-content: left;
        & .col {
          max-width: 240px;
          margin-bottom: 0;
          & article {
            width: 240px;
            height: auto;
            &:hover {
              transform: translate(0, 0);
            }
          }
        }
      }
    }
  }
}

#map {
  border: 1px solid red;
  width: 100%;
  height: 750px;
}

.image-slider {
  position: relative;
  aspect-ratio: 4 / 3;
  & .swiper {
    position: absolute;
    width: 100%;
    height: 100%;
    & img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
    }
  }
  & .pagination {
    position: absolute;
    text-align: center;
    z-index: 1;
    bottom: -10px !important;
    & .swiper-pagination-bullet {
      opacity: 1;
      width: 0.7rem;
      height: 0.7rem;
      background-color: var(--colour-lightblack);
      background-clip: content-box;
      border: 1px solid var(--colour-white);
    }
  }
  & .navigation {
    position: absolute;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    & .navi-btn {
      position: absolute;
      cursor: pointer;
      width: 4rem;
      height: 4rem;
      background-size: 2.7rem 2.7rem;
      background-repeat: no-repeat;
      background-position: center center;
      &.prev {
        left: -2rem;
        background-image: url(/img/ico_arrow_left.svg);
      }
      &.next {
        right: -2rem;
        background-image: url(/img/ico_arrow_right.svg);
      }
    }
  }
}

.v_slider {
  position: relative;
  padding-top: 75%;
  filter: drop-shadow(0 0 10px #0003);
  perspective: 100px;
  scrollbar-color: transparent transparent;
  scrollbar-width: 0;
  -ms-overflow-style: none; /*height:80vh;*/
  height: 100%;
  scrollbar-height: 0;
  & .inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    overflow-x: scroll;
    counter-reset: item;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    & .slide {
      position: relative;
      flex: 0 0 100%;
      width: 100%;
      counter-increment: item;
      & .snapper {
        /*position:absolute; top:0; left:0;*/
        width: 100%;
        height: 100%;
        scroll-snap-align: center;
        overflow: hidden;
        & img {
          width: 100%;
          height: 100%;
          object-fit: contain;
        }
      }
    }
  }
  &:hover,
  &:focus-within {
    & .snapper {
      animation-name: none;
    }
  }
  & .navigation {
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    text-align: center;
    & .navigation_list,
    & .navigation_item {
      display: inline-block;
    }
    & .btn_navigation {
      display: inline-block;
      margin: 0 2px;
      width: 0.7rem;
      height: 0.7rem;
      background-color: var(--colour-lightblack);
      background-clip: content-box;
      border-radius: 50%;
      font-size: 0;
      transition: transform 0.1s;
      border: 1px solid var(--colour-white);
    }
  }
  &:before,
  &:after,
  & .prev,
  & .next {
    position: absolute;
    top: 50%;
    width: 4rem;
    height: 4rem;
    transform: translateY(-50%);
    border-radius: 50%;
    font-size: 0;
    outline: 0;
  }
  &:before,
  & .prev {
    left: -2rem;
  }
  &:after,
  & .next {
    right: -2rem;
  }

  &:before,
  &:after {
    content: '';
    z-index: 1;
    background-size: 2.7rem 2.7rem;
    background-repeat: no-repeat;
    background-position: center center;
    text-align: center;
    pointer-events: none;
  }
  &:before {
    background-image: url('../img/ico_arrow_left.svg');
  }
  &:after {
    background-image: url('../img/ico_arrow_right.svg');
  }

  &::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
  &::-webkit-scrollbar-track {
    background: transparent;
  }
  &::-webkit-scrollbar-thumb {
    background: transparent;
    border: none;
  }
}

@media (hover: hover) {
  .snapper {
    animation-name: tonext, snap;
    animation-timing-function: ease;
    animation-duration: 4s;
    animation-iteration-count: infinite;
  }
  .side:last-child .snapper {
    animation-name: tostart, snap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .snapper {
    animation-name: none;
  }
}
@keyframes tonext {
  75% {
    left: 0;
  }
  95% {
    left: 100%;
  }
  98% {
    left: 100%;
  }
  99% {
    left: 0;
  }
}

@keyframes tostart {
  75% {
    left: 0;
  }
  95% {
    left: -300%;
  }
  98% {
    left: -300%;
  }
  99% {
    left: 0;
  }
}

@keyframes snap {
  96% {
    scroll-snap-align: center;
  }
  97% {
    scroll-snap-align: none;
  }
  99% {
    scroll-snap-align: none;
  }
  100% {
    scroll-snap-align: center;
  }
}

@container body (max-width:1279px) {
  .header {
    padding: 0 30px;
  }

  .footer {
    padding: 0 30px;
  }

  .title2 {
    padding: 0 30px;
  }

  .view {
    padding: 80px 30px;
  }

  .type_news,
  .type_normal,
  .contact {
    padding: 0 30px;
  }

  .page_title {
    padding: 50px 30px;
  }

  .tabframe {
    padding: 50px 0;
  }

  .various {
    padding: 0 0 0 30px;
  }
}

@container body (max-width:1024px) {
  .quickhelp {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    & .col {
      width: 50%;
      & article {
        text-align: center;
        padding: 0 30px;
        & .image {
          width: 70px;
          height: 70px;
          border-radius: 25px;
          background-color: var(--colour-lightgrey);
          margin: 0 auto 20px auto;
          overflow: hidden;
          & img {
            width: 70px;
            height: 70px;
            object-fit: cover;
            border-radius: 25px;
          }
        }
      }
    }
  }

  .type_standard,
  .type_market,
  .type_review {
    gap: 20px;
    padding: 0 30px;
    & .col {
      width: 33%;
    }
  }

  .break {
    & .type_standard,
    & .type_review,
    & .type_market {
      flex-wrap: wrap;
      & .col {
        width: 30%;
      }
    }
  }

  & .type_news {
    & .container {
      grid-column-gap: 20px;
      grid-row-gap: 20px;
    }
  }

  & .type_normal {
    gap: 20px;
  }

  .tabmenu {
    & ul {
      justify-content: flex-start;
    }
  }

  .various {
    & .vbox {
      & .colwrap {
        &.type_standard {
          & .col {
            width: 240px;
          }
        }
      }
    }
  }
}

@container body (max-width:855px) {
  footer {
    & .colwrap {
      display: block;
      & .col {
        margin-bottom: 70px;
        text-align: center;
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }

  .view {
    &.view2 {
      & .colwrap {
        display: block;
        & .col {
          &.col1 {
            border-right: 0;
          }
          &.col2 {
            padding: 30px 30px 30px 30px;
            margin-top: 15px;
          }
        }
      }
    }
  }
}

@container body (max-width:769px) {
  header {
    & .colwrap {
      & nav {
        & .gnb {
          display: none;
        }
        & .menu {
          display: block;
        }
        & .gnb2 {
          display: block;
          position: fixed;
          top: 0;
          right: -100%;
          width: 100%;
          height: 100vh;
          background: var(--colour-white);
          transition: all 0.6s ease-in-out;
          z-index: 9999;
          & .close {
            width: 100%;
            height: 90px;
            position: relative;
            cursor: pointer;
            & img {
              width: 30px;
              height: 30px;
              position: absolute;
              top: 30px;
              right: 30px;
            }
          }
          & ul {
            & li {
              padding: 20px 50px;
              font-size: var(--xxxxsmall);
              font-weight: 500;
            }
          }
          & .btn_book {
            padding: 20px 50px;
            display: block;
            width: 100%;
            margin: 20px auto;
          }
          & .gnb2_dropdown {
            border-top: 1px solid var(--primary);
            padding: 0 50px;
            & .depth2 {
              padding: 15px 0 0 20px;
              & .depth2_title {
                margin-bottom: 30px;
                & span {
                  margin-bottom: 10px;
                  display: block;
                  color: var(--primary);
                }
              }
              & .depth2_list {
                & li {
                  padding: 10px 0;
                }
              }
            }
          }
        }
      }
    }
  }

  .section1,
  .section2,
  .section3,
  .section4,
  .section5,
  .section6,
  .section7,
  .section8 {
    padding: 70px 0;
  }

  .section2,
  .section5 {
    .type_standard {
      & .col {
        & article {
          & .badge {
            & .badge_category {
              display: none;
            }
          }
          & .summary {
            & .description {
              display: none;
            }
            & .hashtag {
              display: none;
            }
          }
        }
      }
    }
  }

  .title2 {
    display: block;
    text-align: center;
    & h2 {
      margin-bottom: 15px;
    }
  }

  .page_title {
    padding: 30px;
  }

  .type_standard {
    & .col {
      & article {
        & .summary {
          padding: 0 20px;
          & label {
            margin-bottom: 5px;
          }
          & .description {
            line-height: 1.3em;
          }
          & .hashtag {
            line-height: 1.2em;
            & span {
              margin-right: 5px;
            }
          }
        }
      }
    }
  }

  .break {
    & .type_standard,
    & .type_review,
    & .type_market {
      & .col {
        width: 45%;
      }
    }
  }

  .type_market {
    & .col {
      & article {
        & .summary {
          padding: 25px;
          & label {
            line-height: 1.3em;
          }
          & .description {
            line-height: 1.3em;
          }
          & .hashtag {
            line-height: 1.2em;
            & span {
              margin-right: 5px;
            }
          }
        }
      }
    }
  }

  & .type_news {
    & .container {
      & article {
        & .summary {
          & label {
            font-weight: 500;
            margin-bottom: 10px;
          }
          & .description {
            margin-bottom: 10px;
          }
        }
      }
    }
  }

  .kn {
    & .container {
      & article {
        border-radius: 30px;
        & .thumbnail {
          border-radius: 30px;
          & .thumb {
            border-radius: 30px;
          }
        }
      }
    }
  }

  .type_review {
    & .col {
      & article {
        padding: 30px;
        & .summary {
          & label {
            line-height: 1.3em;
          }
          & .description {
            line-height: 1.3em;
          }
          & .date {
            margin-right: 5px;
          }
        }
      }
    }
  }

  .type_normal {
    & .col {
      & article {
        & .summary {
          padding: 25px;
          & label {
            margin-bottom: 5px;
            line-height: 1.3em;
          }
          & .description {
            line-height: 1.3em;
          }
        }
      }
    }
  }

  .contact {
    & .socialmedia {
      gap: 20px;
      flex-wrap: wrap;
      & div {
        max-width: 18%;
        text-align: center;
        margin: 10px 0;
        & img {
          width: 70%;
        }
      }
    }
  }

  .view {
    padding: 30px;
    & article {
      & .pricing {
        & article {
          & .inner {
            padding: 20px;
          }
        }
      }
    }
  }
}

@container body (max-width:479px) {
  header {
    height: 70px;
    & .colwrap {
      height: 70px;
      & h1 {
        height: 30px;
        margin-top: -10px;
        & img {
          width: 30px;
        }
      }
      & nav {
        & .menu {
          img {
            width: 30px;
          }
        }
        & .gnb2 {
          & .close {
            height: 70px;
            & img {
              width: 25px;
              height: 25px;
            }
          }
        }
      }
    }
  }

  .quicktext {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .carousel {
    margin-top: 70px;
  }

  .section1,
  .section2,
  .section3,
  .section4,
  .section5,
  .section6,
  .section7,
  .section8 {
    padding: 50px 0;
  }

  .section2,
  .section5 {
    .type_standard {
      & .col {
        & article {
          & .badge {
            & .badge_category {
              display: block;
            }
          }
          & .summary {
            & .description {
              display: block;
            }
            & .hashtag {
              display: block;
            }
          }
        }
      }
    }
  }

  .title1 {
    margin-bottom: 50px;
  }

  .section8 {
    margin-top: 100px;
  }

  .page_title {
    padding: 0 30px 30px 30px;
  }

  .quickhelp {
    display: block;
    & .col {
      width: 100%;
    }
  }

  .type_standard,
  .type_review,
  .type_market {
    display: block;
    & .col {
      width: 100%;
      margin-bottom: 30px;
      &:last-child {
        margin-bottom: 0;
      }
      & article {
        & .summary {
          & label {
            margin-bottom: 10px;
          }
          & .description {
            margin-bottom: 10px;
          }
        }
      }
    }
  }

  .break {
    & .type_standard,
    & .type_review,
    & .type_market {
      & .col {
        width: 100%;
      }
    }
  }

  .type_market {
    display: block;
    & .col {
      width: 100%;
      margin-bottom: 30px;
      &:last-child {
        margin-bottom: 0;
      }
      & article {
        & .summary {
          & label {
            margin-bottom: 10px;
          }
          & .description {
            margin-bottom: 10px;
          }
        }
      }
    }
  }

  & .type_news {
    & .container {
      display: block;
      grid-template-columns: none;
      grid-template-rows: none;
      grid-column-gap: 0;
      grid-row-gap: 0;
      & article {
        & .summary {
          width: 100%;
          padding: 30px 10px;
          & label {
            display: block;
          }
          & .description {
            line-height: 1.35em;
          }
        }
      }
      & .box1,
      & .box2 {
        margin-bottom: 20px;
      }
    }
  }

  .kn {
    & .container {
      display: block;
      grid-template-columns: none;
      grid-template-rows: none;
      grid-column-gap: 0;
      grid-row-gap: 20px;
      & article {
        & .summary {
          width: 100%;
          padding: 30px 10px;
          & label {
            display: block;
          }
        }
      }
    }
  }

  .type_review {
    display: block;
    & .col {
      width: 100%;
      margin-bottom: 30px;
      &:last-child {
        margin-bottom: 0;
      }
      & article {
        padding: 50px 30px;
        & .summary {
          & label {
            height: auto;
          }
        }
      }
    }
  }

  .type_normal {
    display: block;
    & .col {
      width: 100%;
      margin-bottom: 30px;
      &:last-child {
        margin-bottom: 0;
      }
      & article {
        & .summary {
          & label {
            margin-bottom: 10px;
          }
        }
      }
    }
  }

  .contact {
    & .socialmedia {
      & div {
        & img {
          width: 80%;
        }
      }
    }
  }

  .view {
    & article {
      & .info_variety {
        display: block;
        gap: 0;
        & div {
          margin-bottom: 5px;
          &:nth-of-type(4) {
            margin: 15px 0 0 0;
          }
        }
      }
      & .pricing {
        display: block;
        gap: 0;
        & .col {
          width: 100%;
        }
        & article {
          margin-bottom: 50px;
        }
      }
      & .card_author {
        width: 330px;
        height: 107px;
        gap: 20px;
        & .profileimg {
          position: relative;
          width: 120px;
        }
        & .summary {
          & label {
            font-size: 14px;
            margin-bottom: 5px;
          }
          & p {
            margin-bottom: 10px;
            line-height: 1.2em;
            font-size: 11px;
          }
        }
      }
    }
    &.view2 {
      & .colwrap {
        & .col {
          & .info {
            & ul {
              & li {
                display: block;
                & label {
                  margin-bottom: 10px;
                }
                & p {
                  & span {
                    padding: 3px 13px;
                    font-size: 12px;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

/*430*/
