body.is-scroll-locked {
  overflow: hidden;
  touch-action: none
}

.global_spot_overlay {
  position: fixed;
  inset: 0;
  z-index: 998;
  pointer-events: none;
  opacity: 1;
  --spot-x: 50vw;
  --spot-y: 50vh;
  --spot-r: 120px;
  --blur: 0px;
  transform: translateZ(0);
  isolation: isolate
}

@media (max-width:919px) {
  .global_spot_overlay {
    display: none
  }
}

.spot_bubble_portal {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none
}

@media (max-width:919px) {
  .spot_bubble_portal {
    display: none
  }
}

.spot_bubble_portal .bubble {
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  opacity: 0;
  transform: translate(-50%, -50%) translateY(10px) scale(0.98);
  transition: opacity 0.35s ease, transform 0.35s ease;
  will-change: opacity, transform
}

.spot_bubble_portal .bubble.is-show {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(0) scale(1)
}

.spot_bubble_portal .bubble.is-hide {
  opacity: 0;
  transform: translate(-50%, -50%) translateY(10px) scale(0.98);
  pointer-events: none
}

.spot_bubble_portal .bubble_bg {
  position: relative;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25))
}

.spot_bubble_portal .bubble_bg img {
  width: 100%
}

.spot_bubble_portal .bubble_img {
  position: absolute;
  z-index: 2
}

.spot_bubble_portal .bubble_img_01 {
  width: 60px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_img_01 {
    width: 6.4285714286vw
  }
}

.spot_bubble_portal .bubble_img_02 {
  width: 80px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_img_02 {
    width: 11.2142857143vw
  }
}

.spot_bubble_portal .bubble_img {
  border-radius: 50%;
  overflow: hidden;
  position: absolute
}

.spot_bubble_portal .bubble_plasterer .bubble_bg {
  width: 320px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_plasterer .bubble_bg {
    width: 40vw
  }
}

.spot_bubble_portal .bubble_plasterer .bubble_txtArea {
  bottom: 30px;
  left: 38px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_plasterer .bubble_txtArea {
    bottom: 5.3571428571vw;
    left: 4.6428571429vw
  }
}

.spot_bubble_portal .bubble_plasterer .bubble_img_01 {
  top: -20px;
  left: 130px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_plasterer .bubble_img_01 {
    top: 0;
    left: 2.8571428571vw
  }
}

.spot_bubble_portal .bubble_plasterer .bubble_img_02 {
  top: -20px;
  left: 200px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_plasterer .bubble_img_02 {
    top: -2.8571428571vw;
    left: 11.4285714286vw
  }
}

.spot_bubble_portal .bubble_foundation .bubble_bg {
  width: 320px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_foundation .bubble_bg {
    width: 39.7142857143vw
  }
}

.spot_bubble_portal .bubble_foundation .bubble_txtArea {
  bottom: 80px;
  left: 60px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_foundation .bubble_txtArea {
    bottom: 11.4285714286vw;
    left: 7.8571428571vw
  }
}

@media (max-width:919px) {
  .spot_bubble_portal .bubble_foundation .bubble_txtArea {
    width: 200px
  }
}

.spot_bubble_portal .bubble_foundation .bubble_img_01 {
  top: -40px;
  right: 100px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_foundation .bubble_img_01 {
    top: -1.4285714286vw;
    right: 15.7142857143vw
  }
}

.spot_bubble_portal .bubble_foundation .bubble_img_02 {
  top: -40px;
  right: 10px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_foundation .bubble_img_02 {
    top: -0.7142857143vw;
    right: 2.8571428571vw
  }
}

.spot_bubble_portal .bubble_tile .bubble_bg {
  width: 380px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_tile .bubble_bg {
    width: 39.7142857143vw
  }
}

.spot_bubble_portal .bubble_tile .bubble_txtArea {
  bottom: 60px;
  left: 60px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_tile .bubble_txtArea {
    bottom: 8.5714285714vw;
    left: 6.6428571429vw
  }
}

@media (max-width:919px) {
  .spot_bubble_portal .bubble_tile .bubble_txtArea {
    width: 200px
  }
}

.spot_bubble_portal .bubble_tile .bubble_img_01 {
  top: -10px;
  right: 120px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_tile .bubble_img_01 {
    top: 5.7142857143vw;
    right: 2.8571428571vw
  }
}

.spot_bubble_portal .bubble_tile .bubble_img_02 {
  top: 0;
  right: 30px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_tile .bubble_img_02 {
    top: -3.5714285714vw;
    right: 7.1428571429vw
  }
}

.spot_bubble_portal .bubble_waterproof .bubble_bg {
  width: 320px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_waterproof .bubble_bg {
    width: 40vw
  }
}

.spot_bubble_portal .bubble_waterproof .bubble_txtArea {
  bottom: 20px;
  left: 90px;
  width: 180px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_waterproof .bubble_txtArea {
    bottom: 5.2857142857vw;
    left: 5.1428571429vw;
    width: 24.2857142857vw
  }
}

.spot_bubble_portal .bubble_waterproof .bubble_img_01 {
  bottom: -30px;
  right: 70px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_waterproof .bubble_img_01 {
    bottom: -1.4285714286vw;
    right: 10vw
  }
}

.spot_bubble_portal .bubble_waterproof .bubble_img_02 {
  bottom: -20px;
  right: -10px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_waterproof .bubble_img_02 {
    bottom: 0.7142857143vw;
    right: -2.1428571429vw
  }
}

.spot_bubble_portal .bubble_renovation .bubble_bg {
  width: 350px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_renovation .bubble_bg {
    width: 39.7142857143vw
  }
}

.spot_bubble_portal .bubble_renovation .bubble_txtArea {
  bottom: 36px;
  left: 44px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_renovation .bubble_txtArea {
    bottom: 4.4285714286vw;
    left: 7.1428571429vw
  }
}

@media (max-width:919px) {
  .spot_bubble_portal .bubble_renovation .bubble_txtArea {
    width: 240px
  }
}

