@charset "UTF-8";
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/**
 * Layout
 */
.l-container.-wester-portal {
  overflow-x: unset;
}

.c-wester-app.-bg-blue,
.c-banner-block,
.l-footer {
  position: relative;
  z-index: 1;
}

.l-footer {
  background-color: #fff;
}

.ly_cont {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  z-index: 1;
}
@media screen and (max-width: 1050px) {
  .ly_cont {
    justify-content: center;
  }
}
.ly_cont_main {
  background-color: #fff;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.25);
  overflow: hidden;
  z-index: 1;
}
@media not all and (max-width: 1050px), print {
  .ly_cont_main {
    order: 2;
    width: 450px;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_main {
    width: 450px;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_main {
    width: 100%;
  }
}
@media not all and (max-width: 1050px), print {
  .ly_cont_sub {
    position: sticky;
    top: 180px;
    display: grid;
    align-content: center;
    width: calc((100% - 450px) / 2);
    min-height: calc(100vh - 180px);
  }
}
@media not all and (max-width: 1050px), print {
  .ly_cont_sub__left {
    order: 1;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_sub__left {
    display: none !important;
  }
}
@media not all and (max-width: 1050px), print {
  .ly_cont_sub__right {
    order: 3;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_sub__right {
    display: none !important;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_sub__right {
    position: fixed;
    bottom: 0;
    display: block !important;
    width: 100%;
    z-index: 1000;
  }
}
@media not all and (max-width: 1050px), print {
  .ly_cont_bottom {
    display: none !important;
  }
}
@media screen and (max-width: 1050px) {
  .ly_cont_bottom {
    position: fixed;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    width: 100%;
    max-width: calc(100% - 34px);
    margin-inline: auto;
    z-index: 10;
  }
}

@media not all and (max-width: 1360px), print {
  .left {
    padding-bottom: 52px;
  }
}
.left_balloon {
  display: flex;
  justify-content: center;
}
@media not all and (max-width: 1360px), print {
  .left_balloon {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 1360px) {
  .left_balloon {
    margin-bottom: 30px;
  }
}
.left_balloon .body {
  position: relative;
  border-radius: 16px 16px 16px 0;
  background-color: #fff;
  color: #00499F;
  font-weight: 700;
}
@media not all and (max-width: 1360px), print {
  .left_balloon .body {
    padding: 20px 29px;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 1360px) {
  .left_balloon .body {
    padding: 12px 26px;
    font-size: 1.6rem;
  }
}
.left_balloon .inner {
  display: block;
  text-align: center;
  line-height: 1.5;
}
.left_balloon img {
  margin-right: 4px;
  vertical-align: sub;
}
@media not all and (max-width: 1360px), print {
  .left_balloon img {
    max-width: 140px;
  }
}
@media screen and (max-width: 1360px) {
  .left_balloon img {
    max-width: 110px;
    margin-bottom: -1px;
  }
}
.left_cases {
  display: grid;
  width: 100%;
  margin-inline: auto;
}
@media not all and (max-width: 1360px), print {
  .left_cases {
    max-width: 423px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases {
    max-width: 253px;
  }
}
.left_cases > li:nth-child(1) a {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.left_cases > li:nth-child(1) a:before {
  aspect-ratio: 96/64;
  background-image: url(/assets/img//j-west/j-west_wesmo/icon_balloon_01.webp);
}
@media not all and (max-width: 1360px), print {
  .left_cases > li:nth-child(1) a:before {
    top: -40px;
    right: -4px;
    width: 96px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases > li:nth-child(1) a:before {
    top: -24px;
    right: -4px;
    width: 70px;
  }
}
.left_cases > li:nth-child(1) a:after {
  content: "";
  position: absolute;
  aspect-ratio: 60/46;
  background-image: url(/assets/img//j-west/j-west_wesmo/icon_balloon_02.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media not all and (max-width: 1360px), print {
  .left_cases > li:nth-child(1) a:after {
    bottom: -20px;
    left: 0px;
    width: 50px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases > li:nth-child(1) a:after {
    bottom: -14px;
    left: -10px;
    width: 40px;
  }
}
.left_cases > li:nth-child(2) a {
  border-bottom: 1px solid #fff;
}
.left_cases > li:nth-child(2) a:before {
  aspect-ratio: 107/54;
  background-image: url(/assets/img//j-west/j-west_wesmo/icon_balloon_03.webp);
}
@media not all and (max-width: 1360px), print {
  .left_cases > li:nth-child(2) a:before {
    top: -10px;
    right: 10px;
    width: 107px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases > li:nth-child(2) a:before {
    top: -20px;
    right: -10px;
    width: 80px;
  }
}
.left_cases a {
  position: relative;
  padding: 20px 40px 20px 0;
  color: #00499F;
  transition: opacity 0.3s ease-in-out;
}
@media not all and (max-width: 1360px), print {
  .left_cases a {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases a {
    display: block;
  }
}
.left_cases a:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .left_cases a:hover {
    opacity: 0.6;
  }
}
.left_cases a:before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.left_cases .thumb {
  flex-shrink: 0;
  border: 1px solid #fff;
  overflow: hidden;
}
@media not all and (max-width: 1360px), print {
  .left_cases .thumb {
    width: 120px;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases .thumb {
    width: 120px;
  }
}
.left_cases .thumb img {
  width: 100%;
  aspect-ratio: 120/78;
  -o-object-fit: cover;
  object-fit: cover;
}
@media not all and (max-width: 1360px), print {
  .left_cases .body {
    flex-grow: 1;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases .body {
    display: contents;
  }
}
.left_cases .case {
  display: block;
  margin-bottom: 2px;
  color: #fff;
  line-height: 1;
  font-weight: 600;
}
@media not all and (max-width: 1360px), print {
  .left_cases .case {
    font-size: 2rem;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases .case {
    position: absolute;
    top: 50px;
    left: 138px;
    font-size: 1.8rem;
  }
}
.left_cases .txt {
  color: #fff;
  line-height: 1.6;
  font-weight: 700;
}
@media not all and (max-width: 1360px), print {
  .left_cases .txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases .txt {
    margin-top: 6px;
    font-size: 1.6rem;
  }
}
@media not all and (max-width: 1360px), print {
  .left_cases .txt small {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1360px) {
  .left_cases .txt small {
    font-size: 1.3rem;
  }
}
.left_cases .txt .em {
  padding: 0px 3px 1px;
  background-color: #fff;
  color: #00499F;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.left_cases .icon {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  display: block;
  width: 35px;
  aspect-ratio: 35/20;
  border-radius: 4px;
  background-color: #00BEEB;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.left_cases .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 90deg;
  width: 10px;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease-in-out;
}

.right {
  padding-top: 22px;
}
.right_list {
  width: 100%;
  margin-inline: auto;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0 10px 0 rgba(0, 73, 159, 0.2);
}
@media not all and (max-width: 1360px), print {
  .right_list {
    max-width: 347px;
    padding: 13px 25px;
  }
}
@media screen and (max-width: 1360px) {
  .right_list {
    max-width: 270px;
    padding: 13px 15px;
  }
}
@media screen and (max-width: 1050px) {
  .right_list {
    display: none !important;
  }
}
.right_list > li:not(:last-child) {
  border-bottom: 1px solid #D9D9D9;
}
.right_list a {
  position: relative;
  display: block;
  color: #00499F;
  font-weight: 600;
  line-height: 1.4;
  transition: color 0.3s ease-in-out;
}
@media not all and (max-width: 1360px), print {
  .right_list a {
    padding: 17px 50px 17px 0;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1360px) {
  .right_list a {
    padding: 17px 40px 17px 0;
    font-size: 1.4rem;
  }
}
.right_list a:focus-visible {
  color: #00BEEB;
}
.right_list a:focus-visible .icon {
  border-color: #00BEEB;
  background-color: #00BEEB;
}
.right_list a:focus-visible .icon:before {
  background-color: #fff;
}
@media (any-hover: hover) {
  .right_list a:hover {
    color: #00BEEB;
  }
  .right_list a:hover .icon {
    border-color: #00BEEB;
    background-color: #00BEEB;
  }
  .right_list a:hover .icon:before {
    background-color: #fff;
  }
}
.right_list a .icon {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  display: block;
  width: 35px;
  aspect-ratio: 35/20;
  border-radius: 4px;
  background-color: #0074C1;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.right_list a .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 90deg;
  width: 10px;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease-in-out;
}
.right_qr {
  margin-inline: auto;
  overflow: hidden;
}
@media not all and (max-width: 1050px), print {
  .right_qr {
    width: 100%;
    margin-top: 32px;
  }
}
@media not all and (max-width: 1360px), print {
  .right_qr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    max-width: 347px;
  }
}
@media screen and (max-width: 1360px) {
  .right_qr {
    max-width: 270px;
    text-align: center;
  }
}
@media screen and (max-width: 1050px) {
  .right_qr {
    display: none !important;
  }
}
.right_qr .card {
  width: 100%;
  margin-right: 4px;
  vertical-align: baseline;
}
@media not all and (max-width: 1360px), print {
  .right_qr .card {
    max-width: 156px;
  }
}
@media screen and (max-width: 1360px) {
  .right_qr .card {
    max-width: 130px;
  }
}
.right_qr .txt {
  color: #00499F;
  font-weight: 700;
  line-height: 1.6;
}
@media not all and (max-width: 1360px), print {
  .right_qr .txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1360px) {
  .right_qr .txt {
    font-size: 1.6rem;
  }
}
.right_qr .qr {
  background-color: #fff;
}
@media not all and (max-width: 1360px), print {
  .right_qr .qr {
    width: 145px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 1360px) {
  .right_qr .qr {
    width: 50%;
    margin-inline: auto;
    margin-top: 10px;
  }
}
.right_qr .qr > div {
  display: flex;
  width: 100%;
  padding: 6px;
  height: auto;
}
.right_qr .qr > div canvas {
  width: 100%;
  height: auto;
}

/**
 * Page
 */
:lang(en) {
  font-family: "Inter", sans-serif;
}

.en {
  font-family: "Blinker", sans-serif;
}

.js_target {
  opacity: 0;
  translate: 0 16px;
  transition-property: opacity, translate;
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
  transition-delay: 0.2s;
}
.js_target.js_pop {
  opacity: 0;
  translate: 0 0;
  scale: 0.8;
  transition-property: opacity, scale;
  transition-delay: 0.3s;
}
.js_target.is_visible {
  opacity: 1;
  translate: 0 0;
}
.js_target.is_pop {
  opacity: 1;
  scale: 1;
}

.page {
  position: relative;
}
@media not all and (max-width: 1050px), print {
  .page:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(180deg, #004EC3 0%, #1771D0 47.6%, #46A4FB 100%);
    z-index: 0;
  }
  .page:after {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(344deg, #ABDBFD 0.34%, #CFEBFE 52.39%, #F0FAFF 99.66%);
    z-index: 0;
  }
  .page_inner {
    position: relative;
  }
  .page_inner:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-image: url(/assets/img/j-west/j-west_wesmo/dot.webp);
    background-repeat: repeat;
    background-size: 16px;
    z-index: 0;
  }
}

.fvSlider {
  background-color: #fff;
}
.fvSlider .splide__slide img {
  width: 100%;
  height: auto;
}
.fvSlider .splide__pagination {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 8px;
}
.fvSlider .splide__pagination__page {
  position: relative;
  display: block;
  width: 9px;
  height: auto;
  aspect-ratio: 1;
  background-color: #93C6EA;
}
.fvSlider .splide__pagination__page.is-active:before {
  opacity: 1;
}
.fvSlider .splide__pagination__page:before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #00499F;
  opacity: 0;
}

.anchor {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 15px 20px;
  margin-top: 10px;
  background: linear-gradient(90deg, #00BEEB -0.01%, #0074C1 50%, #00499F 100.01%);
  backdrop-filter: blur(37px);
}
.anchor > li {
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 73, 159, 0.2);
  overflow: hidden;
}
.anchor a {
  position: relative;
  display: grid;
  align-content: center;
  height: 100%;
  padding: 10px 37px 9px 15px;
  background-color: #fff;
  color: #00499F;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.4;
  transition: color 0.3s ease-in-out;
}
.anchor a:focus-visible {
  color: #00BEEB;
}
.anchor a:focus-visible .icon {
  background-color: #00BEEB;
}
@media (any-hover: hover) {
  .anchor a:hover {
    color: #00BEEB;
  }
  .anchor a:hover .icon {
    background-color: #00BEEB;
  }
}
.anchor a .case {
  display: block;
  color: #00499F;
  font-size: 1.2rem;
}
.anchor a .c {
  background: linear-gradient(90deg, #00BEEB -0.01%, #0074C1 50%, #00499F 100.01%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.anchor a .txt {
  display: block;
}
.anchor a .icon {
  position: absolute;
  top: 50%;
  right: 10px;
  translate: 0 -50%;
  display: block;
  width: 22px;
  aspect-ratio: 22/15;
  border-radius: 2px;
  background-color: #0074C1;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.anchor a .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 90deg;
  width: 8px;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease-in-out;
}

.copy {
  padding-block: 50px 100px;
  padding-inline: 20px;
  background-image: url(/assets/img/j-west/j-west_wesmo/copy_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.copy_copy {
  text-align: center;
}
.copy_copy .txt {
  color: #00499F;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}
.copy_copy .em {
  background: var(--wesmo-color-grad-wesmo, linear-gradient(90deg, #00BEEB -0.01%, #0074C1 50%, #00499F 100.01%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
}
.copy_copy img {
  translate: 0 1px;
  width: 100%;
  max-width: 160px;
  height: auto;
  margin-right: 4px;
  vertical-align: baseline;
}
.copy_ttl {
  text-align: center;
  margin-top: 12px;
}
.copy_ttl img {
  width: 100%;
  max-width: 254px;
  height: auto;
}
.copy_body {
  padding: 30px 20px;
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 0 24px 0 rgba(0, 73, 159, 0.4);
}
.copy_banner img {
  width: 100%;
  height: auto;
}

.goldBanner img {
  width: 100%;
  height: auto;
}
.goldBanner .caption {
  position: relative;
  margin-top: 10px;
  color: #132A5C;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
.goldBanner .caption:before {
  content: "※";
  display: inline-block;
}
.goldBanner .caption + .caption {
  margin-top: 4px;
}

.downloadBtn {
  width: 100%;
  margin-top: 24px;
  margin-inline: auto;
}
.downloadBtn a {
  position: relative;
  display: block;
  padding: 5px;
  border-radius: 80px;
  box-shadow: 0 0 10px 0 rgba(0, 73, 159, 0.4);
  transition: opacity 0.3s ease-in-out;
}
.downloadBtn a:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .downloadBtn a:hover {
    opacity: 0.6;
  }
}
.downloadBtn a:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 80px;
  background: linear-gradient(90deg, #00BEEB -0.01%, #0074C1 50%, #00499F 100.01%);
  z-index: 0;
}
.downloadBtn a .inner {
  position: relative;
  display: block;
  padding: 11px 50px;
  border-radius: 80px;
  text-align: center;
  background-color: #fff;
  color: #00499F;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  z-index: 1;
}
.downloadBtn a img {
  width: 100%;
  max-width: 133px;
  height: auto;
  vertical-align: sub;
  margin-right: 4px;
}
.downloadBtn a .icon {
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 0 -50%;
  width: 26px;
  aspect-ratio: 1;
  background-color: #00499F;
  -webkit-mask-image: url(/assets/img/j-west/j-west_wesmo/icon_arw.svg);
  mask-image: url(/assets/img/j-west/j-west_wesmo/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 2;
}

.sub {
  position: relative;
  z-index: 2;
}
.sub .inner {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(100% - 68px);
  padding: 25px 40px;
  margin-inline: auto;
  margin-bottom: -50px;
  text-align: center;
  background-color: #fff;
  border-radius: 20px 20px 20px 0;
  color: #00499F;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.4;
  box-shadow: 0 0 24px 0 rgba(0, 73, 159, 0.4);
}
.sub img {
  vertical-align: baseline;
  translate: -3px 3px;
}

.cases {
  position: relative;
  display: grid;
  gap: 100px;
  padding: 120px 20px 80px;
  background: linear-gradient(180deg, #004EC3 0%, #1771D0 47.6%, #46A4FB 100%);
}
.cases:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/assets/img/j-west/j-west_wesmo/dot.webp);
  background-repeat: repeat;
  background-size: 16px;
}

.case_head {
  position: relative;
}
.case_deco01 {
  position: absolute;
  top: 20px;
  right: -5px;
  width: 150px;
  z-index: 2;
}
@media screen and (max-width: 450px) {
  .case_deco01 {
    top: 20px;
    width: 110px;
  }
}
.case_deco01 img {
  width: 100%;
  height: auto;
}
.case_deco02 {
  position: absolute;
  top: -70px;
  right: -14px;
  width: 150px;
  z-index: 2;
}
@media screen and (max-width: 450px) {
  .case_deco02 {
    top: -50px;
    width: 100px;
  }
}
.case_deco02 img {
  width: 100%;
  height: auto;
}
.case_case {
  position: relative;
  z-index: 0;
}
.case_case .inner {
  position: absolute;
  bottom: -50px;
  right: -20px;
  font-weight: 600;
  font-size: 10rem;
  line-height: 1.4;
  opacity: 0.4;
  background: linear-gradient(90deg, #FFF 0.09%, #0093FF 99.91%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.case_ttl {
  position: relative;
  margin-bottom: 20px;
  z-index: 1;
}
.case_ttl .txt {
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.02em;
  font-weight: 700;
}
.case_ttl .sd {
  font-size: 3rem;
}
@media screen and (max-width: 450px) {
  .case_ttl .sd {
    font-size: 2.4rem;
  }
}
.case_ttl small {
  font-size: 2.4rem;
}
@media screen and (max-width: 450px) {
  .case_ttl small {
    font-size: 2rem;
  }
}
.case_ttl .em {
  padding: 0 0 1px 4px;
  background-color: #fff;
  color: #00499F;
  font-size: 3rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media screen and (max-width: 450px) {
  .case_ttl .em {
    font-size: 2.4rem;
  }
}
.case_ttl .ml6 {
  margin-left: 3px;
}
.case_ttl .mr6 {
  margin-right: 3px;
}
.case_body {
  display: grid;
  gap: 10px;
}
.case_body img {
  width: 100%;
  height: auto;
}

.campaign {
  padding-block: 70px;
  background: linear-gradient(162deg, #F4F4F4 0.11%, #D4D4D4 99.89%);
}
.campaign_ttl {
  position: relative;
  width: calc(100% - 30px);
  margin-inline: auto;
  margin-bottom: 24px;
  text-align: center;
  color: #00499F;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.campaign_ttl .inner {
  position: relative;
  z-index: 1;
}
.campaign_ttl .en {
  position: absolute;
  top: 8px;
  left: 50%;
  translate: -50% 0;
  color: transparent;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: var(--color_white, #FFF);
  font-size: 10rem;
  font-weight: 600;
  line-height: 1.4;
  z-index: 0;
}
.campaign_body {
  width: calc(100% - 30px);
  margin-inline: auto;
  padding: 30px 20px;
  background-color: #fff;
  box-shadow: 0 0 24px 0 rgba(2, 100, 216, 0.2);
}
.campaign_banners {
  display: grid;
  gap: 10px;
}
.campaign_banner a {
  display: block;
  transition: opacity 0.3s ease-in-out;
}
.campaign_banner a:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .campaign_banner a:hover {
    opacity: 0.6;
  }
}
.campaign_banner img {
  width: 100%;
  height: auto;
}

.links {
  margin-top: 5px;
}
.links > li a {
  position: relative;
  display: block;
  padding-block: 20px;
  padding-right: 58px;
  border-bottom: 1px solid #D9D9D9;
  color: #00499F;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  transition: color 0.3s ease-in-out;
}
.links > li a:focus-visible {
  color: #00BEEB;
}
.links > li a:focus-visible .icon {
  background-color: #00BEEB;
}
@media (any-hover: hover) {
  .links > li a:hover {
    color: #00BEEB;
  }
  .links > li a:hover .icon {
    background-color: #00BEEB;
  }
}
.links > li a .icon {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  display: block;
  width: 45px;
  aspect-ratio: 45/30;
  border-radius: 4px;
  background-color: #0074C1;
  transition-property: background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.links > li a .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 17px;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  mask-image: url(/assets/img/j-west/icoca_j-west/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  transition: background-color 0.3s ease-in-out;
}

.bottom {
  border-radius: 10px 10px 0 0;
  background: linear-gradient(90deg, #00BEEB -0.01%, #0074C1 50%, #00499F 100.01%);
  box-shadow: 0 0 10px 0 rgba(0, 73, 159, 0.4);
}
.bottom .inner {
  position: relative;
  display: block;
  padding: 25px 52px 25px 32px;
  text-align: center;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 450px) {
  .bottom .inner {
    padding: 18px 52px 18px 20px;
  }
}
.bottom .inner:focus-visible {
  opacity: 0.6;
}
@media (any-hover: hover) {
  .bottom .inner:hover {
    opacity: 0.6;
  }
}
.bottom .inner img {
  width: 100%;
  max-width: 148px;
  height: auto;
  vertical-align: -6px;
  margin-right: 4px;
}
@media screen and (max-width: 450px) {
  .bottom .inner img {
    max-width: 100px;
    vertical-align: -3px;
  }
}
.bottom .inner .txt {
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4;
}
@media screen and (max-width: 450px) {
  .bottom .inner .txt {
    font-size: 1.4rem;
  }
}
.bottom .icon {
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  width: 20px;
  aspect-ratio: 1;
  background-color: #fff;
  -webkit-mask-image: url(/assets/img/j-west/j-west_wesmo/icon_arw.svg);
  mask-image: url(/assets/img/j-west/j-west_wesmo/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  z-index: 2;
}

.l-container {
  padding-inline: 0;
  padding-bottom: 0;
}

.l-footer__inner {
  padding-top: 42px;
}

@media screen and (max-width: 800px) {
  .l-footer__inner {
    padding-top: 50px;
  }
}
.c-column.-four {
  gap: 0;
}

.l-jwest-nav,
.l-jwest-footer {
  display: none;
}

/**
 * Helper
 */
@media screen and (max-width: 1050px) {
  .hp_pcOnly {
    display: none !important;
  }
}

@media not all and (max-width: 1050px), print {
  .hp_spOnly {
    display: none !important;
  }
}

@media not all and (max-width: 450px), print {
  .hp_450Only {
    display: none !important;
  }
}

.hp_srOnly {
  position: absolute !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}