@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.8s ease 0.1s;
}

input,
textarea,
select,
button {
  font-family: inherit;
}

input,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

html {
  font-size: 16px;
}

body {
  color: #000;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  animation: body-fade-in 0.4s ease-in both;
  opacity: 0;
}

@keyframes body-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body.disable-scroll {
  overflow: hidden;
}

:where(img:not(.post-body img)),
svg {
  width: 100%;
  height: auto;
}

@media (min-width: 960px) {
  a:hover {
    opacity: 0.6;
    cursor: pointer;
  }
}

strong {
  font-weight: 900;
}

b {
  font-weight: 700;
}

section {
  overflow: hidden;
}

.u-hidden {
  display: none !important;
}

.u-color-invert {
  filter: brightness(0) invert(1) !important;
}

.u-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

.u-link-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.u-visible-hidden {
  opacity: 0;
  visibility: hidden;
}

.u-sp-only {
  display: block !important;
}
@media (min-width: 960px) {
  .u-sp-only {
    display: none !important;
  }
}

@media (max-width: 959px) {
  .u-sp-only.inline {
    display: inline-block !important;
  }
}

.u-pc-only {
  display: none !important;
}
@media (min-width: 960px) {
  .u-pc-only {
    display: block !important;
  }
}

@media (min-width: 960px) {
  .u-pc-only.inline {
    display: inline-block !important;
  }
}

.u-m-0 {
  margin: 0 !important;
}

@media (min-width: 960px) {
  .u-m-0-pc {
    margin: 0 !important;
  }
}

.u-p-0 {
  padding: 0 !important;
}

@media (max-width: 959px) {
  .u-p-0-sp {
    padding: 0 !important;
  }
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-anchor-offset {
  display: block;
  padding-top: 60px;
  margin-top: -60px;
}
@media (min-width: 960px) {
  .u-anchor-offset {
    padding-top: 170px;
    margin-top: -170px;
  }
}

.u-scroll-disabled {
  overflow: hidden;
}

.inner {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  max-width: 600px;
}
@media (min-width: 960px) {
  .inner {
    max-width: min(100vw, 1280px);
    padding: 0 min(5vw, 64px);
  }
}

.heading__sub {
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .heading__sub {
    font-size: min(1.5625vw, 20px);
  }
}

.heading__sub:empty {
  display: none;
}

.heading__sub:empty + .heading__title {
  margin-top: 0;
}

.heading__title {
  margin-top: 16px;
  font-size: 28px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .heading__title {
    margin-top: min(1.171875vw, 15px);
    font-size: min(3.28125vw, 42px);
    white-space: nowrap;
  }
}

.heading__title .is-accent {
  color: #094A95;
}

.heading__title .is-accent2 {
  color: #4DD2FF;
}

.heading__title .is-accent3 {
  color: #00a3dc;
}

.heading--center .heading__sub {
  justify-content: center;
}

.heading--center .heading__title {
  text-align: center;
}

.heading--white .heading__sub,
.heading--white .heading__title {
  color: #fff;
}

.heading--lead .heading__title {
  font-size: 28px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .heading--lead .heading__title {
    font-size: min(3.28125vw, 42px);
    line-height: 1.5;
  }
}

.heading--lead.heading--white .heading__title {
  color: #fff;
}

.heading--sm .heading__title {
  margin-top: 14px;
  font-size: 22px;
}
@media (min-width: 960px) {
  .heading--sm .heading__title {
    margin-top: min(1.5625vw, 20px);
    font-size: min(2.5vw, 32px);
  }
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 50px;
  border: 1.5px solid transparent;
  padding: 0ch 28px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  min-width: 254px;
}
@media (max-width: 959px) {
  .btn {
    min-height: 60px;
  }
}
@media (min-width: 960px) {
  .btn {
    gap: min(0.9375vw, 12px);
    border-radius: min(3.90625vw, 50px);
    padding: min(2.34375vw, 30px) min(2.5vw, 32px);
    font-size: min(1.40625vw, 18px);
    min-width: min(31.25vw, 400px);
  }
}

.btn__arrow {
  position: relative;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;
}
.btn__arrow::before, .btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .btn__arrow::before, .btn__arrow::after {
    left: 53%;
  }
}
.btn__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.btn__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.btn__arrow {
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  background: #fff;
}
@media (min-width: 960px) {
  .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
    border-radius: 50%;
    overflow: hidden;
  }
  .btn__arrow::before, .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.625vw, 8px);
    height: min(0.625vw, 8px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .btn__arrow {
    right: min(1.40625vw, 18px);
    background: #fff;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .btn__arrow::before, .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}
.btn__arrow {
  position: absolute;
}

.btn--blue {
  background: #054994;
  border-color: #054994;
  color: #fff;
}

.btn--blue .btn__arrow {
  color: #054994;
}

.btn--cyan {
  background: #00a3dc;
  border-color: #00a3dc;
  color: #fff;
}

.btn--cyan .btn__arrow {
  color: #00a3dc;
}

.btn--white {
  background: #fff;
  border: 1px solid #fff;
  color: #094A95;
}

.btn--white .btn__arrow {
  background: #094A95;
  color: #fff;
}

input[type=submit].btn--blue {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23fff'/%3E%3Cpath d='M16 14.5l5.5 5.5-5.5 5.5' fill='none' stroke='%23054994' stroke-width='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 26px 26px;
}
@media (min-width: 960px) {
  input[type=submit].btn--blue {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23fff'/%3E%3Cpath d='M16 14.5l5.5 5.5-5.5 5.5' fill='none' stroke='%23054994' stroke-width='2'/%3E%3C/svg%3E");
    background-position: right min(1.40625vw, 18px) center;
    background-size: min(3.125vw, 40px) min(3.125vw, 40px);
  }
}

@media (hover: hover) {
  .btn:hover {
    opacity: 1;
  }
  .btn--blue:hover,
  .btn--cyan:hover {
    background: #fff;
    border-color: #094A95;
    color: #094A95;
  }
  .btn--blue:hover .btn__arrow,
  .btn--cyan:hover .btn__arrow {
    background: #094A95;
    color: #fff;
  }
  .btn--white:hover {
    background: #054994;
    border-color: #fff;
    color: #fff;
  }
  .btn--white:hover .btn__arrow {
    background: #fff;
    color: #054994;
  }
  .btn:hover .btn__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .btn:hover .btn__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  input[type=submit].btn--blue:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23094A95'/%3E%3Cpath d='M16 14.5l5.5 5.5-5.5 5.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E");
  }
}
@media (hover: hover) and (min-width: 960px) {
  input[type=submit].btn--blue:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%23094A95'/%3E%3Cpath d='M16 14.5l5.5 5.5-5.5 5.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
  }
}
form.submitting input[type=submit].btn,
input[type=submit].btn.is-submitting {
  pointer-events: none;
  opacity: 0.7;
  color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' stroke='white' stroke-width='3' fill='none' stroke-dasharray='31.4 31.4' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px 28px;
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  background: #fff;
}

.header__inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 80px;
  padding: 10px 20px;
}
@media (min-width: 960px) {
  .header__inner {
    height: min(6.25vw, 80px);
    min-height: 0;
    padding: 0 min(3.125vw, 40px);
  }
}

.header__brand {
  flex-shrink: 0;
  margin-right: auto;
}

.header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
@media (max-width: 959px) {
  .header__logo {
    align-items: flex-start;
  }
}
@media (min-width: 960px) {
  .header__logo {
    gap: min(1.09375vw, 14px);
  }
}

.header__logo-mark {
  flex-shrink: 0;
  width: 32px;
  height: auto;
}
@media (max-width: 959px) {
  .header__logo-mark {
    margin-top: -4px;
  }
}
@media (min-width: 960px) {
  .header__logo-mark {
    width: min(3.28125vw, 42px);
  }
}

.header__logo-body {
  display: flex;
  flex-direction: column;
}
@media (max-width: 959px) {
  .header__logo-body {
    gap: 8px;
  }
}
@media (min-width: 960px) {
  .header__logo-body {
    gap: min(0.390625vw, 5px);
  }
}

.header__logo-text {
  width: 124px;
  height: auto;
}
@media (min-width: 960px) {
  .header__logo-text {
    width: min(12.5vw, 160px);
  }
}

.header__logo-tagline {
  font-size: 11px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .header__logo-tagline {
    font-size: min(0.859375vw, 11px);
    white-space: nowrap;
  }
}

.header__nav {
  display: none;
}
@media (min-width: 960px) {
  .header__nav {
    display: flex;
    align-items: center;
    align-self: stretch;
    margin-right: min(2.5vw, 32px);
  }
}

.header__menu {
  display: flex;
  align-items: stretch;
  gap: min(1.953125vw, 25px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.header__menu-item {
  display: flex;
  align-items: center;
}

.header__menu-link {
  position: relative;
  display: block;
  text-decoration: none;
  white-space: nowrap;
  font-size: min(1.09375vw, 14px);
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.5;
  padding: min(0.625vw, 8px) 0;
}
.header__menu-link::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 0;
  height: 1.5px;
  background: currentcolor;
  transition: width 0.3s ease;
}

@media (hover: hover) {
  .header__menu-item:hover .header__menu-link {
    opacity: 1;
  }
  .header__menu-item:hover .header__menu-link::after {
    width: 100%;
  }
  .header__cta .btn--blue:hover {
    border-color: #054994;
  }
}
.header__cta {
  display: none;
}
@media (min-width: 960px) {
  .header__cta {
    display: flex;
    align-items: center;
    gap: min(0.78125vw, 10px);
    flex-shrink: 0;
  }
}

.header__cta .btn {
  width: min(10.15625vw, 130px);
  height: min(3.125vw, 40px);
  padding: 0 min(1.25vw, 16px);
  font-size: clamp(min(0.9375vw, 12px), 0.9375vw, 13px);
  min-width: auto;
}

.header__cta .btn--blue {
  border-color: #fff;
}

.header__hamburger {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 30px;
  background-color: #00a3dc;
  border: none;
  border-radius: 15px;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 9999;
}
@media (min-width: 960px) {
  .header__hamburger {
    display: none;
  }
}

.hamburger__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20px;
  height: 10px;
  position: relative;
  pointer-events: none;
}

.hamburger__line {
  position: relative;
  width: 100%;
  pointer-events: none;
}

.hamburger__line span {
  display: block;
  position: absolute;
  left: 0;
  width: 20px;
  height: 1px;
  background-color: #fff;
  transition: background-color 0.4s;
}

.hamburger__line span:nth-child(1) {
  top: 0;
}

.hamburger__line span:nth-child(2) {
  top: 8px;
}

.header.is-open .header__hamburger {
  background-color: #094A95;
}

.header__submenu {
  display: none;
}
@media (min-width: 960px) {
  .header__submenu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #fff;
    border-top: 2px solid #e2e2e2;
    padding: min(2.890625vw, 37px) 0 min(3.046875vw, 39px);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 100;
  }
}

@media (min-width: 960px) {
  .header__submenu::before {
    content: "";
    position: absolute;
    top: 0;
    right: min(50.4921875vw, 646.3px);
    width: min(0.78125vw, 10px);
    height: min(0.78125vw, 10px);
    transform: translate(50%, -50%) rotate(45deg) skew(12deg, 12deg);
    background-color: #fff;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
  }
}

@media (min-width: 960px) {
  .header__submenu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.2);
    pointer-events: none;
  }
}

@media (min-width: 960px) {
  .header__submenu__inner {
    width: min(79.6875vw, 1020px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(3.59375vw, 46px) min(2.34375vw, 30px);
  }
}

@media (min-width: 960px) {
  .header__submenu__title {
    font-size: min(1.40625vw, 18px);
    font-weight: 500;
    color: #888;
    text-align: left;
    font-feature-settings: "palt";
    position: relative;
    line-height: 1;
    padding-bottom: min(1.25vw, 16px);
    border-bottom: 1px solid #eee;
  }
}

@media (min-width: 960px) {
  .header__submenu__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: min(2.34375vw, 30px);
    height: 1px;
    background-color: #094A95;
  }
}

@media (min-width: 960px) {
  .header__submenu__items {
    list-style: none;
    margin: min(1.171875vw, 15px) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: min(0.703125vw, 9px);
  }
}

@media (min-width: 960px) {
  .header__submenu__item {
    display: flex;
  }
}

@media (min-width: 960px) {
  .header__submenu__link {
    font-size: min(1.171875vw, 15px);
    font-weight: 700;
    color: #094A95;
    text-align: left;
    display: inline-flex;
    align-items: center;
    gap: min(0.46875vw, 6px);
    text-decoration: none;
    font-feature-settings: "palt";
    line-height: 1.5;
    white-space: nowrap;
    transition: color 0.2s;
  }
}

@media (min-width: 960px) {
  .header__submenu__text {
    position: relative;
  }
  .header__submenu__text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: #00a3dc;
    transition: width 0.3s ease;
  }
}

@media (min-width: 960px) {
  .header__submenu__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
    border-radius: 50%;
    overflow: hidden;
  }
  .header__submenu__arrow::before, .header__submenu__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.3125vw, 4px);
    height: min(0.3125vw, 4px);
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transition: transform 0.45s ease;
  }
  .header__submenu__arrow {
    border: 1px solid #094A95;
    color: #094A95;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .header__submenu__arrow::before, .header__submenu__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .header__submenu__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .header__submenu__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .header__menu-item--has-sub:hover .header__submenu {
    visibility: visible;
    opacity: 1;
  }
  .header__submenu__link:hover {
    opacity: 1;
  }
  .header__submenu__link:hover .header__submenu__text::after {
    width: 100%;
  }
  .header__submenu__link:hover .header__submenu__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .header__submenu__link:hover .header__submenu__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
@media (min-width: 960px) {
  .header__menu-item--dropdown {
    position: relative;
    align-self: center;
  }
}

.header__dropdown {
  display: none;
}
@media (min-width: 960px) {
  .header__dropdown {
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: min(0.9375vw, 12px);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 100;
  }
}

@media (min-width: 960px) {
  .header__dropdown__items {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(0.3125vw, 4px);
    min-width: min(14.0625vw, 180px);
    margin: 0;
    padding: min(1.5625vw, 20px) min(2.1875vw, 28px);
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: min(1.25vw, 16px);
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.15);
  }
}

@media (min-width: 960px) {
  .header__dropdown__items::before,
  .header__dropdown__items::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
  }
}

@media (min-width: 960px) {
  .header__dropdown__items::before {
    bottom: 100%;
    margin-left: -9px;
    border-width: 0 9px 9px;
    border-color: transparent transparent #ccc;
  }
}

@media (min-width: 960px) {
  .header__dropdown__items::after {
    bottom: calc(100% - 1px);
    margin-left: -8px;
    border-width: 0 8px 8px;
    border-color: transparent transparent #fff;
  }
}

@media (min-width: 960px) {
  .header__dropdown__link {
    font-size: min(1.09375vw, 14px);
    font-weight: 700;
    color: #000;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(0.9375vw, 12px);
    padding: min(0.625vw, 8px) min(0.3125vw, 4px);
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
  }
}

@media (min-width: 960px) {
  .header__dropdown__text {
    position: relative;
  }
  .header__dropdown__text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: #00a3dc;
    transition: width 0.3s ease;
  }
}

@media (min-width: 960px) {
  .header__dropdown__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(1.71875vw, 22px);
    height: min(1.71875vw, 22px);
    border-radius: 50%;
    overflow: hidden;
  }
  .header__dropdown__arrow::before, .header__dropdown__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transition: transform 0.45s ease;
  }
  .header__dropdown__arrow {
    border: 1.5px solid #094A95;
    color: #094A95;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .header__dropdown__arrow::before, .header__dropdown__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .header__dropdown__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .header__dropdown__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .header__menu-item--dropdown:hover .header__dropdown {
    visibility: visible;
    opacity: 1;
  }
  .header__dropdown__link:hover {
    opacity: 1;
    color: #094A95;
  }
  .header__dropdown__link:hover .header__dropdown__text::after {
    width: 100%;
  }
  .header__dropdown__link:hover .header__dropdown__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .header__dropdown__link:hover .header__dropdown__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9990;
  width: 100vw;
  height: 100dvh;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.drawer.is-open {
  opacity: 1;
  visibility: visible;
}

.drawer__overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  width: 100vw;
  height: 100dvh;
  background: #fff;
  opacity: 0;
  transition: opacity 0.3s;
}

.drawer.is-open .drawer__overlay {
  opacity: 1;
}

.drawer__content {
  position: absolute;
  top: 70px;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: calc(100dvh - 70px);
  padding: 0 20px 50px;
  overflow-y: auto;
}

.drawer__cta {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
}

.drawer__cta .btn {
  flex: 1;
  height: 40px;
  padding: 0 8px;
  font-size: 13px;
  min-width: auto;
  min-height: auto;
}

.drawer__nav-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 15px;
       column-gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.drawer__nav-item {
  min-width: 0;
}

.drawer__nav-item--full {
  grid-column: 1/-1;
}

.drawer__nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 60px;
  padding: 8px 4px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #d8d8d8;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}

.drawer__nav-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 30px;
  height: 1px;
  background-color: #094A95;
}

.drawer__nav-arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
}
.drawer__nav-arrow::before, .drawer__nav-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .drawer__nav-arrow::before, .drawer__nav-arrow::after {
    left: 53%;
  }
}
.drawer__nav-arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.drawer__nav-arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.drawer__nav-arrow {
  border: 1.5px solid #094A95;
  color: #094A95;
}

.drawer__nav-toggle {
  position: relative;
  margin-left: auto;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.drawer__nav-toggle::before,
.drawer__nav-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #094A95;
}

.drawer__nav-toggle::before {
  width: 10px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.drawer__nav-toggle::after {
  width: 1px;
  height: 10px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

.drawer__nav-link.is-open .drawer__nav-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.drawer__nav-sub {
  display: none;
  width: 100%;
}

.drawer__nav-sub-items {
  list-style: none;
  margin: 0;
  padding: 16px 0 12px;
}

.drawer__nav-sub-items a {
  display: block;
  padding: 3px 4px;
  font-size: 13px;
  font-weight: 700;
  color: #656565;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.5;
  text-decoration: none;
}

.drawer__nav-sub-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 20px;
  padding: 32px 0 24px;
}

.drawer__nav-sub-items + .drawer__nav-sub-groups {
  padding-top: 12px;
}

.drawer__nav-sub-title {
  position: relative;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
  font-size: 11px;
  font-weight: 500;
  color: #888;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.4;
}

.drawer__nav-sub-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 16px;
  height: 1px;
  background-color: #094A95;
}

.drawer__nav-sub-group .drawer__nav-sub-items {
  padding: 8px 0 0;
}

.drawer__sns {
  margin-top: 28px;
}

.drawer__sns-label {
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  margin-bottom: 10px;
}

.drawer__sns-list {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.drawer__sns-list a {
  display: block;
}

.drawer__sns-list img {
  width: auto;
  height: 20px;
}

.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  height: 50px;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
@media (min-width: 960px) {
  .sticky-header {
    height: 60px;
  }
}

.sticky-header.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.sticky-header__inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 20px;
}
@media (min-width: 960px) {
  .sticky-header__inner {
    padding: 0 min(3.125vw, 40px);
  }
}

.sticky-header__brand {
  flex-shrink: 0;
  margin-right: auto;
}

.sticky-header__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
@media (min-width: 960px) {
  .sticky-header__logo {
    gap: min(1.09375vw, 14px);
  }
}

.sticky-header__logo-mark {
  width: 32px;
  height: auto;
}
@media (min-width: 960px) {
  .sticky-header__logo-mark {
    width: min(3.28125vw, 42px);
  }
}

.sticky-header__logo-text {
  width: 124px;
  height: auto;
}
@media (min-width: 960px) {
  .sticky-header__logo-text {
    width: min(12.5vw, 160px);
  }
}

.sticky-header__nav {
  display: none;
}
@media (min-width: 960px) {
  .sticky-header__nav {
    display: flex;
    align-items: center;
    align-self: stretch;
    margin-right: min(2.5vw, 32px);
  }
}

.sticky-header .header__menu-link {
  color: #094A95;
}

.sticky-header__cta {
  display: none;
}
@media (min-width: 960px) {
  .sticky-header__cta {
    display: flex;
    align-items: center;
    gap: min(0.625vw, 8px);
    flex-shrink: 0;
  }
}

.sticky-header__cta .btn {
  width: min(10.15625vw, 130px);
  height: min(3.125vw, 40px);
  padding: 0 min(1.25vw, 16px);
  font-size: clamp(min(0.9375vw, 12px), 0.9375vw, 13px);
  min-width: auto;
}

.cta {
  background: #00a3dc url("../img/00_common/cta-bg-sp.webp") center/cover no-repeat;
}
@media (min-width: 960px) {
  .cta {
    background-image: url("../img/00_common/cta-bg-pc.webp");
  }
}

.cta__inner {
  max-width: 1280px;
  margin: 0 auto;
}
.cta__items {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 960px) {
  .cta__items {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cta__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 35px 20px;
  text-align: center;
}
@media (min-width: 960px) {
  .cta__item {
    padding: min(3.90625vw, 50px) min(2.8125vw, 36px);
  }
}

@media (max-width: 959px) {
  .cta__item:last-child {
    padding-bottom: 68px;
  }
}

.cta__item:not(:last-child)::after {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.4);
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform: translateX(-50%);
}
@media (min-width: 960px) {
  .cta__item:not(:last-child)::after {
    top: 50%;
    bottom: auto;
    left: auto;
    right: 0;
    width: 1px;
    height: 100%;
    transform: translateY(-50%);
  }
}

.cta__heading {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 24px;
}
@media (min-width: 960px) {
  .cta__heading {
    font-size: min(1.875vw, 24px);
    margin-bottom: min(2.1875vw, 28px);
  }
}

.cta__text {
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.9;
  margin-bottom: 20px;
}
@media (min-width: 960px) {
  .cta__text {
    font-size: min(1.09375vw, 14px);
    margin-bottom: min(1.875vw, 24px);
  }
}

.cta__btn {
  display: flex;
  width: 100%;
  max-width: 334px;
  height: 60px;
  margin-inline: auto;
  min-width: auto;
}
@media (min-width: 960px) {
  .cta__btn {
    max-width: min(23.4375vw, 300px);
    height: min(7.03125vw, 90px);
    font-size: min(1.40625vw, 18px);
  }
}

.cta__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 334px;
  height: 60px;
  margin: 12px auto 0;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 50px;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  font-size: 20px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
}
@media (min-width: 960px) {
  .cta__tel {
    max-width: min(23.4375vw, 300px);
    height: min(7.03125vw, 90px);
    font-size: min(1.875vw, 24px);
    margin-top: min(1.09375vw, 14px);
  }
}

.cta__tel-icon {
  width: 20px;
  height: auto;
  flex-shrink: 0;
  transition: filter 0.3s;
}
@media (min-width: 960px) {
  .cta__tel-icon {
    width: min(1.71875vw, 22px);
  }
}

@media (hover: hover) {
  .cta__tel:hover {
    opacity: 1;
    background-color: #054994;
    border-color: #fff;
    color: #fff;
  }
  .cta__tel:hover .cta__tel-icon {
    filter: brightness(0) invert(1);
  }
}
.cta__tel-hours {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 7px;
}
@media (min-width: 960px) {
  .cta__tel-hours {
    font-size: min(1.25vw, 16px);
    margin-top: min(1.09375vw, 14px);
  }
}

.cta__note {
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  text-align: center;
}
@media (min-width: 960px) {
  .cta__note {
    font-size: min(0.9375vw, 12px);
  }
}

body:has(.column-sidebar) .cta-popup,
.single-post .cta-popup {
  display: none;
}

body:has(.dl-nav) .cta-popup,
body:has(.dl-list) .cta-popup,
.single-download .cta-popup,
.page-template-page-download-thanks .cta-popup {
  display: none;
}

.cta-popup {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 92;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, bottom 0.7s ease;
}
@media (min-width: 960px) {
  .cta-popup {
    right: min(1.875vw, 24px);
    bottom: min(1.875vw, 24px);
  }
}

.cta-popup.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cta-popup.is-closed {
  display: none;
}

.cta-popup__close {
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #094A95;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border: 1px solid #fff;
  transition: background-color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .cta-popup__close {
    width: min(2.65625vw, 34px);
    height: min(2.65625vw, 34px);
  }
}

.cta-popup__close::before,
.cta-popup__close::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 1px;
  background-color: #fff;
  transition: background-color 0.3s;
}
@media (min-width: 960px) {
  .cta-popup__close::before,
  .cta-popup__close::after {
    width: min(1.25vw, 16px);
  }
}

@media (hover: hover) {
  .cta-popup__close:hover {
    background-color: #fff;
    border-color: #094A95;
  }
  .cta-popup__close:hover::before,
  .cta-popup__close:hover::after {
    background-color: #094A95;
  }
}
.cta-popup__close::before {
  transform: rotate(45deg);
}

.cta-popup__close::after {
  transform: rotate(-45deg);
}

.cta-popup__container {
  display: flex;
  flex-direction: column;
  width: calc(100vw - 52px);
  max-width: 355px;
  background-color: #fff;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}
@media (min-width: 960px) {
  .cta-popup__container {
    width: min(29.6875vw, 380px);
    max-width: min(29.6875vw, 380px);
  }
}

.cta-popup__item {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 76px 1fr;
  grid-template-areas: "image copy" "image label";
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding: 12px;
  text-decoration: none;
}
.cta-popup__item:not(:last-child) {
  border-bottom: 2px solid #e4e9ef;
}
@media (min-width: 960px) {
  .cta-popup__item {
    grid-template-columns: min(8.4375vw, 108px) 1fr;
    -moz-column-gap: min(1.09375vw, 14px);
         column-gap: min(1.09375vw, 14px);
    padding: min(1.25vw, 16px);
  }
}

.cta-popup__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #00a3dc;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: -webkit-clip-path 0.35s ease-in-out;
  transition: clip-path 0.35s ease-in-out;
  transition: clip-path 0.35s ease-in-out, -webkit-clip-path 0.35s ease-in-out;
}

.cta-popup__image {
  grid-area: image;
  margin: 0;
}

.cta-popup__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  aspect-ratio: 201/141;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) {
  .cta-popup__image img {
    border-radius: min(0.625vw, 8px);
  }
}

.cta-popup__copy {
  grid-area: copy;
  font-size: 11px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
  transition: color 0.3s ease;
}
@media (min-width: 960px) {
  .cta-popup__copy {
    font-size: min(1.015625vw, 13px);
  }
}

.cta-popup__label {
  grid-area: label;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #00a3dc;
  text-align: left;
  line-height: 1.4;
  transition: color 0.3s ease;
}
@media (min-width: 960px) {
  .cta-popup__label {
    gap: min(0.78125vw, 10px);
    margin-top: min(0.46875vw, 6px);
    font-size: min(1.25vw, 16px);
  }
}

.cta-popup__label::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 3px;
  background: linear-gradient(to right, #094A95 0 50%, #00a3dc 50% 100%);
  transition: background 0.3s ease;
}
@media (min-width: 960px) {
  .cta-popup__label::before {
    width: min(2.03125vw, 26px);
  }
}

@media (hover: hover) {
  .cta-popup__item:hover {
    opacity: 1;
  }
  .cta-popup__item:hover::before {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
  .cta-popup__item:hover .cta-popup__copy,
  .cta-popup__item:hover .cta-popup__label {
    color: #fff;
  }
  .cta-popup__item:hover .cta-popup__label::before {
    background: #fff;
  }
}
@media (max-width: 959px) {
  .cta-popup {
    right: 0;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    transform: translateY(20px);
    bottom: 80px;
  }
  .cta-popup.is-scrolled {
    bottom: 10px;
  }
  .cta-popup__container {
    flex-direction: row;
    align-items: stretch;
  }
  .cta-popup__item {
    grid-template-columns: 55px 1fr;
    grid-template-areas: "image label";
    align-items: center;
    flex: 1;
    min-width: 0;
    -moz-column-gap: 10px;
         column-gap: 10px;
    padding: 10px 12px;
  }
  .cta-popup__item:not(:last-child) {
    border-bottom: none;
    border-right: 1px solid #e0e0e0;
  }
  .cta-popup__image img {
    aspect-ratio: 55/60;
  }
  .cta-popup__copy {
    display: none;
  }
  .cta-popup__label {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 0;
  }
}
.card-case {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
  background-color: #d9e5f7;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(9, 74, 149, 0.06);
}
@media (min-width: 960px) {
  .card-case {
    padding: min(1.5625vw, 20px);
    border-radius: min(1.09375vw, 14px);
  }
}

.card-case__image {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 960px) {
  .card-case__image {
    border-radius: min(0.78125vw, 10px);
  }
}

.card-case__image img {
  display: block;
  width: 100%;
  aspect-ratio: 330/220;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.card-case__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 4px;
  background-color: #23addc;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .card-case__badge {
    padding: min(0.46875vw, 6px) min(1.25vw, 16px);
    font-size: min(0.9375vw, 12px);
  }
}

.card-case__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-top: 14px;
}
@media (min-width: 960px) {
  .card-case__body {
    padding: min(1.5625vw, 20px) min(0.390625vw, 5px) 0;
  }
}

.card-case__meta {
  margin: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #a9aeb8;
}
@media (min-width: 960px) {
  .card-case__meta {
    padding-bottom: min(1.5625vw, 20px);
  }
}

.card-case__meta-row {
  display: grid;
  gap: 6px;
  grid-template-columns: 3.5em 1fr;
  align-items: start;
}
@media (min-width: 960px) {
  .card-case__meta-row {
    grid-template-columns: 4em 1fr;
  }
}

.card-case__meta-row + .card-case__meta-row {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .card-case__meta-row + .card-case__meta-row {
    margin-top: 6px;
  }
}

.card-case__meta-label {
  font-size: 12px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .card-case__meta-label {
    font-size: min(1.015625vw, 13px);
  }
}

.card-case__meta-value {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
  letter-spacing: -0.03em;
}
@media (min-width: 960px) {
  .card-case__meta-value {
    font-size: min(1.015625vw, 13px);
  }
}

.card-case__title {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
  letter-spacing: -0.03em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 0.5s ease, text-decoration-color 0.5s ease;
}
@media (min-width: 960px) {
  .card-case__title {
    margin-top: min(1.25vw, 16px);
    font-size: min(1.40625vw, 18px);
    line-height: 1.5;
  }
}

.card-case__result {
  margin-top: 14px;
  padding: 10px 15px;
  border-radius: 8px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .card-case__result {
    margin-top: min(1.71875vw, 22px);
    padding: min(0.78125vw, 10px) min(1.171875vw, 15px);
    border-radius: min(0.625vw, 8px);
  }
}

.card-case__result-label {
  font-size: 13px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .card-case__result-label {
    font-size: min(1.015625vw, 13px);
  }
}

.card-case__result-text,
.card-case__result-list {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .card-case__result-text,
  .card-case__result-list {
    font-size: min(1.015625vw, 13px);
  }
}

.card-case--tags {
  border-radius: 8px;
}
@media (min-width: 960px) {
  .card-case--tags {
    border-radius: min(0.625vw, 8px);
  }
}

.card-case--tags .card-case__image {
  border-radius: 6px;
}
@media (min-width: 960px) {
  .card-case--tags .card-case__image {
    border-radius: min(0.46875vw, 6px);
  }
}

.card-case--tags .card-case__body {
  padding: 14px 10px 0;
}
@media (min-width: 960px) {
  .card-case--tags .card-case__body {
    padding: min(1.40625vw, 18px) min(0.78125vw, 10px) 0;
  }
}

.card-case--tags .card-case__meta {
  margin-inline: -10px;
  padding-inline: 10px;
}
@media (min-width: 960px) {
  .card-case--tags .card-case__meta {
    margin-inline: max(-0.78125vw, -10px);
    padding-inline: min(0.78125vw, 10px);
  }
}

.card-case--tags .card-case__meta-label {
  line-height: 1.8333333333;
}
@media (min-width: 960px) {
  .card-case--tags .card-case__meta-label {
    font-size: min(0.9375vw, 12px);
  }
}

.card-case--tags .card-case__meta-value {
  font-feature-settings: "palt";
  line-height: 1.5384615385;
  letter-spacing: 0;
}

.card-case--tags .card-case__title {
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media (min-width: 960px) {
  .card-case--tags .card-case__title {
    margin-top: min(1.40625vw, 18px);
    line-height: 1.5555555556;
  }
}

.card-case__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: auto 0 0;
  padding: 14px 0 0;
  list-style: none;
}
@media (min-width: 960px) {
  .card-case__tags {
    gap: min(0.78125vw, 10px);
    padding-top: min(1.09375vw, 14px);
  }
}

.card-case__tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 4px;
  background-color: #23addc;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .card-case__tag {
    height: min(1.875vw, 24px);
    padding: 0 min(0.78125vw, 10px);
    font-size: min(0.9375vw, 12px);
  }
}

@media (hover: hover) {
  .card-case[href]:hover {
    opacity: 1;
  }
  .card-case[href]:hover .card-case__image img {
    transform: scale(1.1);
  }
  .card-case[href]:hover .card-case__title {
    color: #094A95;
    text-decoration-color: #094A95;
  }
}
.archive-filter {
  padding: 28px 20px 20px;
  border-radius: 12px;
  background-color: #ebf3f5;
  scroll-margin-top: 60px;
}
@media (min-width: 960px) {
  .archive-filter {
    display: flex;
    align-items: center;
    padding: min(2.5vw, 32px) min(1.5625vw, 20px) min(2.5vw, 32px) min(3.125vw, 40px);
    border-radius: min(1.25vw, 16px);
    scroll-margin-top: 70px;
  }
}

.archive-filter__label {
  font-size: 15px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .archive-filter__label {
    flex-shrink: 0;
    width: min(12.109375vw, 155px);
    font-size: min(1.25vw, 16px);
    text-align: left;
    line-height: 1.8;
  }
}

.archive-filter__box {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}
@media (min-width: 960px) {
  .archive-filter__box {
    flex: 1;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    padding-left: min(3.125vw, 40px);
    border-left: 1px solid rgba(0, 0, 0, 0.12);
  }
}

.archive-filter__row {
  display: flex;
}
@media (max-width: 959px) {
  .archive-filter__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
@media (min-width: 960px) {
  .archive-filter__row {
    align-items: flex-start;
  }
}

.archive-filter__row + .archive-filter__row {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .archive-filter__row + .archive-filter__row {
    margin-top: min(0.78125vw, 10px);
  }
}

@media (max-width: 959px) {
  .archive-filter__row:first-child + .archive-filter__row {
    margin-top: 15px;
  }
}

.archive-filter__row-label {
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .archive-filter__row-label {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 4em;
    min-height: min(3.59375vw, 46px);
    margin-right: min(1.25vw, 16px);
    font-size: min(1.09375vw, 14px);
  }
}

.archive-filter__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .archive-filter__list {
    gap: min(0.78125vw, 10px);
  }
}

.archive-filter__item {
  flex-shrink: 0;
}

.archive-filter__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px;
  border-radius: 50px;
  background-color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: center;
  line-height: 1;
}
@media (min-width: 960px) {
  .archive-filter__btn {
    padding: min(1.25vw, 16px) min(2.1875vw, 28px);
    font-size: min(1.09375vw, 14px);
  }
}

@media (max-width: 959px) {
  .archive-filter__row:first-child .archive-filter__btn {
    min-width: 82px;
  }
}

.archive-filter__btn.is-current {
  background-color: #094A95;
  color: #fff;
}

@media (hover: hover) {
  .archive-filter__btn:hover {
    opacity: 1;
    background-color: #094A95;
    color: #fff;
  }
}
.card-download {
  display: block;
  height: 100%;
  text-decoration: none;
}

.card-download__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 262/185;
  padding: 40px;
  border-radius: 10px;
  overflow: hidden;
  background: radial-gradient(circle farthest-corner at 50% 13.09%, rgb(240, 248, 250) 44.18%, rgb(221, 232, 235) 100%);
}
@media (min-width: 960px) {
  .card-download__thumb {
    padding: min(3.90625vw, 50px) min(3.90625vw, 50px) min(3.125vw, 40px);
    border-radius: min(0.9375vw, 12px);
  }
}

.card-download__thumb img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 100%;
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(9, 74, 149, 0.18);
  transition: transform 0.4s ease;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) {
  .card-download__thumb img {
    border-radius: min(0.625vw, 8px);
  }
}

.card-download__text {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.7;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 0.5s ease, text-decoration-color 0.5s ease;
}
@media (min-width: 960px) {
  .card-download__text {
    margin-top: min(1.5625vw, 20px);
    font-size: min(1.25vw, 16px);
  }
}

@media (hover: hover) {
  .card-download:hover {
    opacity: 1;
  }
  .card-download:hover .card-download__thumb img {
    transform: scale(1.1);
  }
  .card-download:hover .card-download__text {
    color: #094A95;
    text-decoration-color: #094A95;
  }
}
.card-column {
  display: block;
  height: 100%;
  text-decoration: none;
}

.card-column__thumb {
  aspect-ratio: 741/464;
  overflow: hidden;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .card-column__thumb {
    border-radius: min(0.46875vw, 6px);
  }
}

.card-column__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
  border-radius: 10px;
}

.card-column__body {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .card-column__body {
    margin-top: min(1.875vw, 24px);
    padding: 0 min(0.78125vw, 10px);
  }
}

.card-column__date {
  font-size: 12px;
  font-weight: 500;
  color: #094A95;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .card-column__date {
    font-size: min(0.9375vw, 12px);
  }
}

.card-column__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .card-column__cats {
    gap: min(0.625vw, 8px);
    margin-top: min(0.78125vw, 10px);
  }
}

.card-column__cat {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #00a3db;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .card-column__cat {
    padding: min(0.15625vw, 2px) min(0.546875vw, 7px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.card-column__text {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.7;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 0.5s ease, text-decoration-color 0.5s ease;
}
@media (min-width: 960px) {
  .card-column__text {
    margin-top: min(0.78125vw, 10px);
    font-size: min(1.25vw, 16px);
  }
}

.card-column--box {
  padding: 16px;
  border-radius: 6px;
  background-color: #d5e4f9;
}
@media (min-width: 960px) {
  .card-column--box {
    padding: min(1.5625vw, 20px);
    border-radius: min(0.46875vw, 6px);
  }
}

.card-column--box .card-column__thumb {
  border-radius: 6px;
}
@media (min-width: 960px) {
  .card-column--box .card-column__thumb {
    border-radius: min(0.46875vw, 6px);
  }
}

.card-column--box .card-column__body {
  margin-top: 18px;
  padding: 0 4px 6px;
}
@media (min-width: 960px) {
  .card-column--box .card-column__body {
    margin-top: min(1.71875vw, 22px);
    padding: 0 min(0.46875vw, 6px) min(0.46875vw, 6px);
  }
}

.card-column--box .card-column__date {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
}
@media (min-width: 960px) {
  .card-column--box .card-column__date {
    font-size: min(1.015625vw, 13px);
  }
}

.card-column--box .card-column__text {
  margin-top: 12px;
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .card-column--box .card-column__text {
    margin-top: min(1.09375vw, 14px);
    font-size: min(1.40625vw, 18px);
  }
}

.card-column--box .card-column__cats {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .card-column--box .card-column__cats {
    margin-top: min(1.5625vw, 20px);
  }
}

.card-column--box .card-column__cat {
  padding: 5px 12px;
  border-radius: 6px;
}
@media (min-width: 960px) {
  .card-column--box .card-column__cat {
    padding: min(0.3125vw, 4px) min(0.78125vw, 10px);
    border-radius: min(0.46875vw, 6px);
    font-size: min(0.9375vw, 12px);
  }
}

@media (hover: hover) {
  .card-column:hover {
    opacity: 1;
  }
  .card-column:hover .card-column__thumb img {
    transform: scale(1.1);
  }
  .card-column:hover .card-column__text {
    color: #094A95;
    text-decoration-color: #094A95;
  }
}
.card-blog2 {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  align-items: start;
  padding: 20px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  background-color: #fff;
  color: inherit;
}
@media (min-width: 960px) {
  .card-blog2 {
    grid-template-columns: min(9.375vw, 120px) 1fr;
    gap: min(1.5625vw, 20px);
    padding: min(1.5625vw, 20px);
    border-radius: min(0.78125vw, 10px);
  }
}

.card-blog2 + .card-blog2 {
  margin-top: 15px;
}
@media (min-width: 960px) {
  .card-blog2 + .card-blog2 {
    margin-top: min(0.625vw, 8px);
  }
}

.card-blog2__image {
  overflow: hidden;
  aspect-ratio: 4/3;
  border-radius: 3px;
}

.card-blog2__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s;
}

.card-blog2__body {
  min-width: 0;
}

.card-blog2__meta {
  display: flex;
}

.card-blog2__date {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .card-blog2__date {
    font-size: min(0.9375vw, 12px);
  }
}

.card-blog2__title {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 2;
}
@media (min-width: 960px) {
  .card-blog2__title {
    font-size: min(1.09375vw, 14px);
    -webkit-line-clamp: 1;
  }
}

.card-blog2__text {
  margin-top: 4px;
  font-size: 13.5px;
  font-weight: 500;
  color: #000;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  line-height: 1.78;
}
@media (min-width: 960px) {
  .card-blog2__text {
    margin-top: 0;
    font-size: min(1.0546875vw, 13.5px);
    -webkit-line-clamp: 2;
  }
}

@media (hover: hover) {
  .card-blog2:hover {
    opacity: 1;
  }
  .card-blog2:hover .card-blog2__image img {
    transform: scale(1.1);
  }
}
.card-seminar {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px 20px 22px;
  background-color: #d5e4f9;
  border-radius: 12px;
  text-decoration: none;
}
@media (min-width: 960px) {
  .card-seminar {
    padding: min(1.5625vw, 20px) min(1.5625vw, 20px) min(1.71875vw, 22px);
    border-radius: min(0.9375vw, 12px);
  }
}

.card-seminar__thumb {
  overflow: hidden;
  border-radius: 4px;
}

.card-seminar__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 517/324;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.card-seminar__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 17px;
}
@media (min-width: 960px) {
  .card-seminar__body {
    padding-top: min(1.640625vw, 21px);
  }
}

.card-seminar__status {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: #00a3dc;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (max-width: 959px) {
  .card-seminar__status {
    padding: 4px 5px;
    font-size: 12px;
  }
}

.card-seminar__status--end {
  background-color: #a2a2a2;
}

.card-seminar__title {
  margin: 12px 0 16px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}
@media (max-width: 959px) {
  .card-seminar__title {
    margin: 6px 0 13px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5555555556;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
}
@media (min-width: 960px) {
  .card-seminar__title {
    margin: min(1.40625vw, 18px) 0 min(1.875vw, 24px);
    font-size: min(1.40625vw, 18px);
  }
}

.card-seminar__external {
  display: inline-block;
  width: 14px;
  height: 12px;
  margin-left: 8px;
  background: url("../img/00_common/icon-external.webp") center/contain no-repeat;
}

.card-seminar__date {
  display: flex;
  align-items: center;
  align-self: stretch;
  margin-top: auto;
  padding: 12px 16px;
  border-radius: 999px;
  background-color: #fff;
}
@media (max-width: 959px) {
  .card-seminar__date {
    display: block;
    padding: 10px 16px 22px;
    border-radius: 8px;
  }
}
@media (min-width: 960px) {
  .card-seminar__date {
    padding: min(1.015625vw, 13px) min(1.5625vw, 20px);
  }
}

.card-seminar__date-label {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
}
@media (max-width: 959px) {
  .card-seminar__date-label {
    padding-left: 4px;
    font-weight: 400;
  }
}
@media (min-width: 960px) {
  .card-seminar__date-label {
    font-size: min(1.015625vw, 13px);
  }
}

.card-seminar__date-value {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 959px) {
  .card-seminar__date-value {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
  }
}
@media (min-width: 960px) {
  .card-seminar__date-value {
    font-size: min(1.09375vw, 14px);
  }
}

@media (hover: hover) {
  .card-seminar:hover {
    opacity: 1;
  }
  .card-seminar:hover .card-seminar__thumb img {
    transform: scale(1.1);
  }
  .card-seminar:hover .card-seminar__title {
    color: #094A95;
    text-decoration-color: #094A95;
  }
}
.news-item {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
@media (min-width: 960px) {
  .news-item {
    gap: min(1.875vw, 24px);
  }
}

.news-item__body {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
@media (min-width: 960px) {
  .news-item__body {
    display: grid;
    grid-template-columns: min(4.6875vw, 60px) auto 1fr;
    align-items: center;
    -moz-column-gap: min(1.5625vw, 20px);
         column-gap: min(1.5625vw, 20px);
  }
}

.news-item__date {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 2;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .news-item__date {
    font-size: min(0.9375vw, 12px);
  }
}

.news-item__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .news-item__cats {
    gap: min(0.625vw, 8px);
  }
}

.news-item__cat {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 4px;
  background-color: #00a3db;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .news-item__cat {
    padding: min(0.3125vw, 4px) min(0.78125vw, 10px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.news-item__title {
  flex-basis: 100%;
  margin-top: 7px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.7;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: text-decoration-color 0.5s ease;
}
@media (min-width: 960px) {
  .news-item__title {
    flex-basis: auto;
    margin-top: 0;
    font-size: min(1.171875vw, 15px);
    margin-left: min(1.5625vw, 20px);
  }
}

.news-item__arrow {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
}
.news-item__arrow::before, .news-item__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .news-item__arrow::before, .news-item__arrow::after {
    left: 53%;
  }
}
.news-item__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.news-item__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.news-item__arrow {
  flex-shrink: 0;
  margin-left: auto;
  background: #fff;
  color: #094A95;
}
@media (min-width: 960px) {
  .news-item__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.5vw, 32px);
    height: min(2.5vw, 32px);
    border-radius: 50%;
    overflow: hidden;
  }
  .news-item__arrow::before, .news-item__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.546875vw, 7px);
    height: min(0.546875vw, 7px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .news-item__arrow {
    flex-shrink: 0;
    margin-left: auto;
    background: #fff;
    color: #094A95;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .news-item__arrow::before, .news-item__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .news-item__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .news-item__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .news-item:hover {
    opacity: 1;
  }
  .news-item:hover .news-item__title {
    text-decoration-color: #fff;
  }
  .news-item:hover .news-item__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .news-item:hover .news-item__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.news-item--light .news-item__date,
.news-item--light .news-item__title {
  color: #000;
}

.news-item--light .news-item__arrow {
  background: #094A95;
  color: #fff;
}

@media (hover: hover) {
  .news-item--light:hover .news-item__title {
    text-decoration-color: #094A95;
  }
}
.news-item__arrow.news-item__arrow--external {
  border-radius: 0;
  overflow: visible;
  background: url("../img/00_common/icon-external.webp") center/10px no-repeat;
}
.news-item__arrow.news-item__arrow--external::before, .news-item__arrow.news-item__arrow--external::after {
  content: none;
}
@media (min-width: 960px) {
  .news-item__arrow.news-item__arrow--external {
    background-size: min(0.859375vw, 11px);
  }
}

.news-filter {
  position: relative;
  display: flex;
  align-items: center;
}
@media (min-width: 960px) {
  .news-filter {
    gap: min(1.40625vw, 18px);
  }
}

.news-filter__label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1;
}
@media (max-width: 959px) {
  .news-filter__label {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 12px;
  }
}
@media (min-width: 960px) {
  .news-filter__label {
    font-size: min(1.015625vw, 13px);
    white-space: nowrap;
  }
}

.news-filter__list {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 959px) {
  .news-filter__list {
    width: calc(100% + 20px);
    min-width: 0;
    padding: 32px 0 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: -20px;
  }
}
@media (min-width: 960px) {
  .news-filter__list {
    flex-wrap: wrap;
    gap: min(0.78125vw, 10px);
  }
}

.news-filter__item {
  flex-shrink: 0;
}

.news-filter__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 14px 28px;
  border-radius: 50px;
  background-color: #e3ebf6;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .news-filter__btn {
    padding: min(1.2890625vw, 16.5px) min(2.34375vw, 30px);
    font-size: min(1.015625vw, 13px);
  }
}

.news-filter__btn.is-current {
  background-color: #094A95;
  color: #fff;
}

@media (hover: hover) {
  .news-filter__btn:hover {
    opacity: 1;
    background-color: #094A95;
    color: #fff;
  }
}
.pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi {
    gap: min(0.78125vw, 10px);
  }
}

.pagination .wp-pagenavi a,
.pagination .wp-pagenavi span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
  border: none;
  background-color: #e3ebf6;
  transition: all 0.5s;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi a,
  .pagination .wp-pagenavi span {
    width: min(5.859375vw, 75px);
    height: min(5.859375vw, 75px);
    font-size: min(1.40625vw, 18px);
  }
}

.pagination .wp-pagenavi span.current {
  color: #fff;
  background: #094A95;
}

.pagination .wp-pagenavi span.extend {
  width: auto;
  height: auto;
  color: #000;
  background-color: transparent;
  padding-bottom: 8px;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi span.extend {
    padding-bottom: min(0.9375vw, 12px);
  }
}

.pagination .wp-pagenavi .nextpostslink,
.pagination .wp-pagenavi .previouspostslink {
  position: relative;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
}
.pagination .wp-pagenavi .nextpostslink::before, .pagination .wp-pagenavi .nextpostslink::after,
.pagination .wp-pagenavi .previouspostslink::before,
.pagination .wp-pagenavi .previouspostslink::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 10px;
  height: 10px;
  border-top: 2.5px solid currentColor;
  border-right: 2.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi .nextpostslink::before, .pagination .wp-pagenavi .nextpostslink::after,
  .pagination .wp-pagenavi .previouspostslink::before,
  .pagination .wp-pagenavi .previouspostslink::after {
    left: 53%;
  }
}
.pagination .wp-pagenavi .nextpostslink::before,
.pagination .wp-pagenavi .previouspostslink::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.pagination .wp-pagenavi .nextpostslink::after,
.pagination .wp-pagenavi .previouspostslink::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.pagination .wp-pagenavi .nextpostslink,
.pagination .wp-pagenavi .previouspostslink {
  font-size: 0;
  color: #000;
  background: transparent;
  margin: 0;
  padding: 0;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi .nextpostslink,
  .pagination .wp-pagenavi .previouspostslink {
    position: relative;
    flex-shrink: 0;
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
    border-radius: 50%;
    overflow: hidden;
  }
  .pagination .wp-pagenavi .nextpostslink::before, .pagination .wp-pagenavi .nextpostslink::after,
  .pagination .wp-pagenavi .previouspostslink::before,
  .pagination .wp-pagenavi .previouspostslink::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(1.09375vw, 14px);
    height: min(1.09375vw, 14px);
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    transition: transform 0.45s ease;
  }
  .pagination .wp-pagenavi .nextpostslink,
  .pagination .wp-pagenavi .previouspostslink {
    color: #000;
    background: transparent;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .pagination .wp-pagenavi .nextpostslink::before, .pagination .wp-pagenavi .nextpostslink::after,
  .pagination .wp-pagenavi .previouspostslink::before,
  .pagination .wp-pagenavi .previouspostslink::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi .nextpostslink::before,
  .pagination .wp-pagenavi .previouspostslink::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .pagination .wp-pagenavi .nextpostslink::after,
  .pagination .wp-pagenavi .previouspostslink::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

.pagination .wp-pagenavi .previouspostslink {
  order: -1;
  transform: rotate(180deg);
  transform-origin: center;
  margin-right: 17px;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi .previouspostslink {
    margin-right: min(1.5625vw, 20px);
  }
}

.pagination .wp-pagenavi .nextpostslink {
  order: 100000;
  margin-left: 17px;
}
@media (min-width: 960px) {
  .pagination .wp-pagenavi .nextpostslink {
    margin-left: min(1.5625vw, 20px);
  }
}

@media (hover: hover) {
  .pagination .wp-pagenavi a:hover {
    opacity: 1;
  }
  .pagination .wp-pagenavi a.page:hover {
    color: #fff;
    background: #094A95;
  }
  .pagination .wp-pagenavi .previouspostslink:hover::before,
  .pagination .wp-pagenavi .nextpostslink:hover::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .pagination .wp-pagenavi .previouspostslink:hover::after,
  .pagination .wp-pagenavi .nextpostslink:hover::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.post-cta {
  display: grid;
  grid-template-columns: 1fr;
  border-radius: 10px;
  overflow: hidden;
  background: #00a3dc url("../img/00_common/cta-bg-sp.webp") center/cover no-repeat;
}
@media (min-width: 960px) {
  .post-cta {
    grid-template-columns: repeat(2, 1fr);
    background-image: url("../img/00_common/cta-bg-pc.webp");
  }
}

.post-cta__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 35px 20px;
  text-align: center;
}
@media (min-width: 960px) {
  .post-cta__item {
    padding: min(3.90625vw, 50px) min(2.8125vw, 36px);
  }
}

.post-cta__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.4);
}
@media (min-width: 960px) {
  .post-cta__item:not(:last-child)::after {
    inset: 50% 0 auto auto;
    width: 1px;
    height: 100%;
    transform: translateY(-50%);
  }
}

.post-cta .post-cta__heading {
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .post-cta .post-cta__heading {
    margin-bottom: min(2.1875vw, 28px);
    font-size: min(1.875vw, 24px);
  }
}

.post-cta .post-cta__text {
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .post-cta .post-cta__text {
    margin-bottom: min(1.875vw, 24px);
    font-size: min(1.09375vw, 14px);
  }
}

.post-cta .post-cta__btn {
  display: flex;
  width: 100%;
  max-width: 334px;
  min-width: auto;
  height: 60px;
  margin-inline: auto;
}
@media (min-width: 960px) {
  .post-cta .post-cta__btn {
    max-width: min(23.4375vw, 300px);
    height: min(7.03125vw, 90px);
    font-size: min(1.40625vw, 18px);
  }
}

.post-cta .post-cta__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 334px;
  height: 60px;
  margin: 12px auto 0;
  border: 1px solid transparent;
  border-radius: 50px;
  background-color: #fff;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  font-size: 20px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
}
@media (min-width: 960px) {
  .post-cta .post-cta__tel {
    max-width: min(23.4375vw, 300px);
    height: min(7.03125vw, 90px);
    margin-top: min(1.09375vw, 14px);
    font-size: min(1.875vw, 24px);
  }
}

.post-cta .post-cta__tel::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016.74%2019.92'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%23094a95;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cpath%20class='cls-1'%20d='M16.16,15.39l-2.04-2.08c-.23-.3-.56-.51-.93-.57-.39-.08-.78.01-1.12.27l-1.63,1.39c-.93-.86-2.02-1.96-3.18-3.53-1.16-1.57-1.9-2.93-2.45-4.07l1.83-1.17c.31-.23.51-.58.55-.98.04-.37-.06-.75-.28-1.06l-1.39-2.56s-.02-.04-.04-.06c-.35-.47-.87-1.17-2.2-.92C2.16.27.34,1.57.03,3.68c-.35,2.3,2.71,7.33,4.24,9.4,1.53,2.07,5.44,6.45,7.75,6.79h0c2.11.32,3.89-1.04,4.42-2.06.63-1.2.11-1.91-.24-2.38-.01-.02-.03-.03-.04-.05Z'/%3e%3c/g%3e%3c/svg%3e") center/contain no-repeat;
  transition: filter 0.3s;
}
@media (min-width: 960px) {
  .post-cta .post-cta__tel::before {
    width: min(1.71875vw, 22px);
    height: min(1.71875vw, 22px);
  }
}

@media (hover: hover) {
  .post-cta .post-cta__tel:hover {
    opacity: 1;
    background-color: #054994;
    border-color: #fff;
    color: #fff;
  }
  .post-cta .post-cta__tel:hover::before {
    filter: brightness(0) invert(1);
  }
}
.post-cta .post-cta__tel-hours {
  margin-top: 7px;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .post-cta .post-cta__tel-hours {
    margin-top: min(1.09375vw, 14px);
    font-size: min(1.25vw, 16px);
  }
}

.post-cta .post-cta__note {
  margin-top: 0;
  font-size: 11px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .post-cta .post-cta__note {
    font-size: min(0.9375vw, 12px);
  }
}

.post-body {
  display: flow-root;
  overflow-wrap: anywhere;
}

:is(.post-body, .post-body > :where(div:not([class], [style]))) > * {
  margin-top: 28px;
}
@media (min-width: 960px) {
  :is(.post-body, .post-body > :where(div:not([class], [style]))) > * {
    margin-top: min(2.8125vw, 36px);
  }
}

:is(.post-body, .post-body > :where(div:not([class], [style]))) > :is(.wp-block-media-text, .wp-block-group, .wp-block-quote, .wp-block-table, table, .wp-block-buttons, .post-cta, .wp-block-image, .wp-block-embed, .insert-dl, .cta_research, .well, .well2, .well3) {
  margin-top: 40px;
}
@media (min-width: 960px) {
  :is(.post-body, .post-body > :where(div:not([class], [style]))) > :is(.wp-block-media-text, .wp-block-group, .wp-block-quote, .wp-block-table, table, .wp-block-buttons, .post-cta, .wp-block-image, .wp-block-embed, .insert-dl, .cta_research, .well, .well2, .well3) {
    margin-top: min(2.8125vw, 36px);
  }
}

.post-body > *:first-child,
.post-body > :where(div:not([class], [style])):first-child > :first-child {
  margin-top: 0;
}

.post-body p {
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.87;
}
@media (min-width: 960px) {
  .post-body p {
    font-size: min(1.40625vw, 18px);
    line-height: 2;
  }
}

.post-body p a:not(.wp-block-button__link, .btn, .q_button),
.post-body li a,
.post-body td a {
  color: #094A95;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.post-body mark {
  background-color: transparent;
  color: inherit;
}

.post-body .under_marker,
.post-body mark:not([style]) {
  background: linear-gradient(transparent 60%, #ff3 0%);
}

.post-body mark[style*="#ffe701"] {
  background: linear-gradient(transparent 60%, #ff3 0%) !important;
}

.post-body :is(h1, h2, h3, h4, h5, h6) {
  clear: both;
}

.post-body h1 {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .post-body h1 {
    font-size: min(2.109375vw, 27px);
  }
}

.post-body h2 {
  margin-top: 48px;
  padding: 2px 10px 4px;
  background-color: #094A95;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .post-body h2 {
    margin-top: min(3.75vw, 48px);
    padding: min(0.390625vw, 5px) min(1.5625vw, 20px) min(0.78125vw, 10px);
    font-size: min(2.34375vw, 30px);
  }
}

.post-body h3 {
  margin-top: 28px;
  padding-bottom: 12px;
  border-bottom: 2px solid #c6ced0;
  font-size: 17px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .post-body h3 {
    margin-top: min(3.75vw, 48px);
    padding-bottom: min(1.09375vw, 14px);
    font-size: min(1.875vw, 24px);
  }
}

.post-body h3 + :is(p, ul, ol) {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .post-body h3 + :is(p, ul, ol) {
    margin-top: min(2.8125vw, 36px);
  }
}

.post-body h4 {
  margin-top: 22px;
  padding-left: 14px;
  border-left: 1px solid #094A95;
  font-size: 17px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .post-body h4 {
    margin-top: min(3.75vw, 48px);
    padding-left: min(1.25vw, 16px);
    font-size: min(1.71875vw, 22px);
  }
}

.post-body h5 {
  margin-top: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .post-body h5 {
    margin-top: min(3.4375vw, 44px);
    font-size: min(1.5625vw, 20px);
    line-height: 1.6;
  }
}

.post-body ul {
  padding: 0;
  list-style: none;
}

.post-body ul li {
  position: relative;
  padding-left: 27px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 2;
}
@media (min-width: 960px) {
  .post-body ul li {
    padding-left: min(1.71875vw, 22px);
    font-size: min(1.40625vw, 18px);
    line-height: 1.9;
  }
}

.post-body ul li + li {
  margin-top: 0;
}
@media (min-width: 960px) {
  .post-body ul li + li {
    margin-top: min(0.78125vw, 10px);
  }
}

.post-body ul li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 0.6em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .post-body ul li::before {
    left: 0;
    width: min(0.859375vw, 11px);
    height: min(0.859375vw, 11px);
  }
}

.post-body ul ul {
  margin-block: 8px 5px;
}
@media (min-width: 960px) {
  .post-body ul ul {
    margin-bottom: 0;
  }
}

.post-body ul ul li {
  padding-left: 28px;
  line-height: 1.75;
}
@media (min-width: 960px) {
  .post-body ul ul li {
    padding-left: min(1.40625vw, 18px);
    line-height: 1.9;
  }
}

.post-body ul ul li::before {
  left: 14px;
  top: 0.7em;
  width: 7px;
  height: 7px;
}
@media (min-width: 960px) {
  .post-body ul ul li::before {
    left: 0;
    width: min(0.546875vw, 7px);
    height: min(0.546875vw, 7px);
  }
}

.post-body ol {
  padding: 0;
  list-style: none;
  counter-reset: ol-count;
}

.post-body ol > li {
  position: relative;
  padding-left: 1.8em;
  counter-increment: ol-count;
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .post-body ol > li {
    font-size: min(1.40625vw, 18px);
  }
}

.post-body ol > li + li {
  margin-top: 8px;
}

.post-body ol > li::before {
  content: counter(ol-count) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #094A95;
}

.post-body figure.wp-block-image {
  margin-inline: 0;
}

.post-body figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

.post-body :where(img) {
  max-width: 100%;
  height: auto;
}

.post-body :is(img, .wp-caption):is(.aligncenter, .alignleft, .alignright) {
  display: block;
  margin-inline: auto;
}

@media (min-width: 960px) {
  .post-body :is(img, .wp-caption).alignleft {
    float: left;
    margin: min(0.546875vw, 7px) min(1.875vw, 24px) min(0.546875vw, 7px) 0;
  }
  .post-body :is(img, .wp-caption).alignright {
    float: right;
    margin: min(0.546875vw, 7px) 0 min(0.546875vw, 7px) min(1.875vw, 24px);
  }
}
.post-body .wp-caption {
  max-width: 100%;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
}

.post-body .wp-caption img {
  display: block;
  margin-inline: auto;
}

.post-body .wp-caption-text {
  margin: 9px auto;
  font-size: 12px;
  font-weight: 400;
  color: #000;
  text-align: center;
  font-style: italic;
  line-height: 1.5;
}

.post-body .wp-block-column > :first-child {
  margin-top: 0;
}

.post-body .wp-block-media-text {
  -moz-column-gap: min(3.125vw, 40px);
       column-gap: min(3.125vw, 40px);
}

.post-body .wp-block-media-text__media {
  margin: 0;
}

.post-body .wp-block-media-text__media img {
  display: block;
  width: 100%;
  height: auto;
}

.post-body .wp-block-media-text__content {
  padding: 0;
}

@media (width <= 600px) {
  .post-body .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    margin-top: 16px;
  }
}
.post-body figure.wp-block-embed {
  margin-inline: 0;
}

.post-body iframe {
  max-width: 100%;
}

.post-body .wp-block-embed__wrapper iframe,
.post-body iframe:is([src*="youtube.com/embed"], [data-src*="youtube.com/embed"]) {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.post-body .wp-block-group.box-border {
  padding: 15px 20px 23px;
  border: 2px solid #dae1eb;
}
@media (min-width: 960px) {
  .post-body .wp-block-group.box-border {
    padding: min(1.71875vw, 22px) min(3.125vw, 40px);
  }
}

.post-body .wp-block-group.box-border p {
  color: #094A95;
}

.post-body .wp-block-group.box-navy {
  padding: 17px 20px 25px 22px;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .post-body .wp-block-group.box-navy {
    padding: min(1.71875vw, 22px) min(3.125vw, 40px);
  }
}

.post-body .wp-block-group.box-navy p {
  color: #fff;
}

.post-body .wp-block-group.box-border p,
.post-body .wp-block-group.box-navy p,
.post-body .wp-block-quote p {
  line-height: 1.8;
}
@media (min-width: 960px) {
  .post-body .wp-block-group.box-border p,
  .post-body .wp-block-group.box-navy p,
  .post-body .wp-block-quote p {
    font-size: min(1.25vw, 16px);
    line-height: 1.9;
  }
}

.post-body .wp-block-group.box-navy a:not(.wp-block-button__link) {
  color: #fff;
}

.post-body :is(.wp-block-group, .wp-block-group__inner-container) > * + *,
.post-body .wp-block-quote p + p {
  margin-top: 27px;
}
@media (min-width: 960px) {
  .post-body :is(.wp-block-group, .wp-block-group__inner-container) > * + *,
  .post-body .wp-block-quote p + p {
    margin-top: min(2.34375vw, 30px);
  }
}

.post-body :is(.insert-dl, .cta_research) {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 23px;
  padding: 38px 15px 23px;
  border: 2px solid #094A95;
  background-color: #f6f6f6;
}

@media (min-width: 960px) {
  .post-body .insert-dl {
    flex-direction: row;
    align-items: center;
    gap: min(4.21875vw, 54px);
    padding: min(3.515625vw, 45px);
  }
}

@media (min-width: 960px) {
  .post-body .cta_research {
    padding: min(3.515625vw, 45px) min(2.8125vw, 36px);
  }
}

.post-body :is(.insert-dl-title, .cta_research-title) {
  order: -2;
  align-self: center;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100% + 10px);
  margin: -57px 0 0;
  padding: 5px 23px;
  border-radius: 5px;
  background-color: #094A95;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  line-height: 1.6;
  text-wrap: balance;
}
@media (min-width: 960px) {
  .post-body :is(.insert-dl-title, .cta_research-title) {
    position: absolute;
    top: 0;
    left: min(2.109375vw, 27px);
    transform: translateY(-50%);
    max-width: none;
    margin: 0;
    padding: min(0.390625vw, 5px) min(2.109375vw, 27px);
    font-size: min(1.40625vw, 18px);
  }
}

.post-body .insert-dl-item {
  flex: 1;
  min-width: 0;
}

.post-body .insert-dl-img {
  order: -1;
  width: 100%;
  max-width: 300px;
  margin-inline: auto;
}
@media (min-width: 960px) {
  .post-body .insert-dl-img {
    order: 0;
    flex-shrink: 0;
    max-width: min(23.4375vw, 300px);
  }
}

.post-body .insert-dl-img img {
  display: block;
  width: 100%;
  height: auto;
}

.post-body .insert-dl-btn {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .post-body .insert-dl-btn {
    margin-top: min(2.8125vw, 36px);
  }
}

.post-body .insert-dl-btn p {
  margin-bottom: 8px;
  font-weight: 700;
  text-align: center;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .post-body .insert-dl-btn p {
    margin-bottom: min(0.703125vw, 9px);
  }
}

.post-body .insert-dl-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 300px;
  margin-inline: auto;
  padding: 5px 25px;
  border-radius: 10px;
  background-color: #094A95;
  font-size: 16.5px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .post-body .insert-dl-btn a {
    max-width: min(23.4375vw, 300px);
    padding: min(0.390625vw, 5px) min(2.109375vw, 27px);
    font-size: min(1.40625vw, 18px);
  }
}

.post-body .cta_research-item {
  padding: 12px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .post-body .cta_research-item {
    padding: min(1.09375vw, 14px);
  }
}

.post-body .cta_research-item h6 {
  margin-bottom: 17px;
  font-size: 16.5px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .post-body .cta_research-item h6 {
    margin-bottom: min(1.5625vw, 20px);
    font-size: min(1.546875vw, 19.8px);
  }
}

.post-body .cta_research-img {
  text-align: center;
}

.post-body .cta_research-img img {
  width: 100%;
  max-width: 400px;
  height: auto;
}

.post-body .cta_research-text {
  margin-top: 15px;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .post-body .cta_research-text {
    margin-top: min(1.40625vw, 18px);
  }
}

.post-body .q_button {
  display: inline-block;
  min-width: 200px;
  max-width: 90%;
  padding: 0.6em 1.3em 0.5em;
  background-color: #094A95;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  color: #fff;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
}

.post-body .q_button.rounded {
  border-radius: 6px;
}

.post-body .q_button.pill {
  border-radius: 50px;
}

.post-body .q_button.sz_l {
  min-width: 320px;
  max-width: 95%;
  padding: 0.8em 1.5em 0.7em;
  font-size: 110%;
}
@media (min-width: 960px) {
  .post-body .q_button.sz_l {
    min-width: 350px;
    max-width: 90%;
  }
}

.post-body .q_button.bt_red {
  background-color: #c01f0e;
}

.post-body .q_button.bt_yellow {
  background-color: #f1c40f;
}

.post-body .q_button.bt_blue {
  background-color: #2980b9;
}

.post-body .q_button.bt_green {
  background-color: #27ae60;
}

@media (hover: hover) {
  .post-body .q_button:hover {
    opacity: 0.6;
  }
}
.post-body :is(.well, .well2, .well3) {
  padding: 15px 23px;
}
@media (min-width: 960px) {
  .post-body :is(.well, .well2, .well3) {
    padding: min(1.40625vw, 18px) min(2.109375vw, 27px);
  }
}

.post-body :is(.well, .well2) {
  background-color: #fafafa;
  box-shadow: 0 1px 3px 0 rgba(195, 195, 195, 0.3);
}

.post-body .well {
  border: 3px solid #ccc;
}

.post-body .well2 {
  border: 1px solid #ccc;
}

.post-body .well3 {
  background-color: #f2f2f2;
}

.post-body .post_row {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -15px;
}

.post-body .post_col {
  width: 100%;
  margin-bottom: 30px;
  padding-inline: 15px;
}
@media (min-width: 960px) {
  .post-body .post_col {
    margin-bottom: min(2.8125vw, 36px);
  }
}

@media (min-width: 960px) {
  .post-body .post_col-2 {
    width: 50%;
  }
}

.post-body .content__works__list {
  display: flex;
  flex-wrap: wrap;
  gap: 45px;
  padding-inline: 28px;
}
@media (min-width: 960px) {
  .post-body .content__works__list {
    gap: min(4.21875vw, 54px) min(2.8125vw, 36px);
    padding-inline: 0;
  }
}

.post-body .case-item {
  position: relative;
  width: 100%;
  border: 1px solid #dcdcdc;
  background-color: #fff;
}
@media (min-width: 960px) {
  .post-body .case-item {
    width: calc((100% - min(5.625vw, 72px)) / 3);
  }
}

.post-body .case-item .image-box img {
  display: block;
  width: 100%;
  height: auto;
}

.post-body .case-item .content-box {
  padding: 16px 20px 12px;
}

.post-body .case-item .case__title {
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-left: none;
  border-bottom: 1px solid #dcdcdc;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .post-body .case-item .case__title {
    margin-top: min(0.3125vw, 4px);
    font-size: min(1.40625vw, 18px);
  }
}

.post-body .case-item .case__url {
  font-size: 10px;
  font-weight: 400;
  color: #16478e;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .post-body .case-item .case__url {
    font-size: min(0.9375vw, 12px);
  }
}

.post-body .case-item .case__desc {
  margin: 12px 0 8px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.2;
}
@media (min-width: 960px) {
  .post-body .case-item .case__desc {
    font-size: min(1.09375vw, 14px);
  }
}

.post-body .case-item-inner + a {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background-color: rgba(20, 29, 42, 0.7);
  color: #fff;
  opacity: 0;
  text-decoration: none;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .post-body .case-item-inner + a:hover {
    opacity: 1;
  }
}
.post-body :is(.well, .well2, .well3, .post_col) {
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.87;
}
@media (min-width: 960px) {
  .post-body :is(.well, .well2, .well3, .post_col) {
    font-size: min(1.40625vw, 18px);
    line-height: 2;
  }
}

.post-body .wp-block-quote {
  position: relative;
  margin-inline: 0;
  padding: 46px 20px 25px 22px;
  border: none;
  background-color: #dae1eb;
  font-style: normal;
}
@media (min-width: 960px) {
  .post-body .wp-block-quote {
    padding: min(3.75vw, 48px) min(2.5vw, 32px) min(1.875vw, 24px);
  }
}

.post-body .wp-block-quote::before,
.post-body .wp-block-quote::after {
  position: absolute;
  color: #094A95;
  font-family: Georgia, serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 960px) {
  .post-body .wp-block-quote::before,
  .post-body .wp-block-quote::after {
    font-size: min(3.75vw, 48px);
  }
}

.post-body .wp-block-quote::before {
  content: "“";
  top: 14px;
  left: 20px;
}
@media (min-width: 960px) {
  .post-body .wp-block-quote::before {
    top: min(1.25vw, 16px);
    left: min(2.34375vw, 30px);
  }
}

.post-body .wp-block-quote::after {
  content: "”";
  right: 20px;
  bottom: 2px;
}
@media (min-width: 960px) {
  .post-body .wp-block-quote::after {
    right: min(2.34375vw, 30px);
    bottom: min(0.15625vw, 2px);
  }
}

.post-body .wp-block-quote p {
  margin-top: 0;
}

.post-body .wp-block-quote cite {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-style: normal;
  line-height: 2;
}
@media (min-width: 960px) {
  .post-body .wp-block-quote cite {
    margin-top: 0;
    font-size: min(1.40625vw, 18px);
  }
}

.post-body blockquote:where(:not(.wp-block-quote)) {
  position: relative;
  margin-inline: 0;
  padding: 26px 32px;
  background-color: #f9f9f9;
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-style: italic;
  line-height: 1.87;
}
@media (min-width: 960px) {
  .post-body blockquote:where(:not(.wp-block-quote)) {
    padding: min(2.03125vw, 26px) min(2.5vw, 32px);
    font-size: min(1.40625vw, 18px);
    line-height: 2;
  }
}

.post-body blockquote:where(:not(.wp-block-quote))::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: -20px;
  z-index: 2;
  font-size: 60px;
  line-height: 1;
}

.post-body blockquote:where(:not(.wp-block-quote))::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-width: 0 0 40px 40px;
  border-style: solid;
  border-color: transparent #fff;
}

.post-body blockquote:where(:not(.wp-block-quote)) > * + * {
  margin-top: 1em;
}

.post-body :where(blockquote:not(.wp-block-quote)) h4 {
  display: table;
  margin-top: 0;
  padding: 7px 14px;
  border-left: none;
  background-color: #e4eaf3;
  font-size: 15px;
  font-weight: 600;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .post-body :where(blockquote:not(.wp-block-quote)) h4 {
    padding: min(0.625vw, 8px) min(1.25vw, 16px);
    font-size: min(1.328125vw, 17px);
  }
}

.post-body figure.wp-block-table {
  margin-inline: 0;
  overflow-x: auto;
}

.post-body table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.post-body th,
.post-body td {
  padding: 10px 6px;
  border: 2px solid #dae1eb;
  font-size: 12px;
  font-weight: 500;
  color: inherit;
  text-align: center;
  line-height: 1.58;
}
@media (min-width: 960px) {
  .post-body th,
  .post-body td {
    padding: min(1.25vw, 16px) min(2.03125vw, 26px);
    font-size: min(1.171875vw, 15px);
    line-height: 1.8;
  }
}

.post-body :is(th, td):has(> :is(p, ul, ol, h4, h5, div)) {
  text-align: left;
  vertical-align: top;
}

.post-body :is(th, td) > :first-child {
  margin-top: 0;
}

.post-body :is(table, tr, th, td)[style*=height] {
  height: auto !important;
}

.post-body :is(th, td) p {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-align: inherit;
}

.post-body td:first-child:nth-last-child(2) ~ td,
.post-body th:first-child:nth-last-child(2) ~ th {
  text-align: left;
}

.post-body th {
  font-weight: 700;
  background-color: #ebf3f5;
}

.post-body td:first-child:nth-last-child(2):not(:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) td),
.post-body th:first-child:nth-last-child(2):not(:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) th) {
  width: 34%;
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) {
  font-size: 12px;
  font-weight: 400;
  line-height: 2.4;
  text-align: left;
  vertical-align: middle;
}
@media (min-width: 960px) {
  :is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) {
    padding: min(0.78125vw, 10px) min(1.171875vw, 15px);
    font-size: min(1.09375vw, 14px);
  }
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) th {
  font-weight: 700;
  text-align: center;
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) :is(li, h4, h5) {
  font-size: inherit;
  line-height: inherit;
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) li {
  font-weight: inherit;
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) ul li {
  padding-left: 1.4em;
}

:is(.single-column__body, .single-news__body, .single-seminar__body, .single-case__body) table:not(.wp-block-table table) :is(th, td) ul li::before {
  left: 0.2em;
  top: 0.95em;
  width: 0.5em;
  height: 0.5em;
}

.post-body .wp-block-buttons {
  gap: 12px;
}
@media (min-width: 960px) {
  .post-body .wp-block-buttons {
    gap: min(1.25vw, 16px);
  }
}

.post-body .wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 70px;
  padding: 14px 78px 14px 46px;
  border: 1.5px solid transparent;
  border-radius: 50px;
  background-color: #094A95;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .post-body .wp-block-button__link {
    min-height: min(5.46875vw, 70px);
    padding: min(1.25vw, 16px) min(7.8125vw, 100px) min(1.25vw, 16px) min(3.75vw, 48px);
    border-radius: min(3.90625vw, 50px);
    font-size: min(1.328125vw, 17px);
  }
}

.post-body .wp-block-button__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  transition: background-color 0.3s;
}
@media (min-width: 960px) {
  .post-body .wp-block-button__link::before {
    right: min(1.5625vw, 20px);
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
  }
}

.post-body .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #094A95;
  border-right: 2px solid #094A95;
  transform: translate(50%, -50%) rotate(45deg);
  transition: border-color 0.3s;
}
@media (min-width: 960px) {
  .post-body .wp-block-button__link::after {
    right: min(3.125vw, 40px);
    width: min(0.625vw, 8px);
    height: min(0.625vw, 8px);
  }
}

@media (hover: hover) {
  .post-body a:hover {
    opacity: 1;
  }
  .post-body .wp-block-button__link:hover {
    background-color: #fff;
    border-color: #094A95;
    color: #094A95;
  }
  .post-body .wp-block-button__link:hover::before {
    background-color: #094A95;
  }
  .post-body .wp-block-button__link:hover::after {
    border-color: #fff;
  }
}
.footer {
  background-color: #fff;
  position: relative;
}

.footer__inner {
  position: relative;
  padding: 30px 10px;
}
@media (min-width: 960px) {
  .footer__inner {
    max-width: min(100vw, 1280px);
    margin: 0 auto;
    padding: min(3.125vw, 40px) min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .footer__head {
    display: flex;
    align-items: center;
    gap: min(3.75vw, 48px);
    margin-bottom: min(3.59375vw, 46px);
  }
}

.footer__logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
@media (min-width: 960px) {
  .footer__logo {
    gap: min(1.25vw, 16px);
  }
}

.footer__logo-mark {
  flex-shrink: 0;
  width: 60px;
  height: auto;
}
@media (min-width: 960px) {
  .footer__logo-mark {
    width: min(4.6875vw, 60px);
  }
}

.footer__logo-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 960px) {
  .footer__logo-body {
    gap: min(0.625vw, 8px);
  }
}

.footer__logo-text {
  width: 230px;
  height: auto;
}
@media (min-width: 960px) {
  .footer__logo-text {
    width: min(18.75vw, 240px);
  }
}

.footer__logo-tagline {
  font-size: 13px;
  font-weight: 700;
  color: #5b6b7b;
  text-align: left;
  line-height: 1.5;
  letter-spacing: -0.04em;
}
@media (min-width: 960px) {
  .footer__logo-tagline {
    font-size: min(1.09375vw, 14px);
    white-space: nowrap;
  }
}

.footer__sns {
  display: flex;
  align-items: center;
}
@media (max-width: 959px) {
  .footer__sns {
    gap: 16px;
    margin-top: 12px;
    margin-left: 10px;
  }
}
@media (min-width: 960px) {
  .footer__sns {
    margin-top: 0;
    gap: min(1.40625vw, 18px);
  }
}

.footer__sns-label {
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  white-space: nowrap;
  margin-top: 7px;
}
@media (min-width: 960px) {
  .footer__sns-label {
    font-size: min(1.09375vw, 14px);
  }
}

.footer__sns-list {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 960px) {
  .footer__sns-list {
    gap: min(1.71875vw, 22px);
  }
}

.footer__sns-list a {
  display: block;
}

.footer__sns-list img {
  width: auto;
  height: 20px;
}
@media (min-width: 960px) {
  .footer__sns-list img {
    height: min(1.875vw, 24px);
  }
}

@media (min-width: 960px) {
  .footer__sns-list li:nth-child(2) img {
    height: min(1.640625vw, 21px);
  }
}

@media (min-width: 960px) {
  .footer__sns-list li:nth-child(3) img {
    height: min(2.1875vw, 28px);
  }
}

.footer__nav {
  margin-top: 16px;
  padding: 0 10px;
}
@media (min-width: 960px) {
  .footer__nav {
    margin-top: 0;
    padding: 0;
  }
}

.footer__menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 15px;
       column-gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 960px) {
  .footer__menu {
    grid-template-columns: repeat(5, 1fr);
    gap: min(2.34375vw, 30px) min(2.1875vw, 28px);
  }
}

.footer__menu-item {
  min-width: 0;
}

.footer__menu-item--full {
  grid-column: 1/-1;
}

@media (min-width: 960px) {
  .footer__menu-item--tall {
    grid-row: span 2;
  }
}

@media (max-width: 959px) {
  .footer__menu-item:first-child {
    grid-column: 1/-1;
  }
}

.footer__menu-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 60px;
  padding: 8px 4px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #d8d8d8;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  text-align: left;
  text-decoration: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .footer__menu-link {
    min-height: min(3.90625vw, 50px);
    padding: min(0.625vw, 8px) min(0.15625vw, 2px);
    border-bottom-color: #e0e0e0;
    font-size: min(1.171875vw, 15px);
    white-space: nowrap;
  }
}

.footer__menu-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 30px;
  height: 1px;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .footer__menu-link::before {
    width: min(2.421875vw, 31px);
  }
}

.footer__menu-link--pc {
  display: none;
}

@media (min-width: 960px) {
  .footer__menu-link--pc {
    display: flex;
  }
  .footer__menu-link--sp {
    display: none;
  }
}
.footer__menu-link--nolink {
  cursor: default;
}

.footer__menu-arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
}
.footer__menu-arrow::before, .footer__menu-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .footer__menu-arrow::before, .footer__menu-arrow::after {
    left: 53%;
  }
}
.footer__menu-arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.footer__menu-arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.footer__menu-arrow {
  border: 1.5px solid #094A95;
  color: #094A95;
}
@media (min-width: 960px) {
  .footer__menu-arrow {
    position: relative;
    flex-shrink: 0;
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
    border-radius: 50%;
    overflow: hidden;
  }
  .footer__menu-arrow::before, .footer__menu-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.390625vw, 5px);
    height: min(0.390625vw, 5px);
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transition: transform 0.45s ease;
  }
  .footer__menu-arrow {
    border: 1.5px solid #094A95;
    color: #094A95;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .footer__menu-arrow::before, .footer__menu-arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .footer__menu-arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .footer__menu-arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .footer__menu-link:hover {
    opacity: 1;
  }
  .footer__menu-link:hover .footer__menu-arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .footer__menu-link:hover .footer__menu-arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.footer__menu-toggle {
  position: relative;
  margin-left: auto;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
@media (min-width: 960px) {
  .footer__menu-toggle {
    display: none;
  }
}

.footer__menu-toggle::before,
.footer__menu-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #094A95;
}

.footer__menu-toggle::before {
  width: 10px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.footer__menu-toggle::after {
  width: 1px;
  height: 10px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

.footer__menu-link.is-open .footer__menu-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.footer__sub-menu {
  display: none;
  width: 100%;
}
@media (min-width: 960px) {
  .footer__sub-menu {
    display: block !important;
  }
}

.footer__sub-menu-items {
  list-style: none;
  margin: 0;
  padding: 16px 0 12px;
}
@media (min-width: 960px) {
  .footer__sub-menu-items {
    padding: min(1.25vw, 16px) 0 0;
  }
}

.footer__sub-menu-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 20px;
  padding: 32px 0 24px;
}
@media (min-width: 960px) {
  .footer__sub-menu-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(2.34375vw, 30px) min(3.125vw, 40px);
    padding: min(2.34375vw, 30px) 0 min(0.15625vw, 2px);
  }
}

@media (max-width: 959px) {
  .footer__sub-menu-items + .footer__sub-menu-groups {
    padding-top: 12px;
  }
}

.footer__sub-menu-title {
  position: relative;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
  font-size: 12px;
  font-weight: 700;
  color: #898989;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.4;
}

.footer__sub-menu-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 16px;
  height: 1px;
  background-color: #094A95;
}

.footer__sub-menu-group .footer__sub-menu-items {
  padding: 8px 0 0;
}
@media (min-width: 960px) {
  .footer__sub-menu-group .footer__sub-menu-items {
    padding: min(0.625vw, 8px) 0 0;
  }
}

.footer__sub-menu-items a {
  font-size: 13px;
  font-weight: 700;
  color: #666;
  text-align: left;
  display: block;
  padding: 3px 4px;
  font-feature-settings: "palt";
  line-height: 1.5;
  text-decoration: none;
}
@media (min-width: 960px) {
  .footer__sub-menu-items a {
    padding: min(0.234375vw, 3px) 0;
    font-size: min(1.015625vw, 13px);
  }
}

.footer__copyright {
  margin-top: 32px;
  font-size: 11px;
  font-weight: 500;
  color: #094A95;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .footer__copyright {
    margin-top: min(3.75vw, 48px);
    font-size: min(0.9375vw, 12px);
    padding: 0;
  }
}

.footer__totop {
  position: absolute;
  right: 20px;
  bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  border: 1.5px solid #d8d8d8;
  transition: background-color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .footer__totop {
    right: min(2.34375vw, 30px);
    bottom: min(2.734375vw, 35px);
    width: min(4.0625vw, 52px);
    height: min(4.0625vw, 52px);
  }
}

.footer__totop-arrow {
  width: auto;
  height: 14px;
  transition: filter 0.3s;
}
@media (min-width: 960px) {
  .footer__totop-arrow {
    height: min(0.9375vw, 12px);
  }
}

@media (hover: hover) {
  .footer__totop:hover {
    opacity: 1;
    background-color: #094A95;
    border-color: #094A95;
  }
  .footer__totop:hover .footer__totop-arrow {
    filter: brightness(0) invert(1);
  }
}
.page-fv {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  background-color: #ebf3f5;
  overflow: visible;
  height: 280px;
  margin-top: 80px;
}
@media (min-width: 960px) {
  .page-fv {
    margin-top: min(6.25vw, 80px);
    height: min(22.65625vw, 290px);
  }
}

.page-fv__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.page-fv__bg--top {
  -o-object-position: center top;
     object-position: center top;
}

.breadcrumbs {
  padding: 95px 0 0;
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.6);
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .breadcrumbs {
    padding: min(8.59375vw, 110px) 0 0;
    font-size: min(1.015625vw, 13px);
  }
}
.breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.breadcrumbs a:hover {
  opacity: 0.7;
}

body:has(.page-fv, .service-fv) .breadcrumbs {
  position: absolute;
  z-index: 3;
  top: 94px;
  left: 0;
  right: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.95);
}
@media (min-width: 960px) {
  body:has(.page-fv, .service-fv) .breadcrumbs {
    top: min(7.65625vw, 98px);
    padding: 0;
  }
}

.page-fv__title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .page-fv__title {
    font-size: min(4.375vw, 56px);
  }
}

.page-fv__nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  transform: translateY(80%);
}

.page-fv__nav-list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  padding: 16px 26px;
  border-radius: 8px;
  background-color: #fff;
  border: 1px solid #E0E0E0;
}
@media (min-width: 960px) {
  .page-fv__nav-list {
    gap: min(1.5625vw, 20px);
    padding: min(1.71875vw, 22px) min(3.125vw, 40px);
    border-radius: min(0.625vw, 8px);
  }
}

.page-fv__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media (min-width: 960px) {
  .page-fv__nav-link {
    gap: min(0.390625vw, 5px);
    font-size: min(1.171875vw, 15px);
  }
}
.page-fv__nav-link:hover {
  opacity: 0.7;
}

.page-fv--center .page-fv__title {
  font-size: 24px;
  text-align: center;
}
@media (min-width: 960px) {
  .page-fv--center .page-fv__title {
    font-size: min(3.4375vw, 44px);
  }
}

.page-fv__nav-arrow {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #094A95;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%209.33%2011.9'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23094a95;%20stroke-width:%201.89px;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_モーダル'%20data-name='モーダル'%3e%3cg%3e%3cline%20class='cls-1'%20x1='4.67'%20y1='0'%20x2='4.67'%20y2='9.57'/%3e%3cpolyline%20class='cls-1'%20points='.67%206.57%204.67%2010.57%208.67%206.57'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/7px auto no-repeat;
}
@media (min-width: 960px) {
  .page-fv__nav-arrow {
    width: min(1.71875vw, 22px);
    height: min(1.71875vw, 22px);
    background-size: min(0.625vw, 8px) auto;
  }
}

.page-fv--label .page-fv__inner {
  padding-top: 20px;
}
@media (min-width: 960px) {
  .page-fv--label .page-fv__inner {
    padding-top: min(3.125vw, 40px);
  }
}

.page-fv__label {
  width: -moz-fit-content;
  width: fit-content;
  margin: 16px auto 0;
  padding: 5px 9px;
  border-radius: 4px;
  background-color: #fff;
  font-size: 13px;
  font-weight: 400;
  color: #094A95;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .page-fv__label {
    margin-top: min(2.03125vw, 26px);
    padding: min(0.390625vw, 5px) min(1.015625vw, 13px);
    border-radius: min(0.625vw, 8px);
    font-size: min(1.5625vw, 20px);
    line-height: 1.5;
  }
}

article.page-default {
  padding: 54px 0 108px;
}
@media (min-width: 960px) {
  article.page-default {
    padding: min(5.390625vw, 69px) 0 min(7.03125vw, 90px);
  }
}

@media (min-width: 960px) {
  .page-default__inner {
    max-width: min(93.75vw, 1200px);
  }
}

.thanks__box {
  padding: 50px 25px;
  border-radius: 16px;
  text-align: center;
}
@media (min-width: 960px) {
  .thanks__box {
    padding: min(6.09375vw, 78px) min(3.125vw, 40px) min(5.234375vw, 67px);
    border-radius: min(1.5625vw, 20px);
  }
}

.thanks__title {
  font-size: 22px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .thanks__title {
    font-size: min(3.125vw, 40px);
  }
}

.thanks__text {
  margin-top: 22px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .thanks__text {
    margin-top: min(2.1875vw, 28px);
    font-size: min(1.171875vw, 15px);
  }
}

.thanks__title + .thanks__text {
  margin-top: 34px;
}
@media (min-width: 960px) {
  .thanks__title + .thanks__text {
    margin-top: min(3.90625vw, 50px);
  }
}

.thanks__btn {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .thanks__btn {
    margin-top: min(2.734375vw, 35px);
  }
}

.thanks__btn .btn {
  padding-right: 68px;
}
@media (min-width: 960px) {
  .thanks__btn .btn {
    min-width: min(23.4375vw, 300px);
    padding-block: min(1.71875vw, 22px);
    padding-right: min(7.03125vw, 90px);
  }
}

.thanks--card {
  padding: 60px 0 70px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .thanks--card {
    padding: min(6.25vw, 80px) 0 min(7.578125vw, 97px);
  }
}

.thanks--card .thanks__box {
  background-color: #fff;
}
@media (min-width: 960px) {
  .thanks--card .thanks__box {
    max-width: min(85.9375vw, 1100px);
    margin-inline: auto;
  }
}

.thanks--card + .top-info {
  padding-top: 45px;
}
@media (min-width: 960px) {
  .thanks--card + .top-info {
    padding-top: min(5vw, 64px);
  }
}

.thanks--flat {
  padding: 28px 0;
}
@media (min-width: 960px) {
  .thanks--flat {
    padding: min(3.125vw, 40px) 0 min(3.4375vw, 44px);
  }
}

.thanks--flat .thanks__box {
  padding: 64px 20px 63px;
  border-radius: 18px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .thanks--flat .thanks__box {
    padding: min(6.25vw, 80px) min(3.125vw, 40px) min(6.953125vw, 89px);
    border-radius: min(1.5625vw, 20px);
  }
}

@media (min-width: 960px) {
  .thanks--flat .thanks__title {
    font-size: min(3.28125vw, 42px);
  }
}

@media (max-width: 959px) {
  .thanks--flat .thanks__title + .thanks__text {
    margin-top: 39px;
    font-size: 15px;
    font-feature-settings: "halt";
    line-height: 1.93;
    letter-spacing: 0.04em;
    text-align: justify;
  }
}

@media (max-width: 959px) {
  .thanks--flat .thanks__btn {
    margin-top: 37px;
  }
}

@media (max-width: 959px) {
  .thanks--flat .thanks__btn .btn {
    width: 300px;
    max-width: 100%;
    min-height: 70px;
    font-size: 17px;
  }
}
@media (min-width: 960px) {
  .thanks--flat .thanks__btn .btn {
    min-width: min(26.5625vw, 340px);
  }
}

@media (max-width: 959px) {
  .thanks--flat .thanks__btn .btn__arrow {
    right: 20px;
    width: 40px;
    height: 40px;
  }
  .thanks--flat .thanks__btn .btn__arrow::before, .thanks--flat .thanks__btn .btn__arrow::after {
    width: 8px;
    height: 8px;
  }
}

.thanks--flat + .top-column {
  padding-top: 40px;
}
@media (min-width: 960px) {
  .thanks--flat + .top-column {
    padding-top: min(3.125vw, 40px);
  }
}

.lightbox {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  background: none;
  padding: 0;
  overflow: visible;
}

.lightbox[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox:focus-visible {
  outline: none;
}

.lightbox::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}

.lightbox[open]::backdrop {
  animation: lightbox-fade-in 0.3s ease-out;
}

.lightbox[open] .lightbox__body {
  animation: lightbox-zoom-in 0.3s ease-out;
}

@keyframes lightbox-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes lightbox-zoom-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
html:has(.lightbox[open]) {
  overflow: hidden;
}

.lightbox__body {
  position: relative;
}

.lightbox__image {
  display: block;
  width: auto;
  max-width: calc(100vw - 60px);
  max-height: calc(100svh - 60px);
  background-color: #fff;
}
@media (min-width: 960px) {
  .lightbox__image {
    width: min(1100px, 80vw, (100svh - 160px) * var(--lightbox-ratio));
    max-width: none;
    max-height: none;
  }
}

.lightbox__close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  border: 1px solid #054994;
  border-radius: 50%;
  background-color: #054994;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .lightbox__close {
    top: max(-1.953125vw, -25px);
    right: max(-1.953125vw, -25px);
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
}

.lightbox__close::before,
.lightbox__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1.5px;
  background-color: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 0.3s;
}
@media (min-width: 960px) {
  .lightbox__close::before,
  .lightbox__close::after {
    width: min(1.71875vw, 22px);
  }
}

.lightbox__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.lightbox-trigger {
  display: block;
  width: 100%;
  background: none;
  padding: 0;
  cursor: zoom-in;
}

.lightbox-trigger img {
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .lightbox__close:hover {
    border-color: #054994;
    background-color: #fff;
  }
  .lightbox__close:hover::before,
  .lightbox__close:hover::after {
    background-color: #054994;
  }
  .lightbox-trigger:hover img {
    opacity: 0.7;
  }
}
.top-fv {
  position: relative;
  width: 100%;
  min-height: calc(min(100svh, 1000px) - 56px);
  overflow: hidden;
  background-color: #032852;
}
@media (min-width: 960px) {
  .top-fv {
    height: calc(100svh - 60px);
    min-height: 580px;
    max-height: 1000px;
  }
}

.top-fv__slider {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.top-fv__image {
  position: absolute;
  inset: 0 0 auto;
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 960px) {
  .top-fv__image {
    inset: 0;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.top-fv__slider .swiper-wrapper,
.top-fv__slider .swiper-slide {
  height: 100%;
}

.top-fv__slider:not(.swiper-initialized) .swiper-slide {
  width: 100%;
}

.top-fv__slider:not(.swiper-initialized) .swiper-slide ~ .swiper-slide {
  display: none;
}

.top-fv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 540px;
  padding: max(309px, 82.4vw) 20px 136px;
  margin: 0 auto;
}
@media (min-width: 960px) {
  .top-fv__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    max-width: min(112.5vw, 1440px);
    padding: min(11.71875vw, 150px) min(4.6875vw, 60px) min(4.6875vw, 60px);
  }
}

.top-fv__body {
  width: 100%;
}
@media (min-width: 960px) {
  .top-fv__body {
    max-width: min(50.78125vw, 650px);
  }
}

.top-fv__catch {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.45;
  letter-spacing: 0em;
}
@media (max-width: 959px) {
  .top-fv__catch {
    line-height: 1.4;
  }
}
@media (min-width: 960px) {
  .top-fv__catch {
    font-size: min(4.375vw, 56px);
  }
}

.top-fv__sub {
  margin-top: 5px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.5;
}
@media (min-width: 960px) {
  .top-fv__sub {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.875vw, 24px);
  }
}

.top-fv__stats {
  margin-top: 19px;
  display: flex;
  align-items: stretch;
  width: 100%;
  background-color: #fff;
}
@media (min-width: 960px) {
  .top-fv__stats {
    width: min(39.0625vw, 500px);
    margin-top: min(2.1875vw, 28px);
  }
}

.top-fv__stat {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  white-space: nowrap;
  padding: min(2vw, 10.8px) min(2.1333333333vw, 8px);
}
.top-fv__stat:not(:last-child) {
  border-right: 1px solid #e0e0e0;
}
@media (min-width: 960px) {
  .top-fv__stat {
    padding: min(0.703125vw, 9px) min(1.09375vw, 14px);
  }
}

.top-fv__stat:last-child {
  min-width: -moz-max-content;
  min-width: max-content;
}

.top-fv__stat-label {
  font-size: min(2.9333333333vw, 15.84px);
  font-weight: 700;
  color: #054994;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .top-fv__stat-label {
    font-size: min(1.171875vw, 15px);
  }
}

.top-fv__stat-num {
  margin-top: 2px;
  font-feature-settings: "palt";
  font-size: min(6.9333333333vw, 37.44px);
  font-weight: 700;
  color: #00a3dc;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .top-fv__stat-num {
    margin-top: min(0.15625vw, 2px);
    font-size: min(2.8125vw, 36px);
  }
}

.top-fv__stat-num .top-fv__stat-unit {
  font-size: min(4vw, 21.6px);
  color: #054994;
}
@media (min-width: 960px) {
  .top-fv__stat-num .top-fv__stat-unit {
    font-size: min(1.5625vw, 20px);
  }
}

.top-fv__stat-note {
  margin-top: 0;
  font-size: min(2.9333333333vw, 15.84px);
  font-weight: 700;
  color: #054994;
  text-align: center;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .top-fv__stat-note {
    font-size: min(1.015625vw, 13px);
  }
}

.top-fv__stat-note--anno {
  font-size: min(2.1333333333vw, 11.52px);
}
@media (min-width: 960px) {
  .top-fv__stat-note--anno {
    font-size: min(0.78125vw, 10px);
  }
}

.top-fv__cta {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  width: 100%;
}
@media (min-width: 960px) {
  .top-fv__cta {
    margin-top: min(2.1875vw, 28px);
    gap: min(0.78125vw, 10px);
    width: min(39.0625vw, 500px);
  }
}

.top-fv__cta .btn {
  flex: 1;
  min-width: 0;
  height: 60px;
  gap: 6px;
  white-space: normal;
  word-break: keep-all;
  text-align: left;
  line-height: 1.35;
  justify-content: center;
  font-size: 11px;
  padding: 0 42px 0 12px;
}
@media (min-width: 960px) {
  .top-fv__cta .btn {
    font-size: min(1.171875vw, 15px);
    height: min(6.25vw, 80px);
    gap: min(0.9375vw, 12px);
    padding: 0 min(4.6875vw, 60px) 0 min(2.03125vw, 26px);
    white-space: nowrap;
    text-align: center;
  }
}

.top-fv__cta .btn .btn__arrow {
  position: absolute !important;
}
@media (max-width: 959px) {
  .top-fv__cta .btn .btn__arrow {
    width: 24px;
    height: 24px;
  }
}
@media (min-width: 960px) {
  .top-fv__cta .btn .btn__arrow {
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
  }
  .top-fv__cta .btn .btn__arrow::before, .top-fv__cta .btn .btn__arrow::after {
    width: 7px;
    height: 7px;
  }
}

.top-fv__cta .btn--blue {
  border-color: #fff;
}

.top-maker {
  flex-shrink: 0;
  background-color: #fff;
}

.top-maker__box {
  height: 56px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
@media (min-width: 960px) {
  .top-maker__box {
    height: 60px;
  }
}

.top-maker__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}

.top-maker__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-maker__item {
  display: flex;
  align-items: center;
  margin-right: 16px;
}
@media (min-width: 960px) {
  .top-maker__item {
    margin-right: 20px;
  }
}

.top-maker__item img {
  display: block;
  width: auto;
  height: 45px;
}
@media (min-width: 960px) {
  .top-maker__item img {
    height: 48px;
  }
}

.top-about {
  position: relative;
  background-color: #054994;
  overflow: hidden;
  padding: 56px 0 0;
}
@media (min-width: 960px) {
  .top-about {
    padding: min(10.9375vw, 140px) 0 0;
  }
}

.top-about__head {
  position: relative;
}
@media (min-width: 960px) {
  .top-about__head {
    display: grid;
    align-items: center;
  }
}

.top-about__head .heading {
  position: relative;
  z-index: 1;
}
@media (min-width: 960px) {
  .top-about__head .heading {
    grid-area: 1/1;
  }
}

.top-about__head .heading__title {
  font-feature-settings: "palt";
}

.top-about__head-img {
  width: calc(100% + 40px);
  margin: -15px -20px 0;
}
@media (min-width: 960px) {
  .top-about__head-img {
    grid-area: 1/1;
    justify-self: end;
    z-index: 0;
    width: min(32.8125vw, 420px);
    margin: max(-3.671875vw, -47px) max(-0.78125vw, -10px) 0 0;
    opacity: 1;
  }
}

.top-about__head-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .top-about__head-img img {
    border-radius: min(0.9375vw, 12px);
  }
}

.top-about__features {
  position: relative;
  margin-top: -40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  background-color: #fff;
  border-radius: 10px;
  padding: 40px 24px 60px;
}
@media (min-width: 960px) {
  .top-about__features {
    margin-top: min(4.375vw, 56px);
    grid-template-columns: repeat(3, 1fr);
    gap: min(3.75vw, 48px);
    border-radius: min(0.78125vw, 10px);
    padding: min(3.125vw, 40px) min(4.6875vw, 60px) min(5.78125vw, 74px);
  }
}

.top-about__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.top-about__feature-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 25px;
  border-radius: 8px;
  background-color: #00a3dc;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media (min-width: 960px) {
  .top-about__feature-label {
    font-size: min(1.171875vw, 15px);
    padding: min(0.15625vw, 2px) min(1.953125vw, 25px);
  }
}

.top-about__feature-cond {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .top-about__feature-cond {
    margin-top: min(1.25vw, 16px);
    font-size: min(1.40625vw, 18px);
  }
}

.top-about__feature-arrow {
  width: 30px;
  height: auto;
  margin: 3px 0;
}
@media (min-width: 960px) {
  .top-about__feature-arrow {
    width: min(3.125vw, 40px);
    margin: min(0.546875vw, 7px) 0;
  }
}

.top-about__feature-result {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 18px;
}
@media (min-width: 960px) {
  .top-about__feature-result {
    font-size: min(2.1875vw, 28px);
    margin-bottom: min(2.65625vw, 34px);
  }
}

.top-about__feature-img {
  width: 100%;
  margin: 0;
  margin-top: auto;
}
@media (max-width: 959px) {
  .top-about__feature-img {
    width: 86%;
  }
}

.top-about__feature-img img {
  width: 100%;
  border-radius: 8px;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) {
  .top-about__feature-img img {
    border-radius: min(0.78125vw, 10px);
  }
}

.top-result {
  background-color: #094A95;
  padding: 63px 0;
}
@media (min-width: 960px) {
  .top-result {
    padding: min(6.25vw, 80px) 0;
  }
}

.top-result__stats {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 960px) {
  .top-result__stats {
    margin-top: min(4.375vw, 56px);
    grid-template-columns: repeat(4, 1fr);
    gap: min(1.5625vw, 20px);
  }
}

.top-result__stat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
  padding: 20px 0px;
  height: 125px;
}
@media (min-width: 960px) {
  .top-result__stat {
    height: min(14.0625vw, 180px);
    border-radius: min(0.625vw, 8px);
    padding: min(2.1875vw, 28px) min(1.25vw, 16px);
    gap: min(0.9375vw, 12px);
  }
}

.top-result__stat-label {
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .top-result__stat-label {
    font-size: min(1.5625vw, 20px);
  }
}

.top-result__stat-value {
  margin-top: 12px;
  font-feature-settings: "palt";
  font-size: 38px;
  font-weight: 700;
  color: #00a3dc;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .top-result__stat-value {
    margin-top: min(0.46875vw, 6px);
    font-size: min(4.375vw, 56px);
  }
}

.top-result__stat-unit {
  font-size: 14px;
  color: #094A95;
  margin-left: 2px;
}
@media (min-width: 960px) {
  .top-result__stat-unit {
    font-size: min(1.5625vw, 20px);
    margin-left: 5px;
  }
}

.top-result__stat-value--text {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0;
  font-feature-settings: "palt";
}
@media (min-width: 960px) {
  .top-result__stat-value--text {
    font-size: min(3.125vw, 40px);
  }
}

.top-result__stat-note {
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  font-size: 9px;
  font-weight: 700;
  color: #054994;
  text-align: center;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .top-result__stat-note {
    bottom: min(2.34375vw, 30px);
    font-size: min(0.859375vw, 11px);
  }
}

.top-result__logos {
  margin-top: 10px;
  background-color: #fff;
  border-radius: 10px;
  padding: 32px 20px;
}
@media (min-width: 960px) {
  .top-result__logos {
    margin-top: min(1.09375vw, 14px);
    border-radius: min(0.9375vw, 12px);
    padding: min(4.375vw, 56px) min(3.125vw, 40px) min(2.34375vw, 30px);
  }
}

.top-result__logo-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 28px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .top-result__logo-list {
    gap: 40px;
  }
}

.top-result__logo-item {
  display: flex;
  align-items: center;
}
@media (max-width: 959px) {
  .top-result__logo-item {
    justify-content: center;
    width: 27%;
  }
}

.top-result__logo-item img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 56px;
}
@media (min-width: 960px) {
  .top-result__logo-item img {
    max-height: 80px;
  }
}

.top-case {
  background-color: #f5f7fa;
  padding: 62px 0;
}
@media (min-width: 960px) {
  .top-case {
    padding: min(6.25vw, 80px) 0 min(7.8125vw, 100px);
  }
}

.top-case__body {
  margin-top: 26px;
}
@media (min-width: 960px) {
  .top-case__body {
    margin-top: min(2.5vw, 32px);
  }
}

.top-case__filter {
  position: relative;
  display: flex;
}
@media (min-width: 960px) {
  .top-case__filter {
    justify-content: center;
  }
}

.top-case__filter-label {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
}
@media (max-width: 959px) {
  .top-case__filter-label {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 12px;
  }
}
@media (min-width: 960px) {
  .top-case__filter-label {
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-right: min(1.5625vw, 20px);
    white-space: nowrap;
    font-size: min(1.09375vw, 14px);
  }
}

.top-case__tabs {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 959px) {
  .top-case__tabs {
    width: calc(100% + 20px);
    min-width: 0;
    padding: 36px 0 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: -20px;
  }
}
@media (min-width: 960px) {
  .top-case__tabs {
    position: relative;
    flex-wrap: wrap;
    gap: min(1.5625vw, 20px);
  }
}

.top-case__tab {
  flex-shrink: 0;
  padding: 14px 24px;
  border-radius: 50px;
  background-color: rgba(9, 74, 149, 0.1);
  cursor: pointer;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1;
  transition: background-color 0.3s, color 0.3s;
}
@media (min-width: 960px) {
  .top-case__tab {
    padding: min(1.171875vw, 15px) min(1.875vw, 24px);
    font-size: min(1.171875vw, 15px);
  }
}

.top-case__tab.is-active {
  background-color: #094A95;
  color: #fff;
}

@media (hover: hover) {
  .top-case__tab:hover {
    opacity: 1;
    background-color: #094A95;
    color: #fff;
  }
}
.top-case__panels {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .top-case__panels {
    margin-top: min(2.34375vw, 30px);
  }
}

.top-case__panel {
  display: none;
}

.top-case__panel.is-active {
  display: block;
  animation: top-case-panel-fade 0.35s ease;
}

@keyframes top-case-panel-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.top-case__slider-wrap {
  position: relative;
}
@media (max-width: 959px) {
  .top-case__slider-wrap {
    max-width: 360px;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .top-case__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.1875vw, 28px);
    transform: none;
  }
}

.top-case__slider .swiper-slide {
  height: auto;
  width: 100%;
}
@media (max-width: 959px) {
  .top-case__slider .swiper-slide {
    width: 315px;
  }
}

@media (max-width: 959px) {
  .top-case__slider {
    overflow: visible;
  }
}

.top-case__nav {
  position: absolute;
  top: 46%;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .top-case__nav {
    display: none;
  }
}

.top-case__nav--prev {
  left: -10px;
  transform: translateY(-50%) scaleX(-1);
}

.top-case__nav--next {
  right: -10px;
  transform: translateY(-50%);
}

.top-case__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.top-case__more {
  margin-top: 34px;
  display: flex;
  justify-content: center;
}
@media (min-width: 960px) {
  .top-case__more {
    margin-top: min(3.125vw, 40px);
  }
}

.top-service {
  position: relative;
  overflow: hidden;
  padding: 56px 0 0;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .top-service {
    padding: min(9.375vw, 120px) 0 0;
  }
}

@media (min-width: 960px) {
  .top-service__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(3.125vw, 40px);
  }
}

.top-service__head-img {
  margin: 24px 0 0;
}
@media (min-width: 960px) {
  .top-service__head-img {
    flex-shrink: 0;
    width: min(32.8125vw, 420px);
    margin: 0;
  }
}

.top-service__head-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media (min-width: 960px) {
  .top-service__head-img img {
    border-radius: min(0.9375vw, 12px);
  }
}

.top-service__diagram {
  overflow: hidden;
  margin-top: 33px;
  padding: 24px 24px 0;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 4px 20px rgba(9, 74, 149, 0.06);
}
@media (min-width: 960px) {
  .top-service__diagram {
    margin-top: min(4.375vw, 56px);
    padding: min(3.75vw, 48px) min(3.125vw, 40px) min(4.375vw, 56px);
    border-radius: min(1.5625vw, 20px);
  }
}

.top-service__targets {
  position: relative;
  margin: 0 auto;
  padding: 35px 8px 24px;
  border-radius: 12px;
  background-color: #eef4fb;
}
@media (min-width: 960px) {
  .top-service__targets {
    padding: min(3.125vw, 40px) min(3.125vw, 40px);
    border-radius: min(1.09375vw, 14px);
    max-width: min(71.875vw, 920px);
  }
}

.top-service__targets-label {
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .top-service__targets-label {
    font-size: min(1.875vw, 24px);
    top: -16px;
  }
}

.top-service__targets-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .top-service__targets-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: min(0.9375vw, 12px);
  }
}

.top-service__targets-list li {
  padding: 9px 14px;
  border-radius: 6px;
  background-color: #094A95;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .top-service__targets-list li {
    padding: min(1.09375vw, 14px) min(0vw, 0px);
    font-size: min(1.25vw, 16px);
  }
}

.top-service__arrow {
  position: relative;
  margin: -12px auto 0;
  width: 80px;
}
@media (min-width: 960px) {
  .top-service__arrow {
    margin-top: max(-2.734375vw, -35px);
    width: min(9.375vw, 120px);
  }
}

.top-service__arrow img {
  display: block;
  width: 100%;
  height: auto;
}

.top-service__area-title {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .top-service__area-title {
    margin-top: min(1.40625vw, 18px);
    font-size: min(2.5vw, 32px);
  }
}

.top-service__area-img {
  margin: 10px -16px 0;
}
@media (min-width: 960px) {
  .top-service__area-img {
    margin: min(0.625vw, 8px) auto 0;
    max-width: min(71.875vw, 920px);
  }
}

.top-service__area-img img {
  display: block;
  width: 100%;
  height: auto;
}

.top-service__marquee {
  overflow: hidden;
  margin: 24px -24px -28px;
}
@media (min-width: 960px) {
  .top-service__marquee {
    margin-top: min(0.46875vw, 6px);
    margin-right: max(-3.125vw, -40px);
    margin-bottom: max(-9.84375vw, -126px);
    margin-left: max(-3.125vw, -40px);
  }
}

.top-service__marquee-track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
}

.top-service__marquee-list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-service__marquee-list li {
  margin-right: 40px;
}
@media (min-width: 960px) {
  .top-service__marquee-list li {
    margin-right: min(6.25vw, 80px);
  }
}

.top-service__marquee-list img {
  display: block;
  width: auto;
  height: 100px;
}
@media (min-width: 960px) {
  .top-service__marquee-list img {
    height: min(20.3125vw, 260px);
  }
}

.top-service-list {
  background-color: #ebf3f5;
  padding: 56px 0 0;
}
@media (min-width: 960px) {
  .top-service-list {
    padding: min(6.25vw, 80px) 0;
  }
}

.top-service-list__grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 960px) {
  .top-service-list__grid {
    margin-top: min(4.375vw, 56px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(2.1875vw, 28px);
  }
}

.top-service-list__card {
  padding: 18px 20px;
  border-radius: 8px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .top-service-list__card {
    padding: min(1.5625vw, 20px) min(2.1875vw, 28px) min(3.90625vw, 50px);
    border-radius: min(0.625vw, 8px);
  }
}

.top-service-list__card-title {
  position: relative;
  padding-bottom: 14px;
  font-feature-settings: "palt";
  font-size: 20px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .top-service-list__card-title {
    padding-bottom: min(2.34375vw, 30px);
    font-size: min(1.71875vw, 22px);
  }
}

.top-service-list__card-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #054994;
}
@media (min-width: 960px) {
  .top-service-list__card-title::after {
    width: 100%;
    height: 4px;
  }
}

.top-service-list__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0px 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .top-service-list__list {
    grid-template-columns: 1fr;
    gap: min(0.46875vw, 6px);
    margin-top: min(1.71875vw, 22px);
  }
}

.top-service-list__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
@media (min-width: 960px) {
  .top-service-list__link {
    gap: min(0.78125vw, 10px);
  }
}

.top-service-list__link-text {
  position: relative;
  font-size: 11px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
  transition: color 0.3s ease;
}
@media (min-width: 960px) {
  .top-service-list__link-text {
    font-size: min(1.40625vw, 18px);
  }
}

.top-service-list__link-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1.5px;
  background: #00a3dc;
  transition: width 0.3s ease;
}

.top-service-list__link-arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
}
.top-service-list__link-arrow::before, .top-service-list__link-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 4px;
  height: 4px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .top-service-list__link-arrow::before, .top-service-list__link-arrow::after {
    left: 53%;
  }
}
.top-service-list__link-arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.top-service-list__link-arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.top-service-list__link-arrow {
  flex-shrink: 0;
  border: 1px solid #094A95;
  color: #094A95;
  margin-top: 2px;
}

@media (hover: hover) {
  .top-service-list__link:hover {
    opacity: 1;
  }
  .top-service-list__link:hover .top-service-list__link-text::after {
    width: 100%;
  }
  .top-service-list__link:hover .top-service-list__link-arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .top-service-list__link:hover .top-service-list__link-arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.top-service-list__more {
  margin-top: 36px;
  display: flex;
  justify-content: center;
}
@media (min-width: 960px) {
  .top-service-list__more {
    margin-top: min(4.375vw, 56px);
  }
}

@media (min-width: 960px) {
  .top-service-list__more .btn {
    justify-content: left;
  }
}

.top-faq {
  background-color: #ebf3f5;
  padding: 63px 0 80px;
}
@media (min-width: 960px) {
  .top-faq {
    padding: 0 0 min(7.03125vw, 90px);
  }
}

@media (min-width: 960px) {
  .top-faq__inner {
    max-width: min(81.25vw, 1040px);
  }
}

.top-faq__list {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #a9aeb8;
}
@media (min-width: 960px) {
  .top-faq__list {
    margin-top: min(4.375vw, 56px);
  }
}

.top-faq__item {
  border-top: 1px solid #a9aeb8;
  background-color: #fff;
}

.top-faq__q {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 26px 15px 26px 22px;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  letter-spacing: 0.17em;
}
@media (min-width: 960px) {
  .top-faq__q {
    gap: min(1.25vw, 16px);
    padding: min(2.1875vw, 28px) min(3.125vw, 40px) min(2.1875vw, 28px) min(2.34375vw, 30px);
  }
}

.top-faq__q-icon {
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .top-faq__q-icon {
    font-size: min(2.8125vw, 36px);
  }
}

.top-faq__q-text {
  flex: 1;
  font-size: 17px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .top-faq__q-text {
    font-size: min(1.328125vw, 17px);
  }
}

.top-faq__q-toggle {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-right: 2px solid #094A95;
  border-bottom: 2px solid #094A95;
  transform: translateY(-25%) rotate(45deg);
  transition: transform 0.3s ease;
}
@media (min-width: 960px) {
  .top-faq__q-toggle {
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
  }
}

.top-faq__q.is-open .top-faq__q-toggle {
  transform: translateY(25%) rotate(225deg);
}

.top-faq__a {
  display: none;
}

.top-faq__a-inner {
  display: flex;
  gap: 20px;
  padding: 0 22px 20px 22px;
}
@media (min-width: 960px) {
  .top-faq__a-inner {
    gap: min(1.5625vw, 20px);
    padding: 0 min(2.34375vw, 30px) min(2.8125vw, 36px);
  }
}

.top-faq__a-icon {
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .top-faq__a-icon {
    font-size: min(2.8125vw, 36px);
  }
}

.top-faq__a-body {
  flex: 1;
}

.top-faq__a-body p {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  padding-top: 0px;
  line-height: 2;
}
@media (min-width: 960px) {
  .top-faq__a-body p {
    font-size: min(1.171875vw, 15px);
    padding-top: 10px;
    line-height: 1.9;
  }
}

.top-faq__a-cta {
  display: flex;
  justify-content: center;
}
@media (max-width: 959px) {
  .top-faq__a-cta {
    margin-top: 25px;
    margin-left: -36px;
  }
}
@media (min-width: 960px) {
  .top-faq__a-cta {
    margin-top: min(2.1875vw, 28px);
    margin-left: max(-3.515625vw, -45px);
  }
}

.top-faq__a-cta .btn {
  min-width: 200px;
  padding-left: 10px;
}
@media (min-width: 960px) {
  .top-faq__a-cta .btn {
    min-width: min(23.4375vw, 300px);
  }
}

.top-info {
  background-color: #fff;
  padding: 63px 0 0;
}
@media (min-width: 960px) {
  .top-info {
    padding: min(7.03125vw, 90px) 0 0;
  }
}

.top-info__feature {
  margin-top: 37px;
  padding: 30px 20px 44px 20px;
  border-radius: 12px;
  border: 10px solid #E1E3E6;
}
@media (min-width: 960px) {
  .top-info__feature {
    display: flex;
    gap: min(3.90625vw, 50px);
    margin-top: min(4.6875vw, 60px);
    padding: min(3.125vw, 40px) min(3.59375vw, 46px) min(3.59375vw, 46px) min(3.59375vw, 46px);
    border-radius: min(1.25vw, 16px);
    border: 12px solid #E1E3E6;
  }
}

@media (min-width: 960px) {
  .top-info__feature-thumb {
    flex-shrink: 0;
    width: min(30.78125vw, 394px);
    margin-top: min(1.5625vw, 20px);
  }
}

.top-info__feature-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.top-info__feature-body {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .top-info__feature-body {
    flex: 1;
    margin-top: 0;
  }
}

.top-info__feature-title {
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .top-info__feature-title {
    font-size: min(2.5vw, 32px);
  }
}

.top-info__feature-title .is-accent {
  color: #000;
}

.top-info__feature-text {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .top-info__feature-text {
    margin-top: min(2.1875vw, 28px);
    font-size: min(1.171875vw, 15px);
  }
}

@media (max-width: 959px) {
  .top-info__feature-cta {
    margin-top: 30px;
    text-align: center;
  }
}
@media (min-width: 960px) {
  .top-info__feature-cta {
    margin-top: min(2.734375vw, 35px);
  }
}

@media (min-width: 960px) {
  .top-info__feature-cta .btn {
    padding-left: min(3.90625vw, 50px);
    justify-content: flex-start;
  }
}

.top-download {
  background-color: #fff;
  padding: 56px 0 0;
}
@media (min-width: 960px) {
  .top-download {
    padding: min(5.46875vw, 70px) 0;
  }
}

.top-download__slider-wrap {
  position: relative;
  margin-top: 28px;
}
@media (max-width: 959px) {
  .top-download__slider-wrap {
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (min-width: 960px) {
  .top-download__slider-wrap {
    margin-top: min(4.375vw, 56px);
  }
}

@media (min-width: 960px) {
  .top-download__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.1875vw, 28px);
    transform: none;
  }
}

.top-download__slider .swiper-slide {
  height: auto;
}
@media (min-width: 960px) {
  .top-download__slider .swiper-slide {
    width: auto;
  }
}
@media (max-width: 959px) {
  .top-download__slider .swiper-slide {
    width: 300px;
  }
}

@media (max-width: 959px) {
  .top-download__slider {
    overflow: visible;
  }
}

.top-download__nav {
  position: absolute;
  top: 38%;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .top-download__nav {
    display: none;
  }
}

.top-download__nav--prev {
  left: 5px;
  transform: translateY(-50%) scaleX(-1);
}

.top-download__nav--next {
  right: 5px;
  transform: translateY(-50%);
}

.top-download__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.top-download__more {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media (min-width: 960px) {
  .top-download__more {
    margin-top: min(4.375vw, 56px);
  }
}

@media (max-width: 959px) {
  .top-download__more .btn {
    padding-right: 52px;
  }
}

.top-column {
  background-color: #fff;
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .top-column {
    padding: min(0.78125vw, 10px) 0;
  }
}

.top-column__slider-wrap {
  position: relative;
  margin-top: 28px;
}
@media (max-width: 959px) {
  .top-column__slider-wrap {
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (min-width: 960px) {
  .top-column__slider-wrap {
    margin-top: min(3.515625vw, 45px);
  }
}

@media (min-width: 960px) {
  .top-column__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.1875vw, 28px);
    transform: none;
  }
}

.top-column__slider .swiper-slide {
  height: auto;
}
@media (min-width: 960px) {
  .top-column__slider .swiper-slide {
    width: auto;
  }
}
@media (max-width: 959px) {
  .top-column__slider .swiper-slide {
    width: 300px;
  }
}

@media (max-width: 959px) {
  .top-column__slider {
    overflow: visible;
  }
}

.top-column__nav {
  position: absolute;
  top: 30%;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .top-column__nav {
    display: none;
  }
}

.top-column__nav--prev {
  left: 5px;
  transform: translateY(-50%) scaleX(-1);
}

.top-column__nav--next {
  right: 5px;
  transform: translateY(-50%);
}

.top-column__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.top-column__more {
  margin-top: 26px;
  display: flex;
  justify-content: center;
}
@media (min-width: 960px) {
  .top-column__more {
    margin-top: min(3.515625vw, 45px);
  }
}

.top-column__more .btn {
  min-width: auto;
  width: 260px;
}
@media (min-width: 960px) {
  .top-column__more .btn {
    width: min(19.53125vw, 250px);
  }
}

.top-youtube {
  background-color: #fff;
  padding: 60px 0 75px;
}
@media (min-width: 960px) {
  .top-youtube {
    padding: min(5.46875vw, 70px) 0 min(7.03125vw, 90px);
  }
}

.top-youtube__slider-wrap {
  position: relative;
  margin-top: 28px;
}
@media (max-width: 959px) {
  .top-youtube__slider-wrap {
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (min-width: 960px) {
  .top-youtube__slider-wrap {
    margin-top: min(3.125vw, 40px);
  }
}

@media (min-width: 960px) {
  .top-youtube__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.1875vw, 28px);
    transform: none;
  }
}

.top-youtube__slider .swiper-slide {
  height: auto;
}
@media (min-width: 960px) {
  .top-youtube__slider .swiper-slide {
    width: auto;
  }
}
@media (max-width: 959px) {
  .top-youtube__slider .swiper-slide {
    width: 300px;
  }
}

@media (max-width: 959px) {
  .top-youtube__slider {
    overflow: visible;
  }
}

.top-youtube__nav {
  position: absolute;
  top: 36%;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .top-youtube__nav {
    display: none;
  }
}

.top-youtube__nav--prev {
  left: 5px;
  transform: translateY(-50%) scaleX(-1);
}

.top-youtube__nav--next {
  right: 5px;
  transform: translateY(-50%);
}

.top-youtube__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.card-youtube {
  display: block;
  height: 100%;
}

.card-youtube__embed {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .card-youtube__embed {
    border-radius: min(0.78125vw, 10px);
  }
}

.card-youtube__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.card-youtube__text {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .card-youtube__text {
    margin-top: min(1.25vw, 16px);
    font-size: min(1.25vw, 16px);
  }
}

.top-company {
  background: #094A95 url("../img/01_top/company-bg.webp") center/648px 518px no-repeat;
  padding: 64px 0 0;
}
@media (min-width: 960px) {
  .top-company {
    padding: min(9.375vw, 120px) 0 0;
    background-size: min(78.125vw, 1000px) min(62.5vw, 800px);
  }
}

.top-company__body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "image" "content";
  gap: 22px;
  margin-top: 22px;
}
@media (min-width: 960px) {
  .top-company__body {
    grid-template-columns: 1fr min(39.0625vw, 500px);
    grid-template-areas: "content image";
    gap: min(4.375vw, 56px);
    margin-top: min(5.15625vw, 66px);
  }
}

.top-company__image {
  grid-area: image;
}

.top-company__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .top-company__image img {
    border-radius: min(0.46875vw, 6px);
  }
}

.top-company__content {
  grid-area: content;
}

.top-company__lead {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .top-company__lead {
    font-size: min(3.28125vw, 42px);
    margin-top: max(-0.703125vw, -9px);
  }
}

.top-company__lead .is-accent {
  color: #00a3dc;
}

.top-company__text {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .top-company__text {
    margin-top: min(3.125vw, 40px);
    font-size: min(1.171875vw, 15px);
  }
}

.top-company__buttons {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .top-company__buttons {
    gap: min(1.5625vw, 20px);
    margin-top: min(3.125vw, 40px);
  }
}

.top-company__buttons .btn {
  flex: 1;
  min-width: auto;
}
@media (max-width: 959px) {
  .top-company__buttons .btn {
    padding-left: 14px;
  }
}
@media (min-width: 960px) {
  .top-company__buttons .btn {
    flex: 0 0 auto;
    min-width: min(21.875vw, 280px);
  }
}

.top-news {
  background-color: #094A95;
  padding: 60px 0;
}
@media (min-width: 960px) {
  .top-news {
    padding: min(4.296875vw, 55px) 0 min(6.25vw, 80px);
  }
}

@media (min-width: 960px) {
  .top-news__inner {
    max-width: min(80.46875vw, 1030px);
  }
}

.top-news__list {
  margin-top: 32px;
  padding: 0;
  list-style: none;
  border-top: 1px solid #fff;
}
@media (min-width: 960px) {
  .top-news__list {
    margin-top: min(3.90625vw, 50px);
  }
}

.top-news__item {
  border-bottom: 1px solid #fff;
  padding: 18px 7px 18px 0;
}
@media (min-width: 960px) {
  .top-news__item {
    padding: min(2.65625vw, 34px) min(0.9375vw, 12px) min(2.65625vw, 34px) 0;
  }
}

.top-news__more {
  margin-top: 36px;
  display: flex;
  justify-content: center;
}
@media (min-width: 960px) {
  .top-news__more {
    margin-top: min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .top-news__more .btn {
    min-width: min(21.875vw, 280px);
  }
}

.top-recruit {
  background-color: #ebf3f5;
  padding: 60px 0 80px;
}
@media (min-width: 960px) {
  .top-recruit {
    padding: min(6.25vw, 80px) 0;
  }
}

.top-recruit__body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "image" "content";
  gap: 24px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .top-recruit__body {
    grid-template-columns: min(39.0625vw, 500px) 1fr;
    grid-template-areas: "image content";
    gap: min(4.375vw, 56px);
    margin-top: min(5.15625vw, 66px);
  }
}

.top-recruit__image {
  grid-area: image;
}

.top-recruit__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .top-recruit__image img {
    border-radius: min(0.46875vw, 6px);
  }
}

.top-recruit__content {
  grid-area: content;
}

.top-recruit__lead {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .top-recruit__lead {
    font-size: min(3.28125vw, 42px);
    margin-top: max(-0.703125vw, -9px);
  }
}

.top-recruit__text {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .top-recruit__text {
    margin-top: min(3.125vw, 40px);
    font-size: min(1.171875vw, 15px);
  }
}

.top-recruit__buttons {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .top-recruit__buttons {
    gap: min(1.5625vw, 20px);
    margin-top: min(3.125vw, 40px);
  }
}

.top-recruit__buttons .btn {
  flex: 1;
}
@media (max-width: 959px) {
  .top-recruit__buttons .btn {
    min-width: auto;
    padding-left: 14px;
  }
}
@media (min-width: 960px) {
  .top-recruit__buttons .btn {
    flex: 0 0 auto;
    min-width: min(21.875vw, 280px);
  }
}

.company-mvv,
.company-message,
.company-info,
.company-info__item-title {
  scroll-margin-top: 60px;
}
@media (min-width: 960px) {
  .company-mvv,
  .company-message,
  .company-info,
  .company-info__item-title {
    scroll-margin-top: 70px;
  }
}

.company-mvv {
  background-color: #ebf3f5;
  padding-top: 90px;
  padding-bottom: 72px;
}
@media (min-width: 960px) {
  .company-mvv {
    padding-top: min(9.375vw, 120px);
    padding-bottom: min(7.03125vw, 90px);
  }
}

@media (min-width: 960px) {
  .company-mvv__inner {
    max-width: min(82.8125vw, 1060px);
  }
}

.company-mvv__block + .company-mvv__block, .company-mvv__block + .company-mvv__value {
  margin-top: 56px;
}
@media (min-width: 960px) {
  .company-mvv__block + .company-mvv__block, .company-mvv__block + .company-mvv__value {
    margin-top: min(6.25vw, 80px);
  }
}

.company-mvv__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 10px;
  padding: 44px 24px;
  background: center/cover no-repeat;
}
@media (min-width: 960px) {
  .company-mvv__card {
    border-radius: min(0.78125vw, 10px);
    padding: min(4.6875vw, 60px) min(3.125vw, 40px) min(7.03125vw, 90px);
  }
}

.company-mvv__card--mission {
  background-image: url("../img/02_company/mission-bg.webp");
}

.company-mvv__card--vision {
  background-image: url("../img/02_company/vision-bg.webp");
}

.company-mvv__label {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.16em;
}
@media (min-width: 960px) {
  .company-mvv__label {
    font-size: min(1.171875vw, 15px);
  }
}

.company-mvv__statement {
  margin-top: 18px;
  font-size: 21px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .company-mvv__statement {
    margin-top: min(1.71875vw, 22px);
    font-size: min(2.5vw, 32px);
  }
}

.company-mvv__body {
  margin: 0 auto;
  margin-top: 22px;
  max-width: 90%;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .company-mvv__body {
    max-width: min(47.65625vw, 610px);
    margin-top: min(1.875vw, 24px);
    font-size: min(1.171875vw, 15px);
  }
}

.company-mvv__value {
  border-radius: 10px;
  padding: 40px 20px 44px;
  background: url("../img/02_company/value-bg.webp") center/cover no-repeat;
}
@media (min-width: 960px) {
  .company-mvv__value {
    border-radius: min(0.78125vw, 10px);
    padding: min(4.375vw, 56px) min(2.34375vw, 30px) min(5vw, 64px);
  }
}

.company-mvv__value-head {
  text-align: center;
}

.company-mvv__value-title {
  margin-top: 16px;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media (min-width: 960px) {
  .company-mvv__value-title {
    margin-top: min(1.40625vw, 18px);
    font-size: min(2.8125vw, 36px);
  }
}

.company-mvv__value-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .company-mvv__value-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: min(1.171875vw, 15px);
    margin-top: min(3.125vw, 40px);
  }
}

.company-mvv__value-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  text-align: center;
  border-radius: 8px;
  padding: 30px 24px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .company-mvv__value-card {
    border-radius: min(0.625vw, 8px);
    padding: min(2.34375vw, 30px) min(2.8125vw, 36px) min(1.875vw, 24px);
  }
}

.company-mvv__value-num {
  position: absolute;
  top: 14px;
  left: 20px;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 44px;
  font-weight: 700;
  color: rgba(9, 74, 149, 0.12);
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .company-mvv__value-num {
    top: min(1.5625vw, 20px);
    left: min(2.1875vw, 28px);
    font-size: min(4.6875vw, 60px);
  }
}

.company-mvv__value-label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 18px;
  border-radius: 6px;
  background-color: #00a3dc;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .company-mvv__value-label {
    padding: 0 min(1.09375vw, 14px);
    font-size: min(1.40625vw, 18px);
  }
}

.company-mvv__value-text {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .company-mvv__value-text {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.09375vw, 14px);
  }
}

.company-message {
  background: #094A95 url("../img/01_top/company-bg.webp") center/648px 518px no-repeat;
  padding: 64px 0 72px;
}
@media (min-width: 960px) {
  .company-message {
    padding: min(9.375vw, 120px) 0 min(6.25vw, 80px);
    background-size: min(78.125vw, 1000px) min(62.5vw, 800px);
  }
}

@media (min-width: 960px) {
  .company-message__inner {
    max-width: min(91.40625vw, 1170px);
  }
}

.company-message__body {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "image" "content";
  gap: 24px;
  margin-top: 42px;
}
@media (min-width: 960px) {
  .company-message__body {
    grid-template-columns: 1fr min(40.625vw, 520px);
    grid-template-areas: "content image";
    gap: min(1.5625vw, 20px);
    margin-top: min(4.6875vw, 60px);
  }
}

.company-message__image {
  grid-area: image;
}

.company-message__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .company-message__image img {
    border-radius: min(1.25vw, 16px);
  }
}

.company-message__content {
  grid-area: content;
}
@media (max-width: 959px) {
  .company-message__content {
    padding: 0 15px;
  }
}

.company-message__lead {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media (min-width: 960px) {
  .company-message__lead {
    font-size: min(3.125vw, 40px);
    margin-top: min(1.953125vw, 25px);
  }
}

.company-message__lead .is-accent {
  color: #4dd2ff;
}

.company-message__name {
  margin-top: 28px;
}
@media (min-width: 960px) {
  .company-message__name {
    margin-top: min(2.5vw, 32px);
    margin-left: 4px;
  }
}

.company-message__role {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .company-message__role {
    font-size: min(1.09375vw, 14px);
  }
}

.company-message__person {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.3;
  letter-spacing: 0.08em;
}
@media (min-width: 960px) {
  .company-message__person {
    margin-top: min(0.78125vw, 10px);
    font-size: min(1.71875vw, 22px);
  }
}

.company-message__profile {
  margin-top: 40px;
  border-radius: 12px;
  padding: 28px 24px;
  background-color: #fff;
  margin: 0 auto;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .company-message__profile {
    max-width: min(71.875vw, 920px);
    margin-top: min(4.6875vw, 60px);
    border-radius: min(1.25vw, 16px);
    padding: min(2.5vw, 32px) min(3.125vw, 40px);
  }
}

.company-message__profile-text {
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.9;
}
@media (min-width: 960px) {
  .company-message__profile-text {
    font-size: min(1.171875vw, 15px);
  }
}

.company-info {
  background-color: #ebf3f5;
  padding: 64px 0 72px;
}
@media (min-width: 960px) {
  .company-info {
    padding: min(10.9375vw, 140px) 0 min(6.25vw, 80px);
  }
}

.company-info .heading__title {
  color: #094A95;
}

.company-info__items {
  display: grid;
  grid-template-columns: 120px 1fr;
  margin-top: 42px;
  border-top: 1px solid rgba(9, 74, 149, 0.12);
  background-color: #fff;
}
@media (min-width: 960px) {
  .company-info__items {
    max-width: min(71.875vw, 920px);
    grid-template-columns: min(18.125vw, 232px) 1fr;
    margin: min(3.671875vw, 47px) auto 0;
  }
}

.company-info__item-title {
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  display: flex;
  align-items: flex-start;
  line-height: 1.875;
  padding: 18px 16px;
  border-bottom: 1px solid rgba(9, 74, 149, 0.12);
}
@media (min-width: 960px) {
  .company-info__item-title {
    font-size: min(1.25vw, 16px);
    padding: min(1.953125vw, 25px) min(3.125vw, 40px);
  }
}

.company-info__item-data {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.875;
  padding: 18px 16px;
  border-bottom: 1px solid rgba(9, 74, 149, 0.12);
}
@media (min-width: 960px) {
  .company-info__item-data {
    font-size: min(1.25vw, 16px);
    padding: min(1.953125vw, 25px) min(2.34375vw, 30px);
  }
}

.company-info__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #094A95;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 0.3s ease;
}
@media (min-width: 960px) {
  .company-info__link {
    gap: min(0.46875vw, 6px);
  }
}
.company-info__link:hover {
  opacity: 0.7;
}

.company-info__icon-external {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
@media (min-width: 960px) {
  .company-info__icon-external {
    width: min(1.171875vw, 15px);
    height: min(1.171875vw, 15px);
  }
}

.company-info__office + .company-info__office {
  margin-top: 22px;
}
@media (min-width: 960px) {
  .company-info__office + .company-info__office {
    margin-top: min(0.78125vw, 10px);
  }
}

.company-info__office-name {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .company-info__office-name {
    font-size: min(1.25vw, 16px);
  }
}

.company-info__office-address {
  margin-top: 6px;
}
@media (min-width: 960px) {
  .company-info__office-address {
    margin-top: min(0.625vw, 8px);
  }
}

.company-info__map-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  color: #094A95;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity 0.3s ease;
}
@media (min-width: 960px) {
  .company-info__map-link {
    gap: min(0.46875vw, 6px);
    margin-top: min(0vw, 0px);
    font-size: min(1.171875vw, 15px);
  }
}
.company-info__map-link:hover {
  opacity: 0.7;
}

.company-info__icon-pin {
  flex-shrink: 0;
  width: 14px;
  height: 18px;
}
@media (min-width: 960px) {
  .company-info__icon-pin {
    width: min(1.09375vw, 14px);
    height: min(1.40625vw, 18px);
  }
}

.company-info__related-name {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .company-info__related-name {
    font-size: min(1.25vw, 16px);
  }
}

.company-info__related-row {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}
@media (min-width: 960px) {
  .company-info__related-row {
    gap: min(1.25vw, 16px);
    margin-top: min(0.78125vw, 10px);
  }
}

.company-info__related-label {
  flex-shrink: 0;
  width: 48px;
}
@media (min-width: 960px) {
  .company-info__related-label {
    width: min(4.375vw, 56px);
  }
}

.company-link {
  background-color: #ebf3f5;
  padding: 0 0 56px;
}
@media (min-width: 960px) {
  .company-link {
    padding: 0 0 min(6.25vw, 80px);
  }
}

.company-link__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding-top: 40px;
  border-top: 1px solid rgba(9, 74, 149, 0.12);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .company-link__list {
    grid-template-columns: repeat(2, min(32.8125vw, 420px));
    justify-content: center;
    gap: min(1.875vw, 24px);
    padding-top: min(3.125vw, 40px);
    max-width: min(71.875vw, 920px);
  }
}

@media (max-width: 959px) {
  .company-link__item {
    margin: 0 auto;
    width: 90%;
  }
}

.company-link__card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid rgba(9, 74, 149, 0.12);
  background-color: #fff;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .company-link__card {
    height: min(9.375vw, 120px);
    gap: min(1.5625vw, 20px);
    padding: min(0.78125vw, 10px) min(1.5625vw, 20px) min(0.78125vw, 10px) min(0.78125vw, 10px);
    border-radius: min(0.9375vw, 12px);
  }
}

.company-link__thumb {
  flex-shrink: 0;
  width: 110px;
  aspect-ratio: 120/100;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 960px) {
  .company-link__thumb {
    align-self: stretch;
    width: auto;
    border-radius: min(0.78125vw, 10px);
  }
}

.company-link__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.company-link__label {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .company-link__label {
    font-size: min(1.5625vw, 20px);
  }
}

.company-link__arrow {
  position: relative;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;
}
.company-link__arrow::before, .company-link__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .company-link__arrow::before, .company-link__arrow::after {
    left: 53%;
  }
}
.company-link__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.company-link__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.company-link__arrow {
  margin-left: auto;
  background: #094A95;
  color: #fff;
}
@media (min-width: 960px) {
  .company-link__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
    border-radius: 50%;
    overflow: hidden;
  }
  .company-link__arrow::before, .company-link__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.625vw, 8px);
    height: min(0.625vw, 8px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .company-link__arrow {
    margin-left: auto;
    background: #094A95;
    color: #fff;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .company-link__arrow::before, .company-link__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .company-link__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .company-link__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .company-link__card:hover {
    opacity: 1;
    background: #054994;
    border-color: #fff;
  }
  .company-link__card:hover .company-link__label {
    color: #fff;
  }
  .company-link__card:hover .company-link__arrow {
    background: #fff;
    color: #054994;
  }
  .company-link__card:hover .company-link__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .company-link__card:hover .company-link__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.news-archive {
  padding: 76px 0 70px;
}
@media (min-width: 960px) {
  .news-archive {
    padding: min(6.40625vw, 82px) 0 min(7.1875vw, 92px);
  }
}

@media (min-width: 960px) {
  .news-archive__inner {
    max-width: min(80.3125vw, 1028px);
  }
}

.news-archive__list {
  margin-top: 30px;
  padding: 0;
  list-style: none;
  border-top: 1px solid #898989;
}
@media (min-width: 960px) {
  .news-archive__list {
    margin-top: min(2.65625vw, 34px);
  }
}

.news-archive__item {
  border-bottom: 1px solid #898989;
  padding: 20px 3px 16px 0;
}
@media (min-width: 960px) {
  .news-archive__item {
    padding: min(2.6953125vw, 34.5px) min(1.09375vw, 14px) min(2.6953125vw, 34.5px) 0;
  }
}

.news-archive .news-item__body {
  -moz-column-gap: 19px;
       column-gap: 19px;
}
@media (min-width: 960px) {
  .news-archive .news-item__body {
    grid-template-columns: min(4.765625vw, 61px) min(8.4375vw, 108px) 1fr;
    -moz-column-gap: min(1.484375vw, 19px);
         column-gap: min(1.484375vw, 19px);
  }
}

.news-archive .news-item__date {
  letter-spacing: -0.02em;
}

.news-archive .news-item__cat {
  height: 24px;
  padding: 0 7px;
  font-size: 12px;
  font-feature-settings: "palt";
  line-height: 1;
}
@media (min-width: 960px) {
  .news-archive .news-item__cat {
    justify-content: center;
    width: min(8.4375vw, 108px);
    height: min(1.875vw, 24px);
    padding: 0;
    font-size: min(0.9375vw, 12px);
  }
}

.news-archive .news-item__title {
  margin-top: 5px;
  font-size: 15px;
  font-feature-settings: "palt";
  line-height: 1.8666666667;
}
@media (min-width: 960px) {
  .news-archive .news-item__title {
    grid-column: 3;
    margin-top: 0;
    margin-left: min(1.09375vw, 14px);
    font-size: min(1.171875vw, 15px);
  }
}

@media (min-width: 960px) {
  .news-archive .news-item__arrow {
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
  }
}

.news-archive .news-item__arrow.news-item__arrow--external {
  background-size: 12px;
}
@media (min-width: 960px) {
  .news-archive .news-item__arrow.news-item__arrow--external {
    background-size: min(0.9375vw, 12px);
  }
}

.news-archive__pagination {
  margin-top: 64px;
}
@media (min-width: 960px) {
  .news-archive__pagination {
    margin-top: min(4.0625vw, 52px);
  }
}

article.single-news {
  padding: 36px 0 60px;
}
@media (min-width: 960px) {
  article.single-news {
    padding: min(5.390625vw, 69px) 0 min(7.03125vw, 90px);
  }
}

@media (min-width: 960px) {
  .single-news__inner {
    max-width: min(93.75vw, 1200px);
  }
}

.single-news__header {
  padding-bottom: 10px;
  border-bottom: 3px solid #094A95;
}
@media (min-width: 960px) {
  .single-news__header {
    padding-bottom: min(0.78125vw, 10px);
  }
}

.single-news__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-news__cats {
    gap: min(0.78125vw, 10px);
  }
}

.single-news__cat {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #00a3db;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-news__cat {
    padding: min(0.234375vw, 3px) min(1.09375vw, 14px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.single-news__date {
  display: block;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .single-news__date {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.09375vw, 14px);
  }
}

.single-news__title {
  margin-top: 12px;
  font-size: 24px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-news__title {
    margin-top: min(0.234375vw, 3px);
    font-size: min(3.28125vw, 42px);
  }
}

.single-news__body {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .single-news__body {
    margin-top: min(2.34375vw, 30px);
  }
}

.single-news__nav {
  display: grid;
  gap: 16px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-news__nav {
    grid-template-columns: repeat(2, 1fr);
    gap: min(1.5625vw, 20px);
    margin-top: min(5.46875vw, 70px);
  }
}

.single-news__nav-link {
  display: block;
  height: 100%;
  padding: 20px;
  border: 1px solid rgba(9, 74, 149, 0.2);
  border-radius: 8px;
  background-color: #fff;
  transition: border-color 0.3s;
}
@media (min-width: 960px) {
  .single-news__nav-link {
    padding: min(1.875vw, 24px) min(2.34375vw, 30px);
    border-radius: min(0.625vw, 8px);
  }
}

@media (hover: hover) {
  .single-news__nav-link:hover {
    opacity: 1;
    border-color: #094A95;
  }
}
.single-news__nav-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 6px 20px;
  border-radius: 50px;
  background-color: #094A95;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-news__nav-label {
    padding: min(0.546875vw, 7px) min(1.875vw, 24px);
    border-radius: min(3.90625vw, 50px);
    font-size: min(1.015625vw, 13px);
  }
}

.single-news__nav-item--prev .single-news__nav-label::before,
.single-news__nav-item--next .single-news__nav-label::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/contain no-repeat;
}
@media (min-width: 960px) {
  .single-news__nav-item--prev .single-news__nav-label::before,
  .single-news__nav-item--next .single-news__nav-label::after {
    width: min(1.09375vw, 14px);
    height: min(1.09375vw, 14px);
  }
}

.single-news__nav-item--prev .single-news__nav-label {
  padding-left: 14px;
}
@media (min-width: 960px) {
  .single-news__nav-item--prev .single-news__nav-label {
    padding-left: min(1.25vw, 16px);
  }
}

.single-news__nav-item--prev .single-news__nav-label::before {
  margin-right: 6px;
  transform: rotate(180deg);
}
@media (min-width: 960px) {
  .single-news__nav-item--prev .single-news__nav-label::before {
    margin-right: min(0.625vw, 8px);
  }
}

.single-news__nav-item--next .single-news__nav-label {
  padding-right: 14px;
}
@media (min-width: 960px) {
  .single-news__nav-item--next .single-news__nav-label {
    padding-right: min(1.25vw, 16px);
  }
}

.single-news__nav-item--next .single-news__nav-label::after {
  margin-left: 6px;
}
@media (min-width: 960px) {
  .single-news__nav-item--next .single-news__nav-label::after {
    margin-left: min(0.625vw, 8px);
  }
}

.single-news__nav-date {
  display: block;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .single-news__nav-date {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.015625vw, 13px);
  }
}

.single-news__nav-title {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (min-width: 960px) {
  .single-news__nav-title {
    margin-top: min(0.78125vw, 10px);
    font-size: min(1.171875vw, 15px);
  }
}

.single-news__back {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .single-news__back {
    margin-top: min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .single-news__back .btn {
    min-width: min(21.875vw, 280px);
  }
}

.case-archive {
  padding: 58px 0 70px;
}
@media (min-width: 960px) {
  .case-archive {
    padding: min(5.859375vw, 75px) 0 min(7.8125vw, 100px);
  }
}

.case-archive__lead {
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: center;
  line-height: 2;
}
@media (min-width: 960px) {
  .case-archive__lead {
    font-size: min(1.25vw, 16px);
    line-height: 2.2;
  }
}

.case-archive .archive-filter {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .case-archive .archive-filter {
    margin-top: min(3.515625vw, 45px);
  }
}

.case-archive__list {
  display: grid;
  gap: 20px;
  margin-top: 32px;
  padding: 0;
  list-style: none;
}
@media (max-width: 959px) {
  .case-archive__list {
    max-width: 360px;
    margin-inline: auto;
  }
}
@media (min-width: 960px) {
  .case-archive__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.71875vw, 22px) min(1.953125vw, 25px);
    margin-top: min(3.28125vw, 42px);
  }
}

.case-archive__item .card-case {
  height: 100%;
}

.case-archive__pagination {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .case-archive__pagination {
    margin-top: min(7.421875vw, 95px);
  }
}

article.single-case {
  padding: 36px 0 60px;
}
@media (min-width: 960px) {
  article.single-case {
    padding: min(5.390625vw, 69px) 0 min(7.03125vw, 90px);
  }
}

.single-case__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-case__badges {
    gap: min(0.78125vw, 10px);
  }
}

.single-case__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #00a3dc;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-case__badge {
    padding: min(0.234375vw, 3px) min(1.09375vw, 14px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.single-case__date {
  display: block;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .single-case__date {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.09375vw, 14px);
  }
}

.single-case__title {
  margin-top: 12px;
  font-size: 24px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-case__title {
    margin-top: min(0.234375vw, 3px);
    font-size: min(3.28125vw, 42px);
  }
}

.single-case__profile {
  margin-top: 30px;
  padding: 25px 20px;
  border-radius: 12px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .single-case__profile {
    display: grid;
    grid-template-columns: min(37.65625vw, 482px) 1fr;
    gap: min(4.6875vw, 60px);
    align-items: start;
    margin-top: min(2.96875vw, 38px);
    padding: min(4.6875vw, 60px);
    border-radius: min(1.09375vw, 14px);
  }
}

.single-case__profile-image {
  margin: 0;
}

.single-case__profile-image img {
  display: block;
  width: 100%;
  height: auto;
}

.single-case__profile-list {
  margin: 16px 0 0;
}
@media (min-width: 960px) {
  .single-case__profile-list {
    margin-top: 0;
  }
}

.single-case__profile-row {
  padding: 14px 0;
}
@media (min-width: 960px) {
  .single-case__profile-row {
    display: grid;
    grid-template-columns: min(10.15625vw, 130px) 1fr;
    gap: min(0.78125vw, 10px);
    align-items: start;
    padding: min(1.171875vw, 15px) 0;
  }
}

.single-case__profile-row:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.single-case__profile-label {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (max-width: 959px) {
  .single-case__profile-label {
    margin-bottom: 4px;
  }
}
@media (min-width: 960px) {
  .single-case__profile-label {
    font-size: min(1.25vw, 16px);
  }
}

.single-case__profile-value {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .single-case__profile-value {
    font-size: min(1.25vw, 16px);
  }
}

.single-case__profile-url {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-all;
}
@media (min-width: 960px) {
  .single-case__profile-url {
    gap: min(0.625vw, 8px);
  }
}

.single-case__profile-ext {
  flex-shrink: 0;
  position: relative;
  width: 13px;
  height: 13px;
}
@media (min-width: 960px) {
  .single-case__profile-ext {
    width: min(1.09375vw, 14px);
    height: min(1.09375vw, 14px);
  }
}

.single-case__profile-ext::before,
.single-case__profile-ext::after {
  content: "";
  position: absolute;
  border: 1.5px solid currentcolor;
}

.single-case__profile-ext::before {
  top: 0;
  right: 0;
  width: 70%;
  height: 70%;
  background-color: #ebf3f5;
}

.single-case__profile-ext::after {
  bottom: 0;
  left: 0;
  width: 70%;
  height: 70%;
  background-color: #ebf3f5;
  z-index: 1;
}

.single-case__profile-service {
  display: table;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-case__profile-service + .single-case__profile-service {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .single-case__profile-service + .single-case__profile-service {
    margin-top: min(0.78125vw, 10px);
  }
}

.single-case__summary {
  margin-top: 30px;
  padding: 25px 20px;
  border-radius: 12px;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .single-case__summary {
    display: grid;
    grid-template-columns: 1fr min(38.984375vw, 499px);
    gap: min(3.515625vw, 45px);
    align-items: stretch;
    margin-top: min(3.125vw, 40px);
    padding: min(2.34375vw, 30px) min(2.109375vw, 27px) min(2.34375vw, 30px) min(4.296875vw, 55px);
    border-radius: min(0.9375vw, 12px);
  }
}

.single-case__summary-block + .single-case__summary-block {
  margin-top: 12px;
}
@media (min-width: 960px) {
  .single-case__summary-block + .single-case__summary-block {
    margin-top: min(0.9375vw, 12px);
  }
}

.single-case__summary-heading {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-case__summary-heading {
    font-size: min(2.03125vw, 26px);
  }
}

.single-case__summary-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-case__summary-list {
    margin-top: min(0.78125vw, 10px);
  }
}

.single-case__summary-list li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .single-case__summary-list li {
    font-size: min(1.171875vw, 15px);
  }
}

.single-case__summary-list li::before {
  content: "・";
}

.single-case__result {
  margin-top: 24px;
  padding: 20px;
  border-radius: 10px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .single-case__result {
    margin-top: 0;
    padding: min(1.71875vw, 22px) min(3.4375vw, 44px);
    border-radius: min(0.78125vw, 10px);
  }
}

.single-case__result-heading {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  font-size: 18px;
  font-weight: 500;
  color: #00a3dc;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-case__result-heading {
    padding-bottom: min(1.09375vw, 14px);
    font-size: min(1.71875vw, 22px);
  }
}

.single-case__result-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-case__result-list {
    margin-top: min(1.40625vw, 18px);
  }
}

.single-case__result-list li {
  position: relative;
  padding-left: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .single-case__result-list li {
    padding-left: min(1.71875vw, 22px);
    font-size: min(1.171875vw, 15px);
  }
}

.single-case__result-list li + li {
  margin-top: 2px;
}
@media (min-width: 960px) {
  .single-case__result-list li + li {
    margin-top: min(0.15625vw, 2px);
  }
}

.single-case__result-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .single-case__result-list li::before {
    width: min(0.859375vw, 11px);
    height: min(0.859375vw, 11px);
  }
}

.single-case__columns {
  margin-top: 45px;
}
@media (min-width: 960px) {
  .single-case__columns {
    max-width: min(83.75vw, 1072px);
    margin-inline: auto;
    margin-top: min(5.46875vw, 70px);
  }
}

.single-case__related {
  padding-bottom: 70px;
}
@media (min-width: 960px) {
  .single-case__related {
    padding-bottom: min(7.8125vw, 100px);
  }
}

.single-case__related .inner {
  padding-top: 55px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}
@media (min-width: 960px) {
  .single-case__related .inner {
    padding-top: min(3.28125vw, 42px);
  }
}

.single-case__related-title {
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-case__related-title {
    font-size: min(2.5vw, 32px);
  }
}

.single-case__related-list {
  display: grid;
  gap: 20px;
  margin-top: 30px;
  padding: 0;
  list-style: none;
}
@media (max-width: 959px) {
  .single-case__related-list {
    max-width: 360px;
    margin-inline: auto;
  }
}
@media (min-width: 960px) {
  .single-case__related-list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.71875vw, 22px) min(1.953125vw, 25px);
    margin-top: min(3.90625vw, 50px);
  }
}

.single-case__related-item .card-case {
  height: 100%;
}

.single-case__related-btn {
  margin-top: 40px;
  text-align: center;
}
@media (min-width: 960px) {
  .single-case__related-btn {
    margin-top: min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .single-case__related-btn .btn {
    min-width: min(21.875vw, 280px);
  }
}

.column-pickup {
  padding-top: 58px;
}
@media (min-width: 960px) {
  .column-pickup {
    padding-top: min(6.875vw, 88px);
  }
}

.column-pickup__title {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .column-pickup__title {
    font-size: min(2.8125vw, 36px);
  }
}

.column-pickup__slider-wrap {
  position: relative;
  container-type: inline-size;
  margin-top: 30px;
}
@media (min-width: 960px) {
  .column-pickup__slider-wrap {
    margin-top: min(2.734375vw, 35px);
  }
}

@media (min-width: 960px) {
  .column-pickup__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.1875vw, 28px);
  }
}

.column-pickup__slider .swiper-slide {
  width: 100%;
}

.column-pickup__nav {
  position: absolute;
  top: calc(16px + (100cqw - 32px) * 464 / 741);
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .column-pickup__nav {
    display: none;
  }
}

.column-pickup__nav--prev {
  left: -5px;
  transform: translateY(-50%) scaleX(-1);
}

.column-pickup__nav--next {
  right: -5px;
  transform: translateY(-50%);
}

.column-pickup__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.column-pickup__more {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media (min-width: 960px) {
  .column-pickup__more {
    margin-top: min(3.359375vw, 43px);
  }
}

.column-pickup__more .btn,
.column-topic__more .btn {
  min-width: 300px;
  max-width: 100%;
  padding-right: 52px;
  white-space: normal;
  word-break: auto-phrase;
  text-wrap: balance;
}
@media (min-width: 960px) {
  .column-pickup__more .btn,
  .column-topic__more .btn {
    min-width: min(26.5625vw, 340px);
    padding: min(1.71875vw, 22px) min(7.8125vw, 100px) min(1.71875vw, 22px) min(2.5vw, 32px);
  }
}

.column-archive {
  overflow: visible;
  padding: 70px 0 80px;
}
@media (min-width: 960px) {
  .column-archive {
    padding: min(7.03125vw, 90px) 0 min(7.421875vw, 95px);
  }
}

@media (min-width: 960px) {
  .column-layout {
    display: grid;
    grid-template-columns: 1fr min(21.875vw, 280px);
    gap: min(4.6875vw, 60px);
  }
}

.column-layout__sidebar {
  margin-top: 120px;
}
@media (min-width: 960px) {
  .column-layout__sidebar {
    margin-top: 0;
  }
}

.column-topic + .column-topic {
  margin-top: 80px;
}
@media (min-width: 960px) {
  .column-topic + .column-topic {
    margin-top: min(7.34375vw, 94px);
  }
}

.column-topic__title {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .column-topic__title {
    gap: min(1.875vw, 24px);
    font-size: min(3.28125vw, 42px);
  }
}

.column-topic__num {
  color: #094A95;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.column-topic__banner {
  margin-top: 25px;
  padding: 20px;
  border-radius: 8px;
  background-color: #f4f4f4;
}
@media (min-width: 960px) {
  .column-topic__banner {
    display: flex;
    align-items: center;
    gap: min(1.953125vw, 25px);
    margin-top: min(2.34375vw, 30px);
    padding: min(1.40625vw, 18px) min(1.71875vw, 22px);
    border-radius: min(0.625vw, 8px);
  }
}

@media (min-width: 960px) {
  .column-topic__banner-thumb {
    flex-shrink: 0;
    width: min(23.4375vw, 300px);
  }
}

.column-topic__banner-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 8/5;
  -o-object-fit: cover;
     object-fit: cover;
}

.column-topic__banner-body {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .column-topic__banner-body {
    margin-top: 0;
  }
}

.column-topic__banner-text {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .column-topic__banner-text {
    font-size: min(1.25vw, 16px);
  }
}

.column-topic__banner .btn {
  min-width: auto;
  min-height: 0;
  margin-top: 16px;
  padding: 12px 30px;
  font-size: 14px;
}
@media (min-width: 960px) {
  .column-topic__banner .btn {
    min-width: min(14.84375vw, 190px);
    margin-top: min(1.71875vw, 22px);
    padding: min(1.015625vw, 13px) min(2.34375vw, 30px);
    font-size: min(1.171875vw, 15px);
  }
}

.column-topic__group {
  margin-top: 45px;
}
@media (min-width: 960px) {
  .column-topic__group {
    margin-top: min(3.125vw, 40px);
  }
}

@media (min-width: 960px) {
  .column-topic__banner + .column-topic__group {
    margin-top: min(5.3125vw, 68px);
  }
}

.column-topic__subtitle {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .column-topic__subtitle {
    font-size: min(2.5vw, 32px);
  }
}

.column-topic__list {
  display: grid;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .column-topic__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(2.1875vw, 28px);
    margin-top: min(1.40625vw, 18px);
  }
}

.column-topic__more {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media (min-width: 960px) {
  .column-topic__more {
    margin-top: min(3.28125vw, 42px);
  }
}

.column-result {
  overflow: visible;
  padding: 58px 0 80px;
}
@media (min-width: 960px) {
  .column-result {
    padding: min(5.078125vw, 65px) 0 min(9.375vw, 120px);
  }
}

.column-result__list {
  display: grid;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .column-result__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(2.1875vw, 28px);
  }
}

.column-result__pagination {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .column-result__pagination {
    margin-top: min(7.421875vw, 95px);
  }
}

.column-sidebar__sticky {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .column-sidebar__sticky {
    position: sticky;
    top: min(5.46875vw, 70px);
    margin-top: min(1.5625vw, 20px);
  }
}

.column-sidebar__nav-title {
  font-size: 17px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .column-sidebar__nav-title {
    font-size: min(1.40625vw, 18px);
  }
}

.column-sidebar__nav-box {
  margin-top: 14px;
  padding: 15px;
  border-radius: 14px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .column-sidebar__nav-box {
    margin-top: min(1.171875vw, 15px);
    padding: min(1.171875vw, 15px);
    border-radius: min(1.25vw, 16px);
    overflow-y: auto;
    max-height: calc(100svh - min(10.9375vw, 140px));
  }
}

.column-sidebar__group + .column-sidebar__group {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #d5dfe1;
}
@media (min-width: 960px) {
  .column-sidebar__group + .column-sidebar__group {
    margin-top: min(0.78125vw, 10px);
    padding-top: min(0.78125vw, 10px);
  }
}

.column-sidebar__group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .column-sidebar__group-title {
    gap: min(0.9375vw, 12px);
    font-size: min(1.25vw, 16px);
  }
}

.column-sidebar__group-title--link {
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.column-sidebar__group-link {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.column-sidebar__group-num {
  color: #094A95;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
}
@media (min-width: 960px) {
  .column-sidebar__group-num {
    font-size: min(1.25vw, 16px);
  }
}

.column-sidebar__group-toggle {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #094A95;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media (min-width: 960px) {
  .column-sidebar__group-toggle {
    width: min(1.71875vw, 22px);
    height: min(1.71875vw, 22px);
  }
}

.column-sidebar__group-toggle::before,
.column-sidebar__group-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 2px;
  background-color: #fff;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 960px) {
  .column-sidebar__group-toggle::before,
  .column-sidebar__group-toggle::after {
    width: min(0.78125vw, 10px);
  }
}

.column-sidebar__group-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.column-sidebar__group-title.is-open .column-sidebar__group-toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

@media (hover: hover) {
  .column-sidebar__group-toggle:hover {
    background-color: #021c3a;
  }
}
.column-sidebar__group-arrow {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #094A95;
  border-right: 2px solid #094A95;
  transform: rotate(45deg);
}

.column-sidebar__group-body {
  display: none;
}

.column-sidebar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .column-sidebar__tags {
    gap: min(0.625vw, 8px);
    margin-top: min(0.625vw, 8px);
  }
}

.column-sidebar__tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 6px;
  background-color: #00a3dc;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  text-align: left;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
@media (min-width: 960px) {
  .column-sidebar__tag {
    padding: min(0.390625vw, 5px) min(0.78125vw, 10px);
    border-radius: min(0.46875vw, 6px);
    font-size: min(0.9375vw, 12px);
  }
}

@media (min-width: 960px) {
  .column-sidebar {
    height: 100%;
  }
}

.column-sidebar__banners {
  display: grid;
  gap: 20px;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .column-sidebar__banners {
    gap: min(1.71875vw, 22px);
    margin-top: min(3.515625vw, 45px);
  }
}

.column-sidebar__banner {
  display: block;
}

.column-sidebar__banner img {
  display: block;
  width: 100%;
  height: auto;
}

@media (hover: hover) {
  .column-sidebar__tag:hover {
    opacity: 1;
    background-color: #094A95;
  }
}
.column-search {
  position: relative;
}

@media (max-width: 959px) {
  .column-search--pc {
    display: none;
  }
}

.column-search--sp {
  margin-top: 42px;
}
@media (min-width: 960px) {
  .column-search--sp {
    display: none;
  }
}

@media (max-width: 959px) {
  .inner:has(> .column-search--sp) + section {
    padding-top: 39px;
  }
}
.column-search__input {
  width: 100%;
  height: 67px;
  padding: 0 96px 0 24px;
  border: none;
  border-radius: 999px;
  background-color: #f4f4f4;
  font-size: 15px;
}
@media (min-width: 960px) {
  .column-search__input {
    height: min(5vw, 64px);
    padding: 0 min(7.5vw, 96px) 0 min(1.875vw, 24px);
    font-size: min(1.171875vw, 15px);
  }
}

.column-search__btn {
  position: absolute;
  top: 50%;
  right: 11px;
  transform: translateY(-50%);
  width: 72px;
  height: 49px;
  border: none;
  border-radius: 999px;
  background-color: #094A95;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  transition: background-color 0.3s ease;
}
@media (min-width: 960px) {
  .column-search__btn {
    right: min(0.9375vw, 12px);
    width: min(5.625vw, 72px);
    height: min(3.75vw, 48px);
    font-size: min(1.09375vw, 14px);
  }
}

@media (hover: hover) {
  .column-search__btn:hover {
    background-color: #021c3a;
  }
}
article.single-column {
  padding: 36px 0 60px;
}
@media (min-width: 960px) {
  article.single-column {
    padding: min(5.390625vw, 69px) 0 min(7.03125vw, 90px);
  }
}

@media (min-width: 960px) {
  .single-column__columns {
    max-width: min(83.75vw, 1072px);
    margin-inline: auto;
  }
}

.single-column__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-column__cats {
    gap: min(0.625vw, 8px);
    margin-top: min(1.875vw, 24px);
  }
}

.single-column__cat {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid #00a3dc;
  border-radius: 4px;
  background-color: #00a3dc;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-column__cat {
    padding: min(0.3125vw, 4px) min(0.703125vw, 9px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.single-column__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 0;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .single-column__tags {
    gap: min(0.625vw, 8px) 0;
    margin-top: min(1.09375vw, 14px);
  }
}

.single-column__tag-item:not(:last-child)::after {
  content: "/";
  margin-inline: 10px;
  color: #aaa;
  font-weight: 400;
}
@media (min-width: 960px) {
  .single-column__tag-item:not(:last-child)::after {
    margin-inline: min(1.015625vw, 13px);
  }
}

.single-column__tag {
  font-size: 13px;
  font-weight: 700;
  color: #00a3dc;
  text-align: left;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (min-width: 960px) {
  .single-column__tag {
    font-size: min(1.171875vw, 15px);
  }
}

.single-column__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 18px;
}
@media (min-width: 960px) {
  .single-column__meta {
    gap: min(1.25vw, 16px);
    margin-top: min(1.5625vw, 20px);
  }
}

.single-column__meta-date {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-column__meta-date {
    font-size: min(0.9375vw, 12px);
  }
}

.single-column__meta-date time {
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

@media (min-width: 960px) {
  .single-column__meta-date + .single-column__meta-date {
    margin-left: min(0.859375vw, 11px);
  }
}

.single-column__meta-label {
  margin-left: 6px;
  font-weight: 700;
}
@media (min-width: 960px) {
  .single-column__meta-label {
    margin-left: min(0.703125vw, 9px);
  }
}

.single-column__meta-author {
  font-size: 12px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-column__meta-author {
    font-size: min(0.9375vw, 12px);
  }
}

.single-column__meta-author-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 2px;
  color: #000;
  text-decoration: none;
  vertical-align: middle;
}
@media (min-width: 960px) {
  .single-column__meta-author-link {
    gap: min(0.78125vw, 10px);
  }
}

.single-column__meta-author-name {
  font-weight: 700;
}

.single-column__meta-author-photo {
  width: 36px;
  height: auto;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .single-column__meta-author-photo {
    width: min(3.125vw, 40px);
  }
}

.single-column__title {
  font-size: 24px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-column__title {
    font-size: min(3.28125vw, 42px);
  }
}

.single-column__author-acc {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .single-column__author-acc {
    margin-top: min(1.71875vw, 22px);
  }
}

.single-column__author-acc-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 18px;
  border: none;
  border-radius: 8px;
  background-color: #ebf3f5;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
  transition: opacity 0.3s ease;
}
@media (min-width: 960px) {
  .single-column__author-acc-btn {
    gap: min(0.9375vw, 12px);
    padding: min(1.25vw, 16px) min(1.875vw, 24px) min(1.25vw, 16px) min(1.5625vw, 20px);
    border-radius: min(0.625vw, 8px);
    font-size: min(1.171875vw, 15px);
  }
}

.single-column__author-acc-btn.is-open {
  border-radius: 8px 8px 0 0;
}
@media (min-width: 960px) {
  .single-column__author-acc-btn.is-open {
    border-radius: min(0.625vw, 8px) min(0.625vw, 8px) 0 0;
  }
}

.single-column__author-acc-icon {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
@media (min-width: 960px) {
  .single-column__author-acc-icon {
    width: min(1.71875vw, 22px);
    height: min(1.71875vw, 22px);
  }
}

.single-column__author-acc-icon::before,
.single-column__author-acc-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #000;
  transition: transform 0.3s ease;
}

.single-column__author-acc-icon::before {
  width: 100%;
  height: 2px;
}

.single-column__author-acc-icon::after {
  width: 2px;
  height: 100%;
}

.js-accordion-button.is-open .single-column__author-acc-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.single-column__author-acc-body {
  display: none;
  padding: 24px 20px;
  border-radius: 0 0 8px 8px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .single-column__author-acc-body {
    padding: min(2.34375vw, 30px) min(3.125vw, 40px);
    border-radius: 0 0 min(0.625vw, 8px) min(0.625vw, 8px);
  }
}

.single-column__author-acc-body .column-author,
.single-column__author-acc-body .column-author__grid {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}

.single-column__body {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .single-column__body {
    margin-top: min(4.84375vw, 62px);
  }
}

.single-column #ez-toc-container {
  display: block;
  width: 100%;
  margin: 28px 0 40px !important;
  padding: 24px 20px 28px;
  border: 1px solid rgba(9, 74, 149, 0.5);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container {
    margin: min(2.8125vw, 36px) 0 min(3.125vw, 40px) !important;
    padding: min(2.34375vw, 30px) min(3.125vw, 40px) min(3.125vw, 40px);
    border-radius: min(0.78125vw, 10px);
  }
}

.single-column #ez-toc-container:first-child {
  margin-top: 0 !important;
}

.single-column #ez-toc-container .ez-toc-js-icon-con,
.single-column #ez-toc-container .ez-toc-icon-toggle-span,
.single-column #ez-toc-container .ez-toc-toggle label,
.single-column #ez-toc-container label.cssicon {
  display: none;
}

.single-column #ez-toc-container .ez-toc-title-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container .ez-toc-title-container {
    -moz-column-gap: min(0.625vw, 8px);
         column-gap: min(0.625vw, 8px);
  }
}

.single-column #ez-toc-container .ez-toc-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container .ez-toc-title {
    font-size: min(1.171875vw, 15px);
  }
}

.single-column #ez-toc-container a.ez-toc-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 4px 12px;
  border: none;
  border-radius: 999px;
  outline: none;
  box-shadow: none;
  background-color: #094A95;
  text-decoration: none;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container a.ez-toc-toggle {
    min-width: min(5.3125vw, 68px);
    padding: min(0.3125vw, 4px) min(0.9375vw, 12px);
  }
}

.single-column #ez-toc-container a.ez-toc-toggle:focus,
.single-column #ez-toc-container a.ez-toc-toggle:focus-visible {
  outline: none;
  box-shadow: none;
}

.single-column #ez-toc-container a.ez-toc-toggle::before {
  content: "CLOSE";
  color: #fff;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container a.ez-toc-toggle::before {
    font-size: min(0.859375vw, 11px);
  }
}

.single-column #ez-toc-container.toc_close a.ez-toc-toggle::before {
  content: "OPEN";
}

.single-column #ez-toc-container.toc_close {
  padding-bottom: 24px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container.toc_close {
    padding-bottom: min(2.34375vw, 30px);
  }
}

.single-column #ez-toc-container nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-column #ez-toc-container nav ul li {
  padding-left: 0;
}

.single-column #ez-toc-container nav ul li::before {
  content: none;
  position: static;
  top: auto;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
}

.single-column #ez-toc-container nav ul li a::before {
  content: none;
}

.single-column #ez-toc-container .ez-toc-list-level-1 {
  counter-reset: toc-h2;
  margin-top: 24px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container .ez-toc-list-level-1 {
    margin-top: min(2.34375vw, 30px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 {
  counter-increment: toc-h2;
  position: relative;
  padding-left: 20px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 {
    padding-left: min(1.796875vw, 23px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2::before {
    width: min(0.859375vw, 11px);
    height: min(0.859375vw, 11px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 + li.ez-toc-heading-level-2 {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 + li.ez-toc-heading-level-2 {
    margin-top: min(1.5625vw, 20px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > a {
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.4;
  text-decoration: none;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 > a {
    font-size: min(1.40625vw, 18px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > ul {
  counter-reset: toc-h3;
  margin: 10px 0 12px;
  padding-left: 24px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 > ul {
    margin: min(0.9375vw, 12px) 0 min(1.09375vw, 14px);
    padding-left: min(2.578125vw, 33px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li {
  counter-increment: toc-h3;
  display: flex;
  align-items: flex-start;
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li + li {
  margin-top: 6px;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li + li {
    margin-top: min(0.46875vw, 6px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li::before {
  content: counter(toc-h2) "." counter(toc-h3);
  flex-shrink: 0;
  margin-right: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li::before {
    margin-right: min(1.25vw, 16px);
    font-size: min(1.25vw, 16px);
  }
}

.single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li > a {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5;
  text-decoration: none;
}
@media (min-width: 960px) {
  .single-column #ez-toc-container li.ez-toc-heading-level-2 > ul li > a {
    font-size: min(1.25vw, 16px);
  }
}

.single-column__author {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .single-column__author {
    margin-top: min(3.125vw, 40px);
  }
}

.single-column__author-title {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-column__author-title {
    font-size: min(1.171875vw, 15px);
  }
}

.single-column__author-box {
  margin-top: 14px;
  padding: 30px 20px;
  border-radius: 12px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .single-column__author-box {
    margin-top: min(1.40625vw, 18px);
    padding: min(2.96875vw, 38px) min(0.78125vw, 10px) min(2.34375vw, 30px) min(3.90625vw, 50px);
    border-radius: min(0.9375vw, 12px);
  }
}

.single-column__author-btn {
  margin-top: 24px;
  text-align: center;
}
@media (min-width: 960px) {
  .single-column__author-btn {
    margin-top: min(1.875vw, 24px);
  }
}

@media (min-width: 960px) {
  .column-author {
    padding: min(2.5vw, 32px) min(3.125vw, 40px);
    border-radius: min(0.9375vw, 12px);
    background-color: #ebf3f5;
  }
}

.column-author__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}
@media (min-width: 960px) {
  .column-author__head {
    gap: min(0.625vw, 8px) min(3.125vw, 40px);
  }
}

.column-author__heading {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .column-author__heading {
    font-size: min(1.328125vw, 17px);
  }
}

.column-author__position {
  display: none;
}
@media (min-width: 960px) {
  .column-author__position {
    display: block;
    font-size: min(1.171875vw, 15px);
    font-weight: 500;
    color: #000;
    text-align: left;
    line-height: 1.5;
  }
}

.column-author__grid {
  margin-top: 12px;
}
@media (max-width: 959px) {
  .column-author__grid {
    padding: 30px 22px 35px;
    border-radius: 8px;
    background-color: #ebf3f5;
  }
}
@media (min-width: 960px) {
  .column-author__grid {
    display: grid;
    grid-template-columns: min(7.8125vw, 100px) 1fr;
    gap: min(1.875vw, 24px) min(3.125vw, 40px);
    margin-top: min(1.875vw, 24px);
  }
}

.column-author__side {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (min-width: 960px) {
  .column-author__side {
    display: block;
    text-align: center;
  }
}

.column-author__photo {
  flex-shrink: 0;
  width: 100px;
}
@media (min-width: 960px) {
  .column-author__photo {
    width: min(7.8125vw, 100px);
  }
}

.column-author__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
}

.column-author__name {
  font-size: 19px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .column-author__name {
    margin-top: min(2.1875vw, 28px);
    font-size: min(1.25vw, 16px);
    font-weight: 500;
    text-align: center;
  }
}

.column-author__body {
  margin-top: 22px;
}
@media (min-width: 960px) {
  .column-author__body {
    margin-top: 0;
  }
}

.column-author__text {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: justify;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .column-author__text {
    font-size: min(1.171875vw, 15px);
    line-height: 1.9;
  }
}

.column-author__text strong {
  background: none;
}

.column-author__text + .column-author__text {
  margin-top: 12px;
}
@media (min-width: 960px) {
  .column-author__text + .column-author__text {
    margin-top: min(1.875vw, 24px);
  }
}

.column-author__works-label {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .column-author__works-label {
    margin-top: min(1.875vw, 24px);
    font-size: min(1.171875vw, 15px);
  }
}

.column-author__works {
  font-size: 14px;
  font-weight: 500;
  color: #094A95;
  text-align: left;
  line-height: 1.9;
}
@media (min-width: 960px) {
  .column-author__works {
    font-size: min(1.171875vw, 15px);
    line-height: 2;
  }
}

.column-author__works a {
  color: #094A95;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.column-author__btn {
  margin-top: 24px;
}
@media (min-width: 960px) {
  .column-author__btn {
    margin-top: min(2.1875vw, 28px);
  }
}

.column-author__btn .btn {
  width: 100%;
}
@media (max-width: 959px) {
  .column-author__btn .btn {
    justify-content: flex-start;
    width: calc(100% + 16px);
    min-height: 50px;
    margin-inline: -8px;
    padding: 8px 44px 8px 32px;
    font-size: 14px;
    text-align: left;
    white-space: normal;
    word-break: auto-phrase;
    text-wrap: balance;
  }
}
@media (min-width: 960px) {
  .column-author__btn .btn {
    min-width: min(41.40625vw, 530px);
    width: auto;
    justify-content: flex-start;
    padding: min(1.5625vw, 20px) min(6.25vw, 80px) min(1.5625vw, 20px) min(3.125vw, 40px);
  }
}

@media (max-width: 959px) {
  .column-author__btn .btn__arrow {
    width: 28px;
    height: 28px;
  }
}

@media (hover: hover) {
  .column-author__works a:hover {
    opacity: 0.7;
  }
}
.single-column__related {
  padding-bottom: 70px;
}
@media (min-width: 960px) {
  .single-column__related {
    padding-bottom: min(7.8125vw, 100px);
  }
}

.single-column__related .inner {
  padding-top: 55px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}
@media (min-width: 960px) {
  .single-column__related .inner {
    padding-top: min(3.28125vw, 42px);
  }
}

.single-column__related-title {
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .single-column__related-title {
    font-size: min(2.5vw, 32px);
  }
}

.single-column__related-list {
  display: grid;
  gap: 20px;
  margin-top: 30px;
  padding: 0;
  list-style: none;
}
@media (max-width: 959px) {
  .single-column__related-list {
    max-width: 360px;
    margin-inline: auto;
  }
}
@media (min-width: 960px) {
  .single-column__related-list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.71875vw, 22px) min(1.953125vw, 25px);
    margin-top: min(3.90625vw, 50px);
  }
}

.single-column__related-item .card-case {
  height: 100%;
}

.single-column__related-btn {
  margin-top: 40px;
  text-align: center;
}
@media (min-width: 960px) {
  .single-column__related-btn {
    margin-top: min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .single-column__related-btn .btn {
    min-width: min(21.875vw, 280px);
  }
}

@media (hover: hover) {
  .single-column__cat:hover {
    opacity: 1;
    background-color: #094A95;
  }
  .single-column__tag:hover {
    opacity: 1;
    color: #094A95;
  }
  .single-column #ez-toc-container nav ul li a:hover {
    opacity: 1;
    text-decoration: underline;
  }
}
.contact-form-section {
  padding: 50px 0 70px;
}
@media (min-width: 960px) {
  .contact-form-section {
    padding: min(6.25vw, 80px) 0 min(9.453125vw, 121px);
  }
}

@media (min-width: 960px) {
  .contact-form {
    max-width: min(54.6875vw, 700px);
    margin-inline: auto;
  }
}

.contact-form__lead {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .contact-form__lead {
    gap: min(0.78125vw, 10px);
    margin-left: max(-0.390625vw, -5px);
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__lead a {
  color: #094A95;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.contact-form__lead-arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .contact-form__lead-arrow {
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
  }
}

.contact-form__lead-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-60%, -50%) rotate(45deg);
}
@media (min-width: 960px) {
  .contact-form__lead-arrow::before {
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
  }
}

.contact-form__types {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  border: none;
}
@media (min-width: 960px) {
  .contact-form__types {
    grid-template-columns: repeat(3, 1fr);
    gap: min(0.9375vw, 12px);
    margin-top: min(2.8125vw, 36px);
  }
}

.contact-form__types .wpcf7-form-control-wrap,
.contact-form__types .wpcf7-radio,
.contact-form__types .wpcf7-list-item {
  display: contents;
}

.contact-form__type,
.contact-form__types .wpcf7-list-item > label {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding-left: 18px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
@media (min-width: 960px) {
  .contact-form__type,
  .contact-form__types .wpcf7-list-item > label {
    gap: min(1.09375vw, 14px);
    height: min(5.3125vw, 68px);
    padding-left: min(1.875vw, 24px);
    border-radius: min(0.625vw, 8px);
  }
}

.contact-form__type:has(input:checked),
.contact-form__types .wpcf7-list-item > label:has(input:checked) {
  border-color: #0068b0;
  box-shadow: inset 0 0 0 1px #0068b0;
}

.contact-form__type-input,
.contact-form__types input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin: 0;
  border-radius: 50%;
  background-color: #e2e6ea;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media (min-width: 960px) {
  .contact-form__type-input,
  .contact-form__types input[type=radio] {
    width: min(1.25vw, 16px);
    height: min(1.25vw, 16px);
  }
}

.contact-form__type-input:checked,
.contact-form__types input[type=radio]:checked {
  background-color: #00a3dc;
}

.contact-form__type-text,
.contact-form__types .wpcf7-list-item-label {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.4;
  transition: color 0.3s ease;
}
@media (min-width: 960px) {
  .contact-form__type-text,
  .contact-form__types .wpcf7-list-item-label {
    font-size: min(1.171875vw, 15px);
  }
}

.contact-form__type-input:checked + .contact-form__type-text,
.contact-form__types input[type=radio]:checked + .wpcf7-list-item-label {
  color: #094A95;
}

.contact-form__types--half {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .contact-form__types--half {
    grid-template-columns: repeat(2, 1fr);
    gap: min(1.09375vw, 14px);
    margin-top: min(0.9375vw, 12px);
  }
}

.contact-form__types--half .contact-form__type,
.contact-form__types--half .wpcf7-list-item > label {
  height: auto;
  min-height: 52px;
  gap: 8px;
  padding-block: 10px;
  padding-left: 14px;
}
@media (min-width: 960px) {
  .contact-form__types--half .contact-form__type,
  .contact-form__types--half .wpcf7-list-item > label {
    min-height: min(5.078125vw, 65px);
    gap: min(0.78125vw, 10px);
    padding-block: min(0.9375vw, 12px);
    padding-right: min(0.78125vw, 10px);
    padding-left: min(1.25vw, 16px);
  }
}

.contact-form__types + .contact-form__field {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .contact-form__types + .contact-form__field {
    margin-top: min(2.96875vw, 38px);
  }
}

.contact-form__field + .contact-form__field {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .contact-form__field + .contact-form__field {
    margin-top: min(1.796875vw, 23px);
  }
}

.contact-form__field:has(.contact-form__types) + .contact-form__field {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .contact-form__field:has(.contact-form__types) + .contact-form__field {
    margin-top: min(3.125vw, 40px);
  }
}

.contact-form__label {
  display: block;
  margin-left: 11px;
  font-size: 17px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.5;
}
@media (min-width: 960px) {
  .contact-form__label {
    margin-left: min(0.9375vw, 12px);
    font-size: min(1.328125vw, 17px);
  }
}

.contact-form__required {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 4px;
  background-color: #e00000;
  vertical-align: 2px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.2;
}
@media (min-width: 960px) {
  .contact-form__required {
    margin-left: min(0.46875vw, 6px);
    padding: min(0.15625vw, 2px) min(0.546875vw, 7px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.9375vw, 12px);
  }
}

.contact-form__input {
  display: block;
  width: 100%;
  height: 60px;
  margin-top: 8px;
  padding: 0 20px;
  border: none;
  border-radius: 8px;
  background-color: #f4f4f4;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.5;
}
@media (min-width: 960px) {
  .contact-form__input {
    height: min(4.6875vw, 60px);
    margin-top: min(0.625vw, 8px);
    padding: 0 min(1.5625vw, 20px);
    border-radius: min(0.625vw, 8px);
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 10px;
}
@media (min-width: 960px) {
  .contact-form__row {
    gap: 0 min(0.703125vw, 9px);
  }
}

.contact-form__row > .dl-form__error {
  grid-row: 2;
}

.contact-form__row > input:nth-of-type(2) + .dl-form__error {
  grid-column: 2;
}

.contact-form__input::-moz-placeholder {
  color: #9aa1a7;
}

.contact-form__input::placeholder {
  color: #9aa1a7;
}

.contact-form__input:focus {
  outline: none;
}

.contact-form__input.is-error {
  outline: 2px solid #e60012;
}

.contact-form__textarea {
  height: 180px;
  padding: 14px 20px;
  line-height: 1.8;
  resize: vertical;
}
@media (min-width: 960px) {
  .contact-form__textarea {
    height: min(15.3125vw, 196px);
    padding: min(1.25vw, 16px) min(1.5625vw, 20px);
  }
}

.contact-form__privacy {
  margin-top: 28px;
  padding: 6px 6px 0;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
}
@media (min-width: 960px) {
  .contact-form__privacy {
    margin-top: min(2.421875vw, 31px);
    padding: min(0.625vw, 8px) min(0.625vw, 8px) 0;
    border-radius: min(0.78125vw, 10px);
  }
}

.contact-form__privacy-content {
  height: 176px;
  padding: 10px 12px 10px 10px;
  overflow-y: auto;
}
@media (min-width: 960px) {
  .contact-form__privacy-content {
    height: min(14.296875vw, 183px);
    padding: min(1.171875vw, 15px) min(1.09375vw, 14px) min(0.78125vw, 10px) min(0.78125vw, 10px);
  }
}
.contact-form__privacy-content {
  scrollbar-width: thin;
  scrollbar-color: #6b6b6b transparent;
}
.contact-form__privacy-content::-webkit-scrollbar {
  width: 19px;
}
.contact-form__privacy-content::-webkit-scrollbar-track {
  background: transparent;
}
.contact-form__privacy-content::-webkit-scrollbar-thumb {
  border: 4px solid transparent;
  border-radius: 9999px;
  background: #6b6b6b;
  background-clip: padding-box;
}

.contact-form__privacy-title {
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "halt";
  line-height: 1.6;
}
@media (min-width: 960px) {
  .contact-form__privacy-title {
    margin-bottom: min(0.703125vw, 9px);
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__privacy-heading {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "halt";
  line-height: 1.75;
}
@media (min-width: 960px) {
  .contact-form__privacy-heading {
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__privacy-text {
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-feature-settings: "halt";
  line-height: 1.75;
}
@media (min-width: 960px) {
  .contact-form__privacy-text {
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__field--agree {
  margin-top: 28px;
  text-align: center;
}
@media (min-width: 960px) {
  .contact-form__field--agree {
    margin-top: min(2.34375vw, 30px);
  }
}

.contact-form__check-label,
.contact-form__field--agree .wpcf7-list-item > label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
@media (min-width: 960px) {
  .contact-form__check-label,
  .contact-form__field--agree .wpcf7-list-item > label {
    gap: min(1.015625vw, 13px);
  }
}

.contact-form__field--agree .wpcf7-form-control-wrap,
.contact-form__field--agree .wpcf7-acceptance,
.contact-form__field--agree .wpcf7-list-item {
  display: contents;
}

.contact-form__check-input,
.contact-form__field--agree input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid #b8b8b8;
  border-radius: 2px;
  background-color: #efefef;
  cursor: pointer;
}
@media (min-width: 960px) {
  .contact-form__check-input,
  .contact-form__field--agree input[type=checkbox] {
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
  }
}

.contact-form__check-input:checked::after,
.contact-form__field--agree input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  width: 6px;
  height: 12px;
  border-right: 2px solid #094A95;
  border-bottom: 2px solid #094A95;
  transform: rotate(45deg);
}

.contact-form__check-text,
.contact-form__field--agree .wpcf7-list-item-label {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .contact-form__check-text,
  .contact-form__field--agree .wpcf7-list-item-label {
    font-size: min(1.25vw, 16px);
  }
}

.contact-form__submit-wrap {
  margin-top: 16px;
  text-align: center;
}
@media (min-width: 960px) {
  .contact-form__submit-wrap {
    margin-top: min(1.5625vw, 20px);
  }
}

.contact-form__submit {
  width: 100%;
  max-width: 340px;
  min-height: 0;
  padding-block: 22px;
  font-size: 18px;
}
@media (min-width: 960px) {
  .contact-form__submit {
    width: auto;
    max-width: none;
    min-width: min(26.5625vw, 340px);
    padding-block: min(1.71875vw, 22px);
    font-size: min(1.40625vw, 18px);
  }
}

@media (max-width: 959px) {
  .contact-form__submit .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    overflow: hidden;
  }
  .contact-form__submit .btn__arrow::before, .contact-form__submit .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .contact-form__submit .btn__arrow {
    position: absolute;
    right: 19px;
  }
}
@media (max-width: 959px) and (min-width: 960px) {
  .contact-form__submit .btn__arrow::before, .contact-form__submit .btn__arrow::after {
    left: 53%;
  }
}
@media (max-width: 959px) {
  .contact-form__submit .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .contact-form__submit .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}
@media (min-width: 960px) {
  .contact-form__submit .btn__arrow {
    width: min(3.203125vw, 41px);
    height: min(3.203125vw, 41px);
    right: min(1.484375vw, 19px);
  }
}

input[type=submit].contact-form__submit {
  background-position: right 19px center;
  background-size: 41px 41px;
}
@media (min-width: 960px) {
  input[type=submit].contact-form__submit {
    background-position: right min(1.484375vw, 19px) center;
    background-size: min(3.203125vw, 41px) min(3.203125vw, 41px);
  }
}

.contact-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #e00000;
  text-align: left;
}
@media (min-width: 960px) {
  .contact-form .wpcf7-not-valid-tip {
    font-size: min(1.015625vw, 13px);
  }
}

.contact-form .wpcf7-spinner {
  display: none;
}

.contact-form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .contact-form .wpcf7-response-output {
    font-size: min(1.09375vw, 14px);
  }
}

.contact-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M0 0h18L9 11z' fill='%23000000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 9px;
  padding-right: 40px;
  cursor: pointer;
}
@media (min-width: 960px) {
  .contact-form__select {
    background-position: right min(2.421875vw, 31px) center;
    background-size: min(1.40625vw, 18px) min(0.859375vw, 11px);
    padding-right: min(4.6875vw, 60px);
  }
}

.contact-service {
  padding: 50px 0 70px;
}
@media (min-width: 960px) {
  .contact-service {
    padding: min(9.375vw, 120px) 0 min(8.984375vw, 115px);
  }
}

@media (min-width: 960px) {
  .contact-service__columns {
    display: grid;
    grid-template-columns: 1fr min(44.53125vw, 570px);
    gap: min(4.6875vw, 60px);
    align-items: start;
  }
}

.contact-service__lead {
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 2.2;
}
@media (min-width: 960px) {
  .contact-service__lead {
    font-size: min(1.25vw, 16px);
    line-height: 2.25;
  }
}

.contact-service__lead + .contact-form__lead {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .contact-service__lead + .contact-form__lead {
    margin-top: min(1.875vw, 24px);
  }
}

.contact-service__heading {
  margin-top: 40px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .contact-service__heading {
    margin-top: min(5vw, 64px);
    font-size: min(1.484375vw, 19px);
  }
}

.contact-service__card {
  margin-top: 18px;
  border: 1px solid #eee;
  border-radius: 6px;
}
@media (min-width: 960px) {
  .contact-service__card {
    margin-top: min(1.5625vw, 20px);
    border-radius: min(0.46875vw, 6px);
  }
}

.contact-service__card > img {
  display: block;
  width: 100%;
  height: auto;
}

.contact-service__card--logos {
  padding: 40px 20px;
}
@media (min-width: 960px) {
  .contact-service__card--logos {
    padding: min(4.21875vw, 54px) min(3.125vw, 40px) min(2.8125vw, 36px);
  }
}

.contact-service__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 22px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .contact-service__logos {
    gap: min(1.484375vw, 19px) min(2.421875vw, 31px);
  }
}

.contact-service__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-service__logo--04,
.contact-service__logo--05,
.contact-service__logo--06 {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .contact-service__logo--04,
  .contact-service__logo--05,
  .contact-service__logo--06 {
    margin-top: min(1.484375vw, 19px);
  }
}

.contact-service__logo img {
  display: block;
  width: auto;
}

.contact-service__logo--01 img {
  height: 13px;
}
@media (min-width: 960px) {
  .contact-service__logo--01 img {
    height: min(1.5625vw, 20px);
  }
}

.contact-service__logo--02 img {
  height: 13px;
}
@media (min-width: 960px) {
  .contact-service__logo--02 img {
    height: min(1.640625vw, 21px);
  }
}

.contact-service__logo--03 img {
  height: 14px;
}
@media (min-width: 960px) {
  .contact-service__logo--03 img {
    height: min(1.71875vw, 22px);
  }
}

.contact-service__logo--04 img {
  height: 13px;
}
@media (min-width: 960px) {
  .contact-service__logo--04 img {
    height: min(1.5625vw, 20px);
  }
}

.contact-service__logo--05 img {
  height: 13px;
}
@media (min-width: 960px) {
  .contact-service__logo--05 img {
    height: min(1.640625vw, 21px);
  }
}

.contact-service__logo--06 img {
  height: 24px;
}
@media (min-width: 960px) {
  .contact-service__logo--06 img {
    height: min(3.046875vw, 39px);
  }
}

.contact-service__logo--07 img {
  height: 9px;
}
@media (min-width: 960px) {
  .contact-service__logo--07 img {
    height: min(1.171875vw, 15px);
  }
}

.contact-service__logo--08 img {
  height: 30px;
}
@media (min-width: 960px) {
  .contact-service__logo--08 img {
    height: min(3.75vw, 48px);
  }
}

.contact-service__card--partner {
  padding: 30px 20px 35px;
}
@media (min-width: 960px) {
  .contact-service__card--partner {
    padding: min(3.4375vw, 44px) min(3.28125vw, 42px) min(3.515625vw, 45px);
  }
}

.contact-service__card-text {
  margin-top: 24px;
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 2;
}
@media (min-width: 960px) {
  .contact-service__card-text {
    margin-top: min(2.578125vw, 33px);
    font-size: min(1.171875vw, 15px);
    line-height: 2.13;
  }
}

.contact-service__card--partner > img + .contact-service__card-text {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .contact-service__card--partner > img + .contact-service__card-text {
    margin-top: min(3.203125vw, 41px);
  }
}

.contact-service__form {
  margin-top: 50px;
}
@media (min-width: 960px) {
  .contact-service__form {
    max-width: none;
    margin: 0;
  }
}

@media (min-width: 960px) {
  .contact-service__form .contact-form__field:not(:has(.contact-form__types)) + .contact-form__field {
    margin-top: min(2.03125vw, 26px);
  }
}

.contact-service__form .contact-form__submit {
  padding-inline: 72px;
}
@media (min-width: 960px) {
  .contact-service__form .contact-form__submit {
    padding-right: min(8.125vw, 104px);
    padding-left: min(3.4375vw, 44px);
  }
}

.recruit-fv {
  padding-bottom: 60px;
}
@media (max-width: 959px) {
  .recruit-fv {
    margin-top: 24px;
  }
}
@media (min-width: 960px) {
  .recruit-fv {
    padding-bottom: min(8.203125vw, 105px);
  }
}

@media (min-width: 960px) {
  body:has(.recruit-fv) .breadcrumbs {
    padding-top: min(7.578125vw, 97px);
  }
}

.recruit-fv__inner {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
@media (min-width: 960px) {
  .recruit-fv__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}

@media (min-width: 960px) {
  .recruit-fv__body {
    padding-top: min(4.921875vw, 63px);
  }
}

.recruit-fv__catch {
  font-size: 23px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .recruit-fv__catch {
    font-size: min(3.28125vw, 42px);
    line-height: 1.54;
    white-space: nowrap;
  }
}

.recruit-fv__catch .is-accent {
  color: #094A95;
}

.recruit-fv__lead {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .recruit-fv__lead {
    margin-top: min(0.625vw, 8px);
    font-size: min(1.40625vw, 18px);
  }
}

.recruit-fv__buttons {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .recruit-fv__buttons {
    gap: min(0.9375vw, 12px);
    margin-top: min(1.71875vw, 22px);
  }
}

.recruit-fv__btn {
  flex: 1;
}
@media (max-width: 959px) {
  .recruit-fv__btn {
    min-width: auto;
    padding: 0 40px 0 0;
    font-size: 12px;
  }
}
@media (min-width: 960px) {
  .recruit-fv__btn {
    flex: 0 0 auto;
    min-width: min(17.109375vw, 219px);
    min-height: min(6.09375vw, 78px);
    padding: 0 min(5.625vw, 72px) 0 min(1.875vw, 24px);
    font-size: min(1.171875vw, 15px);
  }
}

@media (max-width: 959px) {
  .recruit-fv__image {
    order: -1;
  }
}
@media (min-width: 960px) {
  .recruit-fv__image {
    flex-shrink: 0;
    width: min(43.671875vw, 559px);
    margin-right: max(-1.875vw, -24px);
  }
}

.recruit-fv__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .recruit-fv__image img {
    border-radius: min(0.625vw, 8px);
  }
}

.recruit-search {
  overflow: visible;
  background-color: #ebf3f5;
}

.recruit-search .inner {
  display: flow-root;
}

.recruit-search__box {
  display: flex;
  flex-direction: column;
  margin-top: -40px;
  padding: 13px 16px 26px;
  border-radius: 6px;
  background-color: #dae1eb;
}
@media (min-width: 960px) {
  .recruit-search__box {
    width: min(44.53125vw, 570px);
    margin: max(-5vw, -64px) auto 0;
    padding: min(1.484375vw, 19px) min(3.125vw, 40px) min(3.203125vw, 41px);
    border-radius: min(0.46875vw, 6px);
  }
}

.recruit-search__label {
  margin-bottom: 9px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-search__label {
    margin-bottom: min(1.328125vw, 17px);
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-search__field {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 16px;
  border-radius: 6px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .recruit-search__field {
    height: min(4.609375vw, 59px);
    padding: 0 min(1.5625vw, 20px);
    border-radius: min(0.46875vw, 6px);
  }
}

.recruit-search__text {
  flex: 1;
  min-width: 0;
  padding: 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-search__text {
    padding: 0 min(0.625vw, 8px);
    font-size: min(1.40625vw, 18px);
  }
}

.recruit-search__arrow {
  position: relative;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
}
.recruit-search__arrow::before, .recruit-search__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .recruit-search__arrow::before, .recruit-search__arrow::after {
    left: 53%;
  }
}
.recruit-search__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.recruit-search__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.recruit-search__arrow {
  background-color: #094A95;
  color: #fff;
}
@media (min-width: 960px) {
  .recruit-search__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
    border-radius: 50%;
    overflow: hidden;
  }
  .recruit-search__arrow::before, .recruit-search__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transition: transform 0.45s ease;
  }
  .recruit-search__arrow {
    background-color: #094A95;
    color: #fff;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .recruit-search__arrow::before, .recruit-search__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .recruit-search__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .recruit-search__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .recruit-search__field:hover {
    opacity: 1;
  }
  .recruit-search__field:hover .recruit-search__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .recruit-search__field:hover .recruit-search__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.recruit-stats {
  background: #ebf3f5 url("../img/07_career/office.webp") center bottom/100% auto no-repeat;
  padding: 60px 0 270px;
}
@media (min-width: 960px) {
  .recruit-stats {
    /* stylelint-disable-next-line function-name-case */
    padding: min(4.765625vw, 61px) 0 40.625vw;
  }
}

.recruit-stats__lead {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: center;
  line-height: 2;
}
@media (min-width: 960px) {
  .recruit-stats__lead {
    margin-top: min(1.71875vw, 22px);
    font-size: min(1.25vw, 16px);
    line-height: 1.875;
  }
}

.recruit-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 32px;
}
@media (min-width: 960px) {
  .recruit-stats__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.5625vw, 20px);
    max-width: min(87.5vw, 1120px);
    margin: min(3.90625vw, 50px) auto 0;
  }
}

.recruit-stats__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 8px 16px;
}
@media (min-width: 960px) {
  .recruit-stats__card {
    height: min(14.21875vw, 182px);
    border-radius: min(0.78125vw, 10px);
    padding: min(2.34375vw, 30px) min(1.25vw, 16px) 0;
  }
}

@media (max-width: 959px) {
  .recruit-stats__card--compare {
    grid-column: span 2;
  }
}

@media (max-width: 959px) {
  .recruit-stats__card--wide {
    grid-column: span 2;
  }
}

@media (min-width: 960px) {
  .recruit-stats__card--center {
    grid-column: 2;
  }
}

.recruit-stats__card-label {
  display: inline-flex;
  align-items: center;
  border-radius: 6px;
  background-color: #094A95;
  padding: 6px 10px;
  font-feature-settings: "palt";
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .recruit-stats__card-label {
    border-radius: min(0.46875vw, 6px);
    padding: min(0.546875vw, 7px) min(1.09375vw, 14px);
    font-size: min(1.171875vw, 15px);
  }
}

.recruit-stats__card-value {
  position: relative;
  margin-top: 8px;
  font-feature-settings: "palt";
  font-size: 44px;
  font-weight: 700;
  color: #00a3dc;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .recruit-stats__card-value {
    margin-top: min(0.78125vw, 10px);
    font-size: min(5.3125vw, 68px);
  }
}

.recruit-stats__card-unit {
  position: absolute;
  left: 100%;
  bottom: 13px;
  margin-left: 5px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 11px;
  color: #000;
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-stats__card-unit {
    bottom: min(1.5625vw, 20px);
    margin-left: min(0.625vw, 8px);
    font-size: min(1.171875vw, 15px);
  }
}

.recruit-stats__card-note {
  margin-top: 2px;
  font-size: 10px;
  font-weight: 400;
  color: #606060;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .recruit-stats__card-note {
    margin-top: 0;
    font-size: min(0.9375vw, 12px);
  }
}

.recruit-stats__card-values {
  display: flex;
  align-items: center;
  margin-top: 8px;
}
@media (min-width: 960px) {
  .recruit-stats__card-values {
    margin-top: min(0.46875vw, 6px);
  }
}

.recruit-stats__card-col {
  position: relative;
  width: 120px;
}
@media (min-width: 960px) {
  .recruit-stats__card-col {
    width: min(11.71875vw, 150px);
  }
}

.recruit-stats__card-col:first-child {
  text-align: right;
  padding-right: 41px;
}
@media (min-width: 960px) {
  .recruit-stats__card-col:first-child {
    padding-right: min(4.0625vw, 52px);
  }
}

.recruit-stats__card-col:last-child {
  text-align: left;
  padding-left: 28px;
}
@media (min-width: 960px) {
  .recruit-stats__card-col:last-child {
    padding-left: min(2.734375vw, 35px);
  }
}

.recruit-stats__card-group {
  display: inline-block;
  text-align: center;
}

.recruit-stats__card-col + .recruit-stats__card-col::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 26px;
  background-color: #a8afb9;
}
@media (min-width: 960px) {
  .recruit-stats__card-col + .recruit-stats__card-col::before {
    height: min(2.34375vw, 30px);
  }
}

.recruit-stats__card-sub {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .recruit-stats__card-sub {
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-stats__card--compare .recruit-stats__card-value {
  display: inline-block;
  margin-top: 4px;
  font-size: 38px;
}
@media (min-width: 960px) {
  .recruit-stats__card--compare .recruit-stats__card-value {
    margin-top: min(0.3125vw, 4px);
    font-size: min(4.53125vw, 58px);
  }
}

.recruit-stats__card--compare .recruit-stats__card-unit {
  bottom: 10px;
  font-size: 10px;
}
@media (min-width: 960px) {
  .recruit-stats__card--compare .recruit-stats__card-unit {
    bottom: min(1.25vw, 16px);
    margin-left: min(0.625vw, 8px);
    font-size: min(1.015625vw, 13px);
  }
}

.recruit-stats__note {
  margin-top: 14px;
  font-size: 11px;
  font-weight: 400;
  color: #000;
  text-align: center;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .recruit-stats__note {
    margin-top: min(0.859375vw, 11px);
    font-size: min(1.015625vw, 13px);
  }
}

.recruit-feature {
  background-color: #094A95;
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .recruit-feature {
    padding: min(7.65625vw, 98px) 0 0;
  }
}

.recruit-feature__grid {
  display: grid;
  gap: 44px;
  margin-top: 48px;
}
@media (min-width: 960px) {
  .recruit-feature__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.5625vw, 20px);
    max-width: min(87.5vw, 1120px);
    margin: min(4.0625vw, 52px) auto 0;
  }
}

.recruit-feature__card {
  position: relative;
  background-color: #fff;
  border-radius: 10px;
  padding: 0 20px 28px;
}
@media (min-width: 960px) {
  .recruit-feature__card {
    border-radius: min(0.78125vw, 10px);
    padding: 0 min(2.421875vw, 31px) min(3.75vw, 48px);
  }
}

.recruit-feature__card-num {
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #00a3dc;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-feature__card-num {
    top: max(-2.1875vw, -28px);
    width: min(4.375vw, 56px);
    height: min(4.375vw, 56px);
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-feature__card-title {
  margin-top: 42px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.65;
}
@media (min-width: 960px) {
  .recruit-feature__card-title {
    margin-top: min(3.4375vw, 44px);
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-feature__card-image {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .recruit-feature__card-image {
    margin-top: min(1.875vw, 24px);
  }
}

.recruit-feature__card-image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .recruit-feature__card-image img {
    border-radius: min(0.3125vw, 4px);
  }
}

.recruit-feature__card-text {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: justify;
  line-height: 1.86;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .recruit-feature__card-text {
    margin-top: min(2.109375vw, 27px);
  }
}

.recruit-links {
  background-color: #094A95;
  padding: 60px 0;
}
@media (min-width: 960px) {
  .recruit-links {
    padding: min(6.484375vw, 83px) 0 min(6.328125vw, 81px);
  }
}

.recruit-links__grid {
  display: grid;
  gap: 24px;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .recruit-links__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.5625vw, 20px);
    max-width: min(87.5vw, 1120px);
    margin: min(3.28125vw, 42px) auto 0;
  }
}

.recruit-links__card {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 10px;
  padding: 28px 20px;
}
@media (min-width: 960px) {
  .recruit-links__card {
    height: min(23.4375vw, 300px);
    border-radius: min(0.78125vw, 10px);
    padding: min(2.65625vw, 34px) min(2.03125vw, 26px) min(3.046875vw, 39px);
  }
}

.recruit-links__card-title {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-links__card-title {
    font-size: min(1.875vw, 24px);
  }
}

.recruit-links__card-title .is-accent {
  color: #00a3dc;
}

.recruit-links__card--light {
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .recruit-links__card--light {
    height: min(25.78125vw, 330px);
    padding: min(3.046875vw, 39px) min(2.34375vw, 30px);
  }
}

.recruit-links__card--light .recruit-links__card-title {
  color: #094A95;
}
@media (min-width: 960px) {
  .recruit-links__card--light .recruit-links__card-title {
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-links__card--light .recruit-links__card-text {
  text-align: justify;
  letter-spacing: 0;
}

.recruit-links__card-text {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.73;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .recruit-links__card-text {
    margin-top: min(2.03125vw, 26px);
    font-size: min(1.171875vw, 15px);
  }
}

.recruit-links__btn {
  margin-top: 24px;
  align-self: center;
  justify-content: flex-start;
  width: 220px;
  min-width: 0;
  min-height: 60px;
  padding: 0 0 0 31px;
}
@media (min-width: 960px) {
  .recruit-links__btn {
    margin-top: auto;
    width: min(17.1875vw, 220px);
    height: min(4.6875vw, 60px);
    padding: 0 0 0 min(2.421875vw, 31px);
    font-size: min(1.171875vw, 15px);
  }
}

@media (min-width: 960px) {
  .recruit-links__btn .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
    border-radius: 50%;
    overflow: hidden;
  }
  .recruit-links__btn .btn__arrow::before, .recruit-links__btn .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .recruit-links__btn .btn__arrow {
    position: absolute;
    right: min(1.5625vw, 20px);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .recruit-links__btn .btn__arrow::before, .recruit-links__btn .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .recruit-links__btn .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .recruit-links__btn .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

.recruit-message {
  background-color: #ebf3f5;
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .recruit-message {
    padding: min(6.171875vw, 79px) 0 0;
  }
}

.recruit-message__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 960px) {
  .recruit-message__body {
    flex-direction: row;
    gap: min(4.6875vw, 60px);
    max-width: min(87.5vw, 1120px);
    margin-inline: auto;
  }
}

@media (min-width: 960px) {
  .recruit-message__content {
    flex: 1;
    min-width: 0;
  }
}

@media (min-width: 960px) {
  .recruit-message .heading {
    margin-top: min(2.96875vw, 38px);
  }
}

.recruit-message .heading__sub {
  color: #000;
}

@media (min-width: 960px) {
  .recruit-message .heading__title {
    margin-top: min(1.640625vw, 21px);
    font-size: min(3.4375vw, 44px);
    line-height: 1.44;
    letter-spacing: 0;
  }
}

.recruit-message__text {
  margin-top: 24px;
  font-feature-settings: "palt";
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 2;
}
@media (min-width: 960px) {
  .recruit-message__text {
    margin-top: min(3.203125vw, 41px);
    font-size: min(1.25vw, 16px);
    line-height: 1.875;
  }
}

.recruit-message__name {
  margin-top: 24px;
}
@media (min-width: 960px) {
  .recruit-message__name {
    margin-top: min(2.421875vw, 31px);
  }
}

.recruit-message__role {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-message__role {
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-message__person {
  margin-top: 6px;
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .recruit-message__person {
    margin-top: min(0.78125vw, 10px);
    font-size: min(1.71875vw, 22px);
  }
}

.recruit-message__image {
  order: -1;
}
@media (min-width: 960px) {
  .recruit-message__image {
    order: 0;
    flex-shrink: 0;
    width: min(34.375vw, 440px);
    margin-right: min(3.125vw, 40px);
  }
}

.recruit-message__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .recruit-message__image img {
    border-radius: min(0.9375vw, 12px);
  }
}

.recruit-interview {
  background-color: #ebf3f5;
  padding: 48px 0 60px;
}
@media (min-width: 960px) {
  .recruit-interview {
    padding: min(4.375vw, 56px) 0 min(6.09375vw, 78px);
  }
}

.recruit-interview__title {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-interview__title {
    font-size: min(2.5vw, 32px);
  }
}

.recruit-interview__slider-wrap {
  position: relative;
  margin-top: 24px;
}
@media (min-width: 960px) {
  .recruit-interview__slider-wrap {
    margin-top: min(2.734375vw, 35px);
  }
}

.recruit-interview__card {
  width: 280px;
  background: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
@media (min-width: 960px) {
  .recruit-interview__card {
    width: min(25vw, 320px);
  }
}

.recruit-interview__image {
  display: block;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 960px) {
  .recruit-interview__image {
    border-radius: min(0.625vw, 8px);
  }
}

.recruit-interview__image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.recruit-interview__comment {
  display: block;
  margin-top: 14px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.64;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: color 0.5s ease, text-decoration-color 0.5s ease;
}
@media (min-width: 960px) {
  .recruit-interview__comment {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.40625vw, 18px);
  }
}

.recruit-interview__meta {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .recruit-interview__meta {
    margin-top: min(0.703125vw, 9px);
    font-size: min(1.015625vw, 13px);
  }
}

@media (hover: hover) {
  .recruit-interview__card:hover .recruit-interview__image img {
    transform: scale(1.1);
  }
  .recruit-interview__card:hover .recruit-interview__comment {
    color: #094A95;
    text-decoration-color: #094A95;
  }
}
.recruit-interview__nav {
  position: absolute;
  top: 149px;
  transform: translateY(-50%);
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1px solid #094A95;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23094A95;%20stroke-width:%20.75px;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='8.3%202%2010.65%204.35%208.3%206.7'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/16px auto no-repeat;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (min-width: 960px) {
  .recruit-interview__nav {
    top: min(13.28125vw, 170px);
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
    background-size: min(1.25vw, 16px) auto;
  }
}

.recruit-interview__nav--prev {
  left: 16px;
  transform: translateY(-50%) scaleX(-1);
}
@media (min-width: 960px) {
  .recruit-interview__nav--prev {
    left: min(4.296875vw, 55px);
  }
}

.recruit-interview__nav--next {
  right: 16px;
}
@media (min-width: 960px) {
  .recruit-interview__nav--next {
    right: min(4.296875vw, 55px);
  }
}

.recruit-interview__nav.swiper-button-disabled {
  opacity: 0.4;
  pointer-events: none;
}

@media (hover: hover) {
  .recruit-interview__nav:hover {
    opacity: 0.7;
  }
}
.recruit-interview-modal {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  background: none;
  padding: 0;
  overflow: visible;
}

.recruit-interview-modal[open] {
  display: flex;
  align-items: center;
  justify-content: center;
}

.recruit-interview-modal:focus-visible {
  outline: none;
}

.recruit-interview-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

html:has(.recruit-interview-modal[open]) {
  overflow: hidden;
}

.recruit-interview-modal__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100% - 60px);
  max-height: calc(100svh - 60px);
  border-radius: 12px;
  background-color: #ebf3f5;
  padding: 22px 7.5px 30px 17.5px;
}
@media (min-width: 960px) {
  .recruit-interview-modal__panel {
    width: min(75vw, 960px);
    height: min(min(46.875vw, 600px), 100svh - 40px);
    max-height: none;
    border-radius: min(0.9375vw, 12px);
    padding: min(6.25vw, 80px) min(2.34375vw, 30px) min(4.6875vw, 60px) min(4.6875vw, 60px);
  }
}

.recruit-interview-modal__item {
  flex: 1;
  min-height: 0;
  padding-right: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (min-width: 960px) {
  .recruit-interview-modal__item {
    display: flex;
    gap: min(3.90625vw, 50px);
    padding-right: 0;
    overflow: visible;
  }
}

.recruit-interview-modal__item[hidden] {
  display: none;
}

@media (min-width: 960px) {
  .recruit-interview-modal__image {
    flex-shrink: 0;
    width: min(27.34375vw, 350px);
  }
}

.recruit-interview-modal__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .recruit-interview-modal__image img {
    border-radius: min(0.78125vw, 10px);
  }
}

.recruit-interview-modal__body {
  margin-top: 25px;
  padding-left: 11px;
}
@media (min-width: 960px) {
  .recruit-interview-modal__body {
    flex: 1;
    min-width: 0;
    height: 100%;
    margin-top: 0;
    padding-right: min(1.5625vw, 20px);
    padding-left: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

.recruit-interview-modal__item::-webkit-scrollbar {
  width: 5px;
}

.recruit-interview-modal__body::-webkit-scrollbar {
  width: 9px;
}

.recruit-interview-modal__item::-webkit-scrollbar-thumb,
.recruit-interview-modal__body::-webkit-scrollbar-thumb {
  border-radius: 9px;
  background-color: #ccc;
}

.recruit-interview-modal__item::-webkit-scrollbar-track,
.recruit-interview-modal__body::-webkit-scrollbar-track {
  margin-top: 20px;
  background: none;
}
@media (min-width: 960px) {
  .recruit-interview-modal__item::-webkit-scrollbar-track,
  .recruit-interview-modal__body::-webkit-scrollbar-track {
    margin-top: min(1.484375vw, 19px);
  }
}

@supports not selector(::-webkit-scrollbar) {
  .recruit-interview-modal__item,
  .recruit-interview-modal__body {
    scrollbar-color: #ccc transparent;
    scrollbar-width: thin;
  }
}
.recruit-interview-modal__title {
  font-size: 21px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.52;
}
@media (min-width: 960px) {
  .recruit-interview-modal__title {
    margin-top: min(0.78125vw, 10px);
    font-size: min(2.1875vw, 28px);
    line-height: 1.57;
  }
}

.recruit-interview-modal__meta {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .recruit-interview-modal__meta {
    margin-top: min(0.78125vw, 10px);
    font-size: min(1.015625vw, 13px);
  }
}

.recruit-interview-modal__profile {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .recruit-interview-modal__profile {
    margin-top: min(1.25vw, 16px);
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-interview-modal__profile p + p,
.recruit-interview-modal__text p + p {
  margin-top: 1em;
}

.recruit-interview-modal__heading {
  margin-top: 34px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.56;
}
@media (min-width: 960px) {
  .recruit-interview-modal__heading {
    margin-top: min(3.828125vw, 49px);
    font-size: min(1.40625vw, 18px);
  }
}

.recruit-interview-modal__text {
  margin-top: 22px;
  font-size: 15px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.73;
}
@media (min-width: 960px) {
  .recruit-interview-modal__text {
    margin-top: min(1.71875vw, 22px);
    font-size: min(1.171875vw, 15px);
  }
}

.recruit-interview-modal__close {
  position: absolute;
  top: -16px;
  right: -15px;
  z-index: 1;
  width: 40px;
  height: 40px;
  border: 1px solid #054994;
  border-radius: 50%;
  background-color: #054994;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s;
}
@media (min-width: 960px) {
  .recruit-interview-modal__close {
    top: min(1.5625vw, 20px);
    right: min(1.5625vw, 20px);
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
}

.recruit-interview-modal__close::before,
.recruit-interview-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 1.5px;
  background-color: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 0.3s;
}
@media (min-width: 960px) {
  .recruit-interview-modal__close::before,
  .recruit-interview-modal__close::after {
    width: min(1.71875vw, 22px);
  }
}

.recruit-interview-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.recruit-interview-modal__nav {
  position: relative;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
}
.recruit-interview-modal__nav::before, .recruit-interview-modal__nav::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .recruit-interview-modal__nav::before, .recruit-interview-modal__nav::after {
    left: 53%;
  }
}
.recruit-interview-modal__nav::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.recruit-interview-modal__nav::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.recruit-interview-modal__nav {
  position: absolute;
  top: calc(50% - 10px);
  z-index: 1;
  background-color: #054994;
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 0.3s, color 0.3s;
}
@media (min-width: 960px) {
  .recruit-interview-modal__nav {
    position: relative;
    flex-shrink: 0;
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
    border-radius: 50%;
    overflow: hidden;
  }
  .recruit-interview-modal__nav::before, .recruit-interview-modal__nav::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.78125vw, 10px);
    height: min(0.78125vw, 10px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .recruit-interview-modal__nav {
    position: absolute;
    top: 50%;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .recruit-interview-modal__nav::before, .recruit-interview-modal__nav::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .recruit-interview-modal__nav::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .recruit-interview-modal__nav::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

.recruit-interview-modal__nav::before,
.recruit-interview-modal__nav::after {
  left: 48%;
}

.recruit-interview-modal__nav--prev {
  left: -20px;
  transform: translateY(-50%) scaleX(-1);
}
@media (min-width: 960px) {
  .recruit-interview-modal__nav--prev {
    left: max(-2.8125vw, -36px);
  }
}

.recruit-interview-modal__nav--next {
  right: -20px;
}
@media (min-width: 960px) {
  .recruit-interview-modal__nav--next {
    right: max(-2.8125vw, -36px);
  }
}

@media (hover: hover) {
  .recruit-interview-modal__close:hover {
    border-color: #054994;
    background-color: #fff;
  }
  .recruit-interview-modal__close:hover::before,
  .recruit-interview-modal__close:hover::after {
    background-color: #054994;
  }
  .recruit-interview-modal__nav:hover {
    background-color: #fff;
    color: #054994;
  }
  .recruit-interview-modal__nav:hover::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .recruit-interview-modal__nav:hover::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.recruit-requirements {
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .recruit-requirements {
    padding: min(7.96875vw, 102px) 0 0;
  }
}

.recruit-requirements .recruit-links__grid {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .recruit-requirements .recruit-links__grid {
    grid-template-columns: min(28.125vw, 360px);
    justify-content: center;
    margin-top: min(2.03125vw, 26px);
  }
}

@media (min-width: 960px) {
  .recruit-requirements .recruit-links__card {
    height: auto;
  }
}

@media (min-width: 960px) {
  .recruit-requirements .recruit-links__btn {
    margin-top: min(2.5vw, 32px);
  }
}

.recruit-flow {
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .recruit-flow {
    padding: min(6.09375vw, 78px) 0 0;
  }
}

.recruit-flow__list {
  background-color: #f5f9fa;
  border-bottom: 4px solid #e2e3e7;
  margin-top: 24px;
}
@media (min-width: 960px) {
  .recruit-flow__list {
    max-width: min(73.4375vw, 940px);
    margin: min(1.953125vw, 25px) auto 0;
    border-bottom-width: min(0.3125vw, 4px);
  }
}

.recruit-flow__step {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  -moz-column-gap: 14px;
       column-gap: 14px;
  align-items: center;
  border-top: 4px solid #e2e3e7;
  padding: 16px 14px;
}
@media (min-width: 960px) {
  .recruit-flow__step {
    grid-template-columns: min(5.625vw, 72px) min(14.84375vw, 190px) 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    border-top-width: min(0.3125vw, 4px);
    padding: min(1.796875vw, 23px) min(1.5625vw, 20px) min(1.796875vw, 23px) min(3.125vw, 40px);
  }
}

.recruit-flow__step::before {
  content: "";
  position: absolute;
  top: -4px;
  bottom: 0;
  left: 32px;
  transform: translateX(-50%);
  width: 3px;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .recruit-flow__step::before {
    top: max(-0.3125vw, -4px);
    left: min(5.078125vw, 65px);
    width: min(0.234375vw, 3px);
  }
}

.recruit-flow__step:first-child::before {
  top: 34px;
}
@media (min-width: 960px) {
  .recruit-flow__step:first-child::before {
    top: 50%;
  }
}

.recruit-flow__step:last-child::before {
  bottom: calc(100% - 34px);
}
@media (min-width: 960px) {
  .recruit-flow__step:last-child::before {
    bottom: 50%;
  }
}

.recruit-flow__num {
  position: relative;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #00a3dc;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-flow__num {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-flow__name {
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-flow__name {
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-flow__body {
  grid-column: 2;
}
@media (min-width: 960px) {
  .recruit-flow__body {
    grid-column: 3;
  }
}

.recruit-flow__text {
  font-size: 13px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .recruit-flow__text {
    font-size: min(1.171875vw, 15px);
    line-height: 1.5;
  }
}

.recruit-flow__note {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-flow__note {
    margin-top: min(0.546875vw, 7px);
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-flow__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
  text-decoration: none;
}
@media (min-width: 960px) {
  .recruit-flow__link {
    gap: min(0.625vw, 8px);
    margin-top: min(0.3125vw, 4px);
    font-size: min(1.171875vw, 15px);
  }
}

.recruit-flow__link-arrow {
  position: relative;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  overflow: hidden;
}
.recruit-flow__link-arrow::before, .recruit-flow__link-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 4px;
  height: 4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .recruit-flow__link-arrow::before, .recruit-flow__link-arrow::after {
    left: 53%;
  }
}
.recruit-flow__link-arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.recruit-flow__link-arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.recruit-flow__link-arrow {
  background-color: #094A95;
  color: #fff;
}
@media (min-width: 960px) {
  .recruit-flow__link-arrow {
    position: relative;
    flex-shrink: 0;
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
    border-radius: 50%;
    overflow: hidden;
  }
  .recruit-flow__link-arrow::before, .recruit-flow__link-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.390625vw, 5px);
    height: min(0.390625vw, 5px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .recruit-flow__link-arrow::before, .recruit-flow__link-arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .recruit-flow__link-arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .recruit-flow__link-arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

.recruit-faq {
  padding: 60px 0 0;
}
@media (min-width: 960px) {
  .recruit-faq {
    padding: min(6.25vw, 80px) 0 0;
  }
}

.recruit-faq .top-faq__list {
  border-bottom: none;
  gap: 8px;
  margin-top: 24px;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__list {
    max-width: min(73.4375vw, 940px);
    margin: min(1.796875vw, 23px) auto 0;
    gap: min(0.703125vw, 9px);
  }
}

.recruit-faq .top-faq__item {
  border: 1px solid #e2e3e7;
  border-radius: 4px;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__item {
    border-radius: min(0.3125vw, 4px);
  }
}

.recruit-faq .top-faq__q {
  letter-spacing: 0;
  padding: 20px 15px 20px 22px;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__q {
    gap: min(1.015625vw, 13px);
    padding: min(1.875vw, 24px) min(2.5vw, 32px);
  }
}

.recruit-faq .top-faq__q-icon {
  color: #00a3dc;
}

.recruit-faq .top-faq__q-text {
  font-feature-settings: normal;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__q-text {
    font-size: min(1.5625vw, 20px);
  }
}

.recruit-faq .top-faq__q-toggle {
  position: relative;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background-color: #094A95;
  transform: none;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__q-toggle {
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
  }
}

.recruit-faq .top-faq__q-toggle::before,
.recruit-faq .top-faq__q-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 13px;
  height: 2px;
  background-color: #fff;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__q-toggle::before,
  .recruit-faq .top-faq__q-toggle::after {
    width: min(1.25vw, 16px);
  }
}

.recruit-faq .top-faq__q-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.recruit-faq .top-faq__q.is-open .top-faq__q-toggle {
  transform: none;
}

.recruit-faq .top-faq__q.is-open .top-faq__q-toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.recruit-faq .top-faq__a-inner {
  padding: 0 22px 20px;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__a-inner {
    gap: min(1.5625vw, 20px);
    padding: 0 min(2.5vw, 32px) min(2.1875vw, 28px);
  }
}

.recruit-faq .top-faq__a-icon {
  line-height: 1;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__a-icon {
    font-size: min(2.1875vw, 28px);
  }
}

.recruit-faq .top-faq__a-body p {
  font-weight: 400;
  line-height: 1.6;
  padding-top: 0;
}
@media (min-width: 960px) {
  .recruit-faq .top-faq__a-body p {
    padding-top: 0;
    font-size: min(1.40625vw, 18px);
  }
}

.recruit-cta {
  padding: 60px 0;
}
@media (min-width: 960px) {
  .recruit-cta {
    padding: min(8.28125vw, 106px) 0 min(7.34375vw, 94px);
  }
}

.recruit-cta__box {
  border-radius: 12px;
  background: #094A95 url("../img/07_career/cta-bg.webp") center/cover no-repeat;
  padding: 40px 20px;
}
@media (min-width: 960px) {
  .recruit-cta__box {
    border-radius: min(1.25vw, 16px);
    padding: min(7.890625vw, 101px) min(1.5625vw, 20px) min(8.828125vw, 113px);
  }
}

.recruit-cta__catch {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.83;
}
@media (min-width: 960px) {
  .recruit-cta__catch {
    font-size: min(1.875vw, 24px);
  }
}

.recruit-cta__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .recruit-cta__buttons {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: min(1.09375vw, 14px);
    margin-top: min(4.609375vw, 59px);
  }
}

.recruit-cta__unit {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 315px;
}
@media (min-width: 960px) {
  .recruit-cta__unit {
    width: min(24.609375vw, 315px);
    max-width: none;
  }
}

.recruit-cta__label {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .recruit-cta__label {
    font-size: min(1.09375vw, 14px);
  }
}

.recruit-cta__btn {
  margin-top: 12px;
  width: 100%;
  min-width: 0;
  min-height: 60px;
  padding: 0 40px 0 16px;
  font-size: 15px;
}
@media (min-width: 960px) {
  .recruit-cta__btn {
    margin-top: min(1.484375vw, 19px);
    height: min(6.09375vw, 78px);
    padding: 0 min(5vw, 64px) 0 min(1.5625vw, 20px);
    font-size: min(1.25vw, 16px);
  }
}

.seminar-archive {
  padding: 56px 0 0;
  background-color: #fff;
}
@media (min-width: 960px) {
  .seminar-archive {
    padding: min(5.3125vw, 68px) 0 0;
  }
}

.seminar-archive__lead {
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 2;
}
@media (max-width: 959px) {
  .seminar-archive__lead {
    font-size: 16px;
    font-weight: 700;
    font-feature-settings: "halt";
    line-height: 1.75;
  }
}
@media (min-width: 960px) {
  .seminar-archive__lead {
    font-size: min(1.25vw, 16px);
    line-height: 2.3;
    text-align: center;
  }
}

.seminar-archive__section {
  margin-top: 46px;
}
@media (min-width: 960px) {
  .seminar-archive__section {
    margin-top: min(4.53125vw, 58px);
  }
}

.seminar-archive__section + .seminar-archive__section {
  margin-top: 45px;
  padding: 54px 0 80px;
  background-color: #f3f3f3;
  box-shadow: 0 0 0 100vmax #f3f3f3;
  -webkit-clip-path: inset(0 -100vmax);
          clip-path: inset(0 -100vmax);
}
@media (min-width: 960px) {
  .seminar-archive__section + .seminar-archive__section {
    margin-top: min(6.328125vw, 81px);
    padding: min(6.09375vw, 78px) 0 min(9.375vw, 120px);
  }
}

.seminar-archive__heading {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .seminar-archive__heading {
    font-size: min(2.8125vw, 36px);
  }
}

.seminar-archive__list {
  display: grid;
  gap: 22px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .seminar-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(3.125vw, 40px);
    margin-top: min(4.375vw, 56px);
  }
}

.seminar-archive__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 441px;
  margin-top: 28px;
  padding: 20px;
  border-radius: 8px;
  background-color: #f3f3f3;
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.65;
}
@media (min-width: 960px) {
  .seminar-archive__empty {
    min-height: min(15.625vw, 200px);
    margin-top: min(4.375vw, 56px);
    border-radius: min(0.625vw, 8px);
    font-size: min(1.25vw, 16px);
  }
}

.seminar-archive__pagination {
  margin-top: 48px;
}
@media (min-width: 960px) {
  .seminar-archive__pagination {
    margin-top: min(4.6875vw, 60px);
  }
}

article.single-seminar {
  padding: 36px 0 65px;
}
@media (min-width: 960px) {
  article.single-seminar {
    padding: min(5.390625vw, 69px) 0 min(7.8125vw, 100px);
  }
}

@media (max-width: 959px) {
  .single-seminar__inner {
    display: flex;
    flex-direction: column;
  }
}

.single-seminar__meta {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 959px) {
  .single-seminar__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }
}
@media (min-width: 960px) {
  .single-seminar__meta {
    gap: min(1.5625vw, 20px);
  }
}

@media (max-width: 959px) {
  .single-seminar__meta .card-seminar__status {
    padding: 4px 6px;
    font-size: 13px;
  }
}

.single-seminar__date {
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (max-width: 959px) {
  .single-seminar__date {
    font-weight: 400;
    font-feature-settings: "palt";
  }
}
@media (min-width: 960px) {
  .single-seminar__date {
    font-size: min(1.25vw, 16px);
  }
}

.single-seminar__title {
  margin-top: 21px;
  font-size: 24px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (max-width: 959px) {
  .single-seminar__title {
    letter-spacing: 0.06em;
  }
}
@media (min-width: 960px) {
  .single-seminar__title {
    margin-top: min(1.71875vw, 22px);
    font-size: min(3.28125vw, 42px);
  }
}

@media (max-width: 959px) {
  .single-seminar__columns {
    display: contents;
  }
}
@media (min-width: 960px) {
  .single-seminar__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 375px;
    gap: min(3.125vw, 40px);
  }
}

.single-seminar__eyecatch {
  margin-top: 28px;
}
@media (min-width: 960px) {
  .single-seminar__eyecatch {
    margin-top: min(4.21875vw, 54px);
  }
}

.single-seminar__eyecatch img {
  display: block;
  width: 100%;
  height: auto;
}

.single-seminar__body {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .single-seminar__body {
    margin-top: min(4.21875vw, 54px);
  }
}

.single-seminar__eyecatch + .single-seminar__body {
  margin-top: 21px;
}
@media (min-width: 960px) {
  .single-seminar__eyecatch + .single-seminar__body {
    margin-top: min(3.125vw, 40px);
  }
}

@media (max-width: 959px) {
  .single-seminar__sidebar {
    order: 1;
  }
}

@media (min-width: 960px) {
  .seminar-sidebar {
    height: 100%;
  }
}

.seminar-sidebar__form {
  max-width: 360px;
  margin: 33px auto 0;
}
@media (min-width: 960px) {
  .seminar-sidebar__form {
    position: sticky;
    top: min(6.25vw, 80px);
    max-width: none;
    max-height: calc(100vh - min(6.25vw, 80px) - 20px);
    margin: 0;
    padding-right: 15px;
    overflow-y: auto;
  }
}

.seminar-sidebar__form img {
  display: block;
  width: 100%;
  height: auto;
}

.single-seminar__related {
  overflow: visible;
  margin-top: 51px;
}
@media (min-width: 960px) {
  .single-seminar__related {
    margin-top: min(7.03125vw, 90px);
  }
}

.single-seminar__related-slider {
  position: relative;
  container-type: inline-size;
  margin-top: 28px;
}
@media (min-width: 960px) {
  .single-seminar__related-slider {
    margin-top: min(4.375vw, 56px);
  }
}

.single-seminar__related-slider .seminar-archive__list {
  margin-top: 0;
}
@media (max-width: 959px) {
  .single-seminar__related-slider .seminar-archive__list {
    display: flex;
    gap: 0;
  }
}

.single-seminar__related-nav {
  position: absolute;
  top: calc(20px + (100cqw - 40px) * 324 / 517);
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #094A95 url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2011.36%208.71'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20none;%20stroke:%20%23fff;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_レイヤー_3'%20data-name='レイヤー_3'%3e%3cg%3e%3cpolyline%20class='cls-1'%20points='6.65%20.35%2010.65%204.35%206.65%208.35'/%3e%3cline%20class='cls-1'%20y1='4.35'%20x2='10.65'%20y2='4.35'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/10px no-repeat;
  transform: translateY(-50%);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 960px) {
  .single-seminar__related-nav {
    display: none;
  }
}

.single-seminar__related-nav--prev {
  left: -15px;
  transform: translateY(-50%) scaleX(-1);
}

.single-seminar__related-nav--next {
  right: -15px;
}

.single-seminar__related-nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.single-seminar__related-btn {
  margin-top: 37px;
  text-align: center;
}
@media (min-width: 960px) {
  .single-seminar__related-btn {
    margin-top: min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .single-seminar__related-btn .btn {
    min-width: min(23.4375vw, 300px);
  }
}

.author-profile {
  padding-top: 40px;
}
@media (min-width: 960px) {
  .author-profile {
    padding-top: min(4.6875vw, 60px);
  }
}

.author-profile__card {
  padding: 24px 20px;
  border-radius: 12px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .author-profile__card {
    display: grid;
    grid-template-columns: min(20.390625vw, 261px) 1fr;
    gap: min(4.84375vw, 62px);
    padding: min(4.53125vw, 58px);
    border-radius: min(0.9375vw, 12px);
  }
}

@media (max-width: 959px) {
  .author-profile__person {
    max-width: 262px;
    margin-inline: auto;
  }
}

.author-profile__caption {
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .author-profile__caption {
    font-size: min(1.40625vw, 18px);
  }
}

.author-profile__photo {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .author-profile__photo {
    margin-top: min(1.796875vw, 23px);
  }
}

.author-profile__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 262/331;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}

.author-profile__name {
  margin-top: 16px;
  font-size: 17px;
  font-weight: 400;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .author-profile__name {
    margin-top: min(1.484375vw, 19px);
    font-size: min(1.40625vw, 18px);
  }
}

.author-profile__list {
  margin: 24px 0 0;
}
@media (min-width: 960px) {
  .author-profile__list {
    margin: 0;
  }
}

@media (min-width: 960px) {
  .author-profile__row {
    display: grid;
    grid-template-columns: min(20.390625vw, 261px) 1fr;
  }
}

.author-profile__row + .author-profile__row {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #c6ced0;
}
@media (min-width: 960px) {
  .author-profile__row + .author-profile__row {
    margin-top: min(2.03125vw, 26px);
    padding-top: min(2.03125vw, 26px);
  }
}

.author-profile__label {
  font-size: 16px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.55;
}
@media (min-width: 960px) {
  .author-profile__label {
    font-size: min(1.40625vw, 18px);
  }
}

.author-profile__value {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.55;
}
@media (min-width: 960px) {
  .author-profile__value {
    margin: 0;
    font-size: min(1.171875vw, 15px);
  }
}

.author-profile__value p + p {
  margin-top: 9px;
}
@media (min-width: 960px) {
  .author-profile__value p + p {
    margin-top: min(0.703125vw, 9px);
  }
}

.author-profile__value a {
  color: #094A95;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.author-profile__points {
  margin: 0;
  padding: 0;
  list-style: none;
}

.author-profile__points li {
  position: relative;
  padding-left: 12px;
}
@media (min-width: 960px) {
  .author-profile__points li {
    padding-left: min(0.9375vw, 12px);
  }
}

.author-profile__points li + li {
  margin-top: 9px;
}
@media (min-width: 960px) {
  .author-profile__points li + li {
    margin-top: min(0.703125vw, 9px);
  }
}

.author-profile__points li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .author-profile__points li::before {
    width: min(0.546875vw, 7px);
    height: min(0.546875vw, 7px);
  }
}

@media (hover: hover) {
  .author-profile__value a:hover {
    opacity: 0.7;
  }
}
.author-archive {
  margin-top: 40px;
  padding-bottom: 60px;
}
@media (min-width: 960px) {
  .author-archive {
    margin-top: min(6.015625vw, 77px);
    padding-bottom: min(9.0625vw, 116px);
  }
}

.author-archive__heading {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .author-archive__heading {
    margin-bottom: min(2.890625vw, 37px);
    font-size: min(2.5vw, 32px);
  }
}

@media (min-width: 960px) {
  .author-archive__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(1.953125vw, 25px);
  }
}

.author-archive__dates {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (min-width: 960px) {
  .author-archive__dates {
    gap: min(1.5625vw, 20px);
  }
}

.author-archive__date {
  font-size: 13px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5;
}

.author-archive__date--updated {
  color: #094A95;
}

body.error404 .breadcrumbs {
  display: none;
}

.not-found {
  margin-top: 80px;
  padding: 40px 0 60px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .not-found {
    margin-top: min(6.25vw, 80px);
    padding: min(6.25vw, 80px) 0 min(7.8125vw, 100px);
  }
}

.not-found__card {
  padding: 40px 25px 50px;
  border-radius: 16px;
  background-color: #fff;
  text-align: center;
}
@media (min-width: 960px) {
  .not-found__card {
    padding: min(6.71875vw, 86px) min(3.125vw, 40px) min(4.6875vw, 60px);
    border-radius: min(1.5625vw, 20px);
  }
}

.not-found__code {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .not-found__code {
    font-size: min(1.875vw, 24px);
  }
}

.not-found__title {
  margin-top: 12px;
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .not-found__title {
    margin-top: min(1.875vw, 24px);
    font-size: min(2.96875vw, 38px);
  }
}

.not-found__text {
  margin-top: 24px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.9;
  text-align: left;
}
@media (min-width: 960px) {
  .not-found__text {
    margin-top: min(3.4375vw, 44px);
    font-size: min(1.171875vw, 15px);
    text-align: center;
  }
}

.not-found__btn {
  margin-top: 30px;
}
@media (min-width: 960px) {
  .not-found__btn {
    margin-top: min(4.21875vw, 54px);
  }
}

.not-found__btn .btn {
  padding-right: 68px;
}
@media (min-width: 960px) {
  .not-found__btn .btn {
    min-width: min(26.40625vw, 338px);
    padding-block: min(1.71875vw, 22px);
    padding-right: min(7.03125vw, 90px);
  }
}

.not-found + .top-info {
  padding-top: 45px;
}
@media (min-width: 960px) {
  .not-found + .top-info {
    padding-top: min(7.8125vw, 100px);
  }
}

.service-num {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 61px;
  height: 30px;
  border-radius: 15px;
  background-color: #00a3dc;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
}
@media (min-width: 960px) {
  .service-num {
    width: min(6.09375vw, 78px);
    height: min(2.8125vw, 36px);
    border-radius: min(1.40625vw, 18px);
    font-size: min(1.40625vw, 18px);
  }
}

.service-arrow {
  width: 180px;
  height: 54px;
  margin: 23px auto 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: linear-gradient(180deg, rgba(46, 179, 224, 0) 0%, #2eb3e0 100%);
}
@media (min-width: 960px) {
  .service-arrow {
    width: min(15.078125vw, 193px);
    height: min(4.4921875vw, 57.5px);
    margin-top: min(2.2109375vw, 28.3px);
  }
}

@media (max-width: 959px) {
  .service-problem .heading__title,
  .service-case .heading__title,
  .service-feature .heading__title,
  .service-flow .heading__title,
  .service-contact .heading__title {
    font-size: 26px;
    line-height: 1.45;
  }
}

@media (max-width: 959px) {
  .service-compare .heading__title,
  .service-price .heading__title {
    font-size: 26px;
    line-height: 1.45;
  }
}

.service-fv {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #021c3a;
}
@media (max-width: 959px) {
  .service-fv {
    background-color: #ebf3f5;
  }
}

body:has(.service-fv) .breadcrumbs {
  color: rgba(255, 255, 255, 0.6);
}

.service-fv__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 959px) {
  .service-fv__bg {
    height: 213.0666666667vw;
  }
}

@media (min-width: 960px) {
  .service-fv__inner {
    --service-fv-pad-top: clamp(min(12.34375vw, 158px), (100dvh - 620px) * 0.771, min(12.34375vw, 237px));
    --service-fv-pad-bottom: clamp(min(3.671875vw, 47px), (100dvh - 620px) * 0.229, min(3.671875vw, 70.5px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc((var(--service-fv-pad-top) + var(--service-fv-pad-bottom) + min(6.25vw, 80px)) / 2) min(4.6875vw, 60px) calc((var(--service-fv-pad-top) + var(--service-fv-pad-bottom) - min(6.25vw, 80px)) / 2);
  }
}
@media (max-width: 959px) {
  .service-fv__inner {
    padding-top: max(150px, 40vw);
    padding-bottom: 22px;
  }
}

@media (min-width: 960px) {
  .service-fv__body {
    width: min(39.0625vw, 500px);
    flex-shrink: 0;
  }
}

.service-fv__catch {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.73;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .service-fv__catch {
    font-size: min(1.40625vw, 18px);
    letter-spacing: 0;
    line-height: 1.6;
    white-space: nowrap;
  }
}

.service-fv__title {
  margin-top: 9px;
}
@media (min-width: 960px) {
  .service-fv__title {
    margin-top: min(0.625vw, 8px);
  }
}

.service-fv__title-line {
  display: inline-block;
  padding: 11px 10px;
  background-color: #054994;
  font-size: min(5.3333333333vw, 20px);
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1;
}
@media (max-width: 959px) {
  .service-fv__title-line {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media (min-width: 960px) {
  .service-fv__title-line {
    padding: min(1.25vw, 16px) min(1.5625vw, 20px);
    font-size: min(3.75vw, 48px);
    white-space: nowrap;
  }
}

.service-fv__title-line + .service-fv__title-line {
  margin-top: 3px;
}

.service-fv__lead {
  margin-top: 24px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.87;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .service-fv__lead {
    margin-top: min(2.5vw, 32px);
    font-size: min(1.25vw, 16px);
    white-space: nowrap;
  }
}

.service-fv__stats {
  display: flex;
  margin-top: 26px;
  background-color: #fff;
  height: 75px;
}
@media (min-width: 960px) {
  .service-fv__stats {
    margin-top: min(2.421875vw, 31px);
    height: min(7.8125vw, 100px);
  }
}

.service-fv__stat {
  flex: 1 1 0;
  min-width: 0;
  padding: 8px 4px;
  text-align: center;
}
@media (min-width: 960px) {
  .service-fv__stat {
    padding: min(1.171875vw, 15px) min(0.3125vw, 4px) min(0.9375vw, 12px);
  }
}

.service-fv__stat:last-child {
  min-width: -moz-max-content;
  min-width: max-content;
}

.service-fv__stat + .service-fv__stat {
  border-left: 1px solid #e8e8e8;
}

.service-fv__stat-label {
  font-size: 12px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.15;
}
@media (min-width: 960px) {
  .service-fv__stat-label {
    font-size: min(1.171875vw, 15px);
  }
}

.service-fv__stat-value {
  margin-top: 1px;
  font-feature-settings: "palt";
  font-size: 24px;
  font-weight: 700;
  color: #00a3dc;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .service-fv__stat-value {
    margin-top: min(0.15625vw, 2px);
    font-size: min(2.8125vw, 36px);
  }
}

.service-fv__stat-unit {
  margin-left: 2px;
  color: #094A95;
  font-size: 14px;
}
@media (min-width: 960px) {
  .service-fv__stat-unit {
    margin-left: min(0.234375vw, 3px);
    font-size: min(1.5625vw, 20px);
  }
}

.service-fv__stat-note {
  margin-top: 1px;
  font-size: 10px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .service-fv__stat-note {
    margin-top: min(0.078125vw, 1px);
    font-size: min(1.015625vw, 13px);
  }
}

.service-fv__stat-note--small {
  font-size: 8px;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .service-fv__stat-note--small {
    font-size: min(0.78125vw, 10px);
  }
}

.service-fv__balloon {
  position: relative;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  padding: 3px 10px;
  border-radius: 4px;
  background-color: #fff;
  font-feature-settings: "palt";
  font-size: 12px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.5;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}
@media (min-width: 960px) {
  .service-fv__balloon {
    margin-top: min(2.65625vw, 34px);
    padding: min(0.3125vw, 4px) min(0.9375vw, 12px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(1.015625vw, 13px);
    letter-spacing: 0;
    line-height: 1.5;
  }
}

.service-fv__balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5.65px;
  width: 11.3px;
  height: 11.3px;
  transform: translateX(-50%) rotate(45deg);
  background-color: #fff;
  transition: background-color 0.3s;
}

@media (hover: hover) {
  .service-fv__body:has(.service-fv__btn:hover) .service-fv__balloon,
  .service-fv__body:has(.service-fv__btn:hover) .service-fv__balloon::after {
    background-color: #094A95;
  }
  .service-fv__body:has(.service-fv__btn:hover) .service-fv__balloon {
    color: #fff;
  }
}
.service-fv__btn {
  width: 100%;
  min-width: 0;
  margin-top: 0;
  padding: 0 28px;
  font-size: 17px;
}
@media (max-width: 959px) {
  .service-fv__btn {
    height: 54px;
    min-height: 0;
  }
}
@media (min-width: 960px) {
  .service-fv__btn {
    height: min(5.9375vw, 76px);
    margin-top: 0;
    padding: 0 min(2.5vw, 32px);
    font-size: min(1.640625vw, 21px);
  }
}

.service-form {
  margin-top: 42px;
  padding: 28px 19px 36px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
@media (min-width: 960px) {
  .service-form {
    width: min(34.375vw, 440px);
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 0;
    padding: min(2.03125vw, 26px) min(2.34375vw, 30px) min(3.046875vw, 39px);
    border-radius: min(0.78125vw, 10px);
  }
}

.service-form__title {
  font-feature-settings: "palt";
  font-size: 18px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0;
}
@media (min-width: 960px) {
  .service-form__title {
    font-size: min(1.65625vw, 21.2px);
  }
}

.service-form__sub {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-form__sub {
    margin-top: min(0.15625vw, 2px);
    font-size: min(0.890625vw, 11.4px);
    letter-spacing: 0.035em;
  }
}

.service-form__field {
  margin-top: 12px;
}
@media (min-width: 960px) {
  .service-form__field {
    margin-top: min(1.1328125vw, 14.5px);
  }
}

@media (min-width: 960px) {
  .service-form__field:first-child {
    margin-top: min(0.78125vw, 10px);
  }
}

.service-form__field--lead {
  margin-top: 18px;
}
@media (min-width: 960px) {
  .service-form__field--lead {
    margin-top: min(1.25vw, 16px);
  }
}

.service-form__label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-feature-settings: "palt";
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-form__label {
    gap: min(0.46875vw, 6px);
    font-size: min(1.09375vw, 14px);
  }
}

.service-form__required {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  background-color: #e00000;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .service-form__required {
    padding: min(0.078125vw, 1px) min(0.46875vw, 6px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(0.78125vw, 10px);
    line-height: 1.3;
  }
}

.service-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 10px;
}
@media (min-width: 960px) {
  .service-form__row {
    gap: 0 min(0.78125vw, 10px);
  }
}

.service-form__row > .dl-form__error {
  grid-row: 2;
}

.service-form__row > input:nth-of-type(2) + .dl-form__error {
  grid-column: 2;
}

.service-form__input.is-error {
  outline: 2px solid #e60012;
}

.service-form__input {
  width: 100%;
  height: 40px;
  font-feature-settings: "palt";
  margin-top: 6px;
  padding: 0 14px;
  border: none;
  border-radius: 4px;
  background-color: #f3f3f3;
  font-size: 14px;
}
@media (min-width: 960px) {
  .service-form__input {
    height: min(3.203125vw, 41px);
    margin-top: min(0.3125vw, 4px);
    padding: 0 min(1.25vw, 16px);
    border-radius: min(0.3125vw, 4px);
    font-size: min(1.0546875vw, 13.5px);
  }
}
.service-form__input::-moz-placeholder {
  color: #999;
}
.service-form__input::placeholder {
  color: #999;
}

.service-form__choice-lead {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-form__choice-lead {
    font-size: min(0.88671875vw, 11.35px);
    letter-spacing: 0.035em;
  }
}

.service-form__choice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  cursor: pointer;
}
@media (min-width: 960px) {
  .service-form__choice {
    gap: min(0.9375vw, 12px);
    margin-top: min(0.9375vw, 12px);
  }
}

.service-form__check {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid #c5c5c5;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
}
@media (min-width: 960px) {
  .service-form__check {
    width: min(1.5625vw, 20px);
    height: min(1.5625vw, 20px);
    border-radius: min(0.234375vw, 3px);
  }
}
.service-form__check:checked {
  background-color: #00a3dc;
  box-shadow: inset 0 0 0 3px #fff;
}

.service-form__choice-text {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-form__choice-text {
    font-size: min(1.046875vw, 13.4px);
    letter-spacing: 0.033em;
  }
}

.service-form__submit {
  width: 100%;
  min-width: 0;
  margin-top: 20px;
  padding: 14px 28px;
  font-size: 15px;
}
@media (max-width: 959px) {
  .service-form__submit {
    min-height: 52px;
  }
}
@media (min-width: 960px) {
  .service-form__submit {
    height: min(3.90625vw, 50px);
    margin-top: min(1.5625vw, 20px);
    padding: 0 min(2.5vw, 32px);
    font-size: min(1.25vw, 16px);
  }
}

.service-form__submit .btn__arrow {
  position: relative;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;
}
.service-form__submit .btn__arrow::before, .service-form__submit .btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .service-form__submit .btn__arrow::before, .service-form__submit .btn__arrow::after {
    left: 53%;
  }
}
.service-form__submit .btn__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.service-form__submit .btn__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.service-form__submit .btn__arrow {
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background: #fff;
}
@media (min-width: 960px) {
  .service-form__submit .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
    border-radius: 50%;
    overflow: hidden;
  }
  .service-form__submit .btn__arrow::before, .service-form__submit .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-form__submit .btn__arrow {
    right: min(1.09375vw, 14px);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .service-form__submit .btn__arrow::before, .service-form__submit .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .service-form__submit .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-form__submit .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}
.service-form__submit .btn__arrow {
  position: absolute;
}

.service-fv__title:first-child {
  margin-top: 0;
}

@media (min-width: 960px) {
  .service-fv--maker .service-fv__lead {
    margin-top: min(1.25vw, 16px);
  }
}

@media (min-width: 960px) {
  .service-fv__stats--4 {
    width: min(40.546875vw, 519px);
  }
}

.service-fv__stats--4 .service-fv__stat {
  flex-basis: 24.9%;
  padding: 12px 2px;
}
@media (min-width: 960px) {
  .service-fv__stats--4 .service-fv__stat {
    flex-basis: 24.9%;
    padding: min(1.5625vw, 20px) min(0.3125vw, 4px) min(1.40625vw, 18px);
  }
}

@media (max-width: 959px) {
  .service-fv__stats--4 .service-fv__stat-label {
    font-size: 11px;
  }
}

@media (max-width: 959px) {
  .service-fv__stats--4 .service-fv__stat-value {
    font-size: 20px;
  }
}

.service-fv__stats--4 .service-fv__stat:nth-child(2) {
  flex-basis: 22.4%;
}
@media (min-width: 960px) {
  .service-fv__stats--4 .service-fv__stat:nth-child(2) {
    flex-basis: 22.4%;
  }
}

.service-fv__stats--4 .service-fv__stat:nth-child(3) {
  flex-basis: 23.7%;
}
@media (min-width: 960px) {
  .service-fv__stats--4 .service-fv__stat:nth-child(3) {
    flex-basis: 23.7%;
  }
}

.service-fv__stat-value--text {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
@media (max-width: 959px) {
  .service-fv__stat-value--text {
    font-size: 17px;
  }
}
@media (min-width: 960px) {
  .service-fv__stat-value--text {
    font-size: min(2.1875vw, 28px);
  }
}

.service-problem {
  padding: 34px 0 20px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .service-problem {
    padding: min(9.296875vw, 119px) 0 min(1.640625vw, 21px);
  }
}

@media (min-width: 960px) {
  .service-problem .inner {
    padding: 0 min(4.53125vw, 58px);
  }
}

@media (min-width: 960px) {
  .service-problem .heading__title {
    margin-top: min(1.40625vw, 18px);
    letter-spacing: 0;
  }
}

.service-problem .service-num {
  top: -2px;
}

.service-problem__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  margin-top: 45px;
}
@media (min-width: 960px) {
  .service-problem__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.421875vw, 31px) min(1.640625vw, 21px);
    margin-top: min(5.8203125vw, 74.5px);
  }
}

.service-problem__card {
  position: relative;
  padding: 32px 20px 21px;
  border: 4px solid #cbd2dc;
  border-radius: 8px;
  background-color: #fff;
  text-align: center;
}
@media (min-width: 960px) {
  .service-problem__card {
    padding: min(2.4609375vw, 31.5px) min(2.1875vw, 28px) min(1.09375vw, 14px);
    border-radius: min(0.625vw, 8px);
  }
}

.service-problem__card-title {
  font-size: 17px;
  font-weight: 700;
  color: #054994;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media (max-width: 959px) {
  .service-problem__card-title {
    line-height: 1.66;
  }
}
@media (min-width: 960px) {
  .service-problem__card-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(7.5vw, 96px);
    font-size: min(1.4765625vw, 18.9px);
    letter-spacing: 0;
  }
}

.service-problem__card-text {
  margin-top: 18px;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.73;
  text-align: left;
}
@media (max-width: 959px) {
  .service-problem__card-text {
    line-height: 1.59;
    font-feature-settings: "halt";
    letter-spacing: -0.05em;
  }
}
@media (min-width: 960px) {
  .service-problem__card-text {
    margin-top: min(0.390625vw, 5px);
    font-size: min(1.1484375vw, 14.7px);
  }
}

.service-cta {
  padding-bottom: 63px;
}
@media (min-width: 960px) {
  .service-cta {
    padding-bottom: min(6.328125vw, 81px);
  }
}

.service-cta--light {
  background-color: #ebf3f5;
}

@media (min-width: 960px) {
  .service-cta .inner {
    padding: 0 min(4.6875vw, 60px);
  }
}

.service-cta__band {
  padding: 56px 15px 53px;
  border-radius: 80px;
  background: url("../img/11_service/cta-band-sp.webp") center/100% 100% no-repeat;
  text-align: center;
}
@media (min-width: 960px) {
  .service-cta__band {
    border-radius: 9999px;
    padding: min(3.125vw, 40px) min(3.125vw, 40px) min(3.828125vw, 49px);
    background-image: url("../img/11_service/cta-band.webp");
  }
}

.service-cta__badge {
  display: inline-block;
  padding: 3px 15px;
  background-color: #fff;
  font-size: 12.3px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-cta__badge {
    padding: min(0.2734375vw, 3.5px) min(0.78125vw, 10px);
    font-size: min(1.5625vw, 20px);
    line-height: 1.15;
  }
}

.service-cta__title {
  margin-top: 14px;
  font-size: 22.5px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.42;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .service-cta__title {
    margin-top: min(1.015625vw, 13px);
    font-size: min(2.8828125vw, 36.9px);
    line-height: 1.28;
  }
}

.service-cta__lead {
  margin-top: 16px;
  font-size: 13.1px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.53;
}
@media (min-width: 960px) {
  .service-cta__lead {
    margin-top: min(1.171875vw, 15px);
    font-size: min(1.4140625vw, 18.1px);
    line-height: 1.5;
  }
}

.service-cta__buttons {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 23px;
}
@media (min-width: 960px) {
  .service-cta__buttons {
    gap: min(1.5625vw, 20px);
    margin-top: min(1.640625vw, 21px);
  }
}

.service-cta__btn {
  min-width: 0;
  padding: 12px 8px;
  font-size: 12px;
  gap: 0;
}
@media (max-width: 959px) {
  .service-cta__btn {
    width: min(40vw, 150px);
    height: 60px;
    gap: 0;
    padding: 19px 30px 12px 8px;
    font-size: 13.7px;
    line-height: 1.17;
  }
}
@media (min-width: 960px) {
  .service-cta__btn {
    width: min(26.953125vw, 345px);
    height: min(7.03125vw, 90px);
    min-width: 0;
    justify-content: flex-start;
    padding: 0 min(4.6875vw, 60px);
    font-size: min(1.3671875vw, 17.5px);
  }
}

.service-cta__btn .btn__arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
}
.service-cta__btn .btn__arrow::before, .service-cta__btn .btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 4px;
  height: 4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .service-cta__btn .btn__arrow::before, .service-cta__btn .btn__arrow::after {
    left: 53%;
  }
}
.service-cta__btn .btn__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.service-cta__btn .btn__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.service-cta__btn .btn__arrow {
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
}
@media (min-width: 960px) {
  .service-cta__btn .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(3.125vw, 40px);
    height: min(3.125vw, 40px);
    border-radius: 50%;
    overflow: hidden;
  }
  .service-cta__btn .btn__arrow::before, .service-cta__btn .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.625vw, 8px);
    height: min(0.625vw, 8px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-cta__btn .btn__arrow {
    right: min(1.5625vw, 20px);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .service-cta__btn .btn__arrow::before, .service-cta__btn .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .service-cta__btn .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-cta__btn .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}
.service-cta__btn .btn__arrow {
  position: absolute;
}

.service-cta--navy {
  background-color: #094A95;
  padding-bottom: 63px;
}
@media (min-width: 960px) {
  .service-cta--navy {
    padding-bottom: min(11.796875vw, 151px);
  }
}

.service-case {
  padding: 62px 0 44px;
  background-color: #fff;
  overflow: hidden;
}
@media (min-width: 960px) {
  .service-case {
    padding: min(9.375vw, 120px) 0 min(4.84375vw, 62px);
  }
}

.service-case--navy {
  background-color: #094A95;
}

@media (min-width: 960px) {
  .service-case .inner {
    padding: 0 min(4.6875vw, 60px);
  }
}

.service-case__slider-wrap {
  position: relative;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .service-case__slider-wrap {
    margin-top: min(3.90625vw, 50px);
  }
}

@media (min-width: 960px) {
  .service-case__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.109375vw, 27px) min(1.953125vw, 25px);
  }
}

@media (max-width: 959px) {
  .service-case__slider {
    overflow: visible;
  }
}

@media (max-width: 959px) {
  .service-case__item {
    width: 295px;
    height: auto;
  }
}

.service-case__nav {
  position: absolute;
  top: 48%;
  z-index: 2;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 1px solid #094A95;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M10 1l4 4-4 4M14 5H1' fill='none' stroke='%23094A95' stroke-width='1'/%3E%3C/svg%3E") center/14px auto no-repeat;
  cursor: pointer;
}
@media (min-width: 960px) {
  .service-case__nav {
    display: none;
  }
}

.service-case__nav--prev {
  left: calc(50% - 163.5px);
  transform: translateY(-50%) scaleX(-1);
}

.service-case__nav--next {
  right: calc(50% - 163.5px);
}

@media (min-width: 960px) {
  .service-case--single .service-case__item {
    grid-column: 2;
  }
}

@media (min-width: 960px) {
  .service-case--pair .service-case__items {
    grid-template-columns: repeat(2, min(28.90625vw, 370px));
    justify-content: center;
  }
}

.service-compare {
  padding: 60px 0 0;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .service-compare {
    padding: min(9.53125vw, 122px) 0 0;
  }
}

@media (min-width: 960px) {
  .service-compare .inner {
    padding: 0 min(4.6875vw, 60px);
  }
}

@media (min-width: 960px) {
  .service-compare .heading__title {
    margin-top: min(1.640625vw, 21px);
  }
}

.service-compare__panel {
  margin-top: 32px;
  padding: 40px 16px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-compare__panel {
    margin-top: min(5.859375vw, 75px);
    padding: min(6.25vw, 80px);
  }
}

.service-compare__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.service-compare__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media (max-width: 959px) {
  .service-compare__table {
    min-width: 780px;
  }
}

.service-compare__corner {
  vertical-align: middle;
  width: 168px;
}
@media (min-width: 960px) {
  .service-compare__corner {
    width: min(16.875vw, 216px);
  }
}

.service-compare__col-head {
  vertical-align: middle;
  height: 58px;
  font-size: 19px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .service-compare__col-head {
    height: min(5.78125vw, 74px);
    font-size: min(1.875vw, 24px);
  }
}

.service-compare__col-head--own {
  width: 222px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  background-color: #dae5f7;
}
@media (min-width: 960px) {
  .service-compare__col-head--own {
    width: min(22.265625vw, 285px);
  }
}

.service-compare__col-head:not(.service-compare__col-head--own) {
  border-right: 1px solid #000;
}

.service-compare__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
@media (min-width: 960px) {
  .service-compare__logo {
    gap: min(0.703125vw, 9px);
  }
}

.service-compare__logo-mark {
  display: block;
  width: 34px;
  height: auto;
}
@media (min-width: 960px) {
  .service-compare__logo-mark {
    width: min(3.359375vw, 43px);
  }
}

.service-compare__logo-text {
  display: block;
  width: 127px;
  aspect-ratio: 162.01/13.68;
  background-color: #094A95;
  -webkit-mask: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20162.01%2013.68'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%2300a3db;%20}%20.cls-2%20{%20fill:%20%23054994;%20}%20.cls-3%20{%20fill:%20%23888;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_モーダル'%20data-name='モーダル'%3e%3cg%3e%3cpath%20class='cls-2'%20d='M3.45,13.35V2.5H0V.31h9.44v2.19h-3.46v10.85h-2.53Z'/%3e%3cpath%20class='cls-2'%20d='M13.73,5.65h4.16v2.09h-4.16v3.41h5.09v2.19h-7.57V.31h7.25v2.19h-4.77v3.16Z'/%3e%3cpath%20class='cls-2'%20d='M20.79,6.96C20.79,3.48,22.08.05,27.33.05c1.05,0,2.21.19,2.95.37l-.41,2.28c-.71-.25-1.63-.41-2.5-.41-2.65,0-3.89,1.7-3.89,4.72,0,2.85,1.43,4.3,3.96,4.3.8,0,1.95-.17,2.63-.41l.25,2.31c-.71.2-1.88.37-2.97.37-5.2,0-6.57-3.17-6.57-6.6v-.02Z'/%3e%3cpath%20class='cls-2'%20d='M35.24,13.35h-2.53V.31h2.53v5.28h5.71V.31h2.53v13.04h-2.53v-5.57h-5.71v5.57Z'/%3e%3cpath%20class='cls-2'%20d='M49.07,13.35h-2.36V.31h3.36l4.87,9.2V.31h2.38v13.04h-2.89l-5.37-10.19v10.19Z'/%3e%3cpath%20class='cls-2'%20d='M59.96,6.77c0-3.16,1.41-6.77,6.18-6.77s6.2,3.62,6.2,6.79-1.38,6.89-6.18,6.89-6.2-3.46-6.2-6.89v-.02ZM62.65,6.77c0,3.45,1.49,4.67,3.5,4.67s3.51-1.26,3.51-4.68c0-3.24-1.34-4.55-3.5-4.55s-3.51,1.31-3.51,4.55v.02Z'/%3e%3cpath%20class='cls-2'%20d='M78.89,6.57v2.04h-4.58v-2.04h4.58Z'/%3e%3cpath%20class='cls-1'%20d='M81.45,13.35V.31h3.55c3.09,0,5.43.92,5.43,4.04s-2.12,4.52-4.53,4.52h-1.92v4.48h-2.53ZM85.22,6.76c1.66,0,2.63-.48,2.63-2.26,0-1.34-.93-2-2.77-2h-1.1v4.26h1.24Z'/%3e%3cpath%20class='cls-1'%20d='M92.31,6.77c0-3.16,1.41-6.77,6.18-6.77s6.2,3.62,6.2,6.79-1.38,6.89-6.18,6.89-6.2-3.46-6.2-6.89v-.02ZM95,6.77c0,3.45,1.49,4.67,3.5,4.67s3.51-1.26,3.51-4.68c0-3.24-1.34-4.55-3.5-4.55s-3.51,1.31-3.51,4.55v.02Z'/%3e%3cpath%20class='cls-1'%20d='M113.41,9.98c-.63-1.36-1.07-1.78-2-1.78h-1.58v5.14h-2.38V.31h3.23c3.02,0,5.47.53,5.47,3.63,0,1.83-.9,2.82-2.17,3.24.7.31,1.12.85,1.38,1.39.49,1,1.56,3.38,2.12,4.77h-2.7c-.29-.88-.92-2.39-1.36-3.36ZM113.67,4.23c0-1.51-1.17-1.8-2.72-1.8h-1.12v3.77h2.17c1.02-.12,1.66-.83,1.66-1.97Z'/%3e%3cpath%20class='cls-1'%20d='M121.29,13.35V2.5h-3.45V.31h9.44v2.19h-3.46v10.85h-2.53Z'/%3e%3cpath%20class='cls-3'%20d='M136.22,13.35h-2.53V.31h2.53v13.04Z'/%3e%3cpath%20class='cls-3'%20d='M141.37,3.24c.12.29.29.87.32,1.19.58-.63,1.75-1.21,2.97-1.21,2.72,0,3.29,1.73,3.29,3.28v6.84h-2.44v-6.21c0-1.19-.46-1.9-1.61-1.9-.85,0-1.68.41-2.09.87v7.25h-2.48v-7.67c0-.75-.05-1.51-.22-2.12l2.26-.3Z'/%3e%3cpath%20class='cls-3'%20d='M150.28,8.46c0-2.7,1.05-5.33,5.04-5.33.97,0,1.87.19,2.33.36l-.44,2.05c-.54-.22-1.31-.32-1.83-.32-1.83,0-2.6,1.24-2.6,3.24s.88,3.07,2.67,3.07c.53,0,1.39-.12,1.92-.34l.34,2.09c-.42.17-1.41.37-2.39.37-3.92,0-5.03-2.55-5.03-5.18v-.02Z'/%3e%3cpath%20class='cls-3'%20d='M162.01,13.35h-2.5v-2.75h2.5v2.75Z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20data-name='レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20162.01%2013.68'%3e%3cdefs%3e%3cstyle%3e%20.cls-1%20{%20fill:%20%2300a3db;%20}%20.cls-2%20{%20fill:%20%23054994;%20}%20.cls-3%20{%20fill:%20%23888;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='_モーダル'%20data-name='モーダル'%3e%3cg%3e%3cpath%20class='cls-2'%20d='M3.45,13.35V2.5H0V.31h9.44v2.19h-3.46v10.85h-2.53Z'/%3e%3cpath%20class='cls-2'%20d='M13.73,5.65h4.16v2.09h-4.16v3.41h5.09v2.19h-7.57V.31h7.25v2.19h-4.77v3.16Z'/%3e%3cpath%20class='cls-2'%20d='M20.79,6.96C20.79,3.48,22.08.05,27.33.05c1.05,0,2.21.19,2.95.37l-.41,2.28c-.71-.25-1.63-.41-2.5-.41-2.65,0-3.89,1.7-3.89,4.72,0,2.85,1.43,4.3,3.96,4.3.8,0,1.95-.17,2.63-.41l.25,2.31c-.71.2-1.88.37-2.97.37-5.2,0-6.57-3.17-6.57-6.6v-.02Z'/%3e%3cpath%20class='cls-2'%20d='M35.24,13.35h-2.53V.31h2.53v5.28h5.71V.31h2.53v13.04h-2.53v-5.57h-5.71v5.57Z'/%3e%3cpath%20class='cls-2'%20d='M49.07,13.35h-2.36V.31h3.36l4.87,9.2V.31h2.38v13.04h-2.89l-5.37-10.19v10.19Z'/%3e%3cpath%20class='cls-2'%20d='M59.96,6.77c0-3.16,1.41-6.77,6.18-6.77s6.2,3.62,6.2,6.79-1.38,6.89-6.18,6.89-6.2-3.46-6.2-6.89v-.02ZM62.65,6.77c0,3.45,1.49,4.67,3.5,4.67s3.51-1.26,3.51-4.68c0-3.24-1.34-4.55-3.5-4.55s-3.51,1.31-3.51,4.55v.02Z'/%3e%3cpath%20class='cls-2'%20d='M78.89,6.57v2.04h-4.58v-2.04h4.58Z'/%3e%3cpath%20class='cls-1'%20d='M81.45,13.35V.31h3.55c3.09,0,5.43.92,5.43,4.04s-2.12,4.52-4.53,4.52h-1.92v4.48h-2.53ZM85.22,6.76c1.66,0,2.63-.48,2.63-2.26,0-1.34-.93-2-2.77-2h-1.1v4.26h1.24Z'/%3e%3cpath%20class='cls-1'%20d='M92.31,6.77c0-3.16,1.41-6.77,6.18-6.77s6.2,3.62,6.2,6.79-1.38,6.89-6.18,6.89-6.2-3.46-6.2-6.89v-.02ZM95,6.77c0,3.45,1.49,4.67,3.5,4.67s3.51-1.26,3.51-4.68c0-3.24-1.34-4.55-3.5-4.55s-3.51,1.31-3.51,4.55v.02Z'/%3e%3cpath%20class='cls-1'%20d='M113.41,9.98c-.63-1.36-1.07-1.78-2-1.78h-1.58v5.14h-2.38V.31h3.23c3.02,0,5.47.53,5.47,3.63,0,1.83-.9,2.82-2.17,3.24.7.31,1.12.85,1.38,1.39.49,1,1.56,3.38,2.12,4.77h-2.7c-.29-.88-.92-2.39-1.36-3.36ZM113.67,4.23c0-1.51-1.17-1.8-2.72-1.8h-1.12v3.77h2.17c1.02-.12,1.66-.83,1.66-1.97Z'/%3e%3cpath%20class='cls-1'%20d='M121.29,13.35V2.5h-3.45V.31h9.44v2.19h-3.46v10.85h-2.53Z'/%3e%3cpath%20class='cls-3'%20d='M136.22,13.35h-2.53V.31h2.53v13.04Z'/%3e%3cpath%20class='cls-3'%20d='M141.37,3.24c.12.29.29.87.32,1.19.58-.63,1.75-1.21,2.97-1.21,2.72,0,3.29,1.73,3.29,3.28v6.84h-2.44v-6.21c0-1.19-.46-1.9-1.61-1.9-.85,0-1.68.41-2.09.87v7.25h-2.48v-7.67c0-.75-.05-1.51-.22-2.12l2.26-.3Z'/%3e%3cpath%20class='cls-3'%20d='M150.28,8.46c0-2.7,1.05-5.33,5.04-5.33.97,0,1.87.19,2.33.36l-.44,2.05c-.54-.22-1.31-.32-1.83-.32-1.83,0-2.6,1.24-2.6,3.24s.88,3.07,2.67,3.07c.53,0,1.39-.12,1.92-.34l.34,2.09c-.42.17-1.41.37-2.39.37-3.92,0-5.03-2.55-5.03-5.18v-.02Z'/%3e%3cpath%20class='cls-3'%20d='M162.01,13.35h-2.5v-2.75h2.5v2.75Z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center/100% 100% no-repeat;
}
@media (min-width: 960px) {
  .service-compare__logo-text {
    width: min(12.734375vw, 163px);
  }
}

.service-compare__col-head--own + .service-compare__col-head {
  width: 186px;
}
@media (min-width: 960px) {
  .service-compare__col-head--own + .service-compare__col-head {
    width: min(18.671875vw, 239px);
  }
}

.service-compare__row-head {
  vertical-align: middle;
  text-align: left;
  padding-left: 12px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "halt";
  line-height: 1.4;
}
@media (min-width: 960px) {
  .service-compare__row-head {
    padding-left: min(1.171875vw, 15px);
    font-size: min(1.2265625vw, 15.7px);
  }
}

.service-compare__cell {
  vertical-align: middle;
  height: 62px;
  padding-left: 17px;
  border-right: 1px solid #000;
  font-size: 11px;
  font-weight: 500;
  color: #000;
  text-align: left;
  font-feature-settings: "halt";
  letter-spacing: -0.045em;
  line-height: 1.32;
}
@media (min-width: 960px) {
  .service-compare__cell {
    height: min(6.25vw, 80px);
    padding-left: min(1.71875vw, 22px);
    font-size: min(1.09375vw, 14px);
  }
}

.service-compare__cell-inner {
  display: flex;
  align-items: center;
}

.service-compare__cell--own {
  border-left: 1px solid #000;
  background-color: #dae5f7;
  font-weight: 700;
}

.service-compare__cell--price {
  height: 60px;
  padding-left: 0;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: center;
  letter-spacing: normal;
}
@media (min-width: 960px) {
  .service-compare__cell--price {
    height: min(6.015625vw, 77px);
    padding-left: 0;
    letter-spacing: normal;
    font-size: min(1.5625vw, 20px);
  }
}

.service-compare__table tbody tr:not(:last-child) .service-compare__row-head,
.service-compare__table tbody tr:not(:last-child) .service-compare__cell,
.service-compare__table thead .service-compare__col-head,
.service-compare__table thead .service-compare__corner {
  border-bottom: 1px solid #000;
}

.service-compare__mark {
  flex-shrink: 0;
  margin-right: 7px;
  width: 22px;
  height: 22px;
  background: center/contain no-repeat;
}
@media (min-width: 960px) {
  .service-compare__mark {
    margin-right: min(0.703125vw, 9px);
    width: min(2.1875vw, 28px);
    height: min(2.1875vw, 28px);
  }
}

.service-compare__mark--best {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg fill='none' stroke='%23094A95' stroke-width='1.05'%3E%3Ccircle cx='13' cy='13' r='12'/%3E%3Ccircle cx='13' cy='13' r='6.5'/%3E%3C/g%3E%3C/svg%3E");
}

.service-compare__mark--good {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Ccircle cx='13' cy='13' r='12.5' fill='none' stroke='%23000000'/%3E%3C/svg%3E");
}

.service-compare__mark--fair {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 3.2 24.5 22.8H1.5z' fill='none' stroke='%23000000'/%3E%3C/svg%3E");
}

.service-feature {
  padding: 65px 0 44px;
  background-color: #094A95;
}
@media (min-width: 960px) {
  .service-feature {
    padding: min(9.375vw, 120px) 0 min(6.484375vw, 83px);
  }
}

.service-feature__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 27px;
  margin-top: 52px;
}
@media (min-width: 960px) {
  .service-feature__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(3.203125vw, 41px) min(1.640625vw, 21px);
    max-width: min(87.5vw, 1120px);
    margin: min(6.09375vw, 78px) auto 0;
  }
}

.service-feature__card {
  position: relative;
  padding: 26px 20px 32px;
  border-radius: 8px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-feature__card {
    padding: min(2.8125vw, 36px) min(2.265625vw, 29px) min(3.828125vw, 49px);
    border-radius: min(0.625vw, 8px);
  }
}

.service-feature__card-title {
  font-size: 20px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
@media (min-width: 960px) {
  .service-feature__card-title {
    font-size: min(1.5625vw, 20px);
  }
}

.service-feature__card-image {
  margin-top: 29px;
}
.service-feature__card-image img {
  width: 100%;
  aspect-ratio: 301/161;
  border-radius: 3px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) {
  .service-feature__card-image {
    margin-top: min(1.796875vw, 23px);
  }
}

.service-feature__card-text {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: justify;
  letter-spacing: 0;
  line-height: 1.86;
}
@media (min-width: 960px) {
  .service-feature__card-text {
    margin-top: min(2.03125vw, 26px);
    font-size: min(1.171875vw, 15px);
    line-height: 1.73;
  }
}

.service-flow {
  padding: 60px 0 80px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-flow {
    padding: min(9.375vw, 120px) 0 min(7.578125vw, 97px);
  }
}

.service-flow__group {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .service-flow__group {
    max-width: min(87.5vw, 1120px);
    margin: min(4.0625vw, 52px) auto 0;
  }
}

.service-flow__arrow + .service-flow__group {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .service-flow__arrow + .service-flow__group {
    margin-top: min(2.578125vw, 33px);
  }
}

.service-flow__bar {
  padding: 4px;
  background-color: #00a3dc;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-flow__bar {
    padding: min(0.703125vw, 9px);
    font-size: min(1.5625vw, 20px);
  }
}

.service-flow__steps {
  position: relative;
  margin-top: 4px;
  list-style: none;
  background-color: #fafafa;
}

.service-flow__bar + .service-flow__steps {
  margin-top: 0;
  border-top: 1px solid #e2e3e7;
  border-bottom: 1px solid #e2e3e7;
}
@media (max-width: 959px) {
  .service-flow__bar + .service-flow__steps {
    border-top: none;
    border-bottom: 2px solid #e2e3e7;
  }
}

.service-flow__step {
  position: relative;
  overflow: hidden;
  padding: 30px 20px 22px 80px;
  background-color: transparent;
}
@media (min-width: 960px) {
  .service-flow__step {
    display: grid;
    grid-template-columns: min(5vw, 64px) auto 1fr;
    align-items: center;
    min-height: min(10.078125vw, 129px);
    padding: min(1.875vw, 24px) 0 min(1.875vw, 24px) min(5.078125vw, 65px);
  }
}

.service-flow__step + .service-flow__step {
  border-top: 1px solid #e2e3e7;
}
@media (max-width: 959px) {
  .service-flow__step + .service-flow__step {
    border-top: 2px solid #e2e3e7;
  }
}

.service-flow__num {
  position: absolute;
  z-index: 1;
  top: 25px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #00a3dc;
  color: #fff;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 960px) {
  .service-flow__num {
    position: relative;
    inset: auto;
    z-index: 2;
    width: min(5vw, 64px);
    height: min(5vw, 64px);
  }
}

.service-flow__num::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
  top: -100vh;
  bottom: -100vh;
  width: 3px;
  background-color: #00a3dc;
}
@media (min-width: 960px) {
  .service-flow__num::before {
    width: min(0.15625vw, 2px);
  }
}

.service-flow__steps > .service-flow__step:first-child .service-flow__num::before {
  top: 50%;
}

.service-flow__steps > .service-flow__step:last-child .service-flow__num::before {
  bottom: 50%;
}

.service-flow__num-label {
  font-size: 9px;
}
@media (min-width: 960px) {
  .service-flow__num-label {
    font-size: min(0.78125vw, 10px);
  }
}

.service-flow__num-value {
  margin-top: 1px;
  font-size: 16px;
}
@media (min-width: 960px) {
  .service-flow__num-value {
    margin-top: min(0.15625vw, 2px);
    font-size: min(1.71875vw, 22px);
  }
}

.service-flow__name {
  font-size: 18px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media (min-width: 960px) {
  .service-flow__name {
    padding-left: min(1.875vw, 24px);
    padding-right: min(2.34375vw, 30px);
    font-size: min(1.6953125vw, 21.7px);
  }
}

.service-flow__name-note {
  font-size: 12px;
}
@media (min-width: 960px) {
  .service-flow__name-note {
    font-size: min(1.09375vw, 14px);
  }
}

.service-flow__desc {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (max-width: 959px) {
  .service-flow__desc {
    font-size: 14px;
  }
}
@media (min-width: 960px) {
  .service-flow__desc {
    margin-top: 0;
    padding-left: min(1.875vw, 24px);
    border-left: 1px solid #d5d5d5;
    font-size: min(1.40625vw, 18px);
  }
}

@media (min-width: 960px) {
  .service-flow__desc--noline {
    margin-left: min(-0.546875vw, -7px);
    padding-left: 0;
    border-left: none;
  }
}

.service-flow__btn {
  min-width: 0;
  font-feature-settings: "palt";
  margin-top: 0;
  padding: 12px 40px 12px 20px;
  font-size: 13px;
}
@media (max-width: 959px) {
  .service-flow__btn {
    width: 199px;
    padding: 5px 45px 5px 15px;
    font-size: 14px;
  }
}
@media (min-width: 960px) {
  .service-flow__btn {
    height: min(5.390625vw, 69px);
    margin-top: 0;
    padding: 0 min(5.46875vw, 70px) 0 min(3.203125vw, 41px);
    font-size: min(1.015625vw, 13px);
  }
}

.service-flow__btn .btn__arrow {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
}
.service-flow__btn .btn__arrow::before, .service-flow__btn .btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 5px;
  height: 5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .service-flow__btn .btn__arrow::before, .service-flow__btn .btn__arrow::after {
    left: 53%;
  }
}
.service-flow__btn .btn__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.service-flow__btn .btn__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.service-flow__btn .btn__arrow {
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  background: #fff;
}
@media (min-width: 960px) {
  .service-flow__btn .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.421875vw, 31px);
    height: min(2.421875vw, 31px);
    border-radius: 50%;
    overflow: hidden;
  }
  .service-flow__btn .btn__arrow::before, .service-flow__btn .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-flow__btn .btn__arrow {
    right: min(1.171875vw, 15px);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .service-flow__btn .btn__arrow::before, .service-flow__btn .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .service-flow__btn .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-flow__btn .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}
.service-flow__btn .btn__arrow {
  position: absolute;
}

.service-flow__detail {
  grid-column: 2/4;
  margin-top: 16px;
}
@media (min-width: 960px) {
  .service-flow__detail {
    display: flex;
    align-items: flex-start;
    gap: min(3.125vw, 40px);
    margin: min(2.5vw, 32px) 0 min(1.71875vw, 22px);
    padding-right: min(4.53125vw, 58px);
  }
}

.service-flow__detail-body {
  flex: 1;
  min-width: 0;
}
@media (min-width: 960px) {
  .service-flow__detail-body {
    padding-left: min(1.328125vw, 17px);
  }
}

.service-flow__detail-title {
  font-size: 14px;
  font-weight: 700;
  color: #00a3dc;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .service-flow__detail-title {
    font-size: min(1.484375vw, 19px);
  }
}

.service-flow__detail-lead {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .service-flow__detail-lead {
    font-size: min(1.25vw, 16px);
  }
}

.service-flow__detail-list {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .service-flow__detail-list {
    margin-top: min(1.2890625vw, 16.5px);
  }
}

.service-flow__detail-list dt {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .service-flow__detail-list dt {
    margin-top: min(0.7421875vw, 9.5px);
    font-size: min(1.390625vw, 17.8px);
  }
}

.service-flow__detail-list dd {
  margin-top: 3px;
  padding-left: 1em;
  font-size: 12px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .service-flow__detail-list dd {
    margin-top: min(0.5078125vw, 6.5px);
    padding-left: min(1.015625vw, 13px);
    font-size: min(1.1015625vw, 14.1px);
  }
}

.service-flow__detail-notes {
  margin-top: 8px;
}
@media (min-width: 960px) {
  .service-flow__detail-notes {
    margin-top: min(1.5625vw, 20px);
  }
}

.service-flow__detail-notes li {
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.67;
}
@media (min-width: 960px) {
  .service-flow__detail-notes li {
    font-size: min(1.171875vw, 15px);
  }
}

.service-flow__detail-notes li + li {
  margin-top: 6px;
}
@media (min-width: 960px) {
  .service-flow__detail-notes li + li {
    margin-top: min(0.859375vw, 11px);
  }
}

.service-flow__detail-figure {
  margin-top: 16px;
  border: 6px solid #e2e3e7;
}
.service-flow__detail-figure img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 959px) {
  .service-flow__detail-figure {
    width: min(65.6vw, 246px);
  }
}
@media (min-width: 960px) {
  .service-flow__detail-figure {
    flex-shrink: 0;
    width: min(39.0625vw, 500px);
    border-width: min(0.9375vw, 12px);
    margin-top: 0;
  }
}

.service-flow__arrow {
  margin-top: 32px;
  margin-bottom: 32px;
}
@media (min-width: 960px) {
  .service-flow__arrow {
    margin-top: min(2.03125vw, 26px);
    margin-bottom: 0;
  }
}

@media (min-width: 960px) {
  .service-flow--simple {
    padding: min(9.53125vw, 122px) 0 min(8.671875vw, 111px);
  }
}

.service-flow--simple .service-flow__steps {
  border-top: 1px solid #e2e3e7;
  border-bottom: 1px solid #e2e3e7;
}
@media (min-width: 960px) {
  .service-flow--simple .service-flow__steps {
    margin-top: min(0.859375vw, 11px);
  }
}

@media (min-width: 960px) {
  .service-flow--simple .service-flow__step {
    grid-template-columns: min(5vw, 64px) 1fr;
    align-items: start;
    min-height: 0;
    padding: min(2.578125vw, 33px) min(1.5625vw, 20px) min(2.421875vw, 31px) min(5.078125vw, 65px);
  }
}

.service-flow--simple .service-flow__step + .service-flow__step {
  border-top: 1px solid #e2e3e7;
}
@media (max-width: 959px) {
  .service-flow--simple .service-flow__step + .service-flow__step {
    border-top: 1px solid #e2e3e7;
  }
}

@media (min-width: 960px) {
  .service-flow--simple .service-flow__desc {
    grid-column: 2;
    margin-top: min(0.46875vw, 6px);
    padding-left: min(1.875vw, 24px);
    border-left: none;
    font-weight: 400;
    font-feature-settings: "palt";
  }
}

@media (min-width: 960px) {
  .service-flow--simple .service-flow__num {
    grid-row: 1/3;
    align-self: center;
  }
}

.service-flow__group--menu .service-flow__num::before {
  display: none;
}

@media (min-width: 960px) {
  .service-flow__group--menu .service-flow__detail {
    gap: min(3.125vw, 40px);
    margin-top: min(2.578125vw, 33px);
    margin-bottom: 0;
  }
}

.service-flow__group--menu .service-flow__step + .service-flow__step {
  border-top: 1px solid #e2e3e7;
}
@media (max-width: 959px) {
  .service-flow__group--menu .service-flow__step + .service-flow__step {
    border-top: 1px solid #e2e3e7;
  }
}

@media (min-width: 960px) {
  .service-flow__name--menu {
    font-size: min(1.875vw, 24px);
  }
}

.service-flow__menu-list dt {
  font-size: 14px;
  font-weight: 700;
  color: #00a3dc;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.4;
}
@media (min-width: 960px) {
  .service-flow__menu-list dt {
    font-size: min(1.2890625vw, 16.5px);
  }
}

.service-flow__menu-list dd + dt {
  margin-top: 18px;
}
@media (min-width: 960px) {
  .service-flow__menu-list dd + dt {
    margin-top: min(1.796875vw, 23px);
  }
}

.service-flow__menu-num {
  margin-right: 8px;
  padding-right: 8px;
  border-right: 1px solid currentcolor;
}
@media (min-width: 960px) {
  .service-flow__menu-num {
    margin-right: min(0.625vw, 8px);
    padding-right: min(0.625vw, 8px);
  }
}

.service-flow__menu-list dd {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.57;
}
@media (min-width: 960px) {
  .service-flow__menu-list dd {
    margin-top: min(0.390625vw, 5px);
    font-size: min(1.09375vw, 14px);
  }
}

.service-flow__detail-figures {
  margin-top: 16px;
}
@media (max-width: 959px) {
  .service-flow__detail-figures {
    width: min(65.6vw, 246px);
  }
}
@media (min-width: 960px) {
  .service-flow__detail-figures {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: min(0.78125vw, 10px);
    width: min(39.0625vw, 500px);
    margin-top: 0;
  }
}

@media (max-width: 959px) {
  .service-flow__detail-figures .service-flow__detail-figure {
    width: 100%;
  }
}
@media (min-width: 960px) {
  .service-flow__detail-figures .service-flow__detail-figure {
    width: 100%;
  }
}

.service-flow__menu-cta {
  margin-top: 20px;
  text-align: right;
}
@media (min-width: 960px) {
  .service-flow__menu-cta {
    margin-top: min(0.859375vw, 11px);
  }
}

@media (min-width: 960px) {
  .service-flow__menu-cta .btn {
    min-width: 0;
    height: min(5.46875vw, 70px);
    padding: 0 min(5.625vw, 72px) 0 min(2.8125vw, 36px);
    font-size: min(1.0390625vw, 13.3px);
  }
}

@media (min-width: 960px) {
  .service-flow__menu-cta .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
    border-radius: 50%;
    overflow: hidden;
  }
  .service-flow__menu-cta .btn__arrow::before, .service-flow__menu-cta .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-flow__menu-cta .btn__arrow {
    position: absolute;
    top: 50%;
    right: min(1.09375vw, 14px);
    transform: translateY(-50%);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .service-flow__menu-cta .btn__arrow::before, .service-flow__menu-cta .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .service-flow__menu-cta .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-flow__menu-cta .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

.service-flow__menu-num--box {
  display: inline-block;
  margin-right: 10px;
  padding: 2px 8px;
  border: 1px solid #00a3dc;
  border-right-width: 1px;
  line-height: 1;
  font-size: 13px;
}
@media (min-width: 960px) {
  .service-flow__menu-num--box {
    margin-right: min(0.78125vw, 10px);
    padding: min(0.15625vw, 2px) min(0.625vw, 8px);
    font-size: min(1.171875vw, 15px);
  }
}

.service-consultant {
  padding: 73px 0 0;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .service-consultant {
    padding: min(9.375vw, 120px) 0 0;
  }
}

.service-consultant__slider-wrap {
  position: relative;
  margin-top: 32px;
}
@media (min-width: 960px) {
  .service-consultant__slider-wrap {
    margin-top: min(3.125vw, 40px);
  }
}

@media (max-width: 959px) {
  .service-consultant__slider-wrap .swiper {
    overflow: visible;
  }
}

.service-consultant__item {
  height: auto;
}
@media (max-width: 959px) {
  .service-consultant__item {
    width: 295px;
  }
}
@media (min-width: 960px) {
  .service-consultant__item {
    width: min(67.1875vw, 860px);
  }
}

.service-consultant__card {
  height: 100%;
  padding: 20px 16px;
  border: 4px solid #e2e3e7;
  border-radius: 12px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-consultant__card {
    display: flex;
    gap: min(3.125vw, 40px);
    padding: min(3.125vw, 40px) min(2.34375vw, 30px) min(3.125vw, 40px) min(3.4375vw, 44px);
    border-width: min(0.78125vw, 10px);
    border-radius: min(0.9375vw, 12px);
  }
}

.service-consultant__photo {
  margin: 0 auto;
  width: 195px;
}
@media (max-width: 959px) {
  .service-consultant__photo {
    width: 156px;
  }
}
.service-consultant__photo img {
  width: 100%;
  aspect-ratio: 220/280;
  border-radius: min(0.78125vw, 10px);
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 960px) {
  .service-consultant__photo {
    flex-shrink: 0;
    width: min(17.1875vw, 220px);
    margin: 0;
  }
}

.service-consultant__body {
  margin-top: 16px;
}
@media (min-width: 960px) {
  .service-consultant__body {
    flex: 1;
    margin-top: min(0.234375vw, 3px);
  }
}

.service-consultant__company {
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .service-consultant__company {
    font-size: min(1.078125vw, 13.8px);
  }
}

.service-consultant__name {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (min-width: 960px) {
  .service-consultant__name {
    margin-top: min(0.703125vw, 9px);
    font-size: min(1.796875vw, 23px);
  }
}

.service-consultant__label {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-consultant__label {
    margin-top: min(1.953125vw, 25px);
    font-size: min(1.09375vw, 14px);
  }
}

@media (min-width: 960px) {
  .service-consultant__text + .service-consultant__label {
    margin-top: min(0.859375vw, 11px);
  }
}

.service-consultant__text {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.7;
}
@media (min-width: 960px) {
  .service-consultant__text {
    margin-top: min(0.390625vw, 5px);
    font-size: min(1.19921875vw, 15.35px);
  }
}

.service-consultant__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  width: 31px;
  height: 31px;
  border: 1px solid #094A95;
  border-radius: 50%;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M10 1l4 4-4 4M14 5H1' fill='none' stroke='%23094A95' stroke-width='1'/%3E%3C/svg%3E") center/14px auto no-repeat;
  cursor: pointer;
  transition: background-color 0.3s;
}
@media (min-width: 960px) {
  .service-consultant__nav {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
    background-size: min(1.40625vw, 18px) auto;
  }
}

.service-consultant__nav--prev {
  left: calc(50% - 163px);
  transform: translateY(-50%) scaleX(-1);
}
@media (min-width: 960px) {
  .service-consultant__nav--prev {
    left: calc(50% - min(35.703125vw, 457px));
  }
}

.service-consultant__nav--next {
  right: calc(50% - 163px);
}
@media (min-width: 960px) {
  .service-consultant__nav--next {
    right: calc(50% - min(35.703125vw, 457px));
  }
}

@media (hover: hover) {
  .service-consultant__nav:hover {
    background-color: #094A95;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M10 1l4 4-4 4M14 5H1' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
  }
}
.service-consultant--navy {
  background-color: #094A95;
  padding-bottom: 60px;
}
@media (min-width: 960px) {
  .service-consultant--navy {
    padding: min(7.109375vw, 91px) 0 min(8.125vw, 104px);
  }
}

.service-consultant__slider-inner {
  position: relative;
}

.service-consultant__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
@media (min-width: 960px) {
  .service-consultant__dots {
    gap: min(0.859375vw, 11px);
    margin-top: min(3.28125vw, 42px);
  }
}

.service-consultant__dots .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: transparent;
  opacity: 1;
  cursor: pointer;
}
@media (min-width: 960px) {
  .service-consultant__dots .swiper-pagination-bullet {
    width: min(0.9375vw, 12px);
    height: min(0.9375vw, 12px);
  }
}

.service-consultant__dots .swiper-pagination-bullet-active {
  background-color: #fff;
}

.service-consultant--peek .service-consultant__dots .swiper-pagination-bullet {
  border-color: #bfc2c9;
  margin: 0;
}
@media (min-width: 960px) {
  .service-consultant--peek .service-consultant__dots .swiper-pagination-bullet {
    width: min(0.9375vw, 12px);
    height: min(0.9375vw, 12px);
  }
}

@media (min-width: 960px) {
  .service-consultant--peek .service-consultant__dots {
    gap: min(0.3125vw, 4px);
  }
}

.service-consultant--peek .service-consultant__dots .swiper-pagination-bullet-active {
  border-color: #00a3dc;
  background-color: #00a3dc;
}

.service-price {
  padding: 60px 0 62px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .service-price {
    padding: min(10.078125vw, 129px) 0 min(9.84375vw, 126px);
  }
}

.service-price::after {
  content: "";
  display: block;
  max-width: 335px;
  height: 2px;
  margin: 62px auto -62px;
  background-color: #cbd0d6;
}
@media (min-width: 960px) {
  .service-price::after {
    max-width: min(70.3125vw, 900px);
    margin: min(9.84375vw, 126px) auto min(-9.84375vw, -126px);
  }
}

.service-price .heading__title {
  letter-spacing: 0;
}
@media (min-width: 960px) {
  .service-price .heading__title {
    margin-top: min(1.640625vw, 21px);
  }
}

.service-price__cards {
  display: grid;
  gap: 40px;
  margin-top: 56px;
}
@media (min-width: 960px) {
  .service-price__cards {
    grid-template-columns: repeat(3, min(22.65625vw, 290px));
    justify-content: center;
    gap: min(1.171875vw, 15px);
    margin-top: min(4.921875vw, 63px);
  }
}

.service-price__card {
  position: relative;
  height: 130px;
  padding-left: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-price__card {
    height: min(13.671875vw, 175px);
    padding-left: min(2.65625vw, 34px);
  }
}

.service-price__label {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 30px;
  border-radius: 15px;
  background-color: #00a3dc;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .service-price__label {
    top: min(-1.953125vw, -25px);
    width: min(10.3125vw, 132px);
    height: min(2.890625vw, 37px);
    border-radius: min(1.484375vw, 19px);
    font-size: min(1.5625vw, 20px);
  }
}

.service-price__value {
  font-size: 48px;
  font-weight: 700;
  color: #054994;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .service-price__value {
    font-size: min(5.546875vw, 71px);
    letter-spacing: 0.06em;
  }
}

.service-price__unit {
  margin-left: 4px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: left;
  letter-spacing: 0;
}
@media (min-width: 960px) {
  .service-price__unit {
    margin-left: min(0.46875vw, 6px);
    font-size: min(1.5625vw, 20px);
  }
}

.service-faq {
  padding: 48px 0 60px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .service-faq {
    padding: min(7.03125vw, 90px) 0 min(6.5625vw, 84px);
  }
}

.service-faq .top-faq__list {
  margin-top: 32px;
}
@media (min-width: 960px) {
  .service-faq .top-faq__list {
    max-width: min(70.3125vw, 900px);
    margin: min(4.21875vw, 54px) auto 0;
  }
}

@media (min-width: 960px) {
  .service-faq .top-faq__q {
    min-height: min(7.734375vw, 99px);
  }
}

@media (min-width: 960px) {
  .service-faq .top-faq__a-cta {
    margin-top: min(1.5625vw, 20px);
    margin-bottom: min(0.546875vw, 7px);
  }
}

@media (min-width: 960px) {
  .service-faq .top-faq__a-cta .btn {
    width: min(21.875vw, 280px);
    min-width: 0;
    height: min(6.171875vw, 79px);
  }
}

@media (min-width: 960px) {
  .service-faq .top-faq__q-text {
    font-size: min(1.5625vw, 20px);
    letter-spacing: 0.045em;
  }
}

.service-faq .top-faq__a-body p {
  font-feature-settings: "palt";
}

.service-contact {
  padding: 50px 0 70px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-contact {
    padding: min(9.375vw, 120px) 0 min(9.453125vw, 121px);
  }
}

.service-contact__form-wrap {
  margin-top: 26px;
}
@media (min-width: 960px) {
  .service-contact__form-wrap {
    margin-top: min(2.8125vw, 36px);
  }
}

@media (min-width: 960px) {
  .service-contact .contact-form {
    max-width: min(70.3125vw, 900px);
  }
}

.service-contact .contact-form__submit {
  gap: 0;
}
@media (max-width: 959px) {
  .service-contact .contact-form__submit {
    width: auto;
    max-width: none;
    min-width: 300px;
    min-height: 60px;
    padding-block: 0;
    font-size: 15px;
  }
}
@media (min-width: 960px) {
  .service-contact .contact-form__submit {
    padding-right: min(6.171875vw, 79px);
  }
}

@media (max-width: 959px) {
  .service-contact .contact-form__label {
    margin-left: 0;
    font-size: 15px;
  }
}

@media (max-width: 959px) {
  .service-contact .contact-form__required {
    margin-left: 10px;
    padding: 2px 6px;
    font-size: 11px;
    line-height: 1.4;
  }
}

@media (max-width: 959px) {
  .service-contact .contact-form__input {
    height: 52px;
    padding: 0 16px;
    font-size: 15px;
  }
}

@media (max-width: 959px) {
  .service-contact .contact-form__textarea {
    height: 180px;
    padding: 14px 16px;
  }
}

@media (max-width: 959px) {
  .service-contact .contact-form__submit .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    overflow: hidden;
  }
  .service-contact .contact-form__submit .btn__arrow::before, .service-contact .contact-form__submit .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: 5px;
    height: 5px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-contact .contact-form__submit .btn__arrow {
    position: absolute;
    right: 14px;
  }
}
@media (max-width: 959px) and (min-width: 960px) {
  .service-contact .contact-form__submit .btn__arrow::before, .service-contact .contact-form__submit .btn__arrow::after {
    left: 53%;
  }
}
@media (max-width: 959px) {
  .service-contact .contact-form__submit .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-contact .contact-form__submit .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-notes li {
    font-size: min(1.09375vw, 14px);
    line-height: 1.57;
    font-feature-settings: "halt";
    letter-spacing: -0.01em;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-notes li + li {
    margin-top: 0;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-seo-article, .service-detail-movie) .service-fv__title-line {
    padding-top: min(1.09375vw, 14px);
    padding-bottom: min(1.09375vw, 14px);
  }
}

@media (min-width: 960px) {
  .service-detail-web-consulting .service-fv__title-line {
    font-size: min(3.5546875vw, 45.5px);
  }
}

@media (min-width: 960px) {
  .service-detail-linkedin-content-marketing .service-fv__title-line {
    font-size: min(3.6171875vw, 46.3px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-seo-article, .service-detail-movie) .service-fv__inner {
    --service-fv-pad-top: clamp(min(12.34375vw, 158px), (100dvh - 620px) * 0.645, min(12.34375vw, 237px));
    --service-fv-pad-bottom: clamp(min(6.796875vw, 87px), (100dvh - 620px) * 0.355, min(6.796875vw, 130.5px));
  }
}

@media (min-width: 960px) {
  :is(.service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-seo-article, .service-detail-movie) .service-fv__stats {
    margin-top: min(3.359375vw, 43px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-english-website, .service-detail-seo-article, .service-detail-movie) .service-fv__inner {
    --service-fv-pad-bottom: clamp(min(3.984375vw, 51px), (100dvh - 620px) * 0.229, min(3.984375vw, 76.5px));
  }
}

@media (min-width: 960px) {
  :is(.service-detail-english-website, .service-detail-seo-article, .service-detail-movie) .service-fv__stats {
    margin-top: min(2.890625vw, 37px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow {
    padding-bottom: min(4.921875vw, 63px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-problem {
    padding-top: min(6.25vw, 80px);
    padding-bottom: min(5.625vw, 72px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-title,
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature__card-title {
    font-feature-settings: "halt";
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__name {
    font-feature-settings: "halt";
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-problem__card {
    padding-left: min(1.5625vw, 20px);
    padding-right: min(1.5625vw, 20px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-problem__card-title,
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-problem__card-text {
    font-feature-settings: "halt";
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-cta:not(.service-cta--light):has(+ .service-feature) {
    padding-bottom: min(8.90625vw, 114px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-cta:has(+ .service-consultant) {
    padding-bottom: min(3.75vw, 48px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature {
    padding-bottom: min(9.53125vw, 122px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature__grid {
    grid-auto-rows: min(38.28125vw, 490px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-consultant {
    padding-top: min(6.328125vw, 81px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-consultant__dots {
    margin-top: min(1.953125vw, 25px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-ads, .service-detail-whitepaper, .service-detail-development) .service-faq {
    padding-bottom: min(9.6875vw, 124px);
  }
}

@media (min-width: 960px) {
  .service-detail-whitepaper .service-case .heading + .service-case__slider-wrap {
    margin-top: min(4.53125vw, 58px);
  }
}

@media (min-width: 960px) {
  .service-detail-whitepaper .service-case {
    padding-bottom: min(12.421875vw, 159px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-whitepaper, .service-detail-development) .service-cta:not(.service-cta--light):has(+ .service-feature) {
    padding-bottom: min(11.171875vw, 143px);
  }
}

@media (min-width: 960px) {
  .service-detail-whitepaper .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.140625vw, 117px);
  }
}

@media (min-width: 960px) {
  .service-detail-development .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.0625vw, 116px);
  }
}

:is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-notes li {
  padding-left: 1em;
  text-indent: -1em;
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail:has(.service-flow__detail-lead) {
    margin-top: min(3.515625vw, 45px);
    margin-bottom: min(2.890625vw, 37px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-title {
    font-size: min(1.25vw, 16px);
  }
}

@media (min-width: 960px) {
  .service-detail-web-consulting .service-fv__bg {
    -o-object-position: center 15%;
       object-position: center 15%;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-development, .service-detail-linkedin-content-marketing, .service-detail-btob-site-renewal) .service-fv__bg {
    -o-object-position: center 10%;
       object-position: center 10%;
  }
}

@media (min-width: 960px) {
  .service-detail-movie .service-fv__bg {
    -o-object-position: center 15%;
       object-position: center 15%;
  }
}

@media (min-width: 960px) {
  .service-detail-english-landing-page .service-fv__bg {
    -o-object-position: center 20%;
       object-position: center 20%;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-lp-service, .service-detail-trading-company) .service-fv__bg {
    -o-object-position: center 30%;
       object-position: center 30%;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-whitepaper, .service-detail-seo-article, .service-detail-overseas-advertisements, .service-detail-english-website) .service-fv__bg {
    -o-object-position: center top;
       object-position: center top;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature__card-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(7.5vw, 96px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-case:has(+ .service-case) {
    padding-bottom: min(1.5625vw, 20px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-case + .service-case {
    padding-top: min(3.125vw, 40px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature:has(+ .service-feature) {
    padding-bottom: min(2.5vw, 32px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-feature + .service-feature {
    padding-top: min(3.984375vw, 51px);
  }
}

@media (min-width: 960px) {
  .service-detail-maker .service-cta:has(+ .service-consultant) {
    padding-bottom: min(6.25vw, 80px);
  }
}

@media (min-width: 960px) {
  .service-detail-maker .service-problem {
    padding-top: min(9.0625vw, 116px);
  }
}

@media (min-width: 960px) {
  .service-detail-maker .service-flow__group--menu .service-flow__step {
    padding-bottom: min(5vw, 64px);
  }
}

@media (min-width: 960px) {
  .service-detail-maker .service-flow__detail:has(.service-flow__detail-lead) {
    margin-top: min(3.75vw, 48px);
    margin-bottom: min(0.546875vw, 7px);
  }
}

@media (min-width: 960px) {
  .service-detail-maker .service-feature {
    padding-bottom: min(6.484375vw, 83px);
  }
}

@media (min-width: 960px) {
  .service-detail-linkedin-content-marketing .service-flow {
    padding-top: min(10vw, 128px);
  }
}

@media (min-width: 960px) {
  .service-detail-linkedin-content-marketing .heading + .service-flow__group {
    margin-top: min(5.078125vw, 65px);
  }
}

@media (min-width: 960px) {
  .service-detail-linkedin-content-marketing .service-flow__group--menu .service-flow__step {
    padding-bottom: min(5.3125vw, 68px);
  }
}

@media (min-width: 960px) {
  .service-detail-linkedin-content-marketing .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.53125vw, 122px);
  }
}

@media (min-width: 960px) {
  .service-detail-ads .service-cta:has(+ .service-consultant) {
    padding-bottom: min(8.4375vw, 108px);
  }
}

@media (min-width: 960px) {
  .service-detail-global .service-flow__group--menu .service-flow__step {
    padding-bottom: min(3.28125vw, 42px);
  }
}

@media (min-width: 960px) {
  .service-detail-global .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.6875vw, 124px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-example, .service-detail-branding) .service-flow {
    padding-top: min(10vw, 128px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-example, .service-detail-branding) .heading + .service-flow__group {
    margin-top: min(5.078125vw, 65px);
  }
}

@media (min-width: 960px) {
  .service-detail-example .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.140625vw, 117px);
  }
}

@media (min-width: 960px) {
  .service-detail-branding .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.6875vw, 124px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-lp-service, .service-detail-movie) .service-problem {
    padding-top: min(9.0625vw, 116px);
  }
}

:is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-problem__card-text {
  font-feature-settings: "palt";
  letter-spacing: -0.055em;
}

@media (min-width: 960px) {
  :is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-case {
    padding-top: min(9.921875vw, 127px);
  }
}

@media (min-width: 960px) {
  .service-detail-supplier .service-cta:not(.service-cta--light):has(+ .service-feature) {
    padding-bottom: min(7.734375vw, 99px);
  }
}

@media (min-width: 960px) {
  .service-detail-supplier .service-flow__arrow {
    margin-top: min(1.40625vw, 18px);
  }
}

@media (min-width: 960px) {
  .service-detail-supplier .service-flow__arrow + .service-flow__group {
    margin-top: min(1.953125vw, 25px);
  }
}

@media (min-width: 960px) {
  .service-detail-supplier .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.0625vw, 116px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-it-saas, .service-detail-trading-company) .service-flow__group--menu .service-flow__step {
    padding-bottom: min(2.96875vw, 38px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-it-saas, .service-detail-trading-company) .service-cta:has(+ .service-consultant) {
    padding-bottom: min(8.4375vw, 108px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page) .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.765625vw, 125px);
  }
}

@media (min-width: 960px) {
  .service-detail-overseas-seo-consulting .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.453125vw, 121px);
  }
}

@media (min-width: 960px) {
  .service-detail-new-market .service-cta:has(+ .service-consultant) {
    padding-bottom: min(8.28125vw, 106px);
  }
}

@media (min-width: 960px) {
  .service-detail-writing .service-flow__group--menu .service-flow__step {
    padding-bottom: min(3.828125vw, 49px);
  }
}

@media (min-width: 960px) {
  .service-detail-writing .service-cta:has(+ .service-consultant) {
    padding-bottom: min(8.359375vw, 107px);
  }
}

@media (min-width: 960px) {
  .service-detail-btob-site-renewal .service-cta:has(+ .service-consultant) {
    padding-bottom: min(13.90625vw, 178px);
  }
}

@media (min-width: 960px) {
  .service-detail-lp-service .service-cta:has(+ .service-consultant) {
    padding-bottom: min(9.84375vw, 126px);
  }
}

@media (min-width: 960px) {
  .service-detail-lp-service .service-fv__inner {
    --service-fv-pad-top: clamp(min(10.703125vw, 137px), (100dvh - 620px) * 0.771, min(10.703125vw, 205.5px));
    --service-fv-pad-bottom: 0px;
  }
}

@media (min-width: 960px) {
  .service-detail-movie .service-cta:has(+ .service-consultant) {
    padding-bottom: min(8.515625vw, 109px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company) .service-form {
    width: min(31.25vw, 400px);
  }
}

@media (min-width: 960px) {
  :is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company) .service-fv__title-line {
    letter-spacing: -0.006em;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company) .service-fv__title-line + .service-fv__title-line {
    letter-spacing: -0.03em;
  }
}

@media (min-width: 960px) {
  .service-detail-whitepaper .service-fv__title-line + .service-fv__title-line {
    letter-spacing: -0.009em;
  }
}

@media (min-width: 960px) {
  .service-detail-overseas-seo-consulting .service-fv__title-line + .service-fv__title-line {
    letter-spacing: -0.012em;
  }
}

@media (min-width: 960px) {
  :is(.service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-lp-service) .service-fv__inner {
    --service-fv-pad-bottom: clamp(min(4.375vw, 56px), (100dvh - 620px) * 0.355, min(4.375vw, 84px));
  }
}

@media (min-width: 960px) {
  :is(.service-detail-overseas-advertisements, .service-detail-english-landing-page) .service-fv__stats {
    margin-top: min(0.9375vw, 12px);
  }
}

:is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-notes--flat li {
  padding-left: 0;
  text-indent: 0;
}

@media (min-width: 960px) {
  :is(.service-detail-maker, .service-detail-seo, .service-detail-web-consulting, .service-detail-linkedin-content-marketing, .service-detail-ads, .service-detail-global, .service-detail-example, .service-detail-branding, .service-detail-whitepaper, .service-detail-development, .service-detail-supplier, .service-detail-it-saas, .service-detail-trading-company, .service-detail-english-website, .service-detail-overseas-advertisements, .service-detail-english-landing-page, .service-detail-overseas-seo-consulting, .service-detail-new-market, .service-detail-writing, .service-detail-seo-article, .service-detail-btob-site-renewal, .service-detail-lp-service, .service-detail-movie) .service-flow__detail-notes {
    margin-top: min(0.15625vw, 2px);
  }
}

@media (min-width: 960px) {
  .service-index__inner {
    padding-inline: min(4.6875vw, 60px);
  }
}

.service-index-overview {
  padding: 60px 0 44px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .service-index-overview {
    padding: min(6.25vw, 80px) 0;
  }
}

.service-index-overview__card {
  margin-top: 55px;
  padding: 21px 20px 37px;
  border-radius: 8px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .service-index-overview__card {
    margin-top: min(4.140625vw, 53px);
    padding: min(3.90625vw, 50px) min(3.828125vw, 49px) min(3.125vw, 40px);
    border-radius: min(0.78125vw, 10px);
  }
}

@media (max-width: 959px) {
  .service-index-overview__figure {
    overflow-x: auto;
    margin-right: -20px;
    padding-right: 20px;
  }
}

.service-index-overview__figure img {
  display: block;
  width: 916px;
  max-width: none;
  height: auto;
}
@media (min-width: 960px) {
  .service-index-overview__figure img {
    width: 100%;
    max-width: min(82.8125vw, 1060px);
    margin-inline: auto;
  }
}

.service-index-overview__text {
  margin: 38px 4px 0;
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.8571428571;
}
@media (min-width: 960px) {
  .service-index-overview__text {
    max-width: min(57.5vw, 736px);
    margin: min(2.8125vw, 36px) auto 0;
    font-size: min(1.25vw, 16px);
    line-height: 1.75;
  }
}

.service-index-list {
  padding: 54px 0 72px;
}
@media (min-width: 960px) {
  .service-index-list {
    padding: min(5.46875vw, 70px) 0 min(7.8125vw, 100px);
  }
}

.service-index-group + .service-index-group {
  margin-top: 54px;
}
@media (min-width: 960px) {
  .service-index-group + .service-index-group {
    margin-top: min(5.625vw, 72px);
  }
}

.service-index-group__title {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .service-index-group__title {
    font-size: min(2.5vw, 32px);
  }
}

.service-index-group__list {
  display: grid;
  gap: 20px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 960px) {
  .service-index-group__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2.03125vw, 26px) min(1.953125vw, 25px);
    margin-top: min(2.578125vw, 33px);
  }
}

.service-index-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 20px 20px;
  border-radius: 6px;
  background-color: #dae5f7;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 960px) {
  .service-index-card {
    padding: min(2.1875vw, 28px) min(1.5625vw, 20px) min(1.71875vw, 22px);
    border-radius: min(0.46875vw, 6px);
  }
}

.service-index-card__title {
  font-size: 18px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.35;
}
@media (min-width: 960px) {
  .service-index-card__title {
    font-size: min(1.5625vw, 20px);
  }
}

.service-index-card__text {
  margin-top: 27px;
  padding: 10px 20px 18px;
  border-radius: 6px;
  background-color: #fff;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.5714285714;
}
@media (min-width: 960px) {
  .service-index-card__text {
    margin-top: min(1.953125vw, 25px);
    padding: min(0.78125vw, 10px) min(1.5625vw, 20px) min(1.25vw, 16px);
    border-radius: min(0.46875vw, 6px);
    font-size: min(1.09375vw, 14px);
  }
}

.service-index-card__more {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  gap: 10px;
  margin-top: auto;
  padding-top: 20px;
  font-size: 14px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (min-width: 960px) {
  .service-index-card__more {
    gap: min(0.9375vw, 12px);
    padding-top: min(1.796875vw, 23px);
    font-size: min(1.09375vw, 14px);
  }
}

.service-index-card__arrow {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
}
.service-index-card__arrow::before, .service-index-card__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .service-index-card__arrow::before, .service-index-card__arrow::after {
    left: 53%;
  }
}
.service-index-card__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.service-index-card__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.service-index-card__arrow {
  background: #094A95;
  color: #fff;
}
@media (min-width: 960px) {
  .service-index-card__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(1.875vw, 24px);
    height: min(1.875vw, 24px);
    border-radius: 50%;
    overflow: hidden;
  }
  .service-index-card__arrow::before, .service-index-card__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transition: transform 0.45s ease;
  }
  .service-index-card__arrow {
    background: #094A95;
    color: #fff;
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .service-index-card__arrow::before, .service-index-card__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .service-index-card__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .service-index-card__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}

@media (hover: hover) {
  .service-index-card:hover {
    opacity: 1;
  }
  .service-index-card:hover .service-index-card__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .service-index-card:hover .service-index-card__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.dl-nav {
  padding: 54px 0 97px;
}
@media (min-width: 960px) {
  .dl-nav {
    padding: min(6.25vw, 80px) 0 min(8.59375vw, 110px);
  }
}

.dl-nav__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 37px;
}
@media (min-width: 960px) {
  .dl-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(4.296875vw, 55px);
  }
}

.dl-nav__item {
  display: block;
  color: inherit;
  text-decoration: none;
}

.dl-nav__title {
  font-size: 24px;
  font-weight: 700;
  color: #094A95;
  text-align: center;
  line-height: 1.34;
}
@media (min-width: 960px) {
  .dl-nav__title {
    font-size: min(2.421875vw, 31px);
    line-height: 1.5;
  }
}

.dl-nav__image {
  margin-top: 18px;
  padding: 22px 20px;
  border-radius: 8px;
  background-color: #d5e4f9;
}
@media (min-width: 960px) {
  .dl-nav__image {
    margin-top: min(3.359375vw, 43px);
    padding: min(1.5625vw, 20px);
    border-radius: min(0.9375vw, 12px);
  }
}

.dl-nav__image-clip {
  overflow: hidden;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .dl-nav__image-clip {
    border-radius: min(0.625vw, 8px);
  }
}

.dl-nav__image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.dl-nav__btn {
  margin-top: 28px;
  text-align: center;
}
@media (min-width: 960px) {
  .dl-nav__btn {
    margin-top: min(3.515625vw, 45px);
  }
}

.dl-nav__btn .btn {
  width: 100%;
  min-height: 70px;
  padding-right: 68px;
  font-size: 17px;
  white-space: normal;
}
@media (min-width: 960px) {
  .dl-nav__btn .btn {
    width: auto;
    min-width: min(26.5625vw, 340px);
    min-height: 0;
    padding-block: min(1.5625vw, 20px);
    padding-right: min(7.03125vw, 90px);
    font-size: min(1.40625vw, 18px);
    white-space: nowrap;
  }
}

@media (max-width: 959px) {
  .dl-nav__btn .btn__arrow,
  .dl-pickup__btn .btn__arrow {
    right: 20px;
    width: 41px;
    height: 41px;
  }
  .dl-nav__btn .btn__arrow::before, .dl-nav__btn .btn__arrow::after,
  .dl-pickup__btn .btn__arrow::before,
  .dl-pickup__btn .btn__arrow::after {
    width: 8px;
    height: 8px;
  }
}

.dl-list {
  padding: 56px 0 70px;
}
@media (min-width: 960px) {
  .dl-list {
    padding: min(3.28125vw, 42px) 0 min(9.375vw, 120px);
  }
}

.dl-list__lead {
  font-size: 16px;
  font-weight: 300;
  color: #094A95;
  text-align: center;
  line-height: 1.6;
}
@media (min-width: 960px) {
  .dl-list__lead {
    font-size: min(1.328125vw, 17px);
    font-weight: 700;
    line-height: 2.1;
  }
}

.dl-pickup {
  position: relative;
  margin-top: 54px;
  padding: 48px 20px 35px;
  border-radius: 8px;
  background-color: #d5e4f9;
}
@media (min-width: 960px) {
  .dl-pickup {
    max-width: min(82.578125vw, 1057px);
    margin: min(3.671875vw, 47px) auto 0;
    padding: min(4.765625vw, 61px) min(2.96875vw, 38px) min(2.65625vw, 34px) min(3.671875vw, 47px);
    border-radius: min(0.9375vw, 12px);
  }
}

.dl-pickup__badge {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 3px 10px;
  border-radius: 4px;
  background-color: #23addc;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .dl-pickup__badge {
    gap: min(0.9375vw, 12px);
    padding: min(0.546875vw, 7px) min(1.25vw, 16px);
    border-radius: 0 0 min(0.46875vw, 6px);
    line-height: 1.4;
    font-size: min(1.171875vw, 15px);
  }
}

.dl-pickup__badge-date {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
}
@media (min-width: 960px) {
  .dl-pickup__badge-date {
    font-size: min(1.015625vw, 13px);
  }
}

@media (min-width: 960px) {
  .dl-pickup__grid {
    display: grid;
    grid-template-columns: min(27.65625vw, 354px) 1fr;
    align-items: center;
    gap: min(5.625vw, 72px);
  }
}

.dl-pickup__thumb {
  max-width: 330px;
  margin-inline: auto;
}
@media (min-width: 960px) {
  .dl-pickup__thumb {
    max-width: none;
    margin-inline: 0;
  }
}

.dl-pickup__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.dl-pickup__body {
  margin-top: 23px;
}
@media (min-width: 960px) {
  .dl-pickup__body {
    margin-top: 0;
  }
}

.dl-pickup__title {
  font-size: 18px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.56;
}
@media (min-width: 960px) {
  .dl-pickup__title {
    font-size: min(1.71875vw, 22px);
    line-height: 1.35;
  }
}

.dl-pickup__text {
  margin-top: 21px;
  font-size: 15px;
  font-weight: 500;
  color: #000;
  text-align: left;
  line-height: 1.87;
}
@media (min-width: 960px) {
  .dl-pickup__text {
    margin-top: min(2.890625vw, 37px);
    font-size: min(1.171875vw, 15px);
    line-height: 1.65;
  }
}

.dl-pickup__btn {
  margin-top: 23px;
}
@media (min-width: 960px) {
  .dl-pickup__btn {
    margin-top: min(3.75vw, 48px);
  }
}

.dl-pickup__btn .btn {
  width: 300px;
  max-width: 100%;
  min-height: 70px;
  padding-right: 68px;
  font-size: 17px;
}
@media (min-width: 960px) {
  .dl-pickup__btn .btn {
    width: auto;
    min-width: min(26.40625vw, 338px);
    min-height: 0;
    font-size: min(1.40625vw, 18px);
    padding-block: min(1.5625vw, 20px);
    padding-right: min(5.625vw, 72px);
  }
}

.dl-list__heading {
  margin-top: 52px;
  font-size: 24px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .dl-list__heading {
    margin-top: min(6.484375vw, 83px);
    font-size: min(3.125vw, 40px);
  }
}

.dl-list .archive-filter {
  margin-top: 27px;
}
@media (min-width: 960px) {
  .dl-list .archive-filter {
    margin-top: min(3.359375vw, 43px);
  }
}

.dl-list__grid {
  display: grid;
  gap: 22px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 959px) {
  .dl-list__grid {
    max-width: 360px;
    margin-inline: auto;
  }
}
@media (min-width: 960px) {
  .dl-list__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.875vw, 24px);
    margin-top: min(2.5vw, 32px);
  }
}

.card-dl {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 18px 18px 35px;
  border-radius: 8px;
  background-color: #d5e4f9;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 960px) {
  .card-dl {
    padding: min(1.5625vw, 20px) min(1.5625vw, 20px) min(3.125vw, 40px);
    border-radius: min(0.9375vw, 12px);
  }
}

.card-dl__thumb {
  overflow: hidden;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .card-dl__thumb {
    border-radius: min(0.625vw, 8px);
  }
}

.card-dl__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 329/184;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.card-dl__title {
  margin-top: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1.39;
}
@media (min-width: 960px) {
  .card-dl__title {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.40625vw, 18px);
    line-height: 1.45;
  }
}

.card-dl__btn {
  margin-top: auto;
  padding-top: 25px;
  text-align: center;
}
@media (min-width: 960px) {
  .card-dl__btn {
    padding-top: min(2.1875vw, 28px);
  }
}

.card-dl__btn .btn {
  width: 254px;
  max-width: 100%;
  min-width: 0;
  min-height: 53px;
  padding-right: 56px;
  font-size: 12px;
}
@media (min-width: 960px) {
  .card-dl__btn .btn {
    width: auto;
    min-width: min(21.796875vw, 279px);
    min-height: 0;
    padding-block: min(1.40625vw, 18px);
    padding-right: min(4.375vw, 56px);
    font-size: min(1.09375vw, 14px);
  }
}

@media (max-width: 959px) {
  .card-dl__btn .btn__arrow {
    right: 15px;
    width: 30px;
    height: 30px;
  }
  .card-dl__btn .btn__arrow::before, .card-dl__btn .btn__arrow::after {
    width: 6px;
    height: 6px;
  }
}
@media (min-width: 960px) {
  .card-dl__btn .btn__arrow {
    width: min(2.5vw, 32px);
    height: min(2.5vw, 32px);
  }
  .card-dl__btn .btn__arrow::before, .card-dl__btn .btn__arrow::after {
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
  }
}

@media (hover: hover) {
  .dl-nav__item:hover,
  .card-dl:hover {
    opacity: 1;
  }
  .card-dl:hover .card-dl__title {
    color: #094A95;
    text-decoration: underline;
  }
  .dl-nav__item:hover .btn--blue,
  .card-dl:hover .btn--blue {
    background: #fff;
    border-color: #094A95;
    color: #094A95;
  }
  .dl-nav__item:hover .btn--blue .btn__arrow,
  .card-dl:hover .btn--blue .btn__arrow {
    background: #094A95;
    color: #fff;
  }
  .dl-nav__item:hover .btn__arrow::before,
  .card-dl:hover .btn__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .dl-nav__item:hover .btn__arrow::after,
  .card-dl:hover .btn__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .dl-nav__item:hover .dl-nav__image img,
  .card-dl:hover .card-dl__thumb img {
    transform: scale(1.1);
  }
}
.dl-detail {
  padding: 32px 0 70px;
}
@media (min-width: 960px) {
  .dl-detail {
    padding: min(3.4375vw, 44px) 0 min(7.8125vw, 100px);
  }
}

.dl-detail__title {
  font-size: 26px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.46;
}
@media (min-width: 960px) {
  .dl-detail__title {
    font-size: min(3.125vw, 40px);
    line-height: 1.35;
  }
}

.dl-detail__grid {
  margin-top: 37px;
}
@media (min-width: 960px) {
  .dl-detail__grid {
    display: grid;
    grid-template-columns: min(40.390625vw, 517px) 1fr;
    grid-template-areas: "preview form" "summary summary";
    -moz-column-gap: min(5.234375vw, 67px);
         column-gap: min(5.234375vw, 67px);
    margin-top: min(3.4375vw, 44px);
  }
}

.dl-detail__preview {
  display: grid;
  align-content: start;
  gap: 13px;
  grid-area: preview;
  padding: 19px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .dl-detail__preview {
    gap: min(1.5625vw, 20px);
    padding: min(2.890625vw, 37px);
    border-radius: min(0.625vw, 8px);
  }
}

.dl-detail__preview img {
  display: block;
  width: 100%;
  height: auto;
}

.dl-form {
  grid-area: form;
  margin-top: 35px;
}
@media (min-width: 960px) {
  .dl-form {
    margin-top: 0;
  }
}

.dl-form__field + .dl-form__field {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .dl-form__field + .dl-form__field {
    margin-top: min(2.1875vw, 28px);
  }
}

.dl-form__label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-form__label {
    gap: min(0.9375vw, 12px);
    padding-left: 0;
    font-size: min(1.25vw, 16px);
  }
}

.dl-form__required {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 4px;
  background-color: #e60012;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.3;
}
@media (min-width: 960px) {
  .dl-form__required {
    padding: min(0.15625vw, 2px) min(0.703125vw, 9px);
    font-size: min(0.9375vw, 12px);
    line-height: 1.4;
  }
}

.dl-form__input {
  width: 100%;
  margin-top: 5px;
  padding: 18px 20px;
  border: none;
  border-radius: 8px;
  background-color: #f4f4f4;
  font-size: 16px;
}
@media (min-width: 960px) {
  .dl-form__input {
    margin-top: min(0.9375vw, 12px);
    padding: min(1.40625vw, 18px) min(1.875vw, 24px);
    border-radius: min(0.625vw, 8px);
    font-size: min(1.171875vw, 15px);
  }
}
.dl-form__input::-moz-placeholder {
  color: #9aa1a7;
}
.dl-form__input::placeholder {
  color: #9aa1a7;
}

.dl-form__choice {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 9px;
  padding: 23px 20px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
}
@media (min-width: 960px) {
  .dl-form__choice {
    gap: min(1.09375vw, 14px);
    margin-top: 12px;
    padding: min(1.484375vw, 19px) min(1.875vw, 24px);
    border-radius: min(0.625vw, 8px);
  }
}

.dl-form__choice:has(.dl-form__radio:checked) {
  border-color: #094A95;
}

.dl-form__radio {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid #c5c5c5;
  border-radius: 50%;
  background-color: #e5e5e5;
  cursor: pointer;
}
@media (min-width: 960px) {
  .dl-form__radio {
    width: min(1.40625vw, 18px);
    height: min(1.40625vw, 18px);
  }
}
.dl-form__radio:checked {
  border-color: #00a3dc;
  background-color: #00a3dc;
}

.dl-form__choice-text {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-form__choice-text {
    font-size: min(1.171875vw, 15px);
  }
}

.dl-form__choice:has(.dl-form__radio:checked) .dl-form__choice-text {
  color: #094A95;
}

.dl-form__submit {
  margin-top: 34px;
  text-align: center;
}
@media (min-width: 960px) {
  .dl-form__submit {
    margin-top: min(3.125vw, 40px);
  }
}

.dl-form__submit .btn {
  width: 100%;
  min-height: 70px;
  padding-right: 68px;
  font-size: 17px;
}
@media (min-width: 960px) {
  .dl-form__submit .btn {
    width: auto;
    min-width: min(26.25vw, 336px);
    min-height: 0;
    font-size: min(1.40625vw, 18px);
    padding-block: min(1.640625vw, 21px);
    padding-right: min(7.03125vw, 90px);
  }
}

.dl-form__submit-wrap {
  position: relative;
  display: block;
}
@media (min-width: 960px) {
  .dl-form__submit-wrap {
    display: inline-block;
  }
}

.dl-form__submit-wrap input[type=submit].btn--blue,
.dl-form__submit-wrap input[type=submit].btn--blue:hover {
  background-image: none;
}

.dl-form__submit-wrap .btn__arrow {
  pointer-events: none;
  color: #054994;
}
@media (max-width: 959px) {
  .dl-form__submit-wrap .btn__arrow {
    right: 20px;
    width: 40px;
    height: 40px;
  }
  .dl-form__submit-wrap .btn__arrow::before, .dl-form__submit-wrap .btn__arrow::after {
    width: 8px;
    height: 8px;
  }
}

@media (hover: hover) {
  .dl-form__submit-wrap:hover .btn__arrow {
    background: #094A95;
    color: #fff;
  }
  .dl-form__submit-wrap:hover .btn__arrow::before {
    transform: translate(325%, -50%) rotate(45deg);
  }
  .dl-form__submit-wrap:hover .btn__arrow::after {
    transform: translate(-75%, -50%) rotate(45deg);
  }
}
.dl-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
}
@media (min-width: 960px) {
  .dl-form__row {
    gap: 0 min(0.9375vw, 12px);
  }
}

.dl-form__cell {
  min-width: 0;
}

.dl-form__input.is-error {
  outline: 2px solid #e60012;
}

.dl-form__error {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #e60012;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-form__error {
    margin-top: min(0.46875vw, 6px);
    font-size: min(1.015625vw, 13px);
  }
}

.dl-detail__summary {
  grid-area: summary;
  margin-top: 30px;
  padding: 18px 20px 30px 25px;
  border-radius: 6px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .dl-detail__summary {
    margin-top: min(4.6875vw, 60px);
    padding: min(2.65625vw, 34px) min(4.6875vw, 60px) min(3.125vw, 40px);
    border-radius: min(0.46875vw, 6px);
  }
}

.dl-detail__summary-heading {
  padding-bottom: 16px;
  border-bottom: 1px solid #d9dee0;
  font-size: 16px;
  font-weight: 400;
  color: #054994;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-detail__summary-heading {
    padding-bottom: min(1.40625vw, 18px);
    font-size: min(1.40625vw, 18px);
  }
}

.dl-detail__summary-text {
  margin-top: 13px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 2.07;
}
@media (max-width: 959px) {
  .dl-detail__summary-text {
    font-weight: 300;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
  }
}
@media (min-width: 960px) {
  .dl-detail__summary-text {
    margin-top: min(1.25vw, 16px);
    font-size: min(1.171875vw, 15px);
    line-height: 1.9;
  }
}

.dl-detail__summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 2.07;
}
@media (max-width: 959px) {
  .dl-detail__summary-list {
    font-weight: 300;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
  }
}
@media (min-width: 960px) {
  .dl-detail__summary-list {
    font-size: min(1.171875vw, 15px);
    line-height: 1.95;
  }
}

.dl-detail__summary-list li::before {
  content: "・";
  margin-right: -0.25em;
}
@media (max-width: 959px) {
  .dl-detail__summary-list li::before {
    margin-right: 0;
  }
}

.dl-detail__logos {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .dl-detail__logos {
    margin-top: min(2.8125vw, 36px);
  }
}

.dl-detail__logos-heading {
  font-size: 15px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-detail__logos-heading {
    font-size: min(1.25vw, 16px);
  }
}

.dl-detail__logos-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-items: center;
  gap: 24px 20px;
  margin: 20px 0 0;
  padding: 30px 20px;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  background-color: #fff;
  list-style: none;
}
@media (min-width: 960px) {
  .dl-detail__logos-box {
    grid-template-columns: repeat(4, 1fr);
    gap: min(3.125vw, 40px);
    margin-top: min(1.328125vw, 17px);
    padding: min(3.515625vw, 45px) min(4.296875vw, 55px);
    border-radius: min(0.46875vw, 6px);
  }
}

.dl-detail__logos-box img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 56px;
}
@media (min-width: 960px) {
  .dl-detail__logos-box img {
    max-height: min(6.25vw, 80px);
  }
}

.dl-outline {
  margin-top: 31px;
  padding: 36px 20px 58px;
  border-radius: 18px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .dl-outline {
    margin-top: min(3.4375vw, 44px);
    padding: min(3.90625vw, 50px) min(4.6875vw, 60px) min(4.609375vw, 59px);
    border-radius: min(0.46875vw, 6px);
  }
}

.dl-outline__heading {
  padding-left: 16px;
  font-size: 16px;
  font-weight: 400;
  color: #054994;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .dl-outline__heading {
    padding-left: 0;
    font-size: min(1.40625vw, 18px);
  }
}

.dl-outline__grid {
  margin-top: 18px;
}
@media (min-width: 960px) {
  .dl-outline__grid {
    display: grid;
    grid-template-columns: min(37.65625vw, 482px) 1fr;
    gap: min(4.921875vw, 63px);
    margin-top: min(2.734375vw, 35px);
  }
}

.dl-outline__thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.dl-outline__table {
  margin: 0;
}

.dl-outline__thumb + .dl-outline__table {
  margin-top: 50px;
}
@media (min-width: 960px) {
  .dl-outline__thumb + .dl-outline__table {
    margin-top: 0;
  }
}

.dl-outline__row {
  display: flex;
  gap: 15px;
  padding: 18px 0 15px;
  border-bottom: 1px solid #ccd4d8;
}
@media (min-width: 960px) {
  .dl-outline__row {
    gap: 0;
    padding: min(1.09375vw, 14px) 0;
  }
}

.dl-outline__row:first-child {
  padding-top: 0;
}

.dl-outline__row:last-child {
  border-bottom: none;
}

.dl-outline__row dt {
  flex-shrink: 0;
  width: 88px;
  font-size: 15px;
  font-weight: 300;
  color: #000;
  text-align: left;
  line-height: 1.73;
}
@media (min-width: 960px) {
  .dl-outline__row dt {
    width: min(11.09375vw, 142px);
    font-size: min(1.171875vw, 15px);
    font-weight: 400;
    line-height: 1.7;
  }
}

.dl-outline__row dd {
  margin: 0;
  font-size: 15px;
  font-weight: 300;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.73;
}
@media (min-width: 960px) {
  .dl-outline__row dd {
    font-size: min(1.171875vw, 15px);
    font-weight: 400;
    font-feature-settings: normal;
    line-height: 1.7;
  }
}

.dl-outline__note {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.55;
}
@media (min-width: 960px) {
  .dl-outline__note {
    margin-top: 8px;
    font-size: min(0.9375vw, 12px);
    line-height: 1.7;
  }
}

.dl-outline__btn {
  margin-top: 18px;
  text-align: center;
}
@media (min-width: 960px) {
  .dl-outline__btn {
    margin-top: min(2.890625vw, 37px);
  }
}

.dl-outline__btn .btn {
  width: 300px;
  max-width: 100%;
  min-height: 70px;
  padding-right: 56px;
  font-size: 17px;
  line-height: 1.25;
}
@media (min-width: 960px) {
  .dl-outline__btn .btn {
    width: auto;
    min-width: min(28.125vw, 360px);
    min-height: 0;
    padding-block: min(1.640625vw, 21px);
    padding-right: min(7.03125vw, 90px);
    font-size: min(1.40625vw, 18px);
    line-height: 1.4;
  }
}

.dl-detail__body {
  margin-top: 40px;
}
@media (min-width: 960px) {
  .dl-detail__body {
    max-width: min(62.1875vw, 796px);
    margin: min(6.796875vw, 87px) auto 0;
  }
}

.newsletter {
  padding: 30px 0 48px;
}
@media (min-width: 960px) {
  .newsletter {
    padding: min(5vw, 64px) 0 min(6.875vw, 88px);
  }
}

.newsletter__title {
  font-size: 26px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .newsletter__title {
    font-size: min(3.75vw, 48px);
  }
}

.newsletter__grid {
  margin-top: 33px;
}
@media (min-width: 960px) {
  .newsletter__grid {
    display: grid;
    grid-template-columns: min(41.5625vw, 532px) 1fr;
    align-items: start;
    gap: min(3.984375vw, 51px);
    margin-top: min(3.90625vw, 50px);
  }
}

.newsletter__image {
  display: block;
  width: 276px;
  height: auto;
  margin-inline: auto;
}
@media (min-width: 960px) {
  .newsletter__image {
    width: min(37.5vw, 480px);
    margin-left: min(1.640625vw, 21px);
  }
}

.newsletter__box {
  margin-top: 29px;
  padding: 10px 15px 18px 18px;
  border: 4px solid #f3f3f3;
  border-radius: 8px;
}
@media (min-width: 960px) {
  .newsletter__box {
    margin-top: min(2.96875vw, 38px);
    padding: min(2.265625vw, 29px) min(2.265625vw, 29px) min(2.96875vw, 38px);
    border-radius: min(0.78125vw, 10px);
  }
}

.newsletter__lead {
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: justify;
  font-feature-settings: "palt";
  line-height: 1.625;
}
@media (min-width: 960px) {
  .newsletter__lead {
    font-size: min(1.25vw, 16px);
    line-height: 1.75;
  }
}

.newsletter__list {
  margin-top: 11px;
}
@media (min-width: 960px) {
  .newsletter__list {
    margin-top: min(1.640625vw, 21px);
  }
}

@media (min-width: 960px) {
  .newsletter__item {
    display: grid;
    grid-template-columns: min(11.171875vw, 143px) 1fr;
    align-items: center;
  }
}

.newsletter__item + .newsletter__item {
  margin-top: 6px;
}
@media (min-width: 960px) {
  .newsletter__item + .newsletter__item {
    margin-top: min(0.9375vw, 12px);
  }
}

.newsletter__item dt {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-align: left;
  font-feature-settings: "palt";
  line-height: 1.625;
}
@media (min-width: 960px) {
  .newsletter__item dt {
    font-size: min(1.25vw, 16px);
    line-height: 1.5;
  }
}

.newsletter__item dd {
  margin: 3px 0 0;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: justify;
  font-feature-settings: "palt";
  line-height: 1.625;
}
@media (min-width: 960px) {
  .newsletter__item dd {
    margin-top: 0;
    font-size: min(1.09375vw, 14px);
    line-height: 1.5;
  }
}

.newsletter__form {
  margin-top: 36px;
}
@media (min-width: 960px) {
  .newsletter__form {
    margin-top: 0;
  }
}

.newsletter__heading {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .newsletter__heading {
    font-size: min(1.875vw, 24px);
    line-height: 1;
  }
}

.newsletter__contact-form {
  margin-top: 23px;
}
@media (min-width: 960px) {
  .newsletter__contact-form {
    margin-top: min(2.890625vw, 37px);
  }
}

.newsletter__contact-form .contact-form__field + .contact-form__field {
  margin-top: 17px;
}
@media (min-width: 960px) {
  .newsletter__contact-form .contact-form__field + .contact-form__field {
    margin-top: min(1.25vw, 16px);
  }
}

.newsletter__contact-form .contact-form__input {
  margin-top: 3px;
}
@media (min-width: 960px) {
  .newsletter__contact-form .contact-form__input {
    margin-top: min(0.234375vw, 3px);
  }
}

.newsletter__privacy {
  margin-top: 22px;
  padding: 15px 20px;
  border-radius: 12px;
  background-color: #f3f3f3;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-align: justify;
  line-height: 1.75;
}
@media (min-width: 960px) {
  .newsletter__privacy {
    margin-top: min(1.796875vw, 23px);
    padding: min(1.875vw, 24px) min(2.34375vw, 30px) min(1.875vw, 24px) min(2.265625vw, 29px);
    border-radius: min(0.9375vw, 12px);
    font-size: min(1.25vw, 16px);
    text-align: left;
  }
}

.newsletter__contact-form .contact-form__submit-wrap {
  margin-top: 28px;
}
@media (min-width: 960px) {
  .newsletter__contact-form .contact-form__submit-wrap {
    margin-top: min(3.125vw, 40px);
  }
}

.privacy {
  padding: 40px 0 80px;
  background-color: #ebf3f5;
}
@media (min-width: 960px) {
  .privacy {
    padding: min(6.25vw, 80px) 0 min(12.65625vw, 162px);
  }
}

.privacy__box {
  padding: 36px 24px 40px;
  background-color: #fff;
}
@media (min-width: 960px) {
  .privacy__box {
    max-width: min(71.875vw, 920px);
    margin-inline: auto;
    padding: min(5.859375vw, 75px) min(6.25vw, 80px) min(6.015625vw, 77px);
  }
}

.privacy__block + .privacy__block {
  margin-top: 26px;
  padding-top: 27px;
  border-top: 1px solid #c3cdcf;
}
@media (min-width: 960px) {
  .privacy__block + .privacy__block {
    margin-top: min(2.65625vw, 34px);
    padding-top: min(2.8125vw, 36px);
  }
}

.privacy__block > * + * {
  margin-top: 18px;
}
@media (min-width: 960px) {
  .privacy__block > * + * {
    margin-top: min(1.25vw, 16px);
  }
}

.privacy__block > .privacy__heading + * {
  margin-top: 18px;
}
@media (min-width: 960px) {
  .privacy__block > .privacy__heading + * {
    margin-top: min(1.328125vw, 17px);
  }
}

.privacy__block > .privacy__label + .privacy__list {
  margin-top: 0;
}

.privacy__heading {
  font-size: 20px;
  font-weight: 700;
  color: #054994;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
}
@media (min-width: 960px) {
  .privacy__heading {
    font-size: min(1.71875vw, 22px);
    line-height: 1.364;
  }
}

.privacy__text,
.privacy__label,
.privacy__item {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.875;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  text-align: justify;
}
@media (min-width: 960px) {
  .privacy__text,
  .privacy__label,
  .privacy__item {
    font-size: min(1.25vw, 16px);
  }
}

.privacy__text--address {
  text-align: left;
}

.privacy__nowrap {
  white-space: nowrap;
}

.privacy__text a,
.privacy__item a {
  color: inherit;
  overflow-wrap: anywhere;
}

.privacy__item {
  position: relative;
}

.privacy__item::before {
  position: absolute;
  top: 0;
  left: 0;
}

.privacy__list--num {
  counter-reset: privacy-num;
}

.privacy__list--num .privacy__item {
  padding-left: 1.15em;
  counter-increment: privacy-num;
}

.privacy__list--num .privacy__item::before {
  content: counter(privacy-num) ".";
}

.privacy__list--dot .privacy__item {
  padding-left: 0.54em;
}

.privacy__list--dot .privacy__item::before {
  content: "・";
}

.writer-intro {
  padding: 54px 0 63px;
}
@media (min-width: 960px) {
  .writer-intro {
    padding: min(5.46875vw, 70px) 0 min(4.375vw, 56px);
  }
}

.writer-intro__text {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .writer-intro__text {
    font-size: min(1.328125vw, 17px);
    line-height: 2.06;
  }
}

.writer-intro__heading {
  margin: 55px 0 20px;
  font-size: 22px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.36;
}
@media (min-width: 960px) {
  .writer-intro__heading {
    margin: min(5.078125vw, 65px) 0 min(3.125vw, 40px);
    font-size: min(2.5vw, 32px);
    line-height: 1.5;
  }
}

.writer-intro__profiles {
  display: grid;
  gap: 50px;
  margin-top: 38px;
}
@media (min-width: 960px) {
  .writer-intro__profiles {
    grid-template-columns: repeat(2, 1fr);
    gap: min(5.15625vw, 66px) min(4.6875vw, 60px);
    margin-top: min(5vw, 64px);
  }
}

.writer-intro__field-title {
  position: relative;
  padding-left: 20px;
  font-size: 18px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .writer-intro__field-title {
    padding-left: min(1.5625vw, 20px);
    font-size: min(1.875vw, 24px);
  }
}

.writer-intro__field-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 18px;
  background-color: #094A95;
  transform: translateY(-50%);
}
@media (min-width: 960px) {
  .writer-intro__field-title::before {
    height: min(2.1875vw, 28px);
    background-color: rgba(9, 74, 149, 0.5);
  }
}

.writer-intro__writer {
  margin-top: 19px;
  font-size: 14px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.76;
}
@media (min-width: 960px) {
  .writer-intro__writer {
    margin-top: min(2.421875vw, 31px);
    font-size: min(1.25vw, 16px);
    line-height: 1.92;
  }
}

.writer-intro__writer + .writer-intro__writer {
  margin-top: 25px;
}
@media (min-width: 960px) {
  .writer-intro__writer + .writer-intro__writer {
    margin-top: min(2.421875vw, 31px);
  }
}

.writer-intro__name {
  color: #094A95;
}

.writer-list {
  padding: 60px 0 65px;
}
@media (min-width: 960px) {
  .writer-list {
    padding: min(7.8125vw, 100px) 0 min(3.984375vw, 51px);
  }
}

.writer-list__title {
  margin-top: 14px;
  font-size: 22px;
  color: #094A95;
}
@media (min-width: 960px) {
  .writer-list__title {
    margin-top: min(1.171875vw, 15px);
    font-size: min(2.8125vw, 36px);
  }
}

.writer-list__text {
  margin-top: 23px;
  font-size: 16px;
  font-weight: 400;
  color: #000;
  text-align: left;
  line-height: 1.8;
}
@media (min-width: 960px) {
  .writer-list__text {
    margin-top: min(2.8125vw, 36px);
    font-size: min(1.328125vw, 17px);
    line-height: 2.06;
  }
}

.writer-list__text + .writer-list__text {
  margin-top: 29px;
}
@media (min-width: 960px) {
  .writer-list__text + .writer-list__text {
    margin-top: min(2.734375vw, 35px);
  }
}

.writer-list__links {
  display: grid;
  gap: 10px;
  margin-top: 30px;
}
@media (min-width: 960px) {
  .writer-list__links {
    grid-template-columns: repeat(3, min(19.53125vw, 250px));
    justify-content: center;
    gap: min(0.859375vw, 11px);
    margin-top: min(2.34375vw, 30px);
  }
}

.writer-list__link {
  width: 100%;
  min-width: 0;
}
@media (min-width: 960px) {
  .writer-list__link {
    height: min(7.03125vw, 90px);
    padding: 0 min(3.125vw, 40px) 0 0;
    font-size: min(1.25vw, 16px);
    line-height: 1.53;
  }
}

.writer-list__heading {
  margin-top: 50px;
  padding-bottom: 6px;
  border-bottom: 1px solid #094A95;
  font-size: 18px;
  font-weight: 700;
  color: #094A95;
  text-align: left;
  line-height: 1.5;
}
@media (min-width: 960px) {
  .writer-list__heading {
    margin-top: min(7.421875vw, 95px);
    padding-bottom: min(0.859375vw, 11px);
    font-size: min(2.5vw, 32px);
  }
}

.writer-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 31px 15px;
  margin-top: 30px;
}
@media (min-width: 960px) {
  .writer-list__items {
    grid-template-columns: repeat(4, 1fr);
    gap: min(3.828125vw, 49px) min(1.953125vw, 25px);
    margin-top: min(4.53125vw, 58px);
  }
}

.writer-list__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.writer-list__photo {
  width: 100%;
}

.writer-list__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.writer-list__name {
  margin-top: 7px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.4;
}
@media (min-width: 960px) {
  .writer-list__name {
    margin-top: min(1.40625vw, 18px);
    font-size: min(1.640625vw, 21px);
  }
}

.writer-list__position {
  margin-top: 13px;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.67;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (min-width: 960px) {
  .writer-list__position {
    margin-top: min(0.390625vw, 5px);
    font-size: min(1.015625vw, 13px);
    line-height: 1.38;
  }
}

.writer-list__btn {
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  margin-top: 18px;
  padding: 0 30px 0 15px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 1.67;
  white-space: normal;
}
@media (min-width: 960px) {
  .writer-list__btn {
    width: min(17.96875vw, 230px);
    height: min(4.6875vw, 60px);
    margin-top: auto;
    padding: 0 min(4.21875vw, 54px) 0 min(2.8125vw, 36px);
    font-size: min(1.171875vw, 15px);
    line-height: 1.47;
  }
}

@media (min-width: 960px) {
  .writer-list__item > :has(+ .writer-list__btn) {
    margin-bottom: min(1.328125vw, 17px);
  }
}

.writer-list__btn-name {
  display: contents;
  font-feature-settings: "palt";
}

.writer-list__btn .btn__arrow {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
}
.writer-list__btn .btn__arrow::before, .writer-list__btn .btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 4px;
  height: 4px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transition: transform 0.45s ease;
}
@media (min-width: 960px) {
  .writer-list__btn .btn__arrow::before, .writer-list__btn .btn__arrow::after {
    left: 53%;
  }
}
.writer-list__btn .btn__arrow::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.writer-list__btn .btn__arrow::after {
  transform: translate(-475%, -50%) rotate(45deg);
}
.writer-list__btn .btn__arrow {
  position: absolute;
  right: 12px;
}
@media (min-width: 960px) {
  .writer-list__btn .btn__arrow {
    position: relative;
    flex-shrink: 0;
    width: min(2.34375vw, 30px);
    height: min(2.34375vw, 30px);
    border-radius: 50%;
    overflow: hidden;
  }
  .writer-list__btn .btn__arrow::before, .writer-list__btn .btn__arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 54%;
    width: min(0.46875vw, 6px);
    height: min(0.46875vw, 6px);
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transition: transform 0.45s ease;
  }
  .writer-list__btn .btn__arrow {
    position: absolute;
    right: min(1.5625vw, 20px);
  }
}
@media (min-width: 960px) and (min-width: 960px) {
  .writer-list__btn .btn__arrow::before, .writer-list__btn .btn__arrow::after {
    left: 53%;
  }
}
@media (min-width: 960px) {
  .writer-list__btn .btn__arrow::before {
    transform: translate(-75%, -50%) rotate(45deg);
  }
  .writer-list__btn .btn__arrow::after {
    transform: translate(-475%, -50%) rotate(45deg);
  }
}