@charset "UTF-8";
ul,
ol,
li,
dl,
dt,
dd,
figure,
figcaption,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #333;
  transition: background-color 0.2s linear, color 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #333;
  transition: background-color 0.2s linear, color 0.2s linear;
}

img {
  width: 100%;
  height: auto;
}

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  color: #333;
  overflow-x: hidden;
  font-feature-settings: "palt" on;
}
@media screen and (min-width: 768px) {
  body {
    overflow-x: unset;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

.sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

main {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  main {
    margin-top: 0;
  }
}

header {
  display: grid;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  z-index: 1000;
  background-color: #fff;
  width: -webkit-fill-available;
  padding: 0 0 0 5.3333333333vw;
  border-bottom: 0.2666666667vw solid #DCDCDC;
  grid-template-columns: 49.0666666667vw auto;
  height: 18.6666666667vw;
  top: 0;
  width: -moz-available;
}
@media screen and (min-width: 768px) {
  header {
    margin: min(30px, 2.25vw) min(40px, 3vw) 0;
    box-shadow: 0 0 min(10px, 0.75vw) 0 rgba(0, 0, 0, 0.2509803922);
    padding: 0 min(40px, 3vw);
    border-top-right-radius: min(100px, 7.5vw);
    border-bottom-right-radius: min(100px, 7.5vw);
    grid-template-columns: min(241px, 18.075vw) auto;
    border-bottom: 0;
    height: auto;
  }
}
header p a {
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  header p a:hover {
    opacity: 0.8;
  }
}
header nav {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  width: 100%;
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  position: fixed;
  top: 18.6666666667vw;
  left: 0;
}
@media screen and (min-width: 768px) {
  header nav {
    height: auto;
    max-height: 100%;
    background: none;
    display: grid;
    position: relative;
    top: auto;
    transition: none;
  }
}
header nav.active {
  max-height: 100svh;
  height: 100svh;
}
header nav ul:first-of-type {
  width: max-content;
  gap: 9.8666666667vw;
  padding: 20vw 6.6666666667vw 0;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  header nav ul:first-of-type {
    gap: min(30px, 2.25vw);
    grid-template-columns: repeat(4, auto);
    padding: 0;
  }
}
header nav ul:first-of-type li a {
  display: block;
  font-weight: 700;
  position: relative;
  font-size: 5.3333333333vw;
  line-height: 1;
  letter-spacing: 0.2666666667vw;
  text-align: left;
  color: #fff;
}
@media screen and (min-width: 768px) {
  header nav ul:first-of-type li a {
    text-align: center;
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
    padding: min(22px, 1.65vw) 0 min(20px, 1.5vw);
    color: #333;
  }
}
@media screen and (min-width: 768px) {
  header nav ul:first-of-type li a:before {
    content: "";
    width: 0;
    height: min(4px, 0.3vw);
    background-color: #E50113;
    position: absolute;
    bottom: 0;
    left: 50%;
    transition: width 0.2s linear;
    transform: translateX(-50%);
  }
}
@media (hover: hover) and (pointer: fine) {
  header nav ul:first-of-type li a:hover:before {
    width: 100%;
  }
}
header nav ul:first-of-type li a span {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.1706666667vw;
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  header nav ul:first-of-type li a span {
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.48px, 0.036vw);
    margin-bottom: min(10px, 0.75vw);
  }
}
header nav ul:last-of-type {
  margin-top: 17.3333333333vw;
  padding: 0 6.6666666667vw;
  display: grid;
  grid-template-columns: 1fr;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  header nav ul:last-of-type {
    display: none;
  }
}
header nav ul:last-of-type li a {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
  display: inline;
}
header nav ul:last-of-type li a svg {
  width: 5.8666666667vw;
  height: auto;
}
header .hamburger {
  width: 20vw;
  height: 13.3333333333vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  header .hamburger {
    display: none;
  }
}
header .hamburger span {
  display: block;
  width: 9.3333333333vw;
  height: 0.5333333333vw;
  background-color: #333;
  margin: 0 auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
header .hamburger span:nth-of-type(1) {
  top: 5.3333333333vw;
}
header .hamburger span:nth-of-type(2) {
  bottom: 5.3333333333vw;
}
header .hamburger.active span:nth-of-type(1) {
  transform: rotate(25deg);
  top: 6.4vw;
  left: 5.3333333333vw;
}
header .hamburger.active span:nth-of-type(2) {
  transform: rotate(-25deg);
  bottom: 6.4vw;
  left: 5.3333333333vw;
}

footer {
  margin-top: 18.6666666667vw;
  padding-top: 12vw;
  background-size: auto 6.6666666667vw;
  background-image: url(../img/footer.png);
  background-repeat: repeat-x;
  background-position: top left;
}
@media screen and (min-width: 768px) {
  footer {
    margin-top: min(150px, 11.25vw);
    padding-top: min(100px, 7.5vw);
    background-size: auto min(50px, 3.75vw);
  }
}
footer .top {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
  border-radius: 0 18.6666666667vw 0 0;
  padding: 13.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  footer .top {
    border-radius: 0 min(200px, 15vw) min(200px, 15vw) 0;
    padding: min(80px, 6vw) 0;
  }
}
footer .top > dl {
  padding: 0 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl {
    padding: 0;
  }
}
footer .top > dl > dt {
  font-weight: 700;
  font-feature-settings: normal;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl > dt {
    font-size: min(1.35vw, 18px);
    line-height: 1.3333333333;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
footer .top > dl > dd {
  display: grid;
  margin-top: 5.3333333333vw;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl > dd {
    margin-top: min(40px, 3vw);
    grid-template-columns: auto auto;
    justify-content: center;
    gap: min(40px, 3vw);
  }
}
footer .top > dl > dd dl dt {
  font-weight: 400;
  font-feature-settings: normal;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl > dd dl dt {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
footer .top > dl > dd dl dd {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl > dd dl dd {
    margin-top: min(15px, 1.125vw);
  }
}
footer .top > dl > dd dl dd p a {
  display: grid;
  background-color: #fff;
  position: relative;
  color: #E50113;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  grid-template-columns: 6.6666666667vw auto;
  gap: 1.3333333333vw;
  border-radius: 2.6666666667vw;
  padding: 2.6666666667vw 0;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  footer .top > dl > dd dl dd p a {
    grid-template-columns: min(29px, 2.175vw) auto;
    gap: min(12px, 0.9vw);
    border-radius: min(20px, 1.5vw);
    padding: min(20px, 1.5vw) 0;
    width: min(370px, 27.75vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.3333333333;
    letter-spacing: min(0.9px, 0.0675vw);
    font-feature-settings: normal;
  }
}
footer .top > dl > dd dl dd p a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  footer .top > dl > dd dl dd p a:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
footer .top > dl > dd dl:first-of-type dd p a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='none'%3E%3Cpath fill='%23E50113' d='M5.167 23.829c-.642 0-1.191-.229-1.648-.685a2.251 2.251 0 0 1-.686-1.649v-14c0-.641.229-1.19.686-1.647a2.253 2.253 0 0 1 1.648-.686h18.666c.642 0 1.191.229 1.649.686.457.457.685 1.007.685 1.647v14a2.25 2.25 0 0 1-.685 1.649 2.241 2.241 0 0 1-1.649.685H5.167Zm18.666-14-8.72 5.454a1.231 1.231 0 0 1-.613.175 1.227 1.227 0 0 1-.613-.175l-8.72-5.454v11.666h18.666V9.83Zm-9.333 3.5 9.333-5.834H5.167L14.5 13.33ZM5.167 10.12V8.4v.029-.014 1.705Z'/%3E%3C/svg%3E");
}
footer .top > dl > dd dl:last-of-type dd p a:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none'%3E%3Cpath fill='%23E50113' d='M4.667 5.161A2.333 2.333 0 0 1 7 2.828h9.333c.31 0 .607.123.825.342l5.834 5.833c.218.219.341.516.341.825v14A2.333 2.333 0 0 1 21 26.162H7a2.333 2.333 0 0 1-2.333-2.334V5.161Zm15.85 4.667-4.184-4.184v4.184h4.184ZM14 5.161H7v18.667h14V12.162h-5.833A1.167 1.167 0 0 1 14 10.995V5.16Zm-4.667 10.5a1.167 1.167 0 0 1 1.167-1.166h7a1.167 1.167 0 1 1 0 2.333h-7a1.167 1.167 0 0 1-1.167-1.166Zm0 4.667a1.167 1.167 0 0 1 1.167-1.166h7a1.167 1.167 0 1 1 0 2.333h-7a1.167 1.167 0 0 1-1.167-1.167Z'/%3E%3C/svg%3E");
}
footer .bottom {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #333;
  position: relative;
  color: #fff;
  padding: 13.3333333333vw 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  footer .bottom {
    padding: min(47px, 3.525vw) 0 min(95px, 7.125vw);
  }
}
footer .bottom:before {
  content: "";
  width: 100%;
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #333;
  display: block;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  footer .bottom:before {
    height: min(160px, 12vw);
    top: max(-160px, -12vw);
  }
}
footer .bottom .wrapper {
  margin: 0 auto;
  display: grid;
  align-content: center;
  gap: 10.6666666667vw 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper {
    justify-content: space-between;
    width: min(1160px, 87vw);
    grid-template-columns: 1fr auto;
    gap: min(60px, 4.5vw) 0;
  }
}
footer .bottom .wrapper p:not(.copy) {
  width: 49.0666666667vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper p:not(.copy) {
    width: min(241px, 18.075vw);
    margin-top: min(20px, 1.5vw);
  }
}
footer .bottom .wrapper nav ul {
  display: grid;
}
footer .bottom .wrapper nav ul li a {
  color: #fff;
}
footer .bottom .wrapper nav:first-of-type ul {
  display: grid;
  grid-template-columns: repeat(2, auto);
  width: max-content;
  gap: 6.6666666667vw 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:first-of-type ul {
    gap: min(30px, 2.25vw);
    grid-template-columns: repeat(4, auto);
  }
}
footer .bottom .wrapper nav:first-of-type ul li a {
  display: block;
  font-weight: 700;
  position: relative;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.16vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:first-of-type ul li a {
    text-align: center;
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
    padding: min(22px, 1.65vw) 0 min(20px, 1.5vw);
  }
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:first-of-type ul li a:before {
    content: "";
    width: 0;
    height: min(4px, 0.3vw);
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    transition: width 0.2s linear;
    transform: translateX(-50%);
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .bottom .wrapper nav:first-of-type ul li a:hover:before {
    width: 100%;
  }
}
footer .bottom .wrapper nav:first-of-type ul li a span {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1066666667vw;
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:first-of-type ul li a span {
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.48px, 0.036vw);
    margin-bottom: min(10px, 0.75vw);
  }
}
footer .bottom .wrapper nav:last-of-type ul {
  display: grid;
  justify-content: start;
  align-items: center;
  grid-template-columns: repeat(3, auto);
  gap: 0 4vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:last-of-type ul {
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
    gap: 0 min(40px, 3vw);
  }
}
footer .bottom .wrapper nav:last-of-type ul li a {
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:last-of-type ul li a {
    padding-bottom: min(5px, 0.375vw);
  }
}
footer .bottom .wrapper nav:last-of-type ul li a:before {
  content: "";
  width: 0;
  height: min(1px, 0.075vw);
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: width 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  footer .bottom .wrapper nav:last-of-type ul li a:hover:before {
    width: 100%;
  }
}
footer .bottom .wrapper nav:last-of-type ul li a svg {
  width: 3.2vw;
  height: 3.2vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper nav:last-of-type ul li a svg {
    width: min(14px, 1.05vw);
    height: min(14px, 1.05vw);
  }
}
footer .bottom .wrapper .copy {
  font-family: "Poppins", sans-serif;
  justify-self: end;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  footer .bottom .wrapper .copy {
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}

#headline {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  position: relative;
  text-align: center;
  height: 53.3333333333vw;
  padding-top: 24.8vw;
}
@media screen and (min-width: 768px) {
  #headline {
    height: min(330px, 24.75vw);
    padding-top: min(158px, 11.85vw);
  }
}
#headline:before {
  content: "";
  aspect-ratio: 92/66;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='92' height='66' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='2.273' d='M13.182-89.863c42.55 0 77.045 34.494 77.046 77.045 0 42.55-34.495 77.046-77.046 77.046-42.551 0-77.045-34.495-77.045-77.046 0-42.551 34.494-77.045 77.045-77.045Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-64.979' x2='91.364' y1='-12.808' y2='-12.808' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: 18.6666666667vw;
  left: 0;
  width: 24.5333333333vw;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #headline:before {
    top: 0;
    aspect-ratio: 301/231;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='301' height='231' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M129-110.5c93.612 0 169.5 75.888 169.5 169.5S222.612 228.5 129 228.5-40.5 152.612-40.5 59 35.388-110.5 129-110.5Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-42.954' x2='301' y1='59.023' y2='59.023' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    width: min(301px, 22.575vw);
  }
}
#headline:after {
  content: "";
  aspect-ratio: 82/32;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='82' height='32' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='2.273' d='M122.046 1.137v120.909H1.136V1.136h120.91Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.017' x2='123.182' y1='61.599' y2='61.599' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  pointer-events: none;
  width: 21.8666666667vw;
}
@media screen and (min-width: 768px) {
  #headline:after {
    width: min(251px, 18.825vw);
    aspect-ratio: 251/122;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='251' height='122' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M268.5 2.5v266H2.5V2.5h266Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.036' x2='271' y1='135.518' y2='135.518' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  }
}
#headline h1,
#headline p {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 7.4666666667vw;
  line-height: 1;
  letter-spacing: 0.2986666667vw;
}
@media screen and (min-width: 768px) {
  #headline h1,
  #headline p {
    font-size: min(4.5vw, 60px);
    line-height: 1.1666666667;
    letter-spacing: min(2.4px, 0.18vw);
  }
}
#headline h1 span,
#headline p span {
  display: block;
  margin-top: 2.9333333333vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #headline h1 span,
  #headline p span {
    margin-top: min(17px, 1.275vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#headline:not(:has(span)) {
  padding-top: 32vw;
}
@media screen and (min-width: 768px) {
  #headline:not(:has(span)) {
    padding-top: min(185px, 13.875vw);
  }
}

#subMenu {
  background-color: #fff;
  width: 100%;
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  #subMenu {
    overflow-x: visible;
  }
}
#subMenu ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  border-bottom: 0.2666666667vw solid #D9D9D9;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.16vw;
  gap: 4vw;
  width: max-content;
  padding: 0 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  #subMenu ul {
    border-bottom-width: min(1px, 0.075vw);
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
    gap: min(25px, 1.875vw);
    width: 100%;
    padding: 0;
    overflow-x: unset;
  }
}
#subMenu ul li {
  flex-shrink: 0;
}
#subMenu ul li a {
  display: block;
  position: relative;
  flex: 1;
  padding: 4vw 0 3.7333333333vw;
}
@media screen and (min-width: 768px) {
  #subMenu ul li a {
    padding: min(20px, 1.5vw) 0 min(19px, 1.425vw);
  }
}
#subMenu ul li a:before {
  content: "";
  width: 0;
  height: min(2px, 0.15vw);
  background-color: #E50113;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: width 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #subMenu ul li a:hover:before {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #subMenu ul li a.current:before {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #subMenu.fixed {
    position: fixed;
    top: 0;
    z-index: 100;
  }
}
@media screen and (min-width: 768px) {
  #subMenu.fixed ul {
    margin-top: min(109px, 8.175vw);
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

#default .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #default .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #default .wrapper {
    margin-top: min(150px, 11.25vw);
  }
}
#default .wrapper dl {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #default .wrapper dl {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#default .wrapper dl dt {
  font-weight: 700;
}
#default .wrapper dl dd {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #default .wrapper dl dd {
    margin-top: min(10px, 0.75vw);
  }
}
#default .wrapper .more {
  margin-top: 13.3333333333vw;
}
#default .wrapper .more a,
#default .wrapper .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #default .wrapper .more a,
  #default .wrapper .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#default .wrapper .more a:after,
#default .wrapper .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #default .wrapper .more a:hover,
  #default .wrapper .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #default .wrapper .more a:hover:after,
  #default .wrapper .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #default .wrapper .more {
    margin: min(70px, 5.25vw) auto 0;
    width: min(472px, 35.4vw);
  }
}