.spot_bubble_portal .bubble_renovation .bubble_img_01 {
  bottom: 0;
  right: 0
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_renovation .bubble_img_01 {
    bottom: 13vw;
    left: 32vw
  }
}

.spot_bubble_portal .bubble_renovation .bubble_img_02 {
  bottom: -60px;
  left: 90px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_renovation .bubble_img_02 {
    bottom: 0.7142857143vw;
    left: 32.5714285714vw
  }
}

.spot_bubble_portal .bubble_txtArea {
  color: #fff;
  position: absolute;
  width: 180px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_txtArea {
    width: 22.9285714286vw
  }
}

.spot_bubble_portal .bubble_txtArea_ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_txtArea_ttl {
    gap: 0.5714285714vw;
    font-size: 2vw
  }
}

.spot_bubble_portal .bubble_txtArea_ttl img {
  width: 20px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_txtArea_ttl img {
    width: 2.8571428571vw
  }
}

.spot_bubble_portal .bubble_txtArea_txt {
  text-align: justify;
  line-height: 1.75;
  font-size: 13px
}

@media (min-width:920px) {
  .spot_bubble_portal .bubble_txtArea_txt {
    font-size: 1.1428571429vw;
    margin-bottom: 1.1428571429vw
  }
}

.txt_link {
  position: relative;
  font-weight: 700;
  display: flex;
  align-items: center;
  width: fit-content;
  margin-left: auto;
  gap: 1.0256410256vw;
  font-size: 3.5897435897vw
}

@media (min-width:920px) {
  .txt_link {
    font-size: 1.1428571429vw;
    gap: 0.5714285714vw
  }
}

.txt_link .link_icon {
  position: relative;
  overflow: hidden;
  display: inline-block
}

.txt_link .link_icon::before,
.txt_link .link_icon::after {
  display: block;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url("../img/home/link_arrow.svg");
  mask-image: url("../img/home/link_arrow.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 5.1282051282vw;
  height: 5.1282051282vw;
  transition: translate 0.2s ease-out, background-color 0.3s
}

@media (min-width:920px) {

  .txt_link .link_icon::before,
  .txt_link .link_icon::after {
    width: 1.7142857143vw;
    height: 1.7142857143vw
  }
}

.txt_link .link_icon::after {
  position: absolute;
  top: 0;
  left: 0;
  translate: -100% 0
}

@media (min-width:920px) {
  .txt_link:hover .link_icon::before {
    translate: 100% 0
  }
}

@media (min-width:920px) {
  .txt_link:hover .link_icon::after {
    translate: 0 0
  }
}

.global_spot_overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.01);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  -webkit-mask-image: radial-gradient(circle var(--spot-r) at var(--spot-x) var(--spot-y), rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99.6%, black 100%);
  mask-image: radial-gradient(circle var(--spot-r) at var(--spot-x) var(--spot-y), rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99.6%, black 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  opacity: 0;
  transition: opacity 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease;
  will-change: opacity, backdrop-filter
}

.global_spot_overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #f7f7f766;
  -webkit-mask-image: radial-gradient(circle var(--spot-r) at var(--spot-x) var(--spot-y), rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99.6%, black 100%);
  mask-image: radial-gradient(circle var(--spot-r) at var(--spot-x) var(--spot-y), rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99.6%, black 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  opacity: 0;
  transition: opacity 0.35s ease;
  will-change: opacity
}

.global_spot_overlay.is-visible {
  --blur: 8px
}

.global_spot_overlay.is-visible::before,
.global_spot_overlay.is-visible::after {
  opacity: 1
}

.global_spot_overlay.is-prewarm {
  --blur: 8px
}

.global_spot_overlay.is-prewarm::before {
  opacity: 0.001
}

.main_content {
  width: 100%;
  position: relative;
  overflow-x: clip
}

@media (min-width:920px) {
  .main_content {
    height: 100vh;
    min-height: 500px
  }
}

.main_content picture {
  width: 100%;
  height: 100%
}

.main_content img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

@media (min-width:920px) {
  .main_content.is-scrolled .main_content_nav {
    transform: translate3d(calc(-50% - 120vw), -50%, 0)
  }
}

@media (min-width:920px) {
  .main_content.is-scrolled .main_content_catch {
    transform: translate3d(calc(-50% + 120vw), 0, 0)
  }
}

.main_content_nav {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  transition: transform 1800ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform
}

@media (min-width:920px) {
  .main_content_nav {
    width: 64vw;
    height: 40.1428571429vw;
    top: 50%;
    transform: translate(-50%, -50%)
  }
}

@media (max-width:919px) {
  .main_content_nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
  }
}

.main_content_nav_item {
  line-height: 1
}

@media (min-width:920px) {
  .main_content_nav_item {
    position: absolute
  }
}

@media (min-width:920px) {
  .main_content_nav_item_01 {
    top: 6.2142857143vw;
    left: 3.7857142857vw
  }
}

@media (min-width:920px) {
  .main_content_nav_item_02 {
    top: 14.7857142857vw;
    left: 21.2142857143vw
  }
}

@media (min-width:920px) {
  .main_content_nav_item_03 {
    top: 19.3571428571vw;
    left: 40.1428571429vw
  }
}

@media (min-width:920px) {
  .main_content_nav_item_04 {
    top: 26vw;
    left: 1.7142857143vw
  }
}

@media (min-width:920px) {
  .main_content_nav_item_05 {
    top: 27.2142857143vw;
    left: 29.5714285714vw
  }
}

.main_content_nav_item .btn {
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #111111;
  font-weight: 700;
  transition: background-color 0.3s ease;
  border: none;
  border-radius: 4px;
  width: 37.4358974359vw;
  padding: 2.0512820513vw 2.0512820513vw 2.0512820513vw 3.0769230769vw
}

@media (min-width:920px) {
  .main_content_nav_item .btn {
    font-size: 1.1428571429vw;
    width: 14.2857142857vw;
    padding: 1.4285714286vw 1.7142857143vw;
    border-radius: 0.8571428571vw 0.8571428571vw 0 0.8571428571vw
  }
}

