:root {
  --color-red: #ff0000;
  --color-key: #593;
  --color-primary: #60bfd7;
  --color-dark: #2b3948;
  --color-dark-text: #1d1d1f;
  --color-black: #333;
  --color-white: #fff;
  --color-bg-light: #f5f5f5;
  --color-bg-lighter: #f4f4f4;
  --color-bg-gray: #eaeaea;
  --color-border: #e1e1e1;
  --color-gray: #8c8c8c;
  --color-gray-medium: #808080;
  --color-gray-light: #cccccc;
  --border-color: #e5e5e5;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-md: 18px;
  --fs-lg: 20px;
  --fs-xl: 22px;
  --fs-2xl: 24px;
  --fs-3xl: 30px;
  --fs-4xl: 36px;
  --fs-5xl: 42px;
  --spacing-xs: 5px;
  --spacing-sm: 10px;
  --spacing-md: 15px;
  --spacing-lg: 20px;
  --spacing-xl: 30px;
  --spacing-2xl: 50px;
  --spacing-3xl: 60px;
  --spacing-4xl: 80px;
  --spacing-5xl: 100px;
  --spacing-6xl: 120px;
  --radius-full: 100px;
  --radius-sm: 5px;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

body.error404 {
  background-color: #121212;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.text404 {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  color: #ccc;
  text-align: center;
  font-family: sans-serif;
  white-space: nowrap;
}
.text404 strong {
  font-size: 60px;
  line-height: 1.15;
  font-weight: bold;
  display: inline-block;
  text-indent: -0.08em;
}
@media (max-width: 600px) {
  .text404 strong {
    font-size: 45px;
  }
}
.text404 p {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 600px) {
  .text404 p {
    font-size: 20px;
  }
}
.text404 a,
.text404 a:link {
  margin-top: 50px;
  font-size: 16px;
  line-height: 1.15;
  white-space: normal;
  display: inline-block;
  height: 2.5em;
  line-height: 2.5em;
  width: 10em;
  background-color: #333;
  color: #ccc;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.text404 a:hover,
.text404 a:link:hover {
  color: #333 !important;
  background-color: #fff !important;
  text-decoration: none;
}
.text404 a,
.text404 a:link {
  border-radius: 100em;
  overflow: hidden;
  font-weight: normal;
}

.inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: auto;
}

.nowrap {
  white-space: nowrap;
  display: inline-block;
}

.hasbg {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  position: relative;
}
.hasbg img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.hasholder {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  position: relative;
}

svg {
  width: 1em;
  min-width: 1em;
  height: 1em;
}

@media (max-width: 767px) {
  .pcShow {
    display: none;
  }
}

@media (min-width: 768px) {
  .spShow {
    display: none;
  }
}

.case_video {
  position: relative;
  overflow: hidden;
  min-height: 200px;
  background-color: var(--color-white);
  background-color: #fff;
  margin-top: var(--header-height);
}
.case_video::after {
  content: none;
}
.case_video video {
  width: 100%;
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
.case_video video::after {
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  background: url(../img/case-hero.jpg) no-repeat center;
  background-size: cover;
  z-index: 10;
}
.case_video .case_triggerd::after {
  content: none;
}

.case_wrap1 {
  background-color: var(--color-dark);
  color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--spacing-5xl) var(--spacing-lg) var(--spacing-6xl);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  z-index: 3;
}
.case_wrap1 h2 {
  font-weight: bold;
  font-size: var(--fs-5xl);
  text-align: center;
  margin: auto;
  text-transform: uppercase;
  margin-bottom: var(--spacing-2xl);
}
.case_wrap1 .item {
  --gap-width: 60px;
  --list-num: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  row-gap: 40px;
  -webkit-column-gap: var(--gap-width);
     -moz-column-gap: var(--gap-width);
          column-gap: var(--gap-width);
}
.case_wrap1 .col {
  width: calc((100% - var(--gap-width) * (var(--list-num) - 1)) / var(--list-num));
  padding: 40px var(--spacing-lg);
  overflow: hidden;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: relative;
  z-index: 3;
  color: var(--color-white);
}
.case_wrap1 .col::after {
  content: none;
}
.case_wrap1 .col:hover .bg::before {
  background: rgba(0, 0, 0, 0.85);
}
.case_wrap1 .col .bg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
.case_wrap1 .col .bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.65);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.case_wrap1 .col .en {
  text-transform: capitalize;
  position: initial;
  -webkit-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
  text-align: center;
  font-size: clamp(14px, 10.4573px + 0.4619vw, 16px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: 900;
}
.case_wrap1 .col .ja {
  font-size: clamp(16px, 1.8291px + 1.8476vw, 24px);
  position: initial;
  margin-top: var(--spacing-sm);
  font-weight: 700;
  text-align: center;
}
.case_wrap1 .col a {
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 5;
}
.case_wrap1 .hasbg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  z-index: -1;
}
.case_wrap1 .hasbg img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.case_wrap1 .hasbg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #000;
  opacity: 0.5;
}
@media (max-width: 1600px) {
  .case_wrap1 h2 {
    margin-bottom: 1em;
    text-align: center;
  }
}
@media (max-width: 1200px) {
  .case_wrap1 h2 {
    font-size: var(--fs-4xl);
  }
}
@media (max-width: 1100px) {
  .case_wrap1 .item {
    --gap-width: 20px;
    --list-num: 2;
    row-gap: var(--gap-width);
  }
  .case_wrap1 .col {
    padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-lg);
  }
}
@media (max-width: 767px) {
  .case_wrap1 {
    padding: var(--spacing-3xl) var(--spacing-lg) var(--spacing-3xl);
  }
  .case_wrap1 h2 {
    font-size: var(--fs-2xl);
  }
}
@media (max-width: 600px) {
  .case_wrap1 h2 {
    font-size: var(--fs-2xl);
  }
  .case_wrap1 .item {
    --list-num: 1;
  }
}
@media (max-width: 360px) {
  .case_wrap1 h2 {
    font-size: var(--fs-xl);
  }
}