#top.loaded #mainVisual .slider > ul li a:before,
#top.loaded #mainVisual .slider > ul li a:after {
  opacity: 1;
}
#top h1 {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
}
@media screen and (min-width: 768px) {
  #top h1 {
    top: min(30px, 2.25vw);
  }
}
#top #mainVisual {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
}
@media screen and (min-width: 768px) {
  #top #mainVisual {
    background: none;
  }
}
#top #mainVisual .slider {
  position: relative;
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider {
    padding-bottom: min(38px, 2.85vw);
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul {
    margin-bottom: 0;
  }
}
#top #mainVisual .slider > ul li a {
  display: block;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #mainVisual .slider > ul li a:hover {
    opacity: 0.6;
  }
}
#top #mainVisual .slider > ul li a figure {
  height: calc(100svh - 18.6666666667vw);
  max-height: 197.8666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figure {
    height: 62.5vw;
    max-height: calc(100svh - min(40px, 3vw));
  }
}
#top #mainVisual .slider > ul li a figure img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}
#top #mainVisual .slider > ul li a figcaption {
  position: absolute;
  bottom: 13.3333333333vw;
  left: 5.3333333333vw;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption {
    bottom: min(40px, 3vw);
    right: min(40px, 3vw);
    left: auto;
  }
}
#top #mainVisual .slider > ul li a figcaption p span {
  background-color: #fff;
  width: max-content;
  color: #E50113;
  font-weight: 700;
  display: block;
  border-radius: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p span {
    border-radius: min(10px, 0.75vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p span.sp {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  background: none;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p span.sp {
    display: none;
  }
}
#top #mainVisual .slider > ul li a figcaption p span.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p span.pc {
    display: block;
  }
}
#top #mainVisual .slider > ul li a figcaption p:first-child {
  font-family: "Poppins", sans-serif;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.128vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p:first-child {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(0.96px, 0.072vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p:first-child span {
  padding: 2.1333333333vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p:first-child span {
    padding: min(14px, 1.05vw) min(10px, 0.75vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p:last-child {
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.48vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p:last-child {
    font-size: min(3vw, 40px);
    line-height: 1.5;
    letter-spacing: min(4px, 0.3vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p:last-child span {
  margin-top: 1.3333333333vw;
  padding: 1.6vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p:last-child span {
    margin-top: min(5px, 0.375vw);
    padding: min(8px, 0.6vw) min(10px, 0.75vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p:last-child > span:last-child {
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: 1fr 5.6vw;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li a figcaption p:last-child > span:last-child {
    grid-template-columns: 1fr min(39px, 2.925vw);
    gap: min(10px, 0.75vw);
  }
}
#top #mainVisual .slider > ul li a figcaption p:last-child > span:last-child:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
}
#top #mainVisual .slider > ul li:not(:nth-of-type(1)) {
  object-position: bottom center;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:not(:nth-of-type(1)) figure img {
    aspect-ratio: 1440/900;
    object-position: bottom center;
    object-fit: contain;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(1) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
#top #mainVisual .slider > ul li:nth-of-type(1) a:before,
#top #mainVisual .slider > ul li:nth-of-type(1) a:after {
  content: "";
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left;
  display: block;
  pointer-events: none;
  position: absolute;
  top: 0;
  aspect-ratio: 375/742;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(1) a:before,
  #top #mainVisual .slider > ul li:nth-of-type(1) a:after {
    aspect-ratio: 1440/900;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(1) a:before {
  width: 100%;
  height: auto;
  background-image: url(../img/top/mainVisual012.png);
  left: 0;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(1) a:before {
    background-image: url(../img/top/mainVisual01_pc2.png);
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(1) a:after {
    content: "";
    background-image: url(../img/top/mainVisual01_pc3.png);
    right: 0;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(2) {
  background: url(../img/top/mainVisual022.png) no-repeat center center/cover;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(2) {
    background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  }
  #top #mainVisual .slider > ul li:nth-of-type(2) a:before {
    content: "";
    height: 100%;
    background-image: url(../img/top/mainVisual02_pc3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
    display: block;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1440/900;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(3) {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f985ca 11.49%, #ffdbff 88.51%), #D9D9D9;
}
#top #mainVisual .slider > ul li:nth-of-type(3) img {
  object-position: center;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-height: 700px) {
  #top #mainVisual .slider > ul li:nth-of-type(3) img {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(3) img {
    object-position: bottom center;
    width: auto;
    height: 100%;
    object-fit: contain;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(4) {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
}
#top #mainVisual .slider > ul li:nth-of-type(4) img {
  object-position: center;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-height: 700px) {
  #top #mainVisual .slider > ul li:nth-of-type(4) img {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(4) {
    background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(329deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  }
  #top #mainVisual .slider > ul li:nth-of-type(4) img {
    object-position: bottom center;
    width: auto;
    height: 100%;
    object-fit: contain;
  }
}
#top #mainVisual .slider > ul li:nth-of-type(5) {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
}
#top #mainVisual .slider > ul li:nth-of-type(5) img {
  object-position: center;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-height: 700px) {
  #top #mainVisual .slider > ul li:nth-of-type(5) img {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider > ul li:nth-of-type(5) img {
    object-position: bottom center;
    width: auto;
    height: 100%;
    object-fit: contain;
  }
}
#top #mainVisual .slider .controller {
  width: 100%;
  position: absolute;
  color: #333;
  font-family: "Poppins", sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
  bottom: 5.3333333333vw;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller {
    bottom: 0;
    padding: 0 min(40px, 3vw);
  }
}
#top #mainVisual .slider .controller .counterText {
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  font-size: 2.6666666667vw;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller .counterText {
    bottom: min(30px, 2.25vw);
    left: min(40px, 3vw);
    font-size: min(1.05vw, 14px);
    line-height: 1;
  }
}
#top #mainVisual .slider .controller .counterText .separator {
  margin: 0 0.8vw;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller .counterText .separator {
    margin: 0 min(5px, 0.375vw);
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#top #mainVisual .slider .controller .pause {
  display: none;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller .pause {
    display: block;
  }
}
#top #mainVisual .slider .controller .pause button {
  border: 0.2666666667vw solid #333;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller .pause button {
    border-width: min(1px, 0.075vw);
    border-radius: min(50px, 3.75vw);
    width: min(36px, 2.7vw);
    height: min(18px, 1.35vw);
  }
}
#top #mainVisual .slider .controller .pause button:before {
  content: "";
  aspect-ratio: 6/8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='8' fill='none'%3E%3Cpath fill='%23333' d='M0 0h2v8H0zM4 0h2v8H4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slider .controller .pause button:before {
    width: min(6px, 0.45vw);
  }
}
#top #mainVisual .slick-dots {
  width: fit-content;
  display: flex;
  align-items: center;
  z-index: 1;
  bottom: 5.8666666667vw;
  right: 5.3333333333vw;
  gap: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slick-dots {
    bottom: max(-30px, -2.25vw);
    right: min(91px, 6.825vw);
    gap: min(5px, 0.375vw);
  }
}
#top #mainVisual .slick-dots li {
  position: relative;
  margin: 0;
  background-color: #D9D9D9;
  cursor: pointer;
  width: 6.6666666667vw;
  height: 0.8vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .slick-dots li {
    width: min(100px, 7.5vw);
    height: min(3px, 0.225vw);
    border-radius: min(2px, 0.15vw);
  }
}
#top #mainVisual .slick-dots li button {
  display: none;
}
#top #mainVisual .slick-dots li .dot-progress-bg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #D9D9D9;
  position: relative;
  overflow: hidden;
}
#top #mainVisual .slick-dots li .dot-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #D9D9D9;
  transition: width 0.1s;
}
#top #mainVisual .slick-dots li .dot-progress-fill.animating {
  transition: width 0.05s;
}
#top #mainVisual .slick-dots li.current .dot-progress-fill {
  background-color: #E50113;
}
#top #mainVisual .slick-dots li.completed .dot-progress-fill {
  background-color: #D9D9D9;
}
#top #mainVisual .slick-dotted.slick-slider {
  margin: 0;
}
#top #mainVisual .slider > ul li a:before,
#top #mainVisual .slider > ul li a:after {
  opacity: 0;
  transition: opacity 0.3s;
}
#top #how {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  position: relative;
  padding-top: 18.6666666667vw;
  padding-bottom: 18.6666666667vw;
  background: #fff;
}
@media screen and (min-width: 768px) {
  #top #how {
    padding-top: min(100px, 7.5vw);
    padding-bottom: min(150px, 11.25vw);
  }
}
#top #how .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #how .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#top #how figure {
  display: grid;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #top #how figure {
    grid-template-columns: 1fr min(570px, 42.75vw);
    gap: min(100px, 7.5vw);
    width: min(1121px, 84.075vw);
    margin: 0 auto;
  }
}
#top #how figure img {
  order: 2;
  border-radius: 7.6vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #how figure img {
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#top #how figure figcaption h2 {
  font-weight: 500;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
}
@media screen and (min-width: 768px) {
  #top #how figure figcaption h2 {
    font-size: min(1.95vw, 26px);
    line-height: 1.9;
    letter-spacing: min(1.04px, 0.078vw);
  }
}
#top #how .description {
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: 1fr;
  gap: 5.3333333333vw;
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #how .description {
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 3vw);
  }
}
#top #how .description dl {
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  width: 80vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #top #how .description dl {
    width: 100%;
  }
}
#top #how .description dl dt {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1;
  letter-spacing: 0.256vw;
  text-align: center;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #how .description dl dt {
    font-size: min(2.25vw, 30px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    margin-bottom: min(19px, 1.425vw);
    text-align: left;
  }
}
#top #how .description dl dt span {
  display: block;
  font-weight: 400;
  margin-top: 2.9333333333vw;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.128vw;
}
@media screen and (min-width: 768px) {
  #top #how .description dl dt span {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
    margin-top: min(11px, 0.825vw);
  }
}
#top #how .description dl dt:has(span) {
  margin-bottom: 5.8666666667vw;
}
@media screen and (min-width: 768px) {
  #top #how .description dl dt:has(span) {
    margin-bottom: min(23px, 1.725vw);
  }
}
#top #how .description dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  width: 64vw;
  font-feature-settings: "palt" on;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #how .description dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #how .description dl dd {
    width: min(222px, 16.65vw);
    text-align: left;
  }
}
#top #how .description dl:nth-of-type(1) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='301' height='230' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M298 2.5v225H3V2.5h295Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.54' x2='300.5' y1='115.015' y2='115.015' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 300/230;
}
@media screen and (min-width: 768px) {
  #top #how .description dl:nth-of-type(1) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M357.5 3v355H2.5V3h355Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 768px) {
  #top #how .description dl:nth-of-type(1) dd {
    width: max-content;
  }
}
#top #how .description dl:nth-of-type(2) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M180 3c98.031 0 177.5 79.47 177.5 177.5 0 98.031-79.469 177.5-177.5 177.5C81.97 358 2.5 278.531 2.5 180.5 2.5 82.47 81.97 3 180 3Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
#top #how .description dl:nth-of-type(3) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M180 3c98.033 0 177.5 79.45 177.5 177.488C357.5 278.527 278.032 358 180 358H2.5V3H180Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFEDFF'/%3E%3Cstop offset='1' stop-color='red'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #top #how .description {
    margin-top: min(100px, 7.5vw);
  }
}
#top #unique {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f985ca 11.49%, #ffdbff 88.51%), #D9D9D9;
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0;
}
#top #unique h2 {
  width: max-content;
}
#top #unique h2 a, #top #unique h2 > span {
  display: grid;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 a, #top #unique h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #unique h2 a span, #top #unique h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 a span, #top #unique h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #unique h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #unique h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #unique h2 a:hover {
    opacity: 0.8;
  }
}
#top #unique h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #unique h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #fff;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #unique h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #unique h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #top #unique h2 + p {
    width: min(665px, 49.875vw);
  }
}
@media screen and (min-width: 768px) {
  #top #unique {
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
  }
}
#top #unique .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #unique .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#top #unique img {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #unique img {
    width: min(400px, 30vw);
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
}
#top #unique ul:not(.slick-dots) {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) {
    margin-top: min(110px, 8.25vw);
    display: grid;
    gap: min(20px, 1.5vw);
    grid-template-columns: repeat(4, 1fr);
  }
}
#top #unique ul:not(.slick-dots) li {
  counter-increment: number 1;
}
#top #unique ul:not(.slick-dots) li a {
  display: block;
  background-color: #fff;
  position: relative;
  height: 100%;
  transition: background-color 0.2s linear;
  width: 54.6666666667vw;
  border-radius: 5.3333333333vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a {
    border-radius: min(20px, 1.5vw);
    padding: min(30px, 2.25vw);
    width: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #unique ul:not(.slick-dots) li a:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
#top #unique ul:not(.slick-dots) li a p {
  color: #E50113;
  display: grid;
  justify-content: start;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  grid-template-columns: 10.6666666667vw auto auto;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a p {
    grid-template-columns: min(40px, 3vw) auto auto;
  }
}
#top #unique ul:not(.slick-dots) li a p span {
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
  transform: translateY(1.0666666667vw);
  margin-left: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a p span {
    font-size: min(0.75vw, 10px);
    line-height: 1;
    letter-spacing: min(0.5px, 0.0375vw);
    transform: translateY(min(4px, 0.3vw));
    margin-left: min(10px, 0.75vw);
  }
}
#top #unique ul:not(.slick-dots) li a p:before {
  content: "";
  width: 100%;
  aspect-ratio: 40/36;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='36' fill='none'%3E%3Cpath fill='red' d='m12.87 30.127.085-1.73c.145-7.074-2.54-7.12-3.305-7.127-2.882-.032-5.91 3.488-7.48 5.575A50.43 50.43 0 0 0 .646 29.05c1.425 3.791 5.08 6.492 9.36 6.492 5.522 0 10-4.484 10-10.012v-3.368c-3.654 3.56-6.57 7.16-7.13 7.965h-.007Z'/%3E%3Cpath fill='red' d='M10.521 18.338c2.711.192 3.925 2.86 4.103 5.574 1.8-2.351 3.641-4.53 5.383-6.479v-6.921H0V25.53c0 .872.112 1.71.317 2.516 2.018-4.524 5.686-9.88 10.197-9.708h.007Z'/%3E%3Cpath fill='%23F985CA' d='M30 .5H20v16.933a128.73 128.73 0 0 1 8.021-8.182 3.68 3.68 0 0 1-2.09-2.794h8.126v8.137a3.682 3.682 0 0 1-2.81-2.134c-1.709 1.308-5.007 3.956-9.703 8.25-.528.481-1.043.97-1.544 1.459v3.368h10V20.53c5.521 0 10-4.484 10-10.012C40 4.99 35.528.5 30 .5Z'/%3E%3Cpath fill='%23fff' d='M20 17.433a108.955 108.955 0 0 0-5.383 6.48c-.178-2.715-1.385-5.377-4.103-5.575-4.511-.172-8.179 5.184-10.197 9.709.085.343.197.68.316 1.003.488-.753.996-1.486 1.524-2.206 1.57-2.093 4.598-5.607 7.48-5.574.765.007 3.45.06 3.305 7.127l-.086 1.73c.56-.806 3.476-4.399 7.13-7.965a65.59 65.59 0 0 1 1.544-1.46c4.697-4.292 7.995-6.94 9.703-8.248a3.682 3.682 0 0 0 2.81 2.133V6.45h-8.126a3.668 3.668 0 0 0 2.09 2.794 130.553 130.553 0 0 0-8.02 8.183l.013.006Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
#top #unique ul:not(.slick-dots) li a p:after {
  content: counter(number);
  display: block;
  font-size: 5.8666666667vw;
  line-height: 1;
  letter-spacing: 0.2933333333vw;
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a p:after {
    font-size: min(1.65vw, 22px);
    line-height: 1;
    letter-spacing: min(1.1px, 0.0825vw);
    margin-left: min(4px, 0.3vw);
  }
}
#top #unique ul:not(.slick-dots) li a dl {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a dl {
    margin-top: min(15px, 1.125vw);
  }
}
#top #unique ul:not(.slick-dots) li a dl dt {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a dl dt {
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#top #unique ul:not(.slick-dots) li a dl dd {
  font-weight: 400;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a dl dd {
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a dl dd {
    margin-top: min(15px, 1.125vw);
    margin-bottom: min(13px, 0.975vw);
  }
}
#top #unique ul:not(.slick-dots) li a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  margin-left: auto;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #unique ul:not(.slick-dots) li a:after {
    width: min(30px, 2.25vw);
  }
}
#top #unique .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#top #unique .slick-list {
  overflow: visible;
}
#top #unique ul:not(.slick-dots) .slick-track {
  display: flex;
  counter-reset: number 0;
  gap: 0 4vw;
}
#top #unique ul:not(.slick-dots) .slick-track .slick-slide {
  height: auto;
}
#top #unique ul:not(.slick-dots) .slick-dots {
  position: relative;
  bottom: -2.6666666667vw;
}
#top #unique ul:not(.slick-dots) .slick-dots li {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  padding: 0;
  margin: 0 1.3333333333vw;
}
#top #unique ul:not(.slick-dots) .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#top #unique ul:not(.slick-dots) .slick-dots li button:before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  content: "";
  opacity: 0.6;
}
#top #unique ul:not(.slick-dots) .slick-dots .slick-active button:before {
  opacity: 1;
}
#top #service,
#top #serviceStyle {
  padding-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #service,
  #top #serviceStyle {
    padding-top: min(150px, 11.25vw);
  }
}
#top #service .wrapper,
#top #serviceStyle .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #top #service .wrapper,
  #top #serviceStyle .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #service .wrapper,
  #top #serviceStyle .wrapper {
    grid-template-columns: min(492px, 36.9vw) min(570px, 42.75vw);
  }
}
#top #service h2,
#top #serviceStyle h2 {
  width: max-content;
}
#top #service h2 a, #top #service h2 > span,
#top #serviceStyle h2 a,
#top #serviceStyle h2 > span {
  display: grid;
  color: #333;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 a, #top #service h2 > span,
  #top #serviceStyle h2 a,
  #top #serviceStyle h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #service h2 a span, #top #service h2 > span span,
#top #serviceStyle h2 a span,
#top #serviceStyle h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 a span, #top #service h2 > span span,
  #top #serviceStyle h2 a span,
  #top #serviceStyle h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #service h2 a,
#top #serviceStyle h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 a,
  #top #serviceStyle h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #service h2 a:after,
#top #serviceStyle h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 a:after,
  #top #serviceStyle h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #service h2 a:hover,
  #top #serviceStyle h2 a:hover {
    opacity: 0.8;
  }
}
#top #service h2 > span:after,
#top #serviceStyle h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 > span:after,
  #top #serviceStyle h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #service h2 + p,
#top #serviceStyle h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #333;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 + p,
  #top #serviceStyle h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #service h2 + p,
  #top #serviceStyle h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#top #service .more,
#top #serviceStyle .more {
  margin-top: 8vw;
}
#top #service .more a,
#top #service .more span,
#top #serviceStyle .more a,
#top #serviceStyle .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #top #service .more a,
  #top #service .more span,
  #top #serviceStyle .more a,
  #top #serviceStyle .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#top #service .more a:after,
#top #service .more span:after,
#top #serviceStyle .more a:after,
#top #serviceStyle .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #service .more a:hover,
  #top #service .more span:hover,
  #top #serviceStyle .more a:hover,
  #top #serviceStyle .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #top #service .more a:hover:after,
  #top #service .more span:hover:after,
  #top #serviceStyle .more a:hover:after,
  #top #serviceStyle .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #top #service .more,
  #top #serviceStyle .more {
    margin-top: min(80px, 6vw);
  }
}
#top #service img,
#top #serviceStyle img {
  border: 0.2666666667vw solid #D9D9D9;
  margin-top: 13.3333333333vw;
  border-radius: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #service img,
  #top #serviceStyle img {
    border-width: min(1px, 0.075vw);
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#top #service h2 span:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='47' height='51' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M17 50.085c-8.837 0-16-7.163-16-16v-24h16v40Z'/%3E%3Cpath stroke='url(%23c)' d='M16.5 10.585v38.99c-8.329-.264-15-7.097-15-15.49v-23.5h15Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M26.048 44.244c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58 0 7.499 6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23f)' d='M26.048 17.585c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.079-13.548 13.08-7.498 0-13.548-5.873-13.548-13.08 0-7.209 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23g)'%3E%3Cpath fill='url(%23h)' d='M42 1.085H9v22h33v-22Z'/%3E%3C/g%3E%3Cg filter='url(%23i)'%3E%3Cpath fill='url(%23j)' d='M46 28.085c-8.837 0-16-7.163-16-16h16v16Z'/%3E%3Cpath stroke='url(%23k)' d='M45.5 12.585v14.99c-8.163-.258-14.733-6.827-14.991-14.99H45.5Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='1.002' x2='17' y1='30.088' y2='30.088' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='1.002' x2='17' y1='30.088' y2='30.088' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='12.004' x2='40.095' y1='30.666' y2='30.666' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='f' x1='12.004' x2='40.095' y1='30.666' y2='30.666' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='h' x1='25.502' x2='25.502' y1='1.087' y2='23.083' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='30.002' x2='46' y1='20.086' y2='20.086' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='k' x1='30.002' x2='46' y1='20.086' y2='20.086' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='17' height='41' x='.5' y='9.585' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1310' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='29.095' height='28.159' x='11.5' y='16.585' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1310' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='g' width='34' height='23' x='8.5' y='.585' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1310' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='i' width='17' height='17' x='29.5' y='11.585' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1310' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 45/49;
  width: 8.4vw;
}
@media screen and (min-width: 768px) {
  #top #service h2 span:after {
    width: min(45px, 3.375vw);
  }
}
#top #serviceStyle .wrapper {
  align-items: center;
}
#top #serviceStyle .wrapper img {
  border: none;
}
#top #serviceStyle .wrapper ul {
  display: flex;
  flex-direction: column;
  margin-top: 8vw;
  gap: 4vw;
}
@media screen and (min-width: 768px) {
  #top #serviceStyle .wrapper ul {
    margin-top: min(80px, 6vw);
    margin-bottom: min(40px, 3vw);
    gap: min(15px, 1.125vw);
  }
}
#top #serviceStyle .wrapper ul li {
  border: 0.2666666667vw solid #D9D9D9;
  color: #E50113;
  background-color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 2.4vw;
  border-radius: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #serviceStyle .wrapper ul li {
    border-width: min(1px, 0.075vw);
    padding: min(9px, 0.675vw);
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
    letter-spacing: min(0.8px, 0.06vw);
    border-radius: min(10px, 0.75vw);
  }
}
#top #serviceStyle .wrapper p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #serviceStyle .wrapper p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #serviceStyle .wrapper p {
    margin-top: 0;
  }
}
#top #serviceStyle .wrapper img {
  border-radius: 8vw;
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #serviceStyle .wrapper img {
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#top #strength,
#top #message {
  position: relative;
  padding-bottom: 18.6666666667vw;
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #strength,
  #top #message {
    margin-top: min(150px, 11.25vw);
    padding-bottom: min(120px, 9vw);
  }
}
#top #strength:before,
#top #message:before {
  content: "";
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  pointer-events: none;
  display: block;
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  top: 0;
  border-radius: 18.6666666667vw 18.6666666667vw 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #top #strength:before,
  #top #message:before {
    width: calc(min(1160px, 87vw) + (100vw - min(1160px, 87vw)) / 2 + max(-98px, -7.35vw));
    height: calc(100% - min(81px, 6.075vw));
    top: min(81px, 6.075vw);
    border-radius: min(500px, 37.5vw) 0 0 min(500px, 37.5vw);
  }
}
#top #strength .wrapper,
#top #message .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  #top #strength .wrapper,
  #top #message .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #strength .wrapper,
  #top #message .wrapper {
    grid-template-columns: min(559px, 41.925vw) min(472px, 35.4vw);
    gap: 0 min(129px, 9.675vw);
  }
}
#top #strength h2,
#top #message h2 {
  width: max-content;
  margin-top: 13.3333333333vw;
}
#top #strength h2 a, #top #strength h2 > span,
#top #message h2 a,
#top #message h2 > span {
  display: grid;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 a, #top #strength h2 > span,
  #top #message h2 a,
  #top #message h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #strength h2 a span, #top #strength h2 > span span,
#top #message h2 a span,
#top #message h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 a span, #top #strength h2 > span span,
  #top #message h2 a span,
  #top #message h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #strength h2 a,
#top #message h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 a,
  #top #message h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #strength h2 a:after,
#top #message h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 a:after,
  #top #message h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #strength h2 a:hover,
  #top #message h2 a:hover {
    opacity: 0.8;
  }
}
#top #strength h2 > span:after,
#top #message h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 > span:after,
  #top #message h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #strength h2 + p,
#top #message h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #fff;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #strength h2 + p,
  #top #message h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #strength h2 + p,
  #top #message h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#top #strength h2 span:after,
#top #message h2 span:after {
  display: none;
}
@media screen and (min-width: 768px) {
  #top #strength h2,
  #top #message h2 {
    margin-top: min(201px, 15.075vw);
  }
}
#top #strength .more,
#top #message .more {
  margin-top: 8vw;
}
#top #strength .more a,
#top #strength .more span,
#top #message .more a,
#top #message .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #top #strength .more a,
  #top #strength .more span,
  #top #message .more a,
  #top #message .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#top #strength .more a:after,