.main_content_nav_item .btn_arrow::before {
  background-color: #fff
}

@media (min-width:920px) {
  .main_content_nav_item .btn:hover {
    background-color: #186FAE
  }
}

@media (min-width:920px) {
  .main_content_nav_item .btn img {
    width: 1.1428571429vw
  }
}

.main_content_visual {
  z-index: -1;
  pointer-events: none;
  width: 120.307692vw
}

@supports (height: 100vh) {
  .main_content_visual {
    position: absolute;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    top: 50vh;
    will-change: transform, top
  }
}

@supports not (height: 100vh) {
  .main_content_visual {
    top: calc(var(--app-vh, 1vh) * 50)
  }
}

@media (min-width:920px) {
  .main_content_visual {
    position: fixed;
    width: 85.7142857143vw
  }
}

@media (max-width:919px) {
  .main_content_visual {
    position: relative;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    padding: 100px 0 160px;
    margin-top: 120px
  }
}

.main_content_visual_layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease
}

.main_content_visual.is-locked {
  position: absolute;
  top: var(--lock-top, 50%);
  transform: translate3d(-50%, -50%, 0)
}

.main_content_visual_center {
  margin: 0 auto;
  position: relative;
  aspect-ratio: 1.5943060498;
  width: 84%;
}

@media (min-width:920px) {
  .main_content_visual_center {
    width: 64vw;
    widtheighth: 40.1428571429vw
  }
}

.main_content_visual_center .center_base,
.main_content_visual_center .center_alt {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.001;
  transition: opacity 0s linear;
  will-change: opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
  pointer-events: none
}

.main_content_visual_center .center_base {
  opacity: 1;
  z-index: 1;
  pointer-events: none
}

.main_content_visual_center .center_alt {
  z-index: 2
}

.main_content_visual_center.is-alt .center_base {
  opacity: 0.001
}

.main_content_visual_center.is-alt .center_alt {
  opacity: 1
}

.main_content_visual_center.is-back .center_base {
  z-index: 2
}

.main_content_visual_center.is-back .center_alt {
  z-index: 1
}

.main_content_visual_center .alien {
  position: absolute;
  display: block;
  animation: alienFloat 4s infinite;
  will-change: transform;
  aspect-ratio: 0.33125;
  width: 8.2051282051vw;
  height: auto;
  left: 13.25641vw;
  top: 10.1282051282vw
}

@media (min-width:920px) {
  .main_content_visual_center .alien {
    width: 3.7857142857vw;
    height: 11.4285714286vw;
    left: 10vw;
    top: 10.7142857143vw
  }
}

@keyframes alienFloat {
  0% {
    transform: translateY(20px)
  }

  50% {
    transform: translateY(-80px)
  }

  100% {
    transform: translateY(20px)
  }
}

.main_content_visual_illust {
  position: absolute
}

.main_content_visual_illust_01 {
  top: 55px;
  left: 21.692308vw;
  width: 52px
}

@media (min-width:920px) {
  .main_content_visual_illust_01 {
    top: 10.0714285714vw;
    left: 0;
    width: 5.5714285714vw
  }
}

.main_content_visual_illust_02 {
  top: 30px;
  left: 42.205128vw;
  width: 34px
}

@media (min-width:920px) {
  .main_content_visual_illust_02 {
    top: 27.2857142857vw;
    left: 3.9285714286vw;
    width: 2.8571428571vw
  }
}

.main_content_visual_illust_03 {
  top: 10px;
  right: 43.1794871795vw;
  width: 42px
}

@media (min-width:920px) {
  .main_content_visual_illust_03 {
    top: 11.9285714286vw;
    right: 6.5714285714vw;
    width: 4.1428571429vw
  }
}

.main_content_visual_illust_04 {
  top: 67px;
  right: 35.435897vw;
  width: 46px
}

@media (min-width:920px) {
  .main_content_visual_illust_04 {
    top: 20.6428571429vw;
    right: 3.9285714286vw;
    width: 3.9285714286vw
  }
}

.main_content_visual_illust_05 {
  top: 66px;
  right: 13.769231vw;
  width: 40px
}

@media (min-width:920px) {
  .main_content_visual_illust_05 {
    top: 30.1428571429vw;
    right: 0;
    width: 3.8571428571vw
  }
}

.main_content_visual_layer {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease
}

.main_content_visual_layer.is-visible {
  opacity: 1;
  visibility: visible
}

.main_content_visual_layer .visual_step {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease
}

.main_content_visual_layer .visual_step.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.main_content_visual_layer .visual_step[data-step="0"] {
  --spot-x: 85.63549346vw;
  --spot-y: 38.11386451vw;
  --spot-r: 16.3255vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="0"] {
    --spot-x: 78.71428571428571vw;
    --spot-y: 31.142857142857142vw;
    --spot-r: 7.142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="1"] {
  --spot-x: 69.85714285714286vw;
  --spot-y: 45.57142857142857vw;
  --spot-r: 16.3255vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="1"] {
    --spot-x: 65.85714285714286vw;
    --spot-y: 37.57142857142857vw;
    --spot-r: 7.142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="2"] {
  --spot-x: 26.71428571428571vw;
  --spot-y: 46.57142857142857vw;
  --spot-r: 16.3255vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="2"] {
    --spot-x: 31.71428571428571vw;
    --spot-y: 36.57142857142857vw;
    --spot-r: 7.142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="3"] {
  --spot-x: 36.857142857142854vw;
  --spot-y: 12.714285714285714vw;
  --spot-r: 16.3255vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="3"] {
    --spot-x: 38.857142857142854vw;
    --spot-y: 12.714285714285714vw;
    --spot-r: 7.142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="4"] {
  --spot-x: 48.57142857142857vw;
  --spot-y: 26.714285714285714vw;
  --spot-r: 16.3255vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="4"] {
    --spot-x: 51.57142857142857vw;
    --spot-y: 18.714285714285714vw;
    --spot-r: 7.142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="0"] {
  --bubble-x: 44.71428571428571vw;
  --bubble-y: 14.142857142857142vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="0"] {
    --bubble-x: 51.71428571428571vw;
    --bubble-y: 18.142857142857142vw
  }
}