.case_wrap2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.case_wrap2 .col {
  padding: var(--spacing-5xl) 0;
  position: relative;
  z-index: 3;
}
.case_wrap2 .col:nth-child(2n) {
  background-color: var(--color-bg-light);
}
.case_wrap2 .col:nth-child(2n) .inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.case_wrap2 .col:nth-child(2n) .img_group {
  background-color: var(--color-bg-gray);
}
.case_wrap2 .col:nth-child(2n)::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/case/bg2.png);
  background-repeat: no-repeat;
  background-position: -25% 98%;
  z-index: -1;
}
.case_wrap2 .col:nth-child(4n)::after {
  background-position: 125% 98%;
}
.case_wrap2 .figure {
  width: 47.25%;
  position: relative;
}
.case_wrap2 .figure .logo {
  position: absolute;
  top: 1em;
  left: 1em;
  background-color: var(--color-white);
  z-index: 5;
  max-width: 144px;
  max-height: 85px;
}
.case_wrap2 .figure .logo img {
  max-height: 100%;
}
.case_wrap2 .figure .img {
  width: 100%;
  position: relative;
  background-color: #9a9a9a;
  overflow: hidden;
}
.case_wrap2 .figure .img::after {
  content: "";
  width: 100%;
  display: block;
  padding-top: 57.39%;
}
.case_wrap2 .figure .img .hasholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.case_wrap2 .figure .img picture {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.case_wrap2 .figure .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.case_wrap2 .figure .info {
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-primary);
  padding: var(--spacing-lg);
  font-size: var(--fs-2xl);
}
.case_wrap2 .figure .info .com_name {
  font-size: 0.8em;
}
.case_wrap2 .figure .info .small {
  font-size: 0.8em;
}
.case_wrap2 .figure .square {
  width: 85px;
}
.case_wrap2 .text {
  width: 47.25%;
}
.case_wrap2 .text .top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: var(--spacing-lg);
}
.case_wrap2 .text .top .logo {
  margin-right: var(--spacing-lg);
}
@media (max-width: 500px) {
  .case_wrap2 .text .top .logo {
    margin-right: 0;
    margin-bottom: var(--spacing-lg);
  }
}
@media (max-width: 500px) {
  .case_wrap2 .text .top .tt {
    margin-left: 0;
    margin-top: 0;
  }
}
.case_wrap2 .text .top .tl {
  font-weight: 900;
  font-size: var(--fs-md);
  margin-bottom: var(--spacing-xs);
}
.case_wrap2 .text .top .tag {
  font-weight: 400;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 0.3em 0.8em;
  margin-right: 1.2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: nowrap;
  border-radius: 10em;
}
.case_wrap2 .text .top .address {
  font-size: var(--fs-sm);
  line-height: 1;
}
.case_wrap2 .text_wrap .title {
  font-weight: 900;
  font-size: var(--fs-2xl);
}
.case_wrap2 .content {
  margin: var(--spacing-lg) 0;
  line-height: 1.8;
  font-size: var(--fs-base);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.case_wrap2 .content .note {
  font-size: 0.875em;
  color: #808080;
  margin: 0 auto;
}
.case_wrap2 .note {
  font-size: 12px;
  margin-top: 10px;
}
.case_wrap2 .img_group {
  margin-top: var(--spacing-xl);
  padding: 1em var(--spacing-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: var(--color-bg-lighter);
}
.case_wrap2 .img_group .img {
  width: 48%;
  position: relative;
}
.case_wrap2 .img_group .img::after {
  content: "";
  width: 100%;
  display: block;
  padding-top: 65.22%;
}
.case_wrap2 .img_group .img a {
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 5;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 1100px) {
  .case_wrap2 .img_group .img a:hover {
    background-color: rgba(255, 255, 255, 0.35);
  }
}
.case_wrap2 .img_group .img .hasholder {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 1200px) {
  .case_wrap2 .inner {
    display: block;
  }
  .case_wrap2 .figure {
    width: 100%;
    max-width: 750px;
    margin: auto;
  }
  .case_wrap2 .text {
    width: 100%;
    max-width: 750px;
    margin: auto;
    margin-top: 45px;
  }
}
@media (max-width: 600px) {
  .case_wrap2 .col {
    padding: var(--spacing-3xl) 0;
  }
  .case_wrap2 .figure .info {
    font-size: var(--fs-lg);
  }
  .case_wrap2 .text .top .tl {
    font-size: var(--fs-base);
  }
  .case_wrap2 .text_wrap .title {
    font-size: var(--fs-lg);
  }
  .case_wrap2 .content {
    font-size: var(--fs-sm);
  }
}
@media (max-width: 500px) {
  .case_wrap2 .figure .info {
    padding: var(--spacing-sm) var(--spacing-lg);
    font-size: 4.8vw;
  }
  .case_wrap2 .figure .info p {
    position: relative;
    z-index: 8;
  }
  .case_wrap2 .figure .logo {
    max-width: 100px;
    top: 0.5em;
    left: 0.5em;
    display: none !important;
  }
  .case_wrap2 .figure .logo.right {
    left: auto;
    right: 0.5em;
  }
  .case_wrap2 .figure .square {
    width: 65px;
  }
  .case_wrap2 .img_group {
    padding: 1em;
  }
  .case_wrap2 .text_wrap .title {
    font-size: 4.8vw;
  }
}
@media (max-width: 350px) {
  .case_wrap2 .figure .logo {
    max-width: 80px;
  }
  .case_wrap2 .figure .square {
    width: 50px;
  }
}

.case_blog {
  margin: var(--spacing-6xl) auto 110px;
}
@media (max-width: 767px) {
  .case_blog {
    margin: var(--spacing-3xl) auto;
  }
  .case_blog .js-hide {
    opacity: 1;
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
  }
}

.case_blog_top {
  font-size: var(--fs-2xl);
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  line-height: 1.4;
}
.case_blog_top .ttl {
  margin: 0 var(--spacing-lg);
  white-space: nowrap;
}
.case_blog_top .num {
  color: var(--color-primary);
}
.case_blog_top::before, .case_blog_top::after {
  content: "";
  width: 50px;
  height: 1px;
  background-color: var(--color-dark-text);
  display: block;
}
@media (max-width: 1200px) {
  .case_blog_top {
    font-size: var(--fs-lg);
  }
}
@media (max-width: 767px) {
  .case_blog_top {
    font-size: var(--fs-base);
  }
  .case_blog_top .ttl {
    white-space: normal;
  }
  .case_blog_top::before, .case_blog_top::after {
    content: none;
  }
}
@media (max-width: 350px) {
  .case_blog_top {
    font-size: var(--fs-sm);
  }
}

.case_blog_tittle {
  text-align: center;
  font-size: var(--fs-5xl);
  font-weight: 700;
  margin: 0.5em auto 1em;
}
.case_blog_tittle .gray {
  color: var(--color-gray);
}
@media (max-width: 1200px) {
  .case_blog_tittle {
    font-size: var(--fs-4xl);
  }
}
@media (max-width: 767px) {
  .case_blog_tittle {
    font-size: var(--fs-2xl);
  }
}
@media (max-width: 360px) {
  .case_blog_tittle {
    font-size: var(--fs-xl);
  }
}

.tags-wrap {
  background-color: var(--color-bg-light);
  margin: auto;
  padding: 40px clamp(20px, -15.4273px + 4.6189vw, 40px);
  position: relative;
}
.tags-wrap .ttl {
  font-size: clamp(16px, 1.8291px + 1.8476vw, 24px);
  font-weight: 700;
}
.tags-wrap .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
  gap: 20px;
}
.tags-wrap .tag {
  font-size: var(--fs-base);
  font-weight: 700;
  min-width: 80px;
  white-space: nowrap;
  border: 1px solid var(--color-dark-text);
  border-radius: var(--radius-full);
  text-align: center;
  padding: 8px var(--spacing-lg) 7px;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background-color: var(--color-white);
}
.tags-wrap .tag.active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}
@media (min-width: 1100px) {
  .tags-wrap .tag:hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
  }
}
@media (min-width: 767px) {
  .tags-wrap .tag[data-category=all] {
    min-width: 7.5em;
  }
}
.tags-wrap .toggle-btn {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateY(100%) translateX(-50%) translateZ(0);
          transform: translateY(100%) translateX(-50%) translateZ(0);
  line-height: 1.2;
  white-space: nowrap;
  border: 1px solid var(--color-border);
  padding: var(--spacing-xs) 12px 4px;
  border-radius: var(--radius-sm);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  background-color: var(--color-border);
  font-weight: 700;
  z-index: 3;
  font-size: var(--fs-base);
  text-transform: uppercase;
}
.tags-wrap .toggle-btn svg {
  width: 0.8em;
  height: 0.8em;
  min-width: 0.8em;
  margin-right: 0.3em;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
@media (max-width: 767px) {
  .tags-wrap {
    margin-bottom: var(--spacing-2xl);
  }
  .tags-wrap .toggle-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tags-wrap .tags {
    font-size: var(--fs-sm);
    height: 37px;
    overflow: hidden;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    gap: 1em;
  }
  .tags-wrap .tag {
    padding-left: 10px;
    padding-right: 10px;
  }
  .tags-wrap.opend .tags {
    height: 100%;
  }
  .tags-wrap.opend .toggle-btn svg {
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}

.case-blog-wrap {
  position: relative;
}
.case-blog-wrap::before {
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
.case-blog-wrap::after {
  background: url(../img/loading.gif) no-repeat center center;
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
.case-blog-wrap.onload.do .blog-list {
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.case-blog-wrap.onload.do::before, .case-blog-wrap.onload.do::after {
  opacity: 1;
  -webkit-transition: 0.3s 0.4s;
  transition: 0.3s 0.4s;
}
.case-blog-wrap.onload .blog-list {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.case-blog-wrap.onload::before, .case-blog-wrap.onload::after {
  content: "";
  z-index: 10;
}

.blog-list {
  margin-top: var(--spacing-xl);
  -webkit-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
  opacity: 1;
}
.blog-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  margin: 0 var(--spacing-md);
  border: 1px solid var(--border-color);
  border-radius: var(--spacing-sm);
}
.blog-list .item a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  z-index: 10;
}
@media (min-width: 1100px) {
  .blog-list .item a:hover ~ .fig .hasholder {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
  }
  .blog-list .item a:hover ~ .text {
    background: var(--color-bg-light);
  }
}
.blog-list .new {
  font-style: normal;
  font-size: var(--fs-sm);
  background-color: var(--color-red);
  color: var(--color-white);
  text-transform: capitalize;
  font-weight: 700;
  white-space: nowrap;
  width: 50px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: -4px;
  z-index: 5;
}
.blog-list .fig {
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: var(--spacing-sm) var(--spacing-sm) 0 0;
}
.blog-list .fig::after {
  content: "";
  width: 100%;
  display: block;
  padding-top: 62.5%;
}
.blog-list .hasholder {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
}
.blog-list .post_date_thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: url(../img/ipeace-article-black.jpg) center top/cover no-repeat;
  background-color: var(--color-black);
  line-height: 1.2;
  font-weight: 700;
  font-size: 1.5em;
}
.blog-list .post_date_thumbnail .img-year,
.blog-list .post_date_thumbnail .img-m-d {
  font-size: 1em;
  color: transparent;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgb(150, 150, 150)));
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(150, 150, 150) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.blog-list .post_date_thumbnail .img-m-d {
  font-size: 1.5em;
}
.blog-list .text {
  padding: var(--spacing-lg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  max-height: 100%;
  border-radius: 0 0 var(--spacing-sm) var(--spacing-sm);
  -webkit-box-flex: 1;
      -ms-flex: 1 auto;
          flex: 1 auto;
}
.blog-list .text .top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 14px;
}
.blog-list .cat {
  font-size: var(--fs-sm);
  min-width: 80px;
  white-space: nowrap;
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-white);
  border-radius: var(--radius-full);
  text-align: center;
  padding: 8px var(--spacing-sm);
  line-height: 1;
}
.blog-list .time {
  white-space: nowrap;
  font-size: var(--fs-sm);
}
.blog-list .title {
  font-size: var(--fs-md);
  font-weight: 700;
}
.blog-list .content {
  font-size: var(--fs-sm);
  margin-top: 1em;
}
.blog-list .slick-prev,
.blog-list .slick-next {
  position: absolute;
  color: var(--color-dark-text);
  top: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: transparent;
  border-radius: var(--radius-full);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 3;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-dark-text);
  font-size: var(--fs-sm);
}
.blog-list .slick-prev::after,
.blog-list .slick-next::after {
  width: 1em;
  height: 1em;
  content: "";
  border: 1px solid transparent;
  border-top-color: var(--color-dark-text);
  border-left-color: var(--color-dark-text);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
}
.blog-list .slick-prev.slick-disabled,
.blog-list .slick-next.slick-disabled {
  color: var(--color-gray-light);
  border-color: var(--color-gray-light);
  cursor: not-allowed;
}
.blog-list .slick-prev.slick-disabled::after,
.blog-list .slick-next.slick-disabled::after {
  border-top-color: var(--color-gray-light);
  border-left-color: var(--color-gray-light);
}
.blog-list .slick-prev {
  left: -80px;
}
.blog-list .slick-prev::after {
  -webkit-transform: rotate(-45deg) translate(20%, 20%);
      -ms-transform: rotate(-45deg) translate(20%, 20%);
          transform: rotate(-45deg) translate(20%, 20%);
}
.blog-list .slick-next {
  right: -80px;
}
.blog-list .slick-next::after {
  -webkit-transform: rotate(135deg) translate(20%, 20%);
      -ms-transform: rotate(135deg) translate(20%, 20%);
          transform: rotate(135deg) translate(20%, 20%);
}
.blog-list .slick-dots {
  font-size: var(--fs-xs);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: var(--spacing-xl);
}
.blog-list .slick-dots li {
  position: relative;
  width: 1em;
  height: 1em;
  border-radius: var(--radius-full);
  line-height: 0;
  display: inline-block;
  text-indent: -9999px;
  background-color: var(--color-gray-light);
  margin: 0 var(--spacing-md);
  overflow: hidden;
  text-align: center;
}
.blog-list .slick-dots .slick-active {
  background-color: var(--color-dark-text);
}
.blog-list .slick-dots button {
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  text-indent: -9999px;
}
.blog-list .slick-list {
  margin: 0 -15px;
}
.blog-list .slick-track {
  margin-left: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.blog-list .slick-slide {
  height: auto;
}
.blog-list.pc_noDots .slick-dots {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
@media (min-width: 1200px) {
  .blog-list.pc_noDots .slick-dots {
    display: none !important;
  }
}
.blog-list.oneDots .slick-dots {
  display: none !important;
}
@media (max-width: 1600px) {
  .blog-list .slick-prev {
    left: -50px;
  }
  .blog-list .slick-next {
    right: -50px;
  }
}
@media (max-width: 1500px) {
  .blog-list .slick-prev,
  .blog-list .slick-next {
    width: 2.857em;
    height: 2.857em;
    font-size: 11px;
  }
  .blog-list .slick-prev {
    left: -30px;
  }
  .blog-list .slick-next {
    right: -30px;
  }
  .blog-list .slick-list {
    margin: 0 auto;
  }
}
@media (max-width: 1300px) {
  .blog-list {
    margin-top: var(--spacing-lg);
  }
  .blog-list .slick-dots li {
    margin: 0 var(--spacing-xs);
  }
}
@media (max-width: 767px) {
  .blog-list .title {
    font-size: var(--fs-base);
  }
  .blog-list .slick-prev,
  .blog-list .slick-next {
    font-size: var(--fs-sm);
  }
  .blog-list .slick-prev {
    left: -16px;
  }
  .blog-list .slick-next {
    right: -16px;
  }
  .blog-list .slick-dots {
    margin-top: var(--spacing-lg);
  }
  .blog-list .slick-list {
    padding: 0 var(--spacing-sm);
  }
}
@media (max-width: 550px) {
  .blog-list .item {
    margin: 0 var(--spacing-lg);
  }
  .blog-list .slick-list {
    padding: 0;
  }
}

.hero-slick {
  position: relative;
}
.hero-slick .item {
  position: relative;
}
.hero-slick .img {
  width: 100%;
  max-width: 1920px;
  margin: auto;
  aspect-ratio: 1024/656;
  position: relative;
}
.hero-slick .hasbg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.hero-slick img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

body.category,
body.single-post {
  padding-top: var(--header-height);
}

.ipeace_bkt {
  display: none !important;
}