#top #strength .more span:after,
#top #message .more a:after,
#top #message .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #strength .more a:hover,
  #top #strength .more span:hover,
  #top #message .more a:hover,
  #top #message .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #top #strength .more a:hover:after,
  #top #strength .more span:hover:after,
  #top #message .more a:hover:after,
  #top #message .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #top #strength .more,
  #top #message .more {
    margin-top: min(80px, 6vw);
  }
}
#top #strength img,
#top #message img {
  order: -1;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #strength img,
  #top #message img {
    width: 100%;
    border-radius: min(50px, 3.75vw);
    grid-column: 1/2;
    grid-row: 1/3;
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #strength div,
  #top #message div {
    grid-column: 2;
  }
}
#top #recruit {
  position: relative;
  color: #fff;
  background: linear-gradient(222.84deg, #e70303 25.95%, #c41b29 74.05%);
  margin-top: 18.6666666667vw;
  border-radius: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #top #recruit {
    margin-top: min(150px, 11.25vw);
    border-radius: min(200px, 15vw) 0;
  }
}
#top #recruit .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  padding-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper {
    padding: min(150px, 11.25vw) 0 min(50px, 3.75vw);
  }
}
#top #recruit .wrapper h2 {
  width: max-content;
}
#top #recruit .wrapper h2 a, #top #recruit .wrapper h2 > span {
  display: grid;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 a, #top #recruit .wrapper h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #recruit .wrapper h2 a span, #top #recruit .wrapper h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 a span, #top #recruit .wrapper h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #recruit .wrapper h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #recruit .wrapper h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #recruit .wrapper h2 a:hover {
    opacity: 0.8;
  }
}
#top #recruit .wrapper h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #recruit .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #fff;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#top #recruit .wrapper h2 span:after {
  display: none;
}
#top #recruit .wrapper h2 + p {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper h2 + p {
    font-size: min(2.4vw, 32px);
    line-height: 1.9;
    letter-spacing: min(1.6px, 0.12vw);
  }
}
#top #recruit .wrapper .story,
#top #recruit .wrapper .discussion,
#top #recruit .wrapper .career {
  padding: 13.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story,
  #top #recruit .wrapper .discussion,
  #top #recruit .wrapper .career {
    padding: min(100px, 7.5vw) 0;
  }
}
#top #recruit .wrapper .story h3,
#top #recruit .wrapper .discussion h3,
#top #recruit .wrapper .career h3 {
  font-weight: 700;
  border-left: 1.6vw solid #fff;
  font-feature-settings: normal;
  color: #fff;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-left: 4vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story h3,
  #top #recruit .wrapper .discussion h3,
  #top #recruit .wrapper .career h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    border-left-width: min(6px, 0.45vw);
    padding-left: min(24px, 1.8vw);
  }
}
#top #recruit .wrapper .story h3 span,
#top #recruit .wrapper .discussion h3 span,
#top #recruit .wrapper .career h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1493333333vw;
  margin-top: 1.8666666667vw;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story h3 span,
  #top #recruit .wrapper .discussion h3 span,
  #top #recruit .wrapper .career h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.64px, 0.048vw);
    margin-top: min(15px, 1.125vw);
  }
}
#top #recruit .wrapper .story h3 + p,
#top #recruit .wrapper .discussion h3 + p,
#top #recruit .wrapper .career h3 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story h3 + p,
  #top #recruit .wrapper .discussion h3 + p,
  #top #recruit .wrapper .career h3 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story h3 + p,
  #top #recruit .wrapper .discussion h3 + p,
  #top #recruit .wrapper .career h3 + p {
    margin-top: min(60px, 4.5vw);
  }
}
#top #recruit .wrapper .story .more,
#top #recruit .wrapper .discussion .more,
#top #recruit .wrapper .career .more {
  margin-top: 8vw;
}
#top #recruit .wrapper .story .more a,
#top #recruit .wrapper .story .more span,
#top #recruit .wrapper .discussion .more a,
#top #recruit .wrapper .discussion .more span,
#top #recruit .wrapper .career .more a,
#top #recruit .wrapper .career .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story .more a,
  #top #recruit .wrapper .story .more span,
  #top #recruit .wrapper .discussion .more a,
  #top #recruit .wrapper .discussion .more span,
  #top #recruit .wrapper .career .more a,
  #top #recruit .wrapper .career .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#top #recruit .wrapper .story .more a:after,
#top #recruit .wrapper .story .more span:after,
#top #recruit .wrapper .discussion .more a:after,
#top #recruit .wrapper .discussion .more span:after,
#top #recruit .wrapper .career .more a:after,
#top #recruit .wrapper .career .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #recruit .wrapper .story .more a:hover,
  #top #recruit .wrapper .story .more span:hover,
  #top #recruit .wrapper .discussion .more a:hover,
  #top #recruit .wrapper .discussion .more span:hover,
  #top #recruit .wrapper .career .more a:hover,
  #top #recruit .wrapper .career .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #top #recruit .wrapper .story .more a:hover:after,
  #top #recruit .wrapper .story .more span:hover:after,
  #top #recruit .wrapper .discussion .more a:hover:after,
  #top #recruit .wrapper .discussion .more span:hover:after,
  #top #recruit .wrapper .career .more a:hover:after,
  #top #recruit .wrapper .career .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story .more,
  #top #recruit .wrapper .discussion .more,
  #top #recruit .wrapper .career .more {
    margin-top: min(60px, 4.5vw);
  }
}
#top #recruit .wrapper .discussion,
#top #recruit .wrapper .career {
  border-top: 1.0666666667vw solid #fff;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .discussion,
  #top #recruit .wrapper .career {
    border-top-width: min(4px, 0.3vw);
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story ul:not(.slick-dots) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 3vw);
    margin-top: min(60px, 4.5vw);
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a {
  background-color: #fff;
  display: block;
  transition: background-color 0.2s linear;
  width: 70.9333333333vw;
  padding: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story ul:not(.slick-dots) li a {
    width: 100%;
    padding: min(8px, 0.6vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #recruit .wrapper .story ul:not(.slick-dots) li a:hover {
    background-color: #faccd0;
  }
  #top #recruit .wrapper .story ul:not(.slick-dots) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 239/159;
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption {
  padding: 4vw 2.6666666667vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption {
    padding: min(20px, 1.5vw) min(16px, 1.2vw) min(12px, 0.9vw);
    font-weight: 700;
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption p:first-child {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption p:first-child {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption p:last-child {
  display: grid;
  color: #E50113;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.6666666667vw;
  grid-template-columns: 1fr 6.4vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption p:last-child {
    margin-top: min(20px, 1.5vw);
    grid-template-columns: 1fr min(24px, 1.8vw);
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#top #recruit .wrapper .story ul:not(.slick-dots) li a figure figcaption p:last-child:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
}
#top #recruit .wrapper .story .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#top #recruit .wrapper .story .slick-list {
  overflow: visible;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-track {
  display: flex;
  counter-reset: number 0;
  gap: 0 4vw;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-track .slick-slide {
  height: auto;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-dots {
  position: relative;
  bottom: -2.6666666667vw;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-dots li {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  padding: 0;
  margin: 0 1.3333333333vw;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-dots li button:before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  content: "";
  opacity: 0.6;
}
#top #recruit .wrapper .story ul:not(.slick-dots) .slick-dots .slick-active button:before {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .story .more {
    width: min(472px, 35.4vw);
    margin-left: auto;
  }
}
#top #recruit .wrapper .discussion {
  display: grid;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .discussion {
    border-top-width: min(4px, 0.3vw);
    grid-template-columns: min(472px, 35.4vw) min(559px, 41.925vw);
    grid-template-rows: auto auto 1fr;
  }
}
#top #recruit .wrapper .discussion img {
  grid-row: 3;
  border-radius: 8vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .discussion img {
    grid-column: 2;
    grid-row: 1/4;
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#top #recruit .wrapper .career {
  display: grid;
  justify-content: space-between;
  padding-bottom: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career {
    border-top-width: min(4px, 0.3vw);
    grid-template-columns: min(554px, 41.55vw) min(539px, 40.425vw);
    grid-template-rows: auto auto 1fr;
    padding-bottom: min(100px, 7.5vw);
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career h3 {
    margin-bottom: min(60px, 4.5vw);
  }
}
#top #recruit .wrapper .career img {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career img {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0;
  }
}
#top #recruit .wrapper .career ol {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol {
    gap: min(62px, 4.65vw);
  }
}
#top #recruit .wrapper .career ol li {
  text-align: center;
  display: grid;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#top #recruit .wrapper .career ol li:before {
  content: "";
  width: 100%;
  aspect-ratio: 99/80;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
#top #recruit .wrapper .career ol li:last-of-type dl:after {
  display: none;
}
#top #recruit .wrapper .career ol li:nth-of-type(1):before {
  background-image: url(../img/icon-step1.png);
}
#top #recruit .wrapper .career ol li:nth-of-type(2):before {
  background-image: url(../img/icon-step2.png);
}
#top #recruit .wrapper .career ol li:nth-of-type(3):before {
  background-image: url(../img/icon-step3.png);
}
#top #recruit .wrapper .career ol li:nth-of-type(4):before {
  background-image: url(../img/icon-step4.png);
}
#top #recruit .wrapper .career ol li dl {
  position: relative;
  border: 0.2666666667vw solid #D9D9D9;
  border-radius: 5.3333333333vw;
  padding: 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl {
    border-radius: min(20px, 1.5vw);
    border-width: min(1px, 0.075vw);
    padding: min(19px, 1.425vw);
  }
}
#top #recruit .wrapper .career ol li dl:after {
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='17' fill='none'%3E%3Cpath stroke='%23fff' stroke-linejoin='round' stroke-width='2' d='m29 1.17-14.068 14-14.068-14'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  width: 5.8666666667vw;
  bottom: -5.8666666667vw;
  aspect-ratio: 30/17;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl:after {
    width: min(30px, 2.25vw);
    bottom: max(-40px, -3vw);
  }
}
#top #recruit .wrapper .career ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    text-align: center;
  }
}
#top #recruit .wrapper .career ol li dl dd {
  color: #333;
  font-weight: 400;
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl dd {
    margin-top: min(15px, 1.125vw);
    text-align: center;
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol {
    grid-row: 2;
    margin-top: 0;
  }
}
#top #recruit .wrapper .career ol li {
  grid-template-columns: 16vw 1fr;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li {
    grid-template-columns: min(99px, 7.425vw) 1fr;
    gap: min(15px, 1.125vw);
  }
}
#top #recruit .wrapper .career ol li dl {
  background-color: #fff;
  border-radius: 5.3333333333vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl {
    border-radius: min(20px, 1.5vw);
    padding: min(20px, 1.5vw);
  }
}
#top #recruit .wrapper .career ol li dl dd {
  font-size: 3.7333333333vw;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #top #recruit .wrapper .career ol li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
#top #blog {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #blog {
    margin-top: min(150px, 11.25vw);
  }
}
#top #blog .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #blog .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#top #blog h2 {
  width: max-content;
}
#top #blog h2 a, #top #blog h2 > span {
  display: grid;
  color: #333;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 a, #top #blog h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #blog h2 a span, #top #blog h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 a span, #top #blog h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #blog h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #blog h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #blog h2 a:hover {
    opacity: 0.8;
  }
}
#top #blog h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #blog h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #333;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #blog h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #blog h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#top #blog ul:not(.pagination) {
  margin-top: 8vw;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
  }
}
#top #blog ul:not(.pagination) li a {
  display: grid;
  border: 0.2666666667vw solid #D9D9D9;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto 1fr;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s linear;
  height: 100%;
  background-color: #fff;
  width: 54.6666666667vw;
  padding: 5.0666666667vw 5.0666666667vw 0;
  border-radius: 2.6666666667vw;
  gap: 4vw 0;
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) li a {
    width: min(373px, 27.975vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(10px, 0.75vw);
    padding: min(29px, 2.175vw) min(29px, 2.175vw) min(9px, 0.675vw) min(29px, 2.175vw);
    gap: min(20px, 1.5vw) 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #blog ul:not(.pagination) li a:hover {
    background-color: #faccd0;
  }
  #top #blog ul:not(.pagination) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#top #blog ul:not(.pagination) li a .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) li a .date {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#top #blog ul:not(.pagination) li a .tag {
  color: #E50113;
  border: 0.2666666667vw solid #E50113;
  width: max-content;
  justify-self: end;
  font-weight: 700;
  padding: 1.0666666667vw 2.4vw;
  border-radius: 5.3333333333vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) li a .tag {
    padding: min(4px, 0.3vw) min(9px, 0.675vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(20px, 1.5vw);
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
#top #blog ul:not(.pagination) li a figure {
  grid-column: 1/3;
}
#top #blog ul:not(.pagination) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 40/21;
}
#top #blog ul:not(.pagination) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#top #blog ul:not(.pagination) li a figure figcaption {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-top: 4vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) li a figure figcaption {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #top #blog ul:not(.pagination) li a figure figcaption {
    margin-top: min(20px, 1.5vw);
  }
}
#top #blog .slick-list {
  overflow: visible;
}
#top #blog .slick-track {
  display: flex;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #blog .slick-track {
    gap: min(20px, 1.5vw);
  }
}
#top #blog .slick-track .slick-slide {
  height: auto;
}
#top #blog .slick-prev,
#top #blog .slick-next {
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  top: -17.8666666667vw;
  transition: opacity 0.2s linear;
}
@media screen and (min-width: 768px) {
  #top #blog .slick-prev,
  #top #blog .slick-next {
    width: min(54px, 4.05vw);
    height: min(54px, 4.05vw);
    top: max(-152px, -11.4vw);
  }
}
#top #blog .slick-prev:before,
#top #blog .slick-next:before {
  content: "";
  font-size: 0;
  line-height: 0;
  opacity: 1;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  #top #blog .slick-prev:not(.disabled):hover,
  #top #blog .slick-next:not(.disabled):hover {
    opacity: 0.7;
  }
}
#top #blog .slick-prev.disabled,
#top #blog .slick-next.disabled {
  opacity: 0.5;
}
#top #blog .slick-prev {
  right: 11.4666666667vw;
  left: auto;
}
@media screen and (min-width: 768px) {
  #top #blog .slick-prev {
    right: min(68px, 5.1vw);
  }
}
#top #blog .slick-prev:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='36' fill='none'%3E%3Ccircle cx='17.5' cy='17.674' r='17.17' fill='%23fff' stroke='%23E50113' stroke-width='.66' transform='rotate(-180 17.5 17.674)'/%3E%3Cpath stroke='%23E50113' stroke-linejoin='round' d='m21 26-8-8.5L21 9'/%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #top #blog .slick-prev:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='53' height='54' fill='none'%3E%3Ccircle cx='26.5' cy='26.67' r='26' fill='%23fff' stroke='%23E50113' transform='rotate(-180 26.5 26.67)'/%3E%3Cpath stroke='%23E50113' stroke-linejoin='round' d='m31 36.17-9-9.5 9-9.5'/%3E%3C/svg%3E");
  }
}
#top #blog .slick-next {
  right: -0.5333333333vw;
  left: auto;
}
@media screen and (min-width: 768px) {
  #top #blog .slick-next {
    right: 0;
  }
}
#top #blog .slick-next:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='36' fill='none'%3E%3Ccircle cx='17.5' cy='17.674' r='17.17' fill='%23fff' stroke='%23E50113' stroke-width='.66'/%3E%3Cpath stroke='%23E50113' stroke-linejoin='round' d='m14 9 8 8.5-8 8.5'/%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #top #blog .slick-next:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='53' height='54' fill='none'%3E%3Ccircle cx='26.5' cy='26.67' r='26' fill='%23fff' stroke='%23E50113'/%3E%3Cpath stroke='%23E50113' stroke-linejoin='round' d='m22 17.17 9 9.5-9 9.5'/%3E%3C/svg%3E");
  }
}
#top #blog .more {
  margin-top: 8vw;
}
#top #blog .more a,
#top #blog .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #top #blog .more a,
  #top #blog .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#top #blog .more a:after,
#top #blog .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #blog .more a:hover,
  #top #blog .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #top #blog .more a:hover:after,
  #top #blog .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #top #blog .more {
    margin-top: min(80px, 6vw);
    width: min(472px, 35.4vw);
    margin-left: auto;
  }
}
#top #news {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #news {
    margin-top: min(150px, 11.25vw);
  }
}
#top #news .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
}
@media screen and (min-width: 768px) {
  #top #news .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #top #news .wrapper {
    grid-template-columns: 1fr min(800px, 60vw);
  }
}
#top #news h2 {
  width: max-content;
}
#top #news h2 a, #top #news h2 > span {
  display: grid;
  color: #333;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  position: relative;
  font-size: 8vw;
  line-height: 1;
  letter-spacing: 0.32vw;
  grid-template-columns: auto auto;
  align-items: end;
  gap: 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 a, #top #news h2 > span {
    font-size: min(4.8vw, 64px);
    line-height: 1;
    letter-spacing: min(2.56px, 0.192vw);
    grid-template-columns: auto auto;
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
    align-items: center;
  }
}
#top #news h2 a span, #top #news h2 > span span {
  grid-row: 2;
  grid-column: 1/3;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 a span, #top #news h2 > span span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#top #news h2 a {
  transition: opacity 0.2s linear;
  gap: 2.6666666667vw 2.4vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 a {
    gap: min(21px, 1.575vw) min(27px, 2.025vw);
  }
}
#top #news h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 a:after {
    width: min(46px, 3.45vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #news h2 a:hover {
    opacity: 0.8;
  }
}
#top #news h2 > span:after {
  content: "";
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='59' height='47' fill='none'%3E%3Cg filter='url(%23a)'%3E%3Cpath fill='url(%23b)' d='M44.048 44.882c7.758 0 14.047-6.08 14.047-13.58s-6.29-13.579-14.047-13.579c-7.759 0-14.048 6.08-14.048 13.58s6.29 13.579 14.048 13.579Z'/%3E%3Cpath stroke='url(%23c)' d='M44.048 18.223c7.498 0 13.548 5.872 13.548 13.08 0 7.207-6.05 13.08-13.548 13.08S30.5 38.51 30.5 31.302c0-7.208 6.05-13.08 13.548-13.08Z'/%3E%3C/g%3E%3Cg filter='url(%23d)'%3E%3Cpath fill='url(%23e)' d='M48.159.723H21v28.095h27.159V.723Z'/%3E%3C/g%3E%3Cg filter='url(%23f)'%3E%3Cpath fill='url(%23g)' d='M39.446 32.723H12c0 7.58 6.144 13.724 13.724 13.724s13.724-6.144 13.724-13.724h-.002Z'/%3E%3C/g%3E%3Cg filter='url(%23h)'%3E%3Cpath fill='url(%23i)' d='M14.58 37.882c7.5 0 13.579-6.08 13.579-13.58s-6.08-13.579-13.58-13.579H1v27.159h13.58Z'/%3E%3Cpath stroke='url(%23j)' d='M14.58 11.223c7.223 0 13.079 5.854 13.08 13.078 0 7.225-5.857 13.081-13.08 13.081H1.5V11.223h13.08Z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='30.004' x2='58.095' y1='31.304' y2='31.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='e' x1='21.004' x2='48.159' y1='14.773' y2='14.773' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='g' x1='12.004' x2='39.448' y1='39.586' y2='39.586' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='i' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='j' x1='1.004' x2='28.159' y1='24.304' y2='24.304' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3Cfilter id='a' width='29.095' height='28.159' x='29.5' y='17.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='d' width='28.159' height='29.095' x='20.5' y='.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='f' width='28.448' height='14.724' x='11.5' y='32.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3Cfilter id='h' width='28.159' height='28.159' x='.5' y='10.223' color-interpolation-filters='sRGB' filterUnits='userSpaceOnUse'%3E%3CfeFlood flood-opacity='0' result='BackgroundImageFix'/%3E%3CfeBlend in='SourceGraphic' in2='BackgroundImageFix' result='shape'/%3E%3CfeGaussianBlur result='effect1_foregroundBlur_27_1327' stdDeviation='.25'/%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 58/46;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 > span:after {
    width: min(58px, 4.35vw);
  }
}
#top #news h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  color: #333;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #news h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #news h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#top #news ul {
  border-top: 0.2666666667vw solid #D9D9D9;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #top #news ul {
    border-top-width: min(1px, 0.075vw);
    margin-top: 0;
  }
}
#top #news ul li {
  border-bottom: 0.2666666667vw solid #D9D9D9;
}
@media screen and (min-width: 768px) {
  #top #news ul li {
    border-bottom-width: min(1px, 0.075vw);
  }
}
#top #news ul li a {
  display: grid;
  align-items: center;
  transition: background-color 0.2s linear;
  padding: 5.6vw 0;
}
@media screen and (min-width: 768px) {
  #top #news ul li a {
    padding: min(29px, 2.175vw) 0;
    grid-template-columns: auto 1fr min(515px, 38.625vw);
    gap: min(56px, 4.2vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #news ul li a:hover {
    background-color: #faccd0;
  }
}
#top #news ul li a .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #top #news ul li a .date {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#top #news ul li a .tag {
  color: #E50113;
  border: 0.2666666667vw solid #E50113;
  width: max-content;
  justify-self: end;
  font-weight: 700;
  padding: 1.0666666667vw 2.4vw;
  border-radius: 5.3333333333vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #news ul li a .tag {
    padding: min(4px, 0.3vw) min(9px, 0.675vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(20px, 1.5vw);
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
#top #news ul li a .tag {
  justify-self: start;
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  #top #news ul li a .tag {
    margin-top: 0;
  }
}
#top #news ul li a .text {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 1.8666666667vw;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #top #news ul li a .text {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #top #news ul li a .text {
    margin-top: 0;
    -webkit-line-clamp: 1;
  }
}
#top #news .more {
  margin-top: 8vw;
}
#top #news .more a,
#top #news .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #top #news .more a,
  #top #news .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#top #news .more a:after,
#top #news .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #top #news .more a:hover,
  #top #news .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #top #news .more a:hover:after,
  #top #news .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #top #news .more {
    grid-column: 2;
    margin-top: min(80px, 6vw);
    width: min(472px, 35.4vw);
    margin-left: auto;
  }
}