.main_content_visual_layer .visual_step[data-step="1"] {
  --bubble-x: 54.934566125vw;
  --bubble-y: 14.524634542vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="1"] {
    --bubble-x: 64.85714285714286vw;
    --bubble-y: 22.57142857142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="2"] {
  --bubble-x: 40.71428571428571vw;
  --bubble-y: 5.57142857142857vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="2"] {
    --bubble-x: 33.71428571428571vw;
    --bubble-y: 20.57142857142857vw
  }
}

.main_content_visual_layer .visual_step[data-step="3"] {
  --bubble-x: 52.857142857142854vw;
  --bubble-y: 50.714285714285714vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="3"] {
    --bubble-x: 52.857142857142854vw;
    --bubble-y: 25.714285714285714vw
  }
}

.main_content_visual_layer .visual_step[data-step="4"] {
  --bubble-x: 46.57142857142857vw;
  --bubble-y: 60.714285714285714vw
}

@media (min-width:920px) {
  .main_content_visual_layer .visual_step[data-step="4"] {
    --bubble-x: 44.57142857142857vw;
    --bubble-y: 32.714285714285714vw
  }
}

.main_content_visual_layer .visual_bubble {
  position: absolute;
  left: var(--bubble-x, 50%);
  top: var(--bubble-y, 50%);
  transform: translate(-50%, -50%);
  pointer-events: auto;
  z-index: 20
}

.main_content_catch {
  position: absolute;
  font-weight: 900;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1.5;
  width: max-content;
  bottom: 80px;
  font-size: 30px;
  text-align: center;
  transition: transform 1800ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity
}

@media (min-width:920px) {
  .main_content_catch {
    font-size: 2.8571428571vw;
    bottom: 20px;
    line-height: 1.25
  }
}

.main_content_catch .strong {
  color: #186FAE;
  position: relative;
  font-size: 40px
}

@media (min-width:920px) {
  .main_content_catch .strong {
    font-size: 4vw
  }
}

.main_content_catch .strong::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 184px;
  height: 82px;
  background-image: url("../img/home/text_circle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1
}

@media (min-width:920px) {
  .main_content_catch .strong::before {
    width: 24.7857142857vw;
    height: 8.5vw
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

.scroll-down {
  position: absolute
}

@media (min-width:920px) {
  .scroll-down {
    bottom: 4.2857142857vw;
    left: 7.1428571429vw;
    width: 6.5714285714vw;
    height: 6.5714285714vw
  }
}

.scroll-down .text {
  position: absolute;
  inset: 0;
  animation: spin 22s linear infinite;
  transform-origin: center
}

.scroll-down .text img {
  width: 100%;
  height: 100%;
  display: block
}

.scroll-down .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none
}

@media (min-width:920px) {
  .scroll-down .arrow {
    width: 2.2857142857vw;
    height: 2.2857142857vw
  }
}

.scroll-down .arrow img {
  width: 100%;
  height: 100%;
  display: block
}

.home_about {
  overflow: hidden;
  position: relative
}

@media (min-width:920px) {
  .home_about {
    margin-top: 8.5714285714vw
  }
}

.home_about_illust {
  position: absolute;
  z-index: 1
}

.home_about_illust img {
  width: 100%
}

.home_about_illust_01 {
  top: 50px;
  left: 60px;
  width: 120px
}

@media (min-width:920px) {
  .home_about_illust_01 {
    top: 3.5714285714vw;
    left: 17.8571428571vw;
    width: 15.8571428571vw
  }
}

.home_about_illust_02 {
  top: 80px;
  right: 90px;
  width: 46px
}

@media (min-width:920px) {
  .home_about_illust_02 {
    top: 5.7142857143vw;
    right: 24.2857142857vw;
    width: 4.0714285714vw
  }
}

.home_about_illust_03 {
  top: 40px;
  right: 60px;
  width: 34px
}

@media (min-width:920px) {
  .home_about_illust_03 {
    top: 3.5714285714vw;
    right: 18.7857142857vw;
    width: 3.1428571429vw
  }
}

.home_about_illust_04 {
  bottom: 40px;
  right: 60px;
  width: 60px
}

@media (min-width:920px) {
  .home_about_illust_04 {
    bottom: 7.1428571429vw;
    right: 10vw;
    width: 7.7857142857vw
  }
}

.home_about_illust_05 {
  bottom: 20px;
  right: 10px;
  width: 50px
}

@media (min-width:920px) {
  .home_about_illust_05 {
    bottom: 0;
    right: 3.5714285714vw;
    width: 6.7857142857vw
  }
}

.home_about_bg {
  width: 100%
}

.home_about_bg img {
  width: 100%
}

.home_about_body {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  width: 100%
}

@media (min-width:920px) {
  .home_about_body {
    transform: translate(-50%, -50%)
  }
}

.home_about_body_inr {
  display: flex;
  flex-direction: column
}

@media (min-width:920px) {
  .home_about_body_inr {
    flex-direction: row;
    justify-content: space-between;
    align-items: center
  }
}

.home_about_body_inr .home_section_ttl {
  padding-top: 80px
}

@media (min-width:920px) {
  .home_about_body_inr .home_section_ttl {
    padding-top: 13.1428571429vw
  }
}

@media (min-width:920px) {
  .home_about_body_txtArea {
    width: 43.4285714286vw
  }
}

.home_about_body_catch {
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  font-size: 20px;
  margin-bottom: 20px
}

@media (min-width:920px) {
  .home_about_body_catch {
    font-size: max(30px, 3.4285714286vw);
    margin-bottom: 2.2857142857vw
  }
}

.home_about_body_txt {
  color: #fff;
  margin-bottom: 12px;
  text-align: justify
}

@media (min-width:920px) {
  .home_about_body_txt {
    font-size: max(14px, 1.1428571429vw);
    margin-bottom: 1.7142857143vw
  }
}

.home_about_body_txt:last-of-type {
  margin-bottom: 32px
}

@media (min-width:920px) {
  .home_about_body_txt:last-of-type {
    margin-bottom: 2.4285714286vw
  }
}

.home_service {
  overflow: hidden;
  position: relative;
  padding: 120px 0
}

@media (min-width:920px) {
  .home_service {
    padding: 14.2857142857vw 0 11.4285714286vw
  }
}

@media screen and (min-width:921px) and (max-width:1024px) {
  .home_service {
    padding: 14.2857142857vw 0 0
  }
}

.home_service_illust {
  position: absolute;
  z-index: 1
}

.home_service_illust img {
  width: 100%
}

.home_service_illust_01 {
  top: 20px;
  left: 40px;
  width: 140px
}

@media (min-width:920px) {
  .home_service_illust_01 {
    top: 2.8571428571vw;
    left: 7.2857142857vw;
    width: 19.1428571429vw
  }
}

.home_service_illust_02 {
  top: 80px;
  right: 80px;
  width: 40px
}

@media (min-width:920px) {
  .home_service_illust_02 {
    top: 10.4285714286vw;
    right: 30.7142857143vw;
    width: 4.2857142857vw
  }
}

.home_service_illust_03 {
  bottom: 80px;
  right: 40px;
  width: 50px
}

@media (min-width:920px) {
  .home_service_illust_03 {
    bottom: 12.8571428571vw;
    right: 7vw;
    width: 5vw
  }
}

.home_service .section_ttl {
  opacity: 1;
  transition: opacity 0.18s ease;
  will-change: opacity
}

@media (min-width:920px) {
  .home_service .section_ttl {
    margin-bottom: 100vh
  }
}

@media (min-width:920px) {
  .home_service .btn {
    opacity: 1;
    transition: opacity 0.18s ease, background-color 0.3s ease;
    will-change: opacity
  }
}

@media screen and (min-width:921px) and (max-width:1024px) {
  .home_service .btn {
    transform: translateY(-520px)
  }
}

@media (min-width:920px) {

  .home_service.is-guard .btn,
  .home_service.is-guard .section_ttl {
    opacity: 0;
    pointer-events: none
  }
}

@media (min-width:920px) {

  .home_service.is-guard-instant .btn,
  .home_service.is-guard-instant .section_ttl {
    transition: opacity 0.18s ease
  }
}

.home_service .service_contentSp {
  margin-bottom: 60px
}

@media (min-width:920px) {
  .home_service .service_contentSp {
    display: none
  }
}

.home_service .service_contentSp .service_item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 80px
}