#service #important {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #important {
    margin-top: min(150px, 11.25vw);
  }
}
#service #important .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#service #important .wrapper h2 {
  color: #E50113;
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
    font-feature-settings: normal;
  }
}
#service #important .wrapper figure {
  display: grid;
  justify-content: space-between;
  align-items: start;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure {
    grid-template-columns: 1fr min(570px, 42.75vw);
    gap: min(98px, 7.35vw);
    margin-top: min(80px, 6vw);
  }
}
#service #important .wrapper figure img {
  order: 2;
  border-radius: 8vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure img {
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#service #important .wrapper figure figcaption dl dt {
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure figcaption dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
    margin-top: 0;
  }
}
#service #important .wrapper figure figcaption dl dd {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure figcaption dl dd {
    margin-top: min(15px, 1.125vw);
  }
}
#service #important .wrapper figure figcaption dl dd p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure figcaption dl dd p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #important .wrapper figure figcaption dl dd p {
    margin-top: min(40px, 3vw);
  }
}
#service #promise {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  margin-top: 18.6666666667vw;
  padding: 18.6666666667vw 0;
  border-radius: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #service #promise {
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
    margin-top: min(150px, 11.25vw);
  }
}
#service #promise .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#service #promise .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#service #promise .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#service #promise .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#service #promise .wrapper dl {
  background-color: #fff;
  text-align: center;
  border-radius: 8vw 8vw 0 0;
  margin-top: 13.3333333333vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper dl {
    border-radius: min(50px, 3.75vw) min(50px, 3.75vw) 0 0;
    margin-top: min(80px, 6vw);
    padding: min(50px, 3.75vw);
  }
}
#service #promise .wrapper dl dt {
  color: #E50113;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  font-size: 5.3333333333vw;
  line-height: 1;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper dl dt {
    font-size: min(3.15vw, 42px);
    line-height: 1;
    letter-spacing: min(1.68px, 0.126vw);
  }
}
#service #promise .wrapper dl dd {
  color: #333;
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper dl dd {
    margin-top: min(30px, 2.25vw);
    font-size: min(1.5vw, 20px);
    line-height: 1.9;
    letter-spacing: min(1px, 0.075vw);
  }
}
#service #promise .wrapper .img {
  background-color: #fff;
  margin-top: 1.3333333333vw;
  padding: 5.3333333333vw;
  border-radius: 0 0 8vw 8vw;
}
@media screen and (min-width: 768px) {
  #service #promise .wrapper .img {
    border-radius: 0 0 min(50px, 3.75vw) min(50px, 3.75vw);
    margin-top: min(10px, 0.75vw);
    padding: min(50px, 3.75vw);
  }
}
#service #service .wrapper {
  padding: 0 6.6666666667vw;
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper {
    width: min(1142px, 85.65vw);
    margin: 0 auto;
    padding: 0;
  }
}
#service #service .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#service #service .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#service #service .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #service .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#service #service .wrapper ul {
  display: flex;
  flex-direction: column;
  margin-top: 8vw;
  gap: 4vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper ul {
    margin-top: min(80px, 6vw);
    margin-bottom: min(40px, 3vw);
    gap: min(15px, 1.125vw);
  }
}
#service #service .wrapper ul li {
  border: 0.2666666667vw solid #D9D9D9;
  color: #E50113;
  background-color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 2.4vw;
  border-radius: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper ul li {
    border-width: min(1px, 0.075vw);
    padding: min(9px, 0.675vw);
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
    letter-spacing: min(0.8px, 0.06vw);
    border-radius: min(10px, 0.75vw);
  }
}
#service #service .wrapper p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #service .wrapper p {
    margin-top: 0;
  }
}
#service #service .wrapper img {
  border-radius: 8vw;
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #service .wrapper img {
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#service #service .serviceStyle,
#service #service .ourStrength {
  display: grid;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #service #service .serviceStyle,
  #service #service .ourStrength {
    margin-top: min(150px, 11.25vw);
  }
}
#service #service .serviceStyle img,
#service #service .ourStrength img {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #service .serviceStyle img,
  #service #service .ourStrength img {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #service #service .serviceStyle {
    grid-template-columns: min(492px, 36.9vw) min(570px, 42.75vw);
  }
}
@media screen and (min-width: 768px) {
  #service #service .serviceStyle h2 {
    margin-top: min(42px, 3.15vw);
  }
}
#service #service .ourStrength {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #service .ourStrength {
    grid-template-columns: min(570px, 42.75vw) min(492px, 36.9vw);
    align-items: center;
    margin-top: min(150px, 11.25vw);
  }
}
@media screen and (min-width: 768px) {
  #service #service .ourStrength p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #service #service .ourStrength img {
    order: -1;
  }
}
#service #unique {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f985ca 11.49%, #ffdbff 88.51%), #D9D9D9;
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0;
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique {
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
  }
}
#service #unique .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #service #unique .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#service #unique img {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #unique img {
    width: min(400px, 30vw);
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
  }
}
#service #unique ul:not(.slick-dots) {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) {
    margin-top: min(110px, 8.25vw);
    display: grid;
    gap: min(20px, 1.5vw);
    grid-template-columns: repeat(4, 1fr);
  }
}
#service #unique ul:not(.slick-dots) li {
  counter-increment: number 1;
}
#service #unique ul:not(.slick-dots) li a {
  display: block;
  background-color: #fff;
  position: relative;
  height: 100%;
  transition: background-color 0.2s linear;
  width: 54.6666666667vw;
  border-radius: 5.3333333333vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a {
    border-radius: min(20px, 1.5vw);
    padding: min(30px, 2.25vw);
    width: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #service #unique ul:not(.slick-dots) li a:hover {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
#service #unique ul:not(.slick-dots) li a p {
  color: #E50113;
  display: grid;
  justify-content: start;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  grid-template-columns: 10.6666666667vw auto auto;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a p {
    grid-template-columns: min(40px, 3vw) auto auto;
  }
}
#service #unique ul:not(.slick-dots) li a p span {
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
  transform: translateY(1.0666666667vw);
  margin-left: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a p span {
    font-size: min(0.75vw, 10px);
    line-height: 1;
    letter-spacing: min(0.5px, 0.0375vw);
    transform: translateY(min(4px, 0.3vw));
    margin-left: min(10px, 0.75vw);
  }
}
#service #unique ul:not(.slick-dots) li a p:before {
  content: "";
  width: 100%;
  aspect-ratio: 40/36;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='36' fill='none'%3E%3Cpath fill='red' d='m12.87 30.127.085-1.73c.145-7.074-2.54-7.12-3.305-7.127-2.882-.032-5.91 3.488-7.48 5.575A50.43 50.43 0 0 0 .646 29.05c1.425 3.791 5.08 6.492 9.36 6.492 5.522 0 10-4.484 10-10.012v-3.368c-3.654 3.56-6.57 7.16-7.13 7.965h-.007Z'/%3E%3Cpath fill='red' d='M10.521 18.338c2.711.192 3.925 2.86 4.103 5.574 1.8-2.351 3.641-4.53 5.383-6.479v-6.921H0V25.53c0 .872.112 1.71.317 2.516 2.018-4.524 5.686-9.88 10.197-9.708h.007Z'/%3E%3Cpath fill='%23F985CA' d='M30 .5H20v16.933a128.73 128.73 0 0 1 8.021-8.182 3.68 3.68 0 0 1-2.09-2.794h8.126v8.137a3.682 3.682 0 0 1-2.81-2.134c-1.709 1.308-5.007 3.956-9.703 8.25-.528.481-1.043.97-1.544 1.459v3.368h10V20.53c5.521 0 10-4.484 10-10.012C40 4.99 35.528.5 30 .5Z'/%3E%3Cpath fill='%23fff' d='M20 17.433a108.955 108.955 0 0 0-5.383 6.48c-.178-2.715-1.385-5.377-4.103-5.575-4.511-.172-8.179 5.184-10.197 9.709.085.343.197.68.316 1.003.488-.753.996-1.486 1.524-2.206 1.57-2.093 4.598-5.607 7.48-5.574.765.007 3.45.06 3.305 7.127l-.086 1.73c.56-.806 3.476-4.399 7.13-7.965a65.59 65.59 0 0 1 1.544-1.46c4.697-4.292 7.995-6.94 9.703-8.248a3.682 3.682 0 0 0 2.81 2.133V6.45h-8.126a3.668 3.668 0 0 0 2.09 2.794 130.553 130.553 0 0 0-8.02 8.183l.013.006Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
#service #unique ul:not(.slick-dots) li a p:after {
  content: counter(number);
  display: block;
  font-size: 5.8666666667vw;
  line-height: 1;
  letter-spacing: 0.2933333333vw;
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a p:after {
    font-size: min(1.65vw, 22px);
    line-height: 1;
    letter-spacing: min(1.1px, 0.0825vw);
    margin-left: min(4px, 0.3vw);
  }
}
#service #unique ul:not(.slick-dots) li a dl {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a dl {
    margin-top: min(15px, 1.125vw);
  }
}
#service #unique ul:not(.slick-dots) li a dl dt {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a dl dt {
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#service #unique ul:not(.slick-dots) li a dl dd {
  font-weight: 400;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
  margin-top: 2.6666666667vw;
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a dl dd {
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a dl dd {
    margin-top: min(15px, 1.125vw);
    margin-bottom: min(13px, 0.975vw);
  }
}
#service #unique ul:not(.slick-dots) li a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  margin-left: auto;
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #service #unique ul:not(.slick-dots) li a:after {
    width: min(30px, 2.25vw);
  }
}
#service #unique .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#service #unique .slick-list {
  overflow: visible;
}
#service #unique ul:not(.slick-dots) .slick-track {
  display: flex;
  counter-reset: number 0;
  gap: 0 4vw;
}
#service #unique ul:not(.slick-dots) .slick-track .slick-slide {
  height: auto;
}
#service #unique ul:not(.slick-dots) .slick-dots {
  position: relative;
  bottom: -2.6666666667vw;
}
#service #unique ul:not(.slick-dots) .slick-dots li {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  padding: 0;
  margin: 0 1.3333333333vw;
}
#service #unique ul:not(.slick-dots) .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#service #unique ul:not(.slick-dots) .slick-dots li button:before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  content: "";
  opacity: 0.6;
}
#service #unique ul:not(.slick-dots) .slick-dots .slick-active button:before {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #service #unique {
    margin-top: min(150px, 11.25vw);
  }
}
#service #unique h2 a {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
  display: grid;
  align-items: center;
  justify-content: start;
  transition: opacity 0.2s linear;
  grid-template-columns: auto 8vw;
  gap: 0 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique h2 a {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#service #unique h2 a span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #unique h2 a span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#service #unique h2 a + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #unique h2 a + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #unique h2 a + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #service #unique h2 a {
    grid-template-columns: auto min(46px, 3.45vw);
    gap: 0 min(27px, 2.025vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #service #unique h2 a:hover {
    opacity: 0.8;
  }
}
#service #unique h2 a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  grid-column: 2;
}
#service #unique h2 a span {
  grid-row: 2;
}
#service #unique h2 + p {
  color: #fff;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #unique h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #unique h2 + p {
    width: min(472px, 35.4vw);
    margin-top: min(80px, 6vw);
  }
}
#service #step {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #step {
    margin-top: min(150px, 11.25vw);
  }
}
#service #step .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#service #step .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#service #step .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#service #step .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #service #step .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#service #step .wrapper ol {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol {
    gap: min(62px, 4.65vw);
  }
}
#service #step .wrapper ol li {
  text-align: center;
  display: grid;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#service #step .wrapper ol li:before {
  content: "";
  width: 100%;
  aspect-ratio: 99/80;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
#service #step .wrapper ol li:last-of-type dl:after {
  display: none;
}
#service #step .wrapper ol li:nth-of-type(1):before {
  background-image: url(../img/icon-step1.png);
}
#service #step .wrapper ol li:nth-of-type(2):before {
  background-image: url(../img/icon-step2.png);
}
#service #step .wrapper ol li:nth-of-type(3):before {
  background-image: url(../img/icon-step3.png);
}
#service #step .wrapper ol li:nth-of-type(4):before {
  background-image: url(../img/icon-step4.png);
}
#service #step .wrapper ol li dl {
  position: relative;
  border: 0.2666666667vw solid #D9D9D9;
  border-radius: 5.3333333333vw;
  padding: 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol li dl {
    border-radius: min(20px, 1.5vw);
    border-width: min(1px, 0.075vw);
    padding: min(19px, 1.425vw);
  }
}
#service #step .wrapper ol li dl:after {
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='17' fill='none'%3E%3Cpath stroke='%23fff' stroke-linejoin='round' stroke-width='2' d='m29 1.17-14.068 14-14.068-14'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  width: 5.8666666667vw;
  bottom: -5.8666666667vw;
  aspect-ratio: 30/17;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol li dl:after {
    width: min(30px, 2.25vw);
    bottom: max(-40px, -3vw);
  }
}
#service #step .wrapper ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol li dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    text-align: center;
  }
}
#service #step .wrapper ol li dl dd {
  color: #333;
  font-weight: 400;
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol li dl dd {
    margin-top: min(15px, 1.125vw);
    text-align: center;
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol {
    margin: min(80px, 6vw) auto 0;
    width: min(800px, 60vw);
  }
}
#service #step .wrapper ol li {
  grid-template-columns: 16vw 1fr;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #service #step .wrapper ol li {
    grid-template-columns: min(99px, 7.425vw) 1fr;
    gap: min(16px, 1.2vw);
  }
}

#unique main {
  margin-top: 0;
}
#unique #point {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
}
#unique #point .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  padding-top: 18.6666666667vw;
  padding-bottom: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper {
    padding: min(150px, 11.25vw) 0;
  }
}
#unique #point .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#unique #point .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#unique #point .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#unique #point .wrapper .contents {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents {
    margin-top: min(100px, 7.5vw);
  }
}
#unique #point .wrapper .contents .navi {
  display: none;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .navi {
    display: flex;
    flex-direction: column;
    counter-reset: number 0;
    position: sticky;
    height: fit-content;
    width: min(270px, 20.25vw);
    gap: min(15px, 1.125vw);
    top: min(160px, 12vw);
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .navi li {
    display: grid;
    position: relative;
    align-items: center;
    grid-template-columns: min(9px, 0.675vw) 1fr;
    gap: min(10px, 0.75vw);
  }
}
#unique #point .wrapper .contents .navi li:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: block;
  background-color: #858C93;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .navi li a {
    color: #858C93;
    display: block;
    font-size: min(1.05vw, 14px);
    line-height: 2;
    letter-spacing: min(0.98px, 0.0735vw);
  }
}
#unique #point .wrapper .contents .navi li a:before {
  content: counter(number) ".";
  counter-increment: number 1;
}
#unique #point .wrapper .contents .navi li.current:before {
  background-color: #E50113;
}
#unique #point .wrapper .contents .navi li.current a {
  font-weight: 700;
  color: #333;
}
#unique #point .wrapper .contents .items {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  margin-top: 13.3333333333vw;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items {
    margin-top: 0;
    width: min(800px, 60vw);
    gap: min(40px, 3vw);
  }
}
#unique #point .wrapper .contents .items li {
  counter-increment: number 1;
  background-color: #fff;
  padding: 5.3333333333vw;
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li {
    border-radius: min(50px, 3.75vw);
    padding: min(40px, 3vw);
  }
}
#unique #point .wrapper .contents .items li .head {
  display: grid;
  border-bottom: 0.2666666667vw solid #D9D9D9;
  padding-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head {
    grid-template-columns: min(360px, 27vw) min(300px, 22.5vw);
    grid-template-rows: auto 1fr;
    justify-content: space-between;
    border-bottom-width: min(1px, 0.075vw);
    padding-bottom: min(40px, 3vw);
  }
}
#unique #point .wrapper .contents .items li .head .point {
  color: #E50113;
  display: grid;
  justify-content: start;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  grid-template-columns: 10.6666666667vw auto auto;
  transform: scale(1.18);
  transform-origin: left top;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head .point {
    grid-template-columns: min(40px, 3vw) auto auto;
  }
}
#unique #point .wrapper .contents .items li .head .point span {
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
  transform: translateY(1.0666666667vw);
  margin-left: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head .point span {
    font-size: min(0.75vw, 10px);
    line-height: 1;
    letter-spacing: min(0.5px, 0.0375vw);
    transform: translateY(min(4px, 0.3vw));
    margin-left: min(10px, 0.75vw);
  }
}
#unique #point .wrapper .contents .items li .head .point:before {
  content: "";
  width: 100%;
  aspect-ratio: 40/36;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='36' fill='none'%3E%3Cpath fill='red' d='m12.87 30.127.085-1.73c.145-7.074-2.54-7.12-3.305-7.127-2.882-.032-5.91 3.488-7.48 5.575A50.43 50.43 0 0 0 .646 29.05c1.425 3.791 5.08 6.492 9.36 6.492 5.522 0 10-4.484 10-10.012v-3.368c-3.654 3.56-6.57 7.16-7.13 7.965h-.007Z'/%3E%3Cpath fill='red' d='M10.521 18.338c2.711.192 3.925 2.86 4.103 5.574 1.8-2.351 3.641-4.53 5.383-6.479v-6.921H0V25.53c0 .872.112 1.71.317 2.516 2.018-4.524 5.686-9.88 10.197-9.708h.007Z'/%3E%3Cpath fill='%23F985CA' d='M30 .5H20v16.933a128.73 128.73 0 0 1 8.021-8.182 3.68 3.68 0 0 1-2.09-2.794h8.126v8.137a3.682 3.682 0 0 1-2.81-2.134c-1.709 1.308-5.007 3.956-9.703 8.25-.528.481-1.043.97-1.544 1.459v3.368h10V20.53c5.521 0 10-4.484 10-10.012C40 4.99 35.528.5 30 .5Z'/%3E%3Cpath fill='%23fff' d='M20 17.433a108.955 108.955 0 0 0-5.383 6.48c-.178-2.715-1.385-5.377-4.103-5.575-4.511-.172-8.179 5.184-10.197 9.709.085.343.197.68.316 1.003.488-.753.996-1.486 1.524-2.206 1.57-2.093 4.598-5.607 7.48-5.574.765.007 3.45.06 3.305 7.127l-.086 1.73c.56-.806 3.476-4.399 7.13-7.965a65.59 65.59 0 0 1 1.544-1.46c4.697-4.292 7.995-6.94 9.703-8.248a3.682 3.682 0 0 0 2.81 2.133V6.45h-8.126a3.668 3.668 0 0 0 2.09 2.794 130.553 130.553 0 0 0-8.02 8.183l.013.006Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
#unique #point .wrapper .contents .items li .head .point:after {
  content: counter(number);
  display: block;
  font-size: 5.8666666667vw;
  line-height: 1;
  letter-spacing: 0.2933333333vw;
  margin-left: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head .point:after {
    font-size: min(1.65vw, 22px);
    line-height: 1;
    letter-spacing: min(1.1px, 0.0825vw);
    margin-left: min(4px, 0.3vw);
  }
}
#unique #point .wrapper .contents .items li .head dl {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head dl {
    grid-column: 1;
    margin-top: min(30px, 2.25vw);
  }
}
#unique #point .wrapper .contents .items li .head dl dt {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1.9;
    letter-spacing: min(1px, 0.075vw);
  }
}
#unique #point .wrapper .contents .items li .head dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  font-weight: 700;
  font-feature-settings: "palt" on;
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head dl dd {
    margin-top: min(25px, 1.875vw);
  }
}
#unique #point .wrapper .contents .items li .head img {
  margin-top: 8vw;
  border-radius: 10.2666666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .head img {
    margin-top: 0;
    grid-row: 1/3;
    grid-column: 2;
    border-radius: min(40.54px, 3.0405vw);
  }
}
#unique #point .wrapper .contents .items li .text,
#unique #point .wrapper .contents .items li .text2 {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text,
  #unique #point .wrapper .contents .items li .text2 {
    margin-top: min(40px, 3vw);
  }
}
#unique #point .wrapper .contents .items li .text p,
#unique #point .wrapper .contents .items li .text2 p {
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text p,
  #unique #point .wrapper .contents .items li .text2 p {
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
    font-weight: 400;
  }
}
#unique #point .wrapper .contents .items li .text p a,
#unique #point .wrapper .contents .items li .text2 p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #unique #point .wrapper .contents .items li .text p a:hover,
  #unique #point .wrapper .contents .items li .text2 p a:hover {
    text-decoration: none;
  }
}
#unique #point .wrapper .contents .items li .text figure,
#unique #point .wrapper .contents .items li .text2 figure {
  display: flex;
  flex-direction: column;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text figure,
  #unique #point .wrapper .contents .items li .text2 figure {
    margin-top: 0;
  }
}
#unique #point .wrapper .contents .items li .text figure img,
#unique #point .wrapper .contents .items li .text2 figure img {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text figure img,
  #unique #point .wrapper .contents .items li .text2 figure img {
    margin-top: min(10px, 0.75vw);
  }
}
#unique #point .wrapper .contents .items li .text figure figcaption,
#unique #point .wrapper .contents .items li .text2 figure figcaption {
  order: -1;
  font-weight: 700;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text figure figcaption,
  #unique #point .wrapper .contents .items li .text2 figure figcaption {
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
    margin-bottom: min(10px, 0.75vw);
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text figure {
    margin-top: min(40px, 3vw);
  }
}
#unique #point .wrapper .contents .items li .text2 {
  display: grid;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text2 {
    grid-template-columns: min(300px, 22.5vw) 1fr;
    gap: min(60px, 4.5vw);
  }
}
#unique #point .wrapper .contents .items li .text2 p {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .contents .items li .text2 p {
    margin-top: min(20px, 1.5vw);
  }
}
#unique #point .wrapper .back {
  margin-top: 13.3333333333vw;
}
#unique #point .wrapper .back a,
#unique #point .wrapper .back span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .back a,
  #unique #point .wrapper .back span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#unique #point .wrapper .back a:after,
#unique #point .wrapper .back span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #unique #point .wrapper .back a:hover,
  #unique #point .wrapper .back span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #unique #point .wrapper .back a:hover:after,
  #unique #point .wrapper .back span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #unique #point .wrapper .back {
    margin-top: min(118px, 8.85vw);
  }
}

@media screen and (min-width: 768px) {
  #about #vision {
    margin-top: min(150px, 11.25vw);
  }
}
#about #vision .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#about #vision .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#about #vision .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #vision .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#about #vision .wrapper div {
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: 1fr;
  gap: 5.3333333333vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div {
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 3vw);
  }
}
#about #vision .wrapper div dl {
  aspect-ratio: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  width: 80vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl {
    width: 100%;
  }
}
#about #vision .wrapper div dl dt {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1;
  letter-spacing: 0.256vw;
  text-align: center;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl dt {
    font-size: min(2.25vw, 30px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    margin-bottom: min(19px, 1.425vw);
    text-align: left;
  }
}
#about #vision .wrapper div dl dt span {
  display: block;
  font-weight: 400;
  margin-top: 2.9333333333vw;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.128vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl dt span {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
    margin-top: min(11px, 0.825vw);
  }
}
#about #vision .wrapper div dl dt:has(span) {
  margin-bottom: 5.8666666667vw;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl dt:has(span) {
    margin-bottom: min(23px, 1.725vw);
  }
}
#about #vision .wrapper div dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  width: 64vw;
  font-feature-settings: "palt" on;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl dd {
    width: min(222px, 16.65vw);
    text-align: left;
  }
}
#about #vision .wrapper div dl:nth-of-type(1) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='301' height='230' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M298 2.5v225H3V2.5h295Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.54' x2='300.5' y1='115.015' y2='115.015' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 300/230;
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl:nth-of-type(1) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M357.5 3v355H2.5V3h355Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='red'/%3E%3Cstop offset='1' stop-color='%23FFEDFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    aspect-ratio: 1/1;
  }
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div dl:nth-of-type(1) dd {
    width: max-content;
  }
}
#about #vision .wrapper div dl:nth-of-type(2) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M180 3c98.031 0 177.5 79.47 177.5 177.5 0 98.031-79.469 177.5-177.5 177.5C81.97 358 2.5 278.531 2.5 180.5 2.5 82.47 81.97 3 180 3Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23F985CA'/%3E%3Cstop offset='1' stop-color='%23FFDBFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
#about #vision .wrapper div dl:nth-of-type(3) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='361' fill='none'%3E%3Cpath stroke='url(%23a)' stroke-width='5' d='M180 3c98.033 0 177.5 79.45 177.5 177.488C357.5 278.527 278.032 358 180 358H2.5V3H180Z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='.048' x2='360' y1='180.524' y2='180.524' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFEDFF'/%3E%3Cstop offset='1' stop-color='red'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #about #vision .wrapper div {
    margin-top: min(80px, 6vw);
  }
}
#about #guidelines {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  margin-top: 18.6666666667vw;
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #about #guidelines {
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
    margin-top: min(150px, 11.25vw);
  }
}
#about #guidelines .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#about #guidelines .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#about #guidelines .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #guidelines .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#about #guidelines .wrapper .way,
#about #guidelines .wrapper .values {
  display: grid;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way,
  #about #guidelines .wrapper .values {
    justify-content: space-between;
    grid-template-columns: auto min(1000px, 75vw);
  }
}
#about #guidelines .wrapper .way h3 img,
#about #guidelines .wrapper .values h3 img {
  height: 11.2vw;
  width: auto;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way h3 img,
  #about #guidelines .wrapper .values h3 img {
    height: auto;
    width: min(57px, 4.275vw);
  }
}
#about #guidelines .wrapper .way div,
#about #guidelines .wrapper .values div {
  margin-top: 5.3333333333vw;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div,
  #about #guidelines .wrapper .values div {
    margin-top: 0;
  }
}
#about #guidelines .wrapper .way {
  margin-top: 13.3333333333vw;
}
#about #guidelines .wrapper .way div {
  background-color: #fff;
  text-align: center;
  border-radius: 8vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div {
    padding: min(50px, 3.75vw);
  }
}
#about #guidelines .wrapper .way div ol {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div ol {
    gap: min(40px, 3vw);
  }
}
#about #guidelines .wrapper .way div ol li {
  counter-increment: number 1;
}
#about #guidelines .wrapper .way div ol li:before {
  content: "0" counter(number);
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div ol li:before {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #guidelines .wrapper .way div ol li dl {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div ol li dl {
    margin-top: min(15px, 1.125vw);
  }
}
#about #guidelines .wrapper .way div ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-feature-settings: normal;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div ol li dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#about #guidelines .wrapper .way div ol li dl dd {
  font-feature-settings: normal;
  margin-top: 1.8666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div ol li dl dd {
    margin-top: min(10px, 0.75vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div {
    border-radius: min(50px, 3.75vw) min(50px, 3.75vw) 0 0;
  }
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .way div h3 {
    margin-top: min(80px, 6vw);
  }
}
#about #guidelines .wrapper .values {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .values {
    margin-top: min(10px, 0.75vw);
  }
}
#about #guidelines .wrapper .values div {
  text-align: center;
  border-radius: 8vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #guidelines .wrapper .values div {
    padding: min(50px, 3.75vw);
    border-radius: 0 0 min(50px, 3.75vw) min(50px, 3.75vw);
  }
}
#about #message {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #message {
    margin-top: min(150px, 11.25vw);
  }
}
#about #message .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
  justify-content: space-between;
  align-items: end;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #about #message .wrapper {
    grid-template-columns: min(767px, 57.525vw) min(295px, 22.125vw);
  }
}
#about #message .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#about #message .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #message .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h2 {
    grid-column: 1/3;
    margin-top: 0;
  }
}
#about #message .wrapper h3 {
  font-weight: 700;
  margin-top: 8vw;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper h3 {
    font-size: min(3.15vw, 42px);
    line-height: 1.9;
    letter-spacing: min(2.1px, 0.1575vw);
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #about #message .wrapper div {
    grid-column: 1;
  }
}
#about #message .wrapper div p {
  margin-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper div p {
    margin-top: min(40px, 3vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#about #message .wrapper figure {
  width: 48vw;
  margin: 8vw auto 0;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper figure {
    width: 100%;
    margin-top: 0;
  }
}
#about #message .wrapper figure img {
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper figure img {
    border-radius: min(50px, 3.75vw);
  }
}
#about #message .wrapper figure figcaption {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #message .wrapper figure figcaption {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #message .wrapper figure figcaption {
    margin-top: min(20px, 1.5vw);
    font-weight: 700;
  }
}
#about #business {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #business {
    margin-top: min(150px, 11.25vw);
  }
}
#about #business .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
  align-items: start;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #about #business .wrapper {
    justify-content: space-between;
    grid-template-columns: min(570px, 42.75vw) min(492px, 36.9vw);
  }
}
#about #business .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#about #business .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #business .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #business .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #about #business .wrapper h2 {
    grid-column: 1/3;
    margin-bottom: min(80px, 6vw);
  }
}
#about #business .wrapper img {
  margin-top: 8vw;
  border-radius: 4.56vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper img {
    border-radius: min(50px, 3.75vw);
    margin-top: 0;
  }
}
#about #business .wrapper dl {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper dl {
    margin-top: 0;
  }
}
#about #business .wrapper dl dt {
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#about #business .wrapper dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #business .wrapper dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about #business .wrapper dl dd {
    margin-top: min(20px, 1.5vw);
  }
}
#about .pink {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f985ca 11.49%, #ffdbff 88.51%), #D9D9D9;
  margin-top: 13.3333333333vw;
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #about .pink {
    margin-top: min(150px, 11.25vw);
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
  }
}
#about .pink section .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#about .pink section .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
  margin-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#about .pink section .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about .pink section .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper h2 {
    margin-bottom: min(80px, 6vw);
  }
}
#about .pink section .wrapper p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #about .pink section .wrapper p {
    margin-top: min(80px, 6vw);
  }
}
#about #history .wrapper div {
  background-color: #fff;
  border-radius: 8vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div {
    border-radius: min(50px, 3.75vw);
    padding: min(50px, 3.75vw) 0;
  }
}
#about #history .wrapper div ol {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 4vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol {
    width: max-content;
    gap: min(20px, 1.5vw);
  }
}
#about #history .wrapper div ol:before {
  content: "";
  background-color: #E50113;
  display: block;
  position: absolute;
  transform: translateX(-50%);
  pointer-events: none;
  width: 0.5333333333vw;
  height: calc(100% - 17.3333333333vw);
  left: 25.0666666667vw;
  top: 8.5333333333vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol:before {
    width: min(2px, 0.15vw);
    height: calc(100% - min(65px, 4.875vw));
    left: min(112px, 8.4vw);
    top: min(32px, 2.4vw);
  }
}
#about #history .wrapper div ol li {
  display: grid;
  align-items: center;
  position: relative;
  grid-template-columns: 20.2666666667vw 1fr;
  gap: 9.6vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol li {
    grid-template-columns: min(76px, 5.7vw) 1fr;
    gap: min(72px, 5.4vw);
  }
}
#about #history .wrapper div ol li:before {
  content: "";
  border-radius: 50%;
  background-color: #E50113;
  display: block;
  position: absolute;
  pointer-events: none;
  width: 3.2vw;
  aspect-ratio: 1/1;
  left: 23.4666666667vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol li:before {
    width: min(12px, 0.9vw);
    left: min(106px, 7.95vw);
  }
}
#about #history .wrapper div ol li dl {
  display: grid;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol li dl {
    grid-template-columns: min(70px, 5.25vw) 1fr;
  }
}
#about #history .wrapper div ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol li dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#about #history .wrapper div ol li dl dd {
  margin-top: 1.8666666667vw;
  font-size: 3.2vw;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #about #history .wrapper div ol li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    margin-top: 0;
  }
}
#about #company {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #company {
    margin-top: min(150px, 11.25vw);
  }
}
#about #company .wrapper dl {
  display: grid;
  align-items: center;
  border-bottom: 0.2666666667vw solid #DCDCDC;
  padding: 3.7333333333vw 0;
  font-size: 3.7333333333vw;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  #about #company .wrapper dl {
    justify-content: space-between;
    grid-template-columns: min(190px, 14.25vw) 1fr;
    padding: min(29px, 2.175vw) 0;
    border-bottom-width: min(1px, 0.075vw);
    font-size: min(1.2vw, 16px);
    line-height: 1.8;
  }
}
#about #company .wrapper dl dt {
  font-weight: 700;
}
#about #company .wrapper dl dd {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #about #company .wrapper dl dd {
    margin-top: 0;
  }
}
#about #access {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #about #access {
    margin-top: min(150px, 11.25vw);
  }
}
#about #access iframe {
  width: 100%;
  margin-top: 8vw;
  aspect-ratio: 325/272;
}
@media screen and (min-width: 768px) {
  #about #access iframe {
    aspect-ratio: 1172/443;
    margin-top: min(80px, 6vw);
  }
}

@media screen and (min-width: 768px) {
  #recruit #message {
    margin-top: min(150px, 11.25vw);
  }
}
#recruit #message .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
  display: grid;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper {
    grid-template-columns: min(492px, 36.9vw) min(540px, 40.5vw);
  }
}
#recruit #message .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
  margin-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #message .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #message .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper h2 {
    grid-column: 1/3;
    margin-bottom: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper dl {
    grid-column: 1;
  }
}
#recruit #message .wrapper dl dt {
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #message .wrapper dl dd p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper dl dd p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper dl dd p {
    margin-top: min(38px, 2.85vw);
  }
}
#recruit #message .wrapper img {
  display: block;
  margin: 8vw auto 0;
  width: 68vw;
}
@media screen and (min-width: 768px) {
  #recruit #message .wrapper img {
    grid-row: 2;
    grid-column: 2;
    margin-top: 0;
    width: 100%;
  }
}
#recruit #promise {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  position: relative;
  margin-top: 18.6666666667vw;
  padding: 18.6666666667vw 0;
  border-radius: 18.6666666667vw 0 0;
}
@media screen and (min-width: 768px) {
  #recruit #promise {
    margin-top: min(150px, 11.25vw);
    padding: min(150px, 11.25vw) 0;
    border-radius: min(200px, 15vw) 0 0 0;
  }
}
#recruit #promise:after {
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  display: block;
  pointer-events: none;
  z-index: -1;
  height: 26.6666666667vw;
  bottom: -26.6666666667vw;
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
}
@media screen and (min-width: 768px) {
  #recruit #promise:after {
    height: min(200px, 15vw);
    bottom: max(-200px, -15vw);
  }
}
#recruit #promise .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #promise .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
  margin-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #promise .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #promise .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper h2 {
    margin-bottom: min(80px, 6vw);
  }
}
#recruit #promise .wrapper figure figcaption {
  font-weight: 700;
  width: fit-content;
  margin-left: auto;
  margin-top: 8vw;
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #promise .wrapper figure figcaption {
    margin-top: min(80px, 6vw);
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #way {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  padding: 18.6666666667vw 0;
  border-radius: 0 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #way {
    border-radius: 0 min(200px, 15vw);
    padding: min(150px, 11.25vw) 0;
  }
}
#recruit #way .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #way .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #way .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #way .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #way .wrapper div {
  background-color: #fff;
  text-align: center;
  border-radius: 8vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div {
    padding: min(50px, 3.75vw);
  }
}
#recruit #way .wrapper div ol {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div ol {
    gap: min(40px, 3vw);
  }
}
#recruit #way .wrapper div ol li {
  counter-increment: number 1;
}
#recruit #way .wrapper div ol li:before {
  content: "0" counter(number);
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div ol li:before {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #way .wrapper div ol li dl {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div ol li dl {
    margin-top: min(15px, 1.125vw);
  }
}
#recruit #way .wrapper div ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-feature-settings: normal;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div ol li dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #way .wrapper div ol li dl dd {
  font-feature-settings: normal;
  margin-top: 1.8666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div ol li dl dd {
    margin-top: min(10px, 0.75vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#recruit #way .wrapper div {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #way .wrapper div {
    margin-top: min(80px, 6vw);
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #followUp {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #followUp {
    margin-top: min(150px, 11.25vw);
  }
}
#recruit #followUp .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #followUp .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #followUp .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #followUp .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #followUp .wrapper img {
  width: 100vw;
  margin-left: -6.6666666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #followUp .wrapper img {
    margin-top: min(60px, 4.5vw);
    border-radius: min(50px, 3.75vw);
    margin-left: 0;
    width: 100%;
  }
}
#recruit #interview {
  background: linear-gradient(222.84deg, #e70303 25.95%, #c41b29 74.05%);
  color: #fff;
  margin-top: 18.6666666667vw;
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #recruit #interview {
    border-radius: 0 min(200px, 15vw);
    margin-top: min(150px, 11.25vw);
    padding: min(150px, 11.25vw) 0;
  }
}
#recruit #interview .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #interview .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #interview .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #interview .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #interview .wrapper h3 {
  font-weight: 700;
  border-left: 1.6vw solid #fff;
  font-feature-settings: normal;
  color: #fff;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-left: 4vw;
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    border-left-width: min(6px, 0.45vw);
    padding-left: min(24px, 1.8vw);
  }
}
#recruit #interview .wrapper h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1493333333vw;
  margin-top: 1.8666666667vw;
  display: block;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.64px, 0.048vw);
    margin-top: min(15px, 1.125vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper h3 {
    margin-top: 0;
    margin-bottom: min(60px, 4.5vw);
    grid-column: 1/3;
  }
}
#recruit #interview .wrapper .founders {
  display: grid;
  border-bottom: 1.0666666667vw solid #fff;
  padding-bottom: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders {
    justify-content: space-between;
    margin-top: min(100px, 7.5vw);
    grid-template-columns: min(472px, 35.4vw) min(570px, 42.75vw);
    grid-template-rows: auto auto 1fr;
    padding-bottom: min(100px, 7.5vw);
    border-bottom-width: min(4px, 0.3vw);
  }
}
#recruit #interview .wrapper .founders dl dt {
  margin-top: 8vw;
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders dl dt {
    margin-top: 0;
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #interview .wrapper .founders dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders dl dd {
    margin-top: min(20px, 1.5vw);
  }
}
#recruit #interview .wrapper .founders img {
  margin-top: 8vw;
  border-radius: 6.9333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders img {
    margin-top: 0;
    grid-column: 2;
    grid-row: 2/4;
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #interview .wrapper .founders .more {
  margin-top: 8vw;
}
#recruit #interview .wrapper .founders .more a,
#recruit #interview .wrapper .founders .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders .more a,
  #recruit #interview .wrapper .founders .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#recruit #interview .wrapper .founders .more a:after,