.home_service .service_contentSp .service_item:last-child {
  margin-bottom: 0
}

.home_service .service_contentSp .service_item_bg img {
  width: 100%
}

.home_service .service_contentSp .service_item_txtArea {
  padding: 0 20px
}

.home_service .service_contentSp .service_item_txtArea_ttl {
  display: flex;
  gap: 8px;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 8px
}

.home_service .service_contentSp .service_item_txtArea_txt {
  font-size: 16px;
  margin-bottom: 10px
}

.home_service .service_contentSp .service_item_txtArea .txt_link {
  margin: 0 0 0 auto;
  font-size: 16px;
  gap: 4px;
  color: #186FAE
}

.home_service .service_contentSp .service_item_txtArea .txt_link .link_icon::before,
.home_service .service_contentSp .service_item_txtArea .txt_link .link_icon ::after {
  background: #186FAE
}

.home_works {
  position: relative;
  overflow-x: clip;
  padding: 180px 0
}

@media (min-width:920px) {
  .home_works {
    padding: 14.7142857143vw 0 10.4285714286vw
  }
}

@media screen and (min-width:921px) and (max-width:1024px) {
  .home_works {
    transform: translateY(-200px)
  }
}

.home_works_illust {
  position: absolute;
  z-index: 1
}

.home_works_illust img {
  width: 100%
}

.home_works_illust_01 {
  top: 0;
  left: 50px;
  width: 100px
}

@media (min-width:920px) {
  .home_works_illust_01 {
    top: 0vw;
    left: 16.1428571429vw;
    width: 14.3571428571vw
  }
}

.home_works_illust_02 {
  top: 20px;
  right: 100px;
  width: 38px
}

@media (min-width:920px) {
  .home_works_illust_02 {
    top: 2.8571428571vw;
    right: 33.8571428571vw;
    width: 3.2857142857vw
  }
}

.home_works_illust_03 {
  top: 40px;
  right: 40px;
  width: 110px
}

@media (min-width:920px) {
  .home_works_illust_03 {
    top: -5.7142857143vw;
    right: 11.8571428571vw;
    width: 15.2857142857vw
  }
}

.home_works_illust_04 {
  top: 120px;
  left: 80px;
  width: 32px;
  z-index: 10
}

@media (min-width:920px) {
  .home_works_illust_04 {
    top: 15.7142857143vw;
    left: 23.0714285714vw;
    width: 3.2857142857vw
  }
}

.home_works_illust_05 {
  bottom: 0;
  left: 30px;
  width: 120px
}

@media (min-width:920px) {
  .home_works_illust_05 {
    bottom: -7.1428571429vw;
    left: 12.5714285714vw;
    width: 20.2857142857vw
  }
}

.home_works_illust_06 {
  bottom: 10px;
  right: 110px;
  width: 70px
}

@media (min-width:920px) {
  .home_works_illust_06 {
    bottom: 0;
    right: 21vw;
    width: 7.7857142857vw
  }
}

.home_works_illust_07 {
  bottom: 0;
  right: 20px;
  width: 80px
}

@media (min-width:920px) {
  .home_works_illust_07 {
    bottom: -7.8571428571vw;
    right: 8.9285714286vw;
    width: 10.5vw
  }
}

.home_works::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #1c84cf;
  transform: skewY(-5deg);
  z-index: -1
}

.works_slider {
  margin-bottom: 40px
}

@media (min-width:920px) {
  .works_slider {
    margin-bottom: 4.2857142857vw
  }
}