#recruit #interview .wrapper .founders .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #interview .wrapper .founders .more a:hover,
  #recruit #interview .wrapper .founders .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #recruit #interview .wrapper .founders .more a:hover:after,
  #recruit #interview .wrapper .founders .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .founders .more {
    grid-column: 1;
    margin-top: min(40px, 3vw);
  }
}
#recruit #interview .wrapper .member {
  border-bottom: 1.0666666667vw solid #fff;
  padding-bottom: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member {
    margin-top: min(100px, 7.5vw);
    padding-bottom: min(100px, 7.5vw);
    border-bottom-width: min(4px, 0.3vw);
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 3vw);
    margin-top: min(60px, 4.5vw);
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a {
  background-color: #fff;
  display: block;
  transition: background-color 0.2s linear;
  width: 70.9333333333vw;
  padding: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a {
    width: 100%;
    padding: min(8px, 0.6vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a:hover {
    background-color: #faccd0;
  }
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 239/159;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption {
  padding: 4vw 2.6666666667vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption {
    padding: min(20px, 1.5vw) min(16px, 1.2vw) min(12px, 0.9vw);
    font-weight: 700;
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption p:first-child {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption p:first-child {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption p:last-child {
  display: grid;
  color: #E50113;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.6666666667vw;
  grid-template-columns: 1fr 6.4vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption p:last-child {
    margin-top: min(20px, 1.5vw);
    grid-template-columns: 1fr min(24px, 1.8vw);
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#recruit #interview .wrapper .member ul:not(.slick-dots) li a figure figcaption p:last-child:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
}
#recruit #interview .wrapper .member .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#recruit #interview .wrapper .member .slick-list {
  overflow: visible;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-track {
  display: flex;
  counter-reset: number 0;
  gap: 0 4vw;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-track .slick-slide {
  height: auto;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-dots {
  position: relative;
  bottom: -2.6666666667vw;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-dots li {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  padding: 0;
  margin: 0 1.3333333333vw;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-dots li button:before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  content: "";
  opacity: 0.6;
}
#recruit #interview .wrapper .member ul:not(.slick-dots) .slick-dots .slick-active button:before {
  opacity: 1;
}
#recruit #interview .wrapper .member .more {
  margin-top: 10.6666666667vw;
}
#recruit #interview .wrapper .member .more a,
#recruit #interview .wrapper .member .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member .more a,
  #recruit #interview .wrapper .member .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#recruit #interview .wrapper .member .more a:after,
#recruit #interview .wrapper .member .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #interview .wrapper .member .more a:hover,
  #recruit #interview .wrapper .member .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #recruit #interview .wrapper .member .more a:hover:after,
  #recruit #interview .wrapper .member .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .member .more {
    width: min(472px, 35.4vw);
    margin-left: auto;
  }
}
#recruit #interview .wrapper .discussion {
  display: grid;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion {
    justify-content: space-between;
    margin-top: min(100px, 7.5vw);
    grid-template-columns: min(559px, 41.925vw) min(472px, 35.4vw);
    grid-template-rows: auto auto 1fr;
  }
}
#recruit #interview .wrapper .discussion img {
  margin-top: 8vw;
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion img {
    margin-top: 0;
    grid-column: 1;
    grid-row: 1/4;
    border-radius: min(50px, 3.75vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion h3 {
    grid-column: 2;
  }
}
#recruit #interview .wrapper .discussion p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion p {
    grid-column: 2;
    margin-top: 0;
  }
}
#recruit #interview .wrapper .discussion .more a,
#recruit #interview .wrapper .discussion .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #fff;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion .more a,
  #recruit #interview .wrapper .discussion .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#recruit #interview .wrapper .discussion .more a:after,
#recruit #interview .wrapper .discussion .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #interview .wrapper .discussion .more a:hover,
  #recruit #interview .wrapper .discussion .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #recruit #interview .wrapper .discussion .more a:hover:after,
  #recruit #interview .wrapper .discussion .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #recruit #interview .wrapper .discussion .more {
    margin-top: min(60px, 4.5vw);
  }
}
#recruit #case {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #case {
    margin-top: min(150px, 11.25vw);
  }
}
#recruit #case .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #case .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #case .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #case .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #case .wrapper ul li {
  display: grid;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li {
    margin-top: min(80px, 6vw);
    grid-template-columns: min(492px, 36.9vw) min(570px, 42.75vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li:nth-of-type(2) {
    grid-template-columns: min(570px, 42.75vw) min(492px, 36.9vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li:nth-of-type(2) img {
    order: -1;
  }
}
#recruit #case .wrapper ul li dl dt {
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.192vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li dl dt {
    margin-top: 0;
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #case .wrapper ul li dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li dl dd {
    margin-top: min(40px, 3vw);
  }
}
#recruit #case .wrapper ul li img {
  margin-top: 8vw;
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper ul li img {
    margin-top: 0;
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #case .wrapper .more {
  margin-top: 8vw;
}
#recruit #case .wrapper .more a,
#recruit #case .wrapper .more span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper .more a,
  #recruit #case .wrapper .more span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#recruit #case .wrapper .more a:after,
#recruit #case .wrapper .more span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #case .wrapper .more a:hover,
  #recruit #case .wrapper .more span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #recruit #case .wrapper .more a:hover:after,
  #recruit #case .wrapper .more span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #recruit #case .wrapper .more {
    margin-top: min(80px, 6vw);
    width: min(472px, 35.4vw);
    margin-left: auto;
  }
}
#recruit #data {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f985ca 11.49%, #ffdbff 88.51%), #D9D9D9;
  position: relative;
  margin-top: 18.6666666667vw;
  padding: 18.6666666667vw 0;
  border-radius: 18.6666666667vw 0 0;
}
@media screen and (min-width: 768px) {
  #recruit #data {
    margin-top: min(150px, 11.25vw);
    border-radius: min(200px, 15vw) 0 0 0;
    padding: min(150px, 11.25vw) 0;
  }
}
#recruit #data .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #data .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #fff;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #data .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #data .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #data .wrapper h2 + p {
  color: #fff;
  margin-top: 17.3333333333vw;
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper h2 + p {
    margin-top: min(80px, 6vw);
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#recruit #data .wrapper .attention {
  color: #fff;
  position: absolute;
  top: 20vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper .attention {
    top: 0;
    right: 0;
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#recruit #data .wrapper > ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8vw;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul {
    justify-content: space-between;
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw) 0;
  }
}
#recruit #data .wrapper > ul > li {
  background-color: #fff;
  border-radius: 2.6666666667vw;
  padding: 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li {
    border-radius: min(10px, 0.75vw);
    padding: min(50px, 3.75vw) 0;
  }
}
#recruit #data .wrapper > ul > li > dl {
  text-align: center;
}
#recruit #data .wrapper > ul > li > dl > dt {
  color: #333;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dt {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd {
    margin-top: min(40px, 3vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li.mini {
    width: min(373px, 27.975vw);
  }
}
#recruit #data .wrapper > ul > li:not(.mini) {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li:not(.mini) img {
    width: min(858px, 64.35vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div {
  margin-top: 10.6666666667vw;
  padding: 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div {
    width: min(900px, 67.5vw);
    margin: 0 auto;
    margin-top: min(60px, 4.5vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div + div {
    margin-top: min(60px, 4.5vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div dl dt {
  font-weight: 700;
  border-bottom: 0.2666666667vw solid #D9D9D9;
  font-size: 4.2666666667vw;
  line-height: 1;
  letter-spacing: 0.2133333333vw;
  padding-bottom: 2.4vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
    padding-bottom: min(15px, 1.125vw);
    border-bottom-width: min(1px, 0.075vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul {
    gap: min(10px, 0.75vw) min(10px, 0.75vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div ul li {
  border-width: 0.2666666667vw;
  border-style: solid;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  border-radius: 1.3333333333vw;
  padding: 0.8vw 1.6vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul li {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul li {
    border-radius: min(10px, 0.75vw);
    border-width: min(1px, 0.075vw);
    padding: min(5px, 0.375vw) min(14px, 1.05vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(1) {
  font-weight: 700;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(1) {
    margin-top: min(30px, 2.25vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(2) {
  display: flex;
  max-height: 0;
  overflow: hidden;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(2) {
    margin-top: min(10px, 0.75vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(2).expanded {
  max-height: 1000px;
  transition: max-height 0.5s linear;
}
#recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(2) li:last-of-type {
  border: none;
  width: 100%;
  margin-top: 6.4vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div ul:nth-of-type(2) li:last-of-type {
    font-size: min(0.9vw, 12px);
    line-height: 1.9;
    letter-spacing: min(0.6px, 0.045vw);
    margin-top: min(20px, 1.5vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div .more,
#recruit #data .wrapper > ul > li > dl > dd div .close {
  width: 100%;
  cursor: pointer;
  display: grid;
  border: 0.2666666667vw solid #333;
  position: relative;
  font-weight: 700;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  transition: background-color 0.2s linear;
  grid-template-columns: 1fr 6.4vw;
  border-radius: 26.6666666667vw;
  padding: 2.4vw 2.4vw 2.4vw 7.7333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.3733333333vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div .more,
  #recruit #data .wrapper > ul > li > dl > dd div .close {
    grid-template-columns: 1fr min(30px, 2.25vw);
    border-radius: min(100px, 7.5vw);
    padding: min(9px, 0.675vw) min(9px, 0.675vw) min(9px, 0.675vw) min(29px, 2.175vw);
    border-width: min(1px, 0.075vw);
    width: min(290px, 21.75vw);
    margin: min(20px, 1.5vw) auto 0;
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
    letter-spacing: min(1.6px, 0.12vw);
  }
}
#recruit #data .wrapper > ul > li > dl > dd div .more:after,
#recruit #data .wrapper > ul > li > dl > dd div .close:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #data .wrapper > ul > li > dl > dd div .more:hover,
  #recruit #data .wrapper > ul > li > dl > dd div .close:hover {
    background-color: #faccd0;
  }
}
#recruit #data .wrapper > ul > li > dl > dd div .more:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='31' fill='none'%3E%3Ccircle cx='15' cy='15.515' r='15' fill='%23333' transform='rotate(-180 15 15.515)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='m21 12.515-6 6-6-6'/%3E%3C/svg%3E");
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div .more:hover:after {
    transform: translateY(min(2px, 0.15vw));
  }
}
#recruit #data .wrapper > ul > li > dl > dd div .close {
  display: none;
}
#recruit #data .wrapper > ul > li > dl > dd div .close:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none'%3E%3Ccircle cx='15' cy='15' r='15' fill='%23333' transform='rotate(-180 15 15)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='m9 18 6-6 6 6'/%3E%3C/svg%3E");
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 768px) {
  #recruit #data .wrapper > ul > li > dl > dd div .close:hover:after {
    transform: translateY(max(-2px, -0.15vw));
  }
}
#recruit #data .wrapper > ul > li:nth-of-type(6) > dl > dd div dl dt {
  color: #05a0a0;
}
#recruit #data .wrapper > ul > li:nth-of-type(6) > dl > dd div dl dd ul li {
  border-color: #05a0a0;
}
#recruit #data .wrapper > ul > li:nth-of-type(6) > dl > dd div dl dd ul:first-of-type li {
  color: #05a0a0;
  font-weight: 700;
}
#recruit #data .wrapper > ul > li:nth-of-type(7) > dl > dd div dl dt {
  color: #a345ba;
}
#recruit #data .wrapper > ul > li:nth-of-type(7) > dl > dd div dl dd ul li {
  border-color: #a345ba;
}
#recruit #data .wrapper > ul > li:nth-of-type(7) > dl > dd div dl dd ul:first-of-type li {
  color: #a345ba;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li:nth-of-type(7) > dl > dd div dl dd ul:first-of-type li {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#recruit #data .wrapper > ul > li:nth-of-type(8) > dl > dd div dl dt {
  color: #f077b7;
}
#recruit #data .wrapper > ul > li:nth-of-type(8) > dl > dd div dl dd ul li {
  border-color: #f077b7;
}
#recruit #data .wrapper > ul > li:nth-of-type(8) > dl > dd div dl dd ul:first-of-type li {
  color: #f077b7;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li:nth-of-type(8) > dl > dd div dl dd ul:first-of-type li {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#recruit #data .wrapper > ul > li:nth-of-type(9) > dl > dd div ul li {
  border-color: #4aa2e1;
}
#recruit #data .wrapper > ul > li:nth-of-type(9) > dl > dd div ul:first-of-type li {
  color: #4aa2e1;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #recruit #data .wrapper > ul > li:nth-of-type(9) > dl > dd div ul:first-of-type li {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#recruit #highlights {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
  padding: 18.6666666667vw 0;
  border-radius: 0 0 0 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights {
    border-radius: 0 min(200px, 15vw);
    padding: min(150px, 11.25vw) 0;
  }
}
#recruit #highlights .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #highlights .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #highlights .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #highlights .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #highlights .wrapper h2 img {
  width: 39.7333333333vw;
  margin-right: 2.9333333333vw;
  transform: translateY(-1.6vw);
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper h2 img {
    width: min(210px, 15.75vw);
    margin-right: min(20px, 1.5vw);
    transform: none;
  }
}
#recruit #highlights .wrapper ol {
  display: grid;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol {
    justify-content: space-between;
    align-items: start;
    grid-template-columns: repeat(3, 1fr);
    margin-top: min(80px, 6vw);
    gap: min(40px, 3vw);
  }
}
#recruit #highlights .wrapper ol li {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li {
    margin-top: 0;
  }
}
#recruit #highlights .wrapper ol li img {
  width: 12.8vw;
  position: absolute;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li img {
    width: min(80px, 6vw);
    position: relative;
  }
}
#recruit #highlights .wrapper ol li dl {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li dl {
    margin-top: min(30px, 2.25vw);
  }
}
#recruit #highlights .wrapper ol li dl dt {
  color: #E50113;
  font-weight: 700;
  margin-left: 16.8vw;
  font-size: 4.2666666667vw;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li dl dt {
    margin-left: 0;
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #highlights .wrapper ol li dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 6.4vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ol li dl dd {
    margin-top: min(30px, 2.25vw);
  }
}
#recruit #highlights .wrapper ul {
  display: grid;
  justify-content: space-between;
  align-items: start;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ul {
    margin-top: min(60px, 4.5vw);
    grid-template-columns: repeat(2, 1fr);
    gap: min(40px, 3vw);
  }
}
#recruit #highlights .wrapper ul li {
  background-color: #fff;
  border-radius: 2.6666666667vw;
  padding: 5.3333333333vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ul li {
    margin-top: 0;
    border-radius: min(10px, 0.75vw);
    padding: min(30px, 2.25vw);
  }
}
#recruit #highlights .wrapper ul li dl dt {
  font-size: 4.8vw;
  line-height: 1.9;
  letter-spacing: 0.24vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ul li dl dt {
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #highlights .wrapper ul li dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ul li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #highlights .wrapper ul li dl dd {
    margin-top: min(30px, 2.25vw);
  }
}
#recruit #talent {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent {
    margin-top: min(150px, 11.25vw);
  }
}
#recruit #talent .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #talent .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #talent h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #talent h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #talent h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #talent .policy {
  border-bottom: 1.0666666667vw solid #E50113;
  margin-top: 13.3333333333vw;
  padding-bottom: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy {
    margin-top: min(80px, 6vw);
    padding-bottom: min(80px, 6vw);
    border-bottom-width: min(4px, 0.3vw);
  }
}
#recruit #talent .policy h3 {
  font-weight: 700;
  border-left: 1.6vw solid #E50113;
  font-feature-settings: normal;
  color: #E50113;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-left: 4vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    border-left-width: min(6px, 0.45vw);
    padding-left: min(24px, 1.8vw);
  }
}
#recruit #talent .policy h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1493333333vw;
  margin-top: 1.8666666667vw;
  display: block;
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.64px, 0.048vw);
    margin-top: min(15px, 1.125vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
  }
}
#recruit #talent .policy p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent .policy p {
    margin-top: min(60px, 4.5vw);
  }
}
#recruit #talent .policy p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #talent .policy p a:hover {
    text-decoration: none;
  }
}
#recruit #talent .milestone {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone {
    margin-top: min(80px, 6vw);
  }
}
#recruit #talent .milestone h3 {
  font-weight: 700;
  border-left: 1.6vw solid #E50113;
  font-feature-settings: normal;
  color: #E50113;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-left: 4vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    border-left-width: min(6px, 0.45vw);
    padding-left: min(24px, 1.8vw);
  }
}
#recruit #talent .milestone h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1493333333vw;
  margin-top: 1.8666666667vw;
  display: block;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.64px, 0.048vw);
    margin-top: min(15px, 1.125vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
  }
}
#recruit #talent .milestone .detail {
  display: grid;
  align-items: center;
  margin-top: 8vw;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone .detail {
    margin-top: min(60px, 4.5vw);
    grid-template-columns: repeat(2, 1fr);
    gap: min(20px, 1.5vw);
    justify-content: space-between;
  }
}
#recruit #talent .milestone .detail p {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  font-weight: 700;
  text-align: center;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  padding: 4vw;
  border-radius: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone .detail p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone .detail p {
    padding: min(15px, 1.125vw);
    border-radius: min(10px, 0.75vw);
  }
}
#recruit #talent .milestone .detail img {
  margin-top: 5.3333333333vw;
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone .detail img {
    grid-column: 1/3;
    margin-top: min(40px, 3vw);
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #talent .milestone ol {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol {
    gap: min(62px, 4.65vw);
  }
}
#recruit #talent .milestone ol li {
  text-align: center;
  display: grid;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#recruit #talent .milestone ol li:before {
  content: "";
  width: 100%;
  aspect-ratio: 99/80;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
#recruit #talent .milestone ol li:last-of-type dl:after {
  display: none;
}
#recruit #talent .milestone ol li:nth-of-type(1):before {
  background-image: url(../img/icon-step1.png);
}
#recruit #talent .milestone ol li:nth-of-type(2):before {
  background-image: url(../img/icon-step2.png);
}
#recruit #talent .milestone ol li:nth-of-type(3):before {
  background-image: url(../img/icon-step3.png);
}
#recruit #talent .milestone ol li:nth-of-type(4):before {
  background-image: url(../img/icon-step4.png);
}
#recruit #talent .milestone ol li dl {
  position: relative;
  border: 0.2666666667vw solid #D9D9D9;
  border-radius: 5.3333333333vw;
  padding: 5.0666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl {
    border-radius: min(20px, 1.5vw);
    border-width: min(1px, 0.075vw);
    padding: min(19px, 1.425vw);
  }
}
#recruit #talent .milestone ol li dl:after {
  content: "";
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='17' fill='none'%3E%3Cpath stroke='%23fff' stroke-linejoin='round' stroke-width='2' d='m29 1.17-14.068 14-14.068-14'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  width: 5.8666666667vw;
  bottom: -5.8666666667vw;
  aspect-ratio: 30/17;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl:after {
    width: min(30px, 2.25vw);
    bottom: max(-40px, -3vw);
  }
}
#recruit #talent .milestone ol li dl dt {
  color: #E50113;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1;
    text-align: center;
  }
}
#recruit #talent .milestone ol li dl dd {
  color: #333;
  font-weight: 400;
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl dd {
    margin-top: min(15px, 1.125vw);
    text-align: center;
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol {
    margin: min(60px, 4.5vw) auto 0;
    width: min(800px, 60vw);
  }
}
#recruit #talent .milestone ol li {
  grid-template-columns: 16vw 1fr;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li {
    grid-template-columns: min(99px, 7.425vw) 1fr;
    gap: min(16px, 1.2vw);
  }
}
#recruit #talent .milestone ol li dl {
  border: 0.2666666667vw solid #D9D9D9;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl {
    border-radius: min(20px, 1.5vw);
    border-width: min(1px, 0.075vw);
    padding: min(19px, 1.425vw);
  }
}
#recruit #talent .milestone ol li dl dd {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #talent .milestone ol li dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
    margin-top: min(15px, 1.125vw);
  }
}
#recruit #qa {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
  margin-top: 18.6666666667vw;
  padding: 18.6666666667vw 0;
  border-radius: 0 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa {
    border-radius: 0 min(200px, 15vw);
    margin-top: min(150px, 11.25vw);
    padding: min(150px, 11.25vw) 0;
  }
}
#recruit #qa .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #qa .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #qa .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #qa .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #qa .wrapper h2 + picture {
  display: block;
  margin-top: 12vw;
  border-radius: 8vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper h2 + picture {
    margin-top: min(80px, 6vw);
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #qa .wrapper .faq,
#recruit #qa .wrapper .new {
  display: flex;
  flex-direction: column;
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq,
  #recruit #qa .wrapper .new {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
  }
}
#recruit #qa .wrapper .faq h3,
#recruit #qa .wrapper .new h3 {
  font-weight: 700;
  border-left: 1.6vw solid #E50113;
  font-feature-settings: normal;
  color: #E50113;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-left: 4vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq h3,
  #recruit #qa .wrapper .new h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(1.2px, 0.09vw);
    border-left-width: min(6px, 0.45vw);
    padding-left: min(24px, 1.8vw);
  }
}
#recruit #qa .wrapper .faq h3 span,
#recruit #qa .wrapper .new h3 span {
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1493333333vw;
  margin-top: 1.8666666667vw;
  display: block;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq h3 span,
  #recruit #qa .wrapper .new h3 span {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.64px, 0.048vw);
    margin-top: min(15px, 1.125vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq h3,
  #recruit #qa .wrapper .new h3 {
    margin-bottom: min(40px, 3vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq h3 + img,
  #recruit #qa .wrapper .new h3 + img {
    border-radius: min(50px, 3.75vw);
    margin-bottom: min(40px, 3vw);
  }
}
#recruit #qa .wrapper .faq img,
#recruit #qa .wrapper .new img {
  margin-top: 8vw;
  border-radius: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq img,
  #recruit #qa .wrapper .new img {
    margin: 0;
    border-radius: min(50px, 3.75vw);
  }
}
#recruit #qa .wrapper .faq dl,
#recruit #qa .wrapper .new dl {
  background-color: #fff;
  margin-top: 8vw;
  border-radius: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl,
  #recruit #qa .wrapper .new dl {
    border-radius: min(10px, 0.75vw);
    overflow: hidden;
    margin-top: 0;
  }
}
#recruit #qa .wrapper .faq dl.open dt:after,
#recruit #qa .wrapper .new dl.open dt:after {
  transform: rotate(180deg);
}
@media (hover: hover) and (pointer: fine) {
  #recruit #qa .wrapper .faq dl.open dt:hover:after,
  #recruit #qa .wrapper .new dl.open dt:hover:after {
    transform: rotate(180deg) translateY(min(2px, 0.15vw));
  }
}
#recruit #qa .wrapper .faq dl dt,
#recruit #qa .wrapper .new dl dt {
  cursor: pointer;
  position: relative;
  display: grid;
  align-items: start;
  justify-content: start;
  font-weight: 700;
  transition: background-color 0.2s linear;
  grid-template-columns: auto 1fr 8vw;
  padding: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  gap: 1.8666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl dt,
  #recruit #qa .wrapper .new dl dt {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
    gap: min(7px, 0.525vw);
    grid-template-columns: auto 1fr min(39px, 2.925vw);
    padding: min(20px, 1.5vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #recruit #qa .wrapper .faq dl dt:hover,
  #recruit #qa .wrapper .new dl dt:hover {
    background-color: #faccd0;
  }
  #recruit #qa .wrapper .faq dl dt:hover:after,
  #recruit #qa .wrapper .new dl dt:hover:after {
    transform: translateY(min(2px, 0.15vw));
  }
}
#recruit #qa .wrapper .faq dl dt:before,
#recruit #qa .wrapper .new dl dt:before {
  content: "Q.";
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.6;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl dt:before,
  #recruit #qa .wrapper .new dl dt:before {
    transform: none;
    font-size: min(1.5vw, 20px);
    line-height: 1.9;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #qa .wrapper .faq dl dt:after,
#recruit #qa .wrapper .new dl dt:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='39' fill='none'%3E%3Ccircle cx='19.5' cy='19.508' r='19.5' fill='%23333' transform='rotate(-180 19.5 19.508)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='m26.981 16.008-6.99 6.623L13 16.008'/%3E%3C/svg%3E");
  pointer-events: none;
  transition: transform 0.2s linear;
  align-self: center;
}
#recruit #qa .wrapper .faq dl dd,
#recruit #qa .wrapper .new dl dd {
  display: grid;
  align-items: start;
  justify-content: center;
  max-height: 0;
  overflow: hidden;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  grid-template-columns: auto 1fr;
  gap: 1.8666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl dd,
  #recruit #qa .wrapper .new dl dd {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
    gap: min(7px, 0.525vw);
    grid-template-columns: auto 1fr;
  }
}
#recruit #qa .wrapper .faq dl dd.expanded,
#recruit #qa .wrapper .new dl dd.expanded {
  max-height: 500px;
  transition: max-height 0.5s ease;
  padding: 0 5.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl dd.expanded,
  #recruit #qa .wrapper .new dl dd.expanded {
    padding: min(10px, 0.75vw) min(20px, 1.5vw) min(20px, 1.5vw);
  }
}
#recruit #qa .wrapper .faq dl dd:before,
#recruit #qa .wrapper .new dl dd:before {
  content: "A.";
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.6;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq dl dd:before,
  #recruit #qa .wrapper .new dl dd:before {
    left: auto;
    position: relative;
    transform: none;
    font-size: min(1.5vw, 20px);
    line-height: 1.9;
    letter-spacing: min(1px, 0.075vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #qa .wrapper .faq {
    border-bottom: min(4px, 0.3vw) solid #E50113;
    padding-bottom: min(80px, 6vw);
  }
}
#recruit #join {
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #join {
    margin-top: min(150px, 11.25vw);
  }
}
#recruit #join .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#recruit #join .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#recruit #join .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#recruit #join .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#recruit #join .wrapper ul {
  margin-top: 8vw;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
  }
}
#recruit #join .wrapper ul li a {
  display: block;
  border: 0.2666666667vw solid #D9D9D9;
  padding: 5.3333333333vw;
  border-radius: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a {
    border-width: min(1px, 0.075vw);
    border-radius: min(10px, 0.75vw);
    padding: min(29px, 2.175vw);
  }
}
#recruit #join .wrapper ul li a figure {
  display: grid;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure {
    grid-template-columns: min(380px, 28.5vw) 1fr;
    gap: min(30px, 2.25vw);
  }
}
#recruit #join .wrapper ul li a figure img {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
}
#recruit #join .wrapper ul li a figure figcaption {
  display: grid;
  grid-template-rows: auto 1fr;
}
#recruit #join .wrapper ul li a figure figcaption > dl > dt {
  margin-top: 8vw;
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption > dl > dt {
    margin-top: 0;
    font-size: min(1.8vw, 24px);
    line-height: 1.9;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#recruit #join .wrapper ul li a figure figcaption > dl > dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption > dl > dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption > dl > dd {
    margin-top: min(30px, 2.25vw);
  }
}
#recruit #join .wrapper ul li a figure figcaption > dl > dd dl {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption > dl > dd dl {
    display: flex;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption > dl > dd dl dd {
    margin-left: min(4px, 0.3vw);
  }
}
#recruit #join .wrapper ul li a figure figcaption p {
  margin-top: 5.3333333333vw;
}
#recruit #join .wrapper ul li a figure figcaption p a,
#recruit #join .wrapper ul li a figure figcaption p span {
  width: 100%;
  color: #E50113;
  font-weight: 700;
  border: 0.2666666667vw solid #E50113;
  display: grid;
  grid-template-columns: 1fr 8vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: background-color 0.2s linear, color 0.25s linear, left 0.2s ease-in-out, border-color 0.2s linear;
  overflow: hidden;
  background-color: #fff;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 8vw;
  border-radius: 26.6666666667vw;
  font-size: 4.2666666667vw;
  line-height: 1.5;
  letter-spacing: 0.4266666667vw;
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption p a,
  #recruit #join .wrapper ul li a figure figcaption p span {
    padding: min(10px, 0.75vw) min(10px, 0.75vw) min(10px, 0.75vw) min(30px, 2.25vw);
    border-width: min(1px, 0.075vw);
    font-size: min(1.35vw, 18px);
    line-height: 1.5;
    letter-spacing: min(1.8px, 0.135vw);
    grid-template-columns: 1fr min(39px, 2.925vw);
    border-radius: min(100px, 7.5vw);
  }
}
#recruit #join .wrapper ul li a figure figcaption p a:after,
#recruit #join .wrapper ul li a figure figcaption p span:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
  transition: transform 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #recruit #join .wrapper ul li a figure figcaption p a:hover,
  #recruit #join .wrapper ul li a figure figcaption p span:hover {
    background-color: #faccd0;
    border-color: #faccd0;
  }
  #recruit #join .wrapper ul li a figure figcaption p a:hover:after,
  #recruit #join .wrapper ul li a figure figcaption p span:hover:after {
    transform: translateX(min(5px, 0.375vw));
  }
}
@media screen and (min-width: 768px) {
  #recruit #join .wrapper ul li a figure figcaption p {
    margin-top: auto;
    margin-left: auto;
    width: min(472px, 35.4vw);
  }
}

#discussion main,
#story main {
  margin-top: 0;
}
#discussion #contents,
#story #contents {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #discussion #contents,
  #story #contents {
    padding: min(150px, 11.25vw) 0;
  }
}
#discussion #contents .wrapper,
#story #contents .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper,
  #story #contents .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#discussion #contents .wrapper h2,
#story #contents .wrapper h2 {
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper h2,
  #story #contents .wrapper h2 {
    font-size: min(3.6vw, 48px);
    line-height: 1.5;
    letter-spacing: min(3.36px, 0.252vw);
  }
}
#discussion #contents .wrapper h2 span,
#story #contents .wrapper h2 span {
  color: #E50113;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  display: block;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper h2 span,
  #story #contents .wrapper h2 span {
    font-size: min(1.8vw, 24px);
    line-height: 1;
    letter-spacing: min(0.96px, 0.072vw);
    margin-bottom: min(30px, 2.25vw);
  }
}
#discussion #contents .wrapper h2 + img, #discussion #contents .wrapper h2 + p + img,
#story #contents .wrapper h2 + img,
#story #contents .wrapper h2 + p + img {
  margin-top: 13.3333333333vw;
  border-radius: 13.3333333333vw 0 0 0;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper h2 + img, #discussion #contents .wrapper h2 + p + img,
  #story #contents .wrapper h2 + img,
  #story #contents .wrapper h2 + p + img {
    margin-top: min(80px, 6vw);
    border-radius: min(150px, 11.25vw) 0 0 0;
  }
}
#discussion #contents .wrapper h2 + p,
#story #contents .wrapper h2 + p {
  margin-top: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper h2 + p,
  #story #contents .wrapper h2 + p {
    margin-top: min(30px, 2.25vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#discussion #contents .wrapper .textarea,
#story #contents .wrapper .textarea {
  background-color: #fff;
}
#discussion #contents .wrapper .textarea .wrapper,
#story #contents .wrapper .textarea .wrapper {
  position: relative;
  padding: 0 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper,
  #story #contents .wrapper .textarea .wrapper {
    width: min(1000px, 75vw);
    padding: 0;
  }
}
#discussion #contents .wrapper .textarea .wrapper h3,
#story #contents .wrapper .textarea .wrapper h3 {
  font-weight: 700;
  color: #E50113;
  font-size: 4.8vw;
  line-height: 1.5;
  letter-spacing: 0.24vw;
  padding-top: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper h3,
  #story #contents .wrapper .textarea .wrapper h3 {
    font-size: min(2.4vw, 32px);
    line-height: 1.5;
    letter-spacing: min(1.6px, 0.12vw);
    padding-top: min(80px, 6vw);
  }
}
#discussion #contents .wrapper .textarea .wrapper h3 span,
#story #contents .wrapper .textarea .wrapper h3 span {
  display: block;
  color: #333;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
  margin-bottom: 4vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper h3 span,
  #story #contents .wrapper .textarea .wrapper h3 span {
    font-size: min(1.35vw, 18px);
    line-height: 1;
    letter-spacing: min(0.9px, 0.0675vw);
    margin-bottom: min(20px, 1.5vw);
  }
}
#discussion #contents .wrapper .textarea .wrapper h3 br,
#story #contents .wrapper .textarea .wrapper h3 br {
  display: none;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper h3 br,
  #story #contents .wrapper .textarea .wrapper h3 br {
    display: block;
  }
}
#discussion #contents .wrapper .textarea .wrapper .text,
#story #contents .wrapper .textarea .wrapper .text {
  padding-top: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper .text,
  #story #contents .wrapper .textarea .wrapper .text {
    padding-top: min(60px, 4.5vw) !important;
  }
}
#discussion #contents .wrapper .textarea .wrapper .text p strong:after,
#story #contents .wrapper .textarea .wrapper .text p strong:after {
  content: "：";
}
#discussion #contents .wrapper .textarea:last-of-type,
#story #contents .wrapper .textarea:last-of-type {
  overflow: hidden;
  border-radius: 0 0 11.2vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea:last-of-type,
  #story #contents .wrapper .textarea:last-of-type {
    border-radius: 0 0 min(150px, 11.25vw);
    overflow: hidden;
  }
}
#discussion #contents .wrapper .textarea:last-of-type .wrapper,
#story #contents .wrapper .textarea:last-of-type .wrapper {
  padding-bottom: 0;
}
#discussion #contents .wrapper .textarea:last-of-type .wrapper .image img,
#story #contents .wrapper .textarea:last-of-type .wrapper .image img {
  padding-top: 13.3333333333vw;
  width: calc(100% + 10.6666666667vw);
  margin-left: -5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea:last-of-type .wrapper .image img,
  #story #contents .wrapper .textarea:last-of-type .wrapper .image img {
    padding-top: min(80px, 6vw);
    width: min(1160px, 87vw);
    margin-left: max(-80px, -6vw);
  }
}

#discussion #contents .wrapper .member {
  background-color: #fff;
  padding: 13.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member {
    padding: min(80px, 6vw) 0;
  }
}
#discussion #contents .wrapper .member ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member ul {
    gap: min(50px, 3.75vw);
    width: min(950px, 71.25vw);
    margin: 0 auto;
  }
}
#discussion #contents .wrapper .member ul li figure {
  display: grid;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member ul li figure {
    grid-template-columns: min(148px, 11.1vw) 1fr;
    gap: min(15px, 1.125vw);
  }
}
#discussion #contents .wrapper .member ul li figure figcaption > dl > dt {
  margin-top: 1.8666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member ul li figure figcaption > dl > dt {
    margin-top: 0;
    font-size: min(1.35vw, 18px);
    line-height: 1;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member ul li figure figcaption > dl > dd {
    margin-top: min(15px, 1.125vw);
  }
}
#discussion #contents .wrapper .member ul li figure figcaption > dl > dd dl {
  display: grid;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
  grid-template-columns: 9.3333333333vw 1fr;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .member ul li figure figcaption > dl > dd dl {
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
    grid-template-columns: min(44px, 3.3vw) 1fr;
  }
}
#discussion #contents .wrapper .textarea .wrapper {
  padding-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper {
    padding-bottom: min(80px, 6vw);
  }
}
#discussion #contents .wrapper .textarea .wrapper:before {
  content: "";
  background: linear-gradient(90deg, #f00 0.01%, #ffedff 100%);
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 1.0666666667vw;
  width: 76vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper:before {
    height: min(4px, 0.3vw);
    width: min(1000px, 75vw);
  }
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper:not(:has(img)) p {
    padding-left: min(130px, 9.75vw);
  }
}
#discussion #contents .wrapper .textarea .wrapper:has(img) {
  display: grid;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper:has(img) {
    grid-template-columns: 1fr min(400px, 30vw);
    gap: 0 min(100px, 7.5vw);
  }
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper:has(img) h3 {
    grid-column: 1/3;
  }
}
#discussion #contents .wrapper .textarea .wrapper:has(img) img {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper:has(img) img {
    margin-top: 0;
  }
}
#discussion #contents .wrapper .textarea .wrapper .text p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper .text p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#discussion #contents .wrapper .textarea .wrapper .text p + p {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea .wrapper .text p + p {
    margin-top: min(30px, 2.25vw);
  }
}
#discussion #contents .wrapper .textarea[data-img-order=odd] .image, #discussion #contents .wrapper .textarea[data-img-order=even] .image {
  padding-top: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea[data-img-order=odd] .image, #discussion #contents .wrapper .textarea[data-img-order=even] .image {
    padding-top: min(60px, 4.5vw);
  }
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea[data-img-order=odd] .text {
    order: 1;
  }
  #discussion #contents .wrapper .textarea[data-img-order=odd] .image {
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea[data-img-order=even] .text {
    order: 2;
  }
  #discussion #contents .wrapper .textarea[data-img-order=even] .image {
    order: 1;
  }
}
#discussion #contents .wrapper .textarea:last-of-type .wrapper {
  display: block;
}
#discussion #contents .wrapper .textarea:last-of-type .wrapper .image img {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .textarea:last-of-type .wrapper .text p {
    padding-left: min(130px, 9.75vw);
  }
}
#discussion #contents .wrapper .sns {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .sns {
    margin-top: min(80px, 6vw);
  }
}
#discussion #contents .wrapper .sns a {
  display: grid;
  align-items: center;
  background-color: #fff;
  width: 100%;
  text-align: center;
  color: #333;
  transition: background-color 0.2s linear;
  font-weight: 700;
  font-feature-settings: normal;
  overflow: hidden;
  grid-template-columns: 16vw 1fr;
  border-radius: 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .sns a {
    grid-template-columns: min(78px, 5.85vw) 1fr;
    border-radius: min(15.6px, 1.17vw) min(10px, 0.75vw) min(10px, 0.75vw) min(15.6px, 1.17vw);
    overflow: hidden;
    font-size: min(1.35vw, 18px);
    line-height: 1;
    letter-spacing: min(0.9px, 0.0675vw);
    font-weight: 700;
  }
}
#discussion #contents .wrapper .sns a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-color: #333;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' fill='none'%3E%3Cmask id='a' width='42' height='42' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:luminance'%3E%3Cpath fill='%23fff' d='M.72.72h40.56v40.56H.72V.72Z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='M32.662 2.621h6.22l-13.588 15.57L41.281 39.38H28.765l-9.81-12.849L7.743 39.38H1.517L16.05 22.721.721 2.624h12.834l8.854 11.742L32.662 2.621Zm-2.188 33.027h3.448l-22.25-29.49H7.975l22.5 29.49Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8vw;
}
@media screen and (min-width: 768px) {
  #discussion #contents .wrapper .sns a:before {
    background-size: min(41px, 3.075vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #discussion #contents .wrapper .sns a:hover {
    background-color: #faccd0;
  }
}

#story #contents {
  position: relative;
}
#story #contents .wrapper .introduction {
  background-color: #fff;
  padding: 13.3333333333vw 5.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction {
    padding: min(80px, 6vw) 0 0;
  }
}
#story #contents .wrapper .introduction div {
  border: 0.2666666667vw solid #D9D9D9;
  border-radius: 2.6666666667vw;
  padding: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction div {
    display: flex;
    justify-content: space-between;
    width: min(1000px, 75vw);
    margin: 0 auto;
    border-width: min(1px, 0.075vw);
    border-radius: min(10px, 0.75vw);
    padding: min(44px, 3.3vw);
    gap: min(30px, 2.25vw);
  }
}
#story #contents .wrapper .introduction div dl dt {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction div dl dt {
    font-size: min(1.5vw, 20px);
    line-height: 1.9;
    letter-spacing: min(1px, 0.075vw);
  }
}
#story #contents .wrapper .introduction div dl dd {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction div dl dd {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction div dl dd {
    margin-top: min(10px, 0.75vw);
  }
}
#story #contents .wrapper .introduction div dl + dl {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .introduction div dl + dl {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .textarea .wrapper div.text {
    padding-left: min(130px, 9.75vw);
    padding-top: min(80px, 6vw);
  }
}
#story #contents .wrapper .textarea .wrapper div.text p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .textarea .wrapper div.text p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#story #contents .wrapper .textarea .wrapper div.text p + p {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .textarea .wrapper div.text p + p {
    margin-top: min(30px, 2.25vw);
  }
}
#story #contents .wrapper .textarea:not(#story #contents .wrapper .textarea:last-of-type) .wrapper .image {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  padding-top: 8vw;
  gap: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .textarea:not(#story #contents .wrapper .textarea:last-of-type) .wrapper .image {
    padding-top: min(80px, 6vw);
    gap: min(5px, 0.375vw);
    flex-direction: row;
  }
}
#story #contents .wrapper .textarea:not(#story #contents .wrapper .textarea:last-of-type) .wrapper .image img {
  flex: 1;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  #story #contents .wrapper .textarea:not(#story #contents .wrapper .textarea:last-of-type) .wrapper .image img {
    margin-top: 0;
  }
}
#story #contents:after {
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  display: block;
  pointer-events: none;
  z-index: -1;
  height: 26.6666666667vw;
  bottom: -26.6666666667vw;
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(90deg, #fee7f4 0.01%, #fff8ff 100%), #D9D9D9;
}
@media screen and (min-width: 768px) {
  #story #contents:after {
    height: min(200px, 15vw);
    bottom: max(-200px, -15vw);
  }
}
#story #more {
  background: linear-gradient(222.84deg, #e70303 25.95%, #c41b29 74.05%);
  border-radius: 18.6666666667vw 0;
  padding: 18.6666666667vw 0 21.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story #more {
    border-radius: min(200px, 15vw) 0;
    padding: min(150px, 11.25vw) 0;
  }
}
#story #more .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#story #more .wrapper h3 {
  color: #fff;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  font-size: 6.4vw;
  line-height: 1;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper h3 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#story #more .wrapper ul:not(.slick-dots) {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(40px, 3vw);
    margin-top: min(60px, 4.5vw);
  }
}
#story #more .wrapper ul:not(.slick-dots) li a {
  background-color: #fff;
  display: block;
  transition: background-color 0.2s linear;
  width: 70.9333333333vw;
  padding: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) li a {
    width: 100%;
    padding: min(8px, 0.6vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #story #more .wrapper ul:not(.slick-dots) li a:hover {
    background-color: #faccd0;
  }
  #story #more .wrapper ul:not(.slick-dots) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#story #more .wrapper ul:not(.slick-dots) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 239/159;
}
#story #more .wrapper ul:not(.slick-dots) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#story #more .wrapper ul:not(.slick-dots) li a figure figcaption {
  padding: 4vw 2.6666666667vw 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) li a figure figcaption {
    padding: min(20px, 1.5vw) min(16px, 1.2vw) min(12px, 0.9vw);
    font-weight: 700;
  }
}
#story #more .wrapper ul:not(.slick-dots) li a figure figcaption p:first-child {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) li a figure figcaption p:first-child {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
  }
}
#story #more .wrapper ul:not(.slick-dots) li a figure figcaption p:last-child {
  display: grid;
  color: #E50113;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.6666666667vw;
  grid-template-columns: 1fr 6.4vw;
  font-size: 3.2vw;
  line-height: 1.9;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) li a figure figcaption p:last-child {
    margin-top: min(20px, 1.5vw);
    grid-template-columns: 1fr min(24px, 1.8vw);
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#story #more .wrapper ul:not(.slick-dots) li a figure figcaption p:last-child:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='40' fill='none'%3E%3Ccircle cx='19.5' cy='20.085' r='19.5' fill='%23E50113' transform='rotate(-180 19.5 20.085)'/%3E%3Cpath stroke='%23fff' stroke-linejoin='round' d='M21.378 13.604 28 20.594l-6.622 6.99M28 20.594H9.774'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  pointer-events: none;
}
#story #more .wrapper .slick-dotted.slick-slider {
  margin-bottom: 0;
}
#story #more .wrapper .slick-list {
  overflow: visible;
}
#story #more .wrapper ul:not(.slick-dots) .slick-track {
  display: flex;
  counter-reset: number 0;
  gap: 0 4vw;
}
#story #more .wrapper ul:not(.slick-dots) .slick-track .slick-slide {
  height: auto;
}
#story #more .wrapper ul:not(.slick-dots) .slick-dots {
  position: relative;
  bottom: -2.6666666667vw;
}
#story #more .wrapper ul:not(.slick-dots) .slick-dots li {
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  padding: 0;
  margin: 0 1.3333333333vw;
}
#story #more .wrapper ul:not(.slick-dots) .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#story #more .wrapper ul:not(.slick-dots) .slick-dots li button:before {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  line-height: 0;
  content: "";
  opacity: 0.6;
}
#story #more .wrapper ul:not(.slick-dots) .slick-dots .slick-active button:before {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  #story #more .wrapper ul:not(.slick-dots) {
    margin-top: min(100px, 7.5vw);
  }
}
#story.founders #contents:after {
  display: none;
}
#story.founders #contents .introduction {
  display: none;
}
#story.founders #contents .wrapper:last-of-type .wrapper .image img {
  width: 100%;
  margin-left: 0;
  padding-bottom: 13.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story.founders #contents .wrapper:last-of-type .wrapper .image img {
    width: 100%;
    margin-left: 0;
    padding-bottom: min(150px, 11.25vw);
  }
}

#news #contents .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper {
    margin-top: min(150px, 11.25vw);
  }
}
#news #contents .wrapper .sort span {
  position: relative;
  display: block;
  width: fit-content;
}
#news #contents .wrapper .sort span:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' fill='none'%3E%3Cpath stroke='%23333' stroke-linejoin='round' d='M10 1 5.5 5 1 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  aspect-ratio: 11/6;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 2.4vw;
  right: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .sort span:after {
    width: min(11px, 0.825vw);
    right: min(20px, 1.5vw);
  }
}
#news #contents .wrapper .sort span select {
  display: block;
  background-color: #F8F8F8;
  border-radius: 1.3333333333vw;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.16vw;
  padding: 2.6666666667vw;
  width: 73.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .sort span select {
    border-radius: min(5px, 0.375vw);
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
    padding: min(20px, 1.5vw);
    width: min(275px, 20.625vw);
  }
}
#news #contents .wrapper .sort ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  margin-top: 6.1333333333vw;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .sort ul {
    margin-top: min(28px, 2.1vw);
    gap: min(15px, 1.125vw);
  }
}
#news #contents .wrapper .sort ul li a, #news #contents .wrapper .sort ul li label {
  background-color: #F8F8F8;
  padding: 1.3333333333vw 2.9333333333vw;
  border-radius: 1.3333333333vw;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.16vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .sort ul li a, #news #contents .wrapper .sort ul li label {
    border-radius: min(5px, 0.375vw);
    padding: min(10px, 0.75vw) min(20px, 1.5vw);
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#news #contents .wrapper .sort ul li.current a, #news #contents .wrapper .sort ul li.current label {
  background-color: #333;
  color: #fff;
}
#news #contents .wrapper .list ul:not(.pagination) {
  margin-top: 8vw;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
  }
}
#news #contents .wrapper .list ul:not(.pagination) li a {
  display: grid;
  border: 0.2666666667vw solid #D9D9D9;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto 1fr;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s linear;
  height: 100%;
  background-color: #fff;
  width: 54.6666666667vw;
  padding: 5.0666666667vw 5.0666666667vw 0;
  border-radius: 2.6666666667vw;
  gap: 4vw 0;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a {
    width: min(373px, 27.975vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(10px, 0.75vw);
    padding: min(29px, 2.175vw) min(29px, 2.175vw) min(9px, 0.675vw) min(29px, 2.175vw);
    gap: min(20px, 1.5vw) 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #news #contents .wrapper .list ul:not(.pagination) li a:hover {
    background-color: #faccd0;
  }
  #news #contents .wrapper .list ul:not(.pagination) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#news #contents .wrapper .list ul:not(.pagination) li a .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a .date {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#news #contents .wrapper .list ul:not(.pagination) li a .tag {
  color: #E50113;
  border: 0.2666666667vw solid #E50113;
  width: max-content;
  justify-self: end;
  font-weight: 700;
  padding: 1.0666666667vw 2.4vw;
  border-radius: 5.3333333333vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a .tag {
    padding: min(4px, 0.3vw) min(9px, 0.675vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(20px, 1.5vw);
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
#news #contents .wrapper .list ul:not(.pagination) li a figure {
  grid-column: 1/3;
}
#news #contents .wrapper .list ul:not(.pagination) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 40/21;
}
#news #contents .wrapper .list ul:not(.pagination) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#news #contents .wrapper .list ul:not(.pagination) li a figure figcaption {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-top: 4vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a figure figcaption {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a figure figcaption {
    margin-top: min(20px, 1.5vw);
  }
}
#news #contents .wrapper .list ul:not(.pagination) {
  display: flex;
  flex-wrap: wrap;
}
#news #contents .wrapper .list ul:not(.pagination) li a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list ul:not(.pagination) li a {
    width: min(373px, 27.975vw);
  }
}
#news #contents .wrapper .list .pagination {
  margin-top: 8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.6666666667vw;
  font-family: "Poppins", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list .pagination {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
    font-size: min(1.2vw, 16px);
    line-height: 1;
  }
}
@media (hover: hover) and (pointer: fine) {
  #news #contents .wrapper .list .pagination li:hover a {
    text-decoration: underline;
  }
}
#news #contents .wrapper .list .pagination li a {
  padding: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list .pagination li a {
    padding: min(5px, 0.375vw);
  }
}
#news #contents .wrapper .list .pagination li.current {
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  #news #contents .wrapper .list .pagination li.current:hover:before {
    opacity: 1;
  }
}
#news #contents .wrapper .list .pagination li.prev, #news #contents .wrapper .list .pagination li.next {
  font-size: 0;
  line-height: 0;
  aspect-ratio: 1/1;
  position: relative;
  display: block;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list .pagination li.prev, #news #contents .wrapper .list .pagination li.next {
    width: min(53px, 3.975vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #news #contents .wrapper .list .pagination li.prev:hover:before, #news #contents .wrapper .list .pagination li.next:hover:before {
    opacity: 0.7;
  }
}
#news #contents .wrapper .list .pagination li.prev:before, #news #contents .wrapper .list .pagination li.next:before {
  content: "";
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='54' fill='none'%3E%3Ccircle cx='27' cy='27.45' r='26' fill='%23fff' stroke='%23333' transform='rotate(-180 27 27.45)'/%3E%3Cpath stroke='%23333' stroke-linejoin='round' d='m31.5 36.95-9-9.5 9-9.5'/%3E%3C/svg%3E");
  position: absolute;
  pointer-events: none;
}
#news #contents .wrapper .list .pagination li.prev a, #news #contents .wrapper .list .pagination li.next a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
}
#news #contents .wrapper .list .pagination li.prev.disabled:before, #news #contents .wrapper .list .pagination li.next.disabled:before {
  opacity: 0.5;
}
#news #contents .wrapper .list .pagination li.prev {
  margin-right: 17.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list .pagination li.prev {
    margin-right: min(95px, 7.125vw);
  }
}
#news #contents .wrapper .list .pagination li.next {
  margin-left: 17.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list .pagination li.next {
    margin-left: min(95px, 7.125vw);
  }
}
#news #contents .wrapper .list .pagination li.next:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='54' fill='none'%3E%3Ccircle cx='27' cy='27.45' r='26' fill='%23fff' stroke='%23333'/%3E%3Cpath stroke='%23333' stroke-linejoin='round' d='m22.5 17.95 9 9.5-9 9.5'/%3E%3C/svg%3E");
}
#news #contents .wrapper .list > p {
  margin-top: 8vw;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list > p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #news #contents .wrapper .list > p {
    margin-top: min(80px, 6vw);
  }
}
#news #related {
  margin-top: 18.6666666667vw;
  padding-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #news #related {
    margin-top: min(150px, 11.25vw);
  }
}
#news #related ul li a {
  width: 100% !important;
}
@media screen and (min-width: 768px) {
  #news #related ul li a {
    width: min(373px, 27.975vw) !important;
  }
}