.works_slider .swiper {
  overflow: visible
}

.works_slider .swiper-slide {
  width: 280px;
  box-shadow: 0px 0px 16px 0px #00000029;
  position: relative
}

@media (min-width:920px) {
  .works_slider .swiper-slide {
    width: 27.4285714286vw
  }
}

.works_slider .swiper-slide img {
  width: 100%
}

.works_slider .swiper-slide .cat {
  position: absolute;
  right: 0;
  top: 0;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background-color: #111111;
  z-index: 1;
  font-size: 14px;
  padding: 6px 8px
}

@media (min-width:920px) {
  .works_slider .swiper-slide .cat {
    font-size: 1.1428571429vw;
    padding: 0.5714285714vw 0.8571428571vw
  }
}

.works_slider .swiper-slide .slide_txtArea {
  background-color: #fff;
  padding: 16px;
  transition: background-color 0.3s ease
}

@media (min-width:920px) {
  .works_slider .swiper-slide .slide_txtArea {
    padding: 1.4285714286vw
  }
}

.works_slider .swiper-slide .slide_txtArea .slide_ttl {
  font-weight: 700;
  line-height: 1.5;
  min-height: calc(1.5em * 2);
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
  font-size: 16px;
  margin-bottom: 12px
}

@media (min-width:920px) {
  .works_slider .swiper-slide .slide_txtArea .slide_ttl {
    font-size: 1.2857142857vw
  }
}

.works_slider .swiper-slide .slide_txtArea .slide_ttl_inr {
  font-size: inherit;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis
}

.works_slider .swiper-slide .slide_txtArea .slide_bottom_name {
  transition: color 0.3s ease;
  margin-bottom: 8px
}

@media (min-width:920px) {
  .works_slider .swiper-slide .slide_txtArea .slide_bottom_name {
    font-size: 1vw
  }
}

.works_slider .swiper-slide .slide_txtArea .slide_bottom_place {
  display: flex;
  flex-wrap: wrap;
  gap: 4px
}

@media (min-width:920px) {
  .works_slider .swiper-slide .slide_txtArea .slide_bottom_place {
    gap: 0.2857142857vw
  }
}

.works_slider .swiper-slide .slide_txtArea .slide_bottom_place_item {
  font-weight: 500;
  border-radius: 99px;
  background-color: #f4f4f4;
  line-height: 1;
  transition: background-color 0.3s ease;
  font-size: 12px;
  padding: 2px 8px;
  display: block;
  width: fit-content
}

@media (min-width:920px) {
  .works_slider .swiper-slide .slide_txtArea .slide_bottom_place_item {
    font-size: 0.8571428571vw;
    padding: 0.4285714286vw 0.8571428571vw 0.5vw
  }
}

.works_slider .swiper-slide a {
  display: block;
  position: relative
}

.works_slider .swiper-slide a .slide_img {
  overflow: hidden;
  aspect-ratio: 1.3333333333
}

.works_slider .swiper-slide a .slide_img img {
  transition: transform 0.3s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width:920px) {
  .works_slider .swiper-slide a:hover .slide_img img {
    transform: scale(1.05)
  }
}

@media (min-width:920px) {
  .works_slider .swiper-slide a:hover .slide_txtArea {
    background-color: #eaeaea
  }
}

@media (min-width:920px) {
  .works_slider .swiper-slide a:hover .slide_txtArea .slide_bottom_place_item {
    background-color: #f4f4f4
  }
}

.works_slider .swiper-controller {
  margin-top: 24px;
  display: flex;
  flex-direction: row-reverse;
  gap: 16px;
  align-items: center;
  justify-content: space-between
}

@media (min-width:920px) {
  .works_slider .swiper-controller {
    margin-top: 56px;
    gap: 40px
  }
}

.works_slider .swiper-controller .swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none
}

.works_slider_navigation {
  display: flex;
  gap: 8px
}

@media (min-width:920px) {
  .works_slider_navigation {
    gap: 16px
  }
}

.works_slider_btn {
  background: #fff;
  border: 1px solid #004381;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: opacity 0.3s, background-color 0.3s, border-color 0.3s;
  z-index: 3
}

@media (max-width:919px) {
  .works_slider_btn {
    width: 48px;
    height: 48px
  }
}

.works_slider_btn-prev {
  left: 0
}

.works_slider_btn-next {
  rotate: 180deg;
  right: 0
}

@media (min-width:920px) {
  .works_slider_btn:hover {
    background: #004381;
    border-color: #004381
  }
}

.works_slider_btn:hover::before {
  background: #fff
}

.works_slider_item {
  display: block;
  width: 250px
}

@media (min-width:920px) {
  .works_slider_item {
    width: 320px
  }
}

.event_list .works_slider_item {
  width: 100%
}

.works_slider_item_img {
  aspect-ratio: 1;
  overflow: hidden;
  width: 100%;
  position: relative;
  margin-bottom: 12px
}

.works_slider_item_img .new {
  background: #004381;
  color: #fff;
  line-height: 1;
  padding: 10px 8px;
  border-radius: 3px;
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: rem(12);
  font-weight: 700
}

@media (min-width:920px) {
  .works_slider_item_img .new {
    font-size: rem(15)
  }
}

.works_slider_item_img .icon {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  transition: background-color 0.3s, border-color 0.3s
}

@media (min-width:920px) {
  .works_slider_item_img .icon {
    width: 40px;
    height: 40px
  }
}

.works_slider_item_img .icon::before,
.works_slider_item_img .icon::after {
  width: 20px;
  height: 20px;
  transition: translate 0.2s ease-out, background-color 0.3s
}

@media (min-width:920px) {

  .works_slider_item_img .icon::before,
  .works_slider_item_img .icon::after {
    width: 24px;
    height: 24px
  }
}

@media (min-width:920px) {
  .works_slider_item:hover .works_slider_item_img img {
    scale: 1.05
  }
}

@media (min-width:920px) {
  .works_slider_item:hover .icon {
    background: #004381;
    border-color: #004381
  }
}