#detail #contents .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper {
    margin-top: min(200px, 15vw);
  }
}
#detail #contents .wrapper .title {
  display: grid;
  justify-content: space-between;
  grid-template-columns: auto 1fr;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title {
    grid-template-columns: auto auto min(750px, 56.25vw);
    gap: 0;
  }
}
#detail #contents .wrapper .title h1 {
  font-weight: 700;
  grid-column: 1/3;
  grid-row: 2;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title h1 {
    font-size: min(2.7vw, 36px);
    line-height: 1.8;
    letter-spacing: min(1.8px, 0.135vw);
    grid-column: 3;
    grid-row: 1/3;
    transform: translateY(max(-18px, -1.35vw));
  }
}
#detail #contents .wrapper .title .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .date {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#detail #contents .wrapper .title .tag {
  color: #E50113;
  border: 0.2666666667vw solid #E50113;
  width: max-content;
  justify-self: end;
  font-weight: 700;
  padding: 1.0666666667vw 2.4vw;
  border-radius: 5.3333333333vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .tag {
    padding: min(4px, 0.3vw) min(9px, 0.675vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(20px, 1.5vw);
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .data {
    grid-column: 1;
    grid-row: 1;
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .tag {
    grid-column: 2;
    grid-row: 1;
  }
}
#detail #contents .wrapper .title .name {
  text-align: right;
  border-top: 0.2666666667vw solid #D9D9D9;
  grid-column: 1/3;
  margin-top: 5.3333333333vw;
  padding-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .name {
    grid-column: 1/4;
    grid-row: 3;
    margin-top: min(10px, 0.75vw);
    padding-top: min(50px, 3.75vw);
    border-top-width: min(1px, 0.075vw);
    font-size: min(1.05vw, 14px);
    line-height: 1.9;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#detail #contents .wrapper .title .name img {
  aspect-ratio: 1/1;
  overflow: hidden;
  vertical-align: middle;
  width: 9.3333333333vw;
  margin-right: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .title .name img {
    width: min(35px, 2.625vw);
    margin-right: min(10px, 0.75vw);
  }
}
#detail #contents .wrapper .wrapText {
  display: grid;
  align-items: start;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText {
    margin-top: min(110px, 8.25vw);
    grid-template-columns: 1fr min(1000px, 75vw);
  }
}
#detail #contents .wrapper .wrapText .text:not(:has(.thumbnail)) p:first-of-type {
  margin-top: 0;
}
#detail #contents .wrapper .wrapText .text h2 {
  display: grid;
  position: relative;
  align-items: center;
  grid-template-columns: 3.7333333333vw 1fr;
  gap: 0 1.8666666667vw;
  font-size: 4.8vw;
  line-height: 1.8;
  letter-spacing: 0.24vw;
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text h2 {
    grid-template-columns: min(14px, 1.05vw) 1fr;
    gap: 0 min(7px, 0.525vw);
    font-size: min(1.5vw, 20px);
    line-height: 1.8;
    letter-spacing: min(1px, 0.075vw);
    margin-top: min(70px, 5.25vw);
  }
}
#detail #contents .wrapper .wrapText .text h2:before {
  content: "";
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, linear-gradient(149deg, #f00 11.49%, #ffedff 88.51%), #D9D9D9;
  aspect-ratio: 14/10;
  width: 100%;
  border-radius: 0 5.3333333333vw 5.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text h2:before {
    border-radius: 0 min(20px, 1.5vw) min(20px, 1.5vw) 0;
  }
}
#detail #contents .wrapper .wrapText .text .writer {
  display: none;
}
#detail #contents .wrapper .wrapText .text p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text p {
    margin-top: min(40px, 3vw);
  }
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text p img:not(.emoji) {
    width: min(547px, 41.025vw);
    height: auto;
  }
}
#detail #contents .wrapper .wrapText .text p .emoji {
  width: 5.3333333333vw;
  vertical-align: text-top;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text p .emoji {
    width: min(20px, 1.5vw);
  }
}
#detail #contents .wrapper .wrapText .text h3 {
  font-size: 4.2666666667vw;
  line-height: 1.9;
  letter-spacing: 0.2133333333vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText .text h3 {
    font-size: min(1.35vw, 18px);
    line-height: 1.9;
    letter-spacing: min(0.9px, 0.0675vw);
    margin-top: min(40px, 3vw);
  }
}
#detail #contents .wrapper .wrapText > p {
  order: -1;
  display: grid;
  align-items: center;
  font-size: 3.2vw;
  line-height: 2.2166666667;
  letter-spacing: 0.128vw;
  grid-template-columns: 3.7333333333vw 1fr;
  gap: 0 2.6666666667vw;
  margin: 13.3333333333vw 0;
}
@media screen and (min-width: 768px) {
  #detail #contents .wrapper .wrapText > p {
    position: sticky;
    font-size: min(1.05vw, 14px);
    line-height: 2.1714285714;
    letter-spacing: min(0.56px, 0.042vw);
    grid-template-columns: min(14px, 1.05vw) 1fr;
    gap: 0 min(10px, 0.75vw);
    top: min(140px, 10.5vw);
    margin: 0;
  }
}
#detail #contents .wrapper .wrapText > p:before {
  content: "";
  width: 100%;
  aspect-ratio: 14/8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' fill='none'%3E%3Cpath fill='%230A1E14' fill-rule='evenodd' d='M3.207.5 0 3.653v.694L3.207 7.5l.707-.695-2.353-2.313H14v-.983H1.56l2.354-2.314L3.207.5Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  #detail #contents .wrapper .wrapText > p a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px) {
  #detail #related {
    margin-top: min(200px, 15vw);
    border-radius: min(200px, 15vw) 0 0 0;
  }
}
#detail #related ul li a {
  width: 100% !important;
}
@media screen and (min-width: 768px) {
  #detail #related ul li a {
    width: min(373px, 27.975vw) !important;
  }
}

#news #related,
#detail #related {
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #news #related,
  #detail #related {
    padding: min(150px, 11.25vw) 0;
  }
}
#news #related .wrapper,
#detail #related .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper,
  #detail #related .wrapper {
    width: min(1160px, 87vw);
    padding: 0;
  }
}
#news #related .wrapper h2,
#detail #related .wrapper h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #E50113;
  font-feature-settings: normal;
  font-size: 6.4vw;
  line-height: 1.5;
  letter-spacing: 0.32vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper h2,
  #detail #related .wrapper h2 {
    font-size: min(2.85vw, 38px);
    line-height: 1;
    letter-spacing: min(1.9px, 0.1425vw);
  }
}
#news #related .wrapper h2 span,
#detail #related .wrapper h2 span {
  font-family: "Poppins", sans-serif;
  display: block;
  font-feature-settings: normal;
  margin-top: 1.0666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper h2 span,
  #detail #related .wrapper h2 span {
    margin-top: min(25px, 1.875vw);
    font-size: min(1.5vw, 20px);
    line-height: 1;
    letter-spacing: min(1px, 0.075vw);
  }
}
#news #related .wrapper h2 + p,
#detail #related .wrapper h2 + p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper h2 + p,
  #detail #related .wrapper h2 + p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #news #related .wrapper h2 + p,
  #detail #related .wrapper h2 + p {
    margin-top: min(80px, 6vw);
  }
}
#news #related .wrapper ul:not(.pagination),
#detail #related .wrapper ul:not(.pagination) {
  margin-top: 8vw;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination),
  #detail #related .wrapper ul:not(.pagination) {
    margin-top: min(80px, 6vw);
    gap: min(20px, 1.5vw);
  }
}
#news #related .wrapper ul:not(.pagination) li a,
#detail #related .wrapper ul:not(.pagination) li a {
  display: grid;
  border: 0.2666666667vw solid #D9D9D9;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto 1fr;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s linear;
  height: 100%;
  background-color: #fff;
  width: 54.6666666667vw;
  padding: 5.0666666667vw 5.0666666667vw 0;
  border-radius: 2.6666666667vw;
  gap: 4vw 0;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination) li a,
  #detail #related .wrapper ul:not(.pagination) li a {
    width: min(373px, 27.975vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(10px, 0.75vw);
    padding: min(29px, 2.175vw) min(29px, 2.175vw) min(9px, 0.675vw) min(29px, 2.175vw);
    gap: min(20px, 1.5vw) 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #news #related .wrapper ul:not(.pagination) li a:hover,
  #detail #related .wrapper ul:not(.pagination) li a:hover {
    background-color: #faccd0;
  }
  #news #related .wrapper ul:not(.pagination) li a:hover figure span img,
  #detail #related .wrapper ul:not(.pagination) li a:hover figure span img {
    transform: scale(1.05);
  }
}
#news #related .wrapper ul:not(.pagination) li a .date,
#detail #related .wrapper ul:not(.pagination) li a .date {
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination) li a .date,
  #detail #related .wrapper ul:not(.pagination) li a .date {
    font-size: min(1.05vw, 14px);
    line-height: 1;
    letter-spacing: min(0.7px, 0.0525vw);
  }
}
#news #related .wrapper ul:not(.pagination) li a .tag,
#detail #related .wrapper ul:not(.pagination) li a .tag {
  color: #E50113;
  border: 0.2666666667vw solid #E50113;
  width: max-content;
  justify-self: end;
  font-weight: 700;
  padding: 1.0666666667vw 2.4vw;
  border-radius: 5.3333333333vw;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination) li a .tag,
  #detail #related .wrapper ul:not(.pagination) li a .tag {
    padding: min(4px, 0.3vw) min(9px, 0.675vw);
    border-width: min(1px, 0.075vw);
    border-radius: min(20px, 1.5vw);
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
#news #related .wrapper ul:not(.pagination) li a figure,
#detail #related .wrapper ul:not(.pagination) li a figure {
  grid-column: 1/3;
}
#news #related .wrapper ul:not(.pagination) li a figure span,
#detail #related .wrapper ul:not(.pagination) li a figure span {
  overflow: hidden;
  display: block;
  aspect-ratio: 40/21;
}
#news #related .wrapper ul:not(.pagination) li a figure span img,
#detail #related .wrapper ul:not(.pagination) li a figure span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s linear;
}
#news #related .wrapper ul:not(.pagination) li a figure figcaption,
#detail #related .wrapper ul:not(.pagination) li a figure figcaption {
  font-size: 3.7333333333vw;
  line-height: 1.5;
  margin-top: 4vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination) li a figure figcaption,
  #detail #related .wrapper ul:not(.pagination) li a figure figcaption {
    font-size: min(1.2vw, 16px);
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul:not(.pagination) li a figure figcaption,
  #detail #related .wrapper ul:not(.pagination) li a figure figcaption {
    margin-top: min(20px, 1.5vw);
  }
}
#news #related .wrapper ul,
#detail #related .wrapper ul {
  display: flex;
  flex-wrap: wrap;
}
#news #related .wrapper ul li a,
#detail #related .wrapper ul li a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #news #related .wrapper ul li a,
  #detail #related .wrapper ul li a {
    width: min(373px, 27.975vw);
  }
}
#news footer,
#detail footer {
  position: relative;
  margin-top: 0;
}
#news footer:before,
#detail footer:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/bg-texture.png) 0% 0%/min(100px, 7.5vw) min(100px, 7.5vw) repeat, #f8f8f8;
  top: 0;
  left: 0;
  display: block;
  position: absolute;
  z-index: -1;
}

#contact #contents .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  margin-top: 18.6666666667vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper {
    width: min(757px, 56.775vw);
    margin-top: min(150px, 11.25vw);
    padding: 0;
  }
}
#contact #contents .wrapper p {
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper p {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#contact #contents .wrapper p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #contact #contents .wrapper p a:hover {
    text-decoration: none;
  }
}
#contact #contents .wrapper form {
  display: flex;
  flex-direction: column;
  margin-top: 13.3333333333vw;
  gap: 8vw 0;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form {
    gap: min(57px, 4.275vw) 0;
    margin-top: min(80px, 6vw);
  }
}
#contact #contents .wrapper form dl dt {
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dt {
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#contact #contents .wrapper form dl dt span {
  color: #E50113;
  font-size: 2.6666666667vw;
  line-height: 1;
  letter-spacing: 0.1333333333vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dt span {
    font-size: min(0.9vw, 12px);
    line-height: 1;
    letter-spacing: min(0.6px, 0.045vw);
  }
}
#contact #contents .wrapper form dl dd {
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd {
    margin-top: min(20px, 1.5vw);
  }
}
#contact #contents .wrapper form dl dd input,
#contact #contents .wrapper form dl dd select,
#contact #contents .wrapper form dl dd textarea {
  border: 0.2666666667vw solid #D9D9D9;
  width: 100%;
  padding: 2.6666666667vw 2.6666666667vw 2.4vw;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd input,
  #contact #contents .wrapper form dl dd select,
  #contact #contents .wrapper form dl dd textarea {
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd input,
  #contact #contents .wrapper form dl dd select,
  #contact #contents .wrapper form dl dd textarea {
    padding: min(19px, 1.425vw);
    border-width: min(1px, 0.075vw);
  }
}
#contact #contents .wrapper form dl dd textarea {
  height: 56vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd textarea {
    height: min(220px, 16.5vw);
  }
}
#contact #contents .wrapper form dl dd .select {
  position: relative;
}
#contact #contents .wrapper form dl dd .select:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='12' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23333' d='m17.922 2.452 1.06 1.061-5.777 5.779a.995.995 0 0 1-1.413 0l-5.78-5.779 1.06-1.06 5.425 5.424 5.425-5.425Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M24.5 0v12H.5V0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  aspect-ratio: 24/12;
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  display: block;
  position: absolute;
  top: 50%;
  pointer-events: none;
  width: 6.4vw;
  right: 3.2vw;
  transform: translateY(-0.5333333333vw);
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd .select:after {
    width: min(24px, 1.8vw);
    right: min(19px, 1.425vw);
    transform: translateY(max(-2px, -0.15vw));
  }
}
#contact #contents .wrapper form dl dd .wpcf7-not-valid-tip {
  margin-top: 1.3333333333vw;
  color: #E50113;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form dl dd .wpcf7-not-valid-tip {
    margin-top: min(5px, 0.375vw);
  }
}
#contact #contents .wrapper form .pp {
  text-align: center;
}
#contact #contents .wrapper form .pp label {
  display: grid;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin-top: 5.3333333333vw;
  grid-template-columns: 3.7333333333vw auto auto;
  gap: 0;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form .pp label {
    grid-template-columns: min(14px, 1.05vw) auto auto;
    margin-top: 0;
  }
}
#contact #contents .wrapper form .pp label input[type=checkbox] {
  display: none;
}
#contact #contents .wrapper form .pp label:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%23333' d='M.5.5h13v13H.5z'/%3E%3C/svg%3E");
}
#contact #contents .wrapper form .pp label:has(input:checked):before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Cpath stroke='%23333' d='M.5.5h13v13H.5z'/%3E%3Cpath fill='%23333' d='M5.497 11 2 7.208l.874-.948 2.623 2.844L11.126 3l.874.948L5.497 11Z'/%3E%3C/svg%3E");
}
#contact #contents .wrapper form .pp label a {
  margin-left: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form .pp label a {
    margin-left: min(8px, 0.6vw);
  }
}
#contact #contents .wrapper form .pp label .wpcf7-form-control-wrap {
  display: none;
}
#contact #contents .wrapper form .submit input {
  width: 100%;
  background-color: #333;
  color: #fff;
  border: none;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.2s linear;
  margin-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1;
  letter-spacing: 0.1866666667vw;
  padding: 6.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #contact #contents .wrapper form .submit input {
    margin-top: 0;
    font-size: min(1.2vw, 16px);
    line-height: 1;
    letter-spacing: 0.8;
    padding: min(25px, 1.875vw) 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #contact #contents .wrapper form .submit input:hover {
    opacity: 0.8;
  }
}
#contact #contents .wrapper form .submit input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

#privacypolicy #contents .wrapper {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
  margin-top: 18.6666666667vw;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.9;
  letter-spacing: 0.1866666667vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper {
    margin-top: min(150px, 11.25vw);
    padding: 0;
    width: min(750px, 56.25vw);
    gap: min(40px, 3vw);
    font-size: min(1.2vw, 16px);
    line-height: 1.9;
    letter-spacing: min(0.8px, 0.06vw);
  }
}
#privacypolicy #contents .wrapper a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #privacypolicy #contents .wrapper a:hover {
    text-decoration: none;
  }
}
#privacypolicy #contents .wrapper h2 {
  color: #E50113;
  font-weight: 700;
  font-size: 5.3333333333vw;
  line-height: 1.8;
  letter-spacing: 0.2666666667vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper h2 {
    font-size: min(2.25vw, 30px);
    line-height: 1.8;
    letter-spacing: min(1.5px, 0.1125vw);
  }
}
#privacypolicy #contents .wrapper h3 {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.8;
  letter-spacing: 0.2133333333vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper h3 {
    font-size: min(1.8vw, 24px);
    line-height: 1.8;
    letter-spacing: min(1.2px, 0.09vw);
  }
}
#privacypolicy #contents .wrapper ol {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol {
    gap: min(40px, 3vw);
  }
}
#privacypolicy #contents .wrapper ol + h2 {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol + h2 {
    margin-top: min(20px, 1.5vw);
  }
}
#privacypolicy #contents .wrapper ol li > dl > dt {
  font-weight: 700;
  border-bottom: 0.2666666667vw solid #D9D9D9;
  font-size: 4.2666666667vw;
  line-height: 1.8;
  letter-spacing: 0.2133333333vw;
  padding-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol li > dl > dt {
    font-size: min(1.5vw, 20px);
    line-height: 1.8;
    letter-spacing: min(1px, 0.075vw);
    border-bottom-width: min(1px, 0.075vw);
    padding-bottom: min(10px, 0.75vw);
  }
}
#privacypolicy #contents .wrapper ol li > dl > dd {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol li > dl > dd {
    margin-top: min(30px, 2.25vw);
  }
}
#privacypolicy #contents .wrapper ol li > dl > dd p + dl {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol li > dl > dd p + dl {
    margin-top: min(30px, 2.25vw);
  }
}
#privacypolicy #contents .wrapper ol li > dl > dd ul li {
  list-style: disc;
  margin-left: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol li > dl > dd ul li {
    margin-left: min(20px, 1.5vw);
  }
}
#privacypolicy #contents .wrapper ol li > dl > dd dl + dl {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol li > dl > dd dl + dl {
    margin-top: min(30px, 2.25vw);
  }
}
#privacypolicy #contents .wrapper ol + p {
  text-align: right;
  border-top: 0.2666666667vw solid #D9D9D9;
  padding-top: 8vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #privacypolicy #contents .wrapper ol + p {
    border-top-width: min(1px, 0.075vw);
    padding-top: min(30px, 2.25vw);
    margin-top: min(20px, 1.5vw);
  }
}/*# sourceMappingURL=style.css.map */