.works_slider_item:hover .icon::before,
.works_slider_item:hover .icon::after {
  background-color: #004381
}

.works_slider_item_title {
  font-weight: 700;
  font-size: rem(15);
  line-height: 1.5;
  transition: color 0.3s;
  margin-bottom: 0.5em
}

@media (min-width:920px) {
  .works_slider_item_title {
    font-size: rem(18)
  }
}

.works_slider_item_area,
.works_slider_item_schedule {
  font-size: rem(12);
  line-height: 1.5
}

@media (min-width:920px) {

  .works_slider_item_area,
  .works_slider_item_schedule {
    font-size: rem(15)
  }
}

.works_slider_item_schedule .time {
  display: inline-block;
  padding-left: 0.5em;
  margin-left: 0.5em;
  border-left: 1px solid #004381
}

.works_slider_item_cate {
  font-size: rem(12);
  font-weight: 700;
  margin-top: 16px;
  gap: 8px;
  display: flex;
  flex-wrap: wrap
}

@media (min-width:920px) {
  .works_slider_item_cate {
    font-size: rem(13)
  }
}

.works_slider_item_cate li {
  display: inline-block;
  border: 1px solid #004381;
  padding: 10px 8px;
  line-height: 1;
  border-radius: 4px
}

@media (min-width:920px) {
  .works_slider_item:hover .works_slider_item_title {
    color: #004381
  }
}

.works .swiper-button-prev.swiper-button-disabled,
.works .swiper-button-next.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: default
}

.button_wrap {
  display: flex;
  gap: 8px
}

@media (min-width:920px) {
  .button_wrap {
    gap: 0.5714285714vw
  }
}

.swiper-button-prev {
  position: relative;
  background-color: #fff;
  border: 1px solid #929292;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  right: 0;
  left: 0;
  margin: 0
}

@media (min-width:920px) {
  .swiper-button-prev {
    width: 4.2857142857vw;
    height: 4.2857142857vw
  }
}

.swiper-button-prev::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  mask-image: url("../img/home/slide_arrow.svg");
  background-color: #111111;
  mask-size: contain;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
  transition: background-color 0.3s ease
}

@media (min-width:920px) {
  .swiper-button-prev::after {
    mask-image: url("../img/home/slide_arrow.svg");
    width: 1.1428571429vw;
    height: 1.1428571429vw
  }
}

.swiper-button-next {
  position: relative;
  background-color: #fff;
  border: 1px solid #929292;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  right: 0;
  left: 0;
  margin: 0
}

@media (min-width:920px) {
  .swiper-button-next {
    width: 4.2857142857vw;
    height: 4.2857142857vw
  }
}

.swiper-button-next::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  mask-image: url("../img/home/slide_arrow.svg");
  background-color: #111111;
  mask-size: contain;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%) scaleX(-1);
  transition: background-color 0.3s ease
}

@media (min-width:920px) {
  .swiper-button-next::after {
    mask-image: url("../img/home/slide_arrow.svg");
    width: 1.1428571429vw;
    height: 1.1428571429vw
  }
}

@media (min-width:920px) {

  .swiper-button-prev:hover,
  .swiper-button-next:hover {
    background-color: #186fae;
    border-color: #186fae
  }
}

@media (min-width:920px) {

  .swiper-button-prev:hover::after,
  .swiper-button-next:hover::after {
    background-color: #fff
  }
}

.home_news {
  overflow: hidden;
  padding: 100px 0 140px;
  position: relative
}

@media (min-width:920px) {
  .home_news {
    padding: 16.8571428571vw 0 8.7142857143vw
  }
}

.home_news_illust {
  position: absolute;
  z-index: 1
}

.home_news_illust img {
  width: 100%
}

.home_news_illust_01 {
  top: 60px;
  right: 30px;
  width: 40px
}

@media (min-width:920px) {
  .home_news_illust_01 {
    top: 11.4285714286vw;
    right: 43.3571428571vw;
    width: 3.1428571429vw
  }
}

.home_news_illust_02 {
  bottom: 60px;
  left: 80px;
  width: 100px
}

@media (min-width:920px) {
  .home_news_illust_02 {
    bottom: 5.6428571429vw;
    left: 15.9285714286vw;
    width: 11.9285714286vw
  }
}

.home_news_illust_03 {
  bottom: 60px;
  right: 40px;
  width: 50px
}

@media (min-width:920px) {
  .home_news_illust_03 {
    bottom: 3.7142857143vw;
    right: 12.6428571429vw;
    width: 4.7857142857vw
  }
}

.home_news_body {
  display: flex;
  flex-direction: column-reverse
}

@media (min-width:920px) {
  .home_news_body {
    gap: 0;
    flex-direction: row;
    justify-content: space-between
  }
}

.home_news_body_contents {
  margin-bottom: 40px
}

@media (min-width:920px) {
  .home_news_body_contents {
    width: 53.1428571429vw;
    margin-bottom: 0
  }
}

@media (min-width:920px) {
  .home_news_body_txtArea {
    width: 26.4285714286vw
  }
}

@media (max-width:919px) {
  .home_news_body_txtArea {
    display: contents
  }
}

@media (max-width:919px) {
  .home_news_body_txtArea .section_ttl {
    order: 1
  }
}

@media (max-width:919px) {
  .home_news_body_txtArea .home_news_body_contents {
    order: 2
  }
}

.home_news_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative
}

@media (min-width:920px) {
  .home_news_list {
    gap: 0.8571428571vw
  }
}

.home_news_list_item_link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  padding: 20px;
  transition: background-color 0.3s ease
}

@media (min-width:920px) {
  .home_news_list_item_link {
    padding: 1.7142857143vw 2.2857142857vw
  }
}

@media (min-width:920px) {
  .home_news_list_item_link:hover {
    background-color: #EAEAEA
  }
}

@media (min-width:920px) {
  .home_news_list_item_link:hover .news_txtArea::after {
    background-color: #186FAE
  }
}

@media (min-width:920px) {
  .home_news_list_item_link:hover .news_thumb img {
    transform: scale(1.05)
  }
}

.home_news_list_item_link .news_thumb {
  aspect-ratio: 1.4035087719;
  width: 100px;
  flex-shrink: 0;
  overflow: hidden
}

.home_news_list_item_link .news_thumb img {
  transition: transform 0.3s ease
}

@media (min-width:920px) {
  .home_news_list_item_link .news_thumb {
    width: 11.4285714286vw
  }
}

.home_news_list_item_link .news_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center
}

.home_news_list_item_link .news_txtArea {
  position: relative;
  width: calc(100% - 120px)
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea {
    width: 35.4285714286vw;
    padding-right: 4vw
  }
}

.home_news_list_item_link .news_txtArea::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  mask-image: url("../img/common/news_arrow.svg");
  background-color: #111111;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color 0.3s ease
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea::after {
    width: 1.7142857143vw;
    height: 1.7142857143vw
  }
}

.home_news_list_item_link .news_txtArea .news_meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea .news_meta {
    gap: 0.8571428571vw;
    margin-bottom: 1.1428571429vw
  }
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea .news_meta .date {
    font-size: 0.8571428571vw
  }
}

.home_news_list_item_link .news_txtArea .news_meta .category {
  color: #fff;
  font-weight: 500;
  line-height: 1;
  background-color: #111111;
  padding: 2px 8px
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea .news_meta .category {
    font-size: 1.1428571429vw;
    padding: 0.3114285714vw 0.8571428571vw 0.398571429vw;
  }
}

.home_news_list_item_link .news_txtArea .news_ttl {
  font-weight: 500;
  line-height: 1.5;
  min-height: calc(1.5em * 2);
  display: flex;
  align-items: center;
  font-size: 14px
}

@media (min-width:920px) {
  .home_news_list_item_link .news_txtArea .news_ttl {
    font-size: 1.1428571429vw
  }
}

.home_news_list_item_link .news_txtArea .news_ttl_inr {
  font-size: inherit;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis
}

.home_recruit_link {
  padding: 80px 0 80px;
  position: relative;
  display: block;
  overflow: hidden;
  background: none
}

.home_recruit_link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(../img/home/recruit_bg_sp.png);
  background-image: image-set(url(../img/home/recruit_bg_sp.png) 1x, url(../img/home/recruit_bg_sp@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/home/recruit_bg_sp.png) 1x, url(../img/home/recruit_bg_sp@2x.png) 2x);
  transform: scale(1);
  transition: transform 0.3s ease;
  will-change: transform
}

.home_recruit_link>* {
  position: relative;
  z-index: 1
}

@media (min-width:920px) {
  .home_recruit_link {
    padding: 13.2142857143vw 0 7.1428571429vw
  }

  .home_recruit_link::before {
    background-image: url(../img/home/recruit_bg.png);
    background-image: image-set(url(../img/home/recruit_bg.png) 1x, url(../img/home/recruit_bg@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/home/recruit_bg.png) 1x, url(../img/home/recruit_bg@2x.png) 2x)
  }
}

@media (min-width:920px) {
  .home_recruit_link:hover::before {
    transform: scale(1.05)
  }
}

@media (min-width:920px) {
  .home_recruit_link:hover .btn {
    background-color: #186FAE
  }
}

@media (min-width:920px) {
  .home_recruit_link:hover .btn_txt {
    color: #fff
  }
}

@media (min-width:920px) {
  .home_recruit_link:hover .btn_arrow::after {
    background-color: #fff
  }
}

.home_recruit_catch {
  font-weight: 900;
  color: #fff;
  line-height: 1.5;
  position: relative;
  font-size: 24px;
  margin-bottom: 20px
}

@media (min-width:920px) {
  .home_recruit_catch {
    font-size: 4vw;
    margin-bottom: 1.4285714286vw
  }
}

.home_recruit_catch::before {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  left: -6px;
  background-image: url("../img/home/ttl_start.svg");
  -webkit-background-repeat: no-repeat;
  background-repeat: no-repeat;
  -webkit-background-position: center;
  background-position: center;
  -webkit-background-size: contain;
  background-size: contain;
  width: 21px;
  height: 15px;
  z-index: -1
}

@media (min-width:920px) {
  .home_recruit_catch::before {
    width: 2.7857142857vw;
    height: 2vw;
    top: -20px;
    left: -10px
  }
}

.home_recruit_catch .txt_end {
  position: relative
}

@media (min-width:920px) {
  .home_recruit_catch .txt_end {
    padding-right: 2.7142857143vw
  }
}

.home_recruit_catch .txt_end::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -4px;
  right: -20px;
  background-image: url("../img/home/ttl_end.svg");
  -webkit-background-repeat: no-repeat;
  background-repeat: no-repeat;
  -webkit-background-position: center;
  background-position: center;
  -webkit-background-size: contain;
  background-size: contain;
  width: 21px;
  height: 15px
}

@media (min-width:920px) {
  .home_recruit_catch .txt_end::before {
    width: 2.7142857143vw;
    height: 1.9285714286vw;
    bottom: 0;
    right: 0
  }
}

.home_recruit_txt {
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.75
}

@media (min-width:920px) {
  .home_recruit_txt {
    width: 34.2857142857vw;
    margin-bottom: 2.2857142857vw;
    font-size: 1.1428571429vw
  }
}

.js_from_lb,
.js_from_rb,
.js_from_lt,
.js_from_rt {
  --from-x: 0;
  --from-y: 0;
  --travel: 1200;
  --tx: 0px;
  --ty: 0px;
  transform: translate3d(var(--tx), var(--ty), 0);
  will-change: transform;
  backface-visibility: hidden;
  transform-style: preserve-3d
}

.js_from_lb {
  --from-x: -50;
  --from-y: 8;
  --travel: 1200
}

.js_from_rb {
  --from-x: 50;
  --from-y: 8;
  --travel: 1500
}

.js_from_lt {
  --from-x: -50;
  --from-y: -8;
  --travel: 1200
}

.js_from_rt {
  --from-x: 50;
  --from-y: -8;
  --travel: 1500
}