@charset "UTF-8";
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

a {
  text-decoration: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*--- iosのスタイルリセット  ---*/
input[type=submit],
input[type=button] {
  border-radius: 10px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

summary {
  display: block;
}

summary::-webkit-details-marker {
  display: none;
}

a:hover {
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.wrapper {
  position: relative;
}

/* =============================================================================
Image
========================================================================== */
a {
  display: block;
}

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

/* =============================================================================
Basic style
========================================================================== */
html {
  overflow-x: hidden;
}

body {
  position: relative;
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  word-break: break-all;
}

img {
  vertical-align: top;
}

/*==============================================================================
Media
============================================================================= */
/*
  sp
----------------------------------------------- */
/*
  pc
----------------------------------------------- */
/*
  xl-pc
----------------------------------------------- */
/*==============================================================================
Accessibility
============================================================================= */
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}

.hidden {
  display: none;
}

/*==============================================================================
font-size
============================================================================= */
/*
	  mobile
  ----------------------------------------------- */
@media screen and (max-width: 767px) {
  html {
    font-size: 2.1333333333vw;
  }
  p {
    font-size: 1rem;
  }
}
/*
  PC
  ----------------------------------------------- */
@media screen and (min-width: 768px) {
  html {
    font-size: 1.1111111111vw;
  }
  p {
    font-size: 1rem;
  }
}
/*
  xl-pc
----------------------------------------------- */
@media screen and (min-width: 2000px) {
  html {
    font-size: 16px;
  }
  p {
    font-size: 1rem;
  }
}
/*==============================================================================
Responsive
============================================================================= */
@media screen and (max-width: 767px) {
  .inner {
    width: 41.875rem;
    margin: 0 auto;
    position: relative;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .inner {
    width: 75rem;
    margin: 0 auto;
    position: relative;
  }
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .header {
    position: fixed;
    z-index: 999;
    width: 100%;
    left: 0;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    background: #ffffff;
  }
  .header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 75rem;
    padding: 1.375rem 0;
  }
  .header h1 {
    width: 12.5rem;
  }
  .header-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header-links a {
    margin: 0 40px 0 0;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    z-index: 999;
    width: 100%;
    left: 0;
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    background: #ffffff;
  }
  .header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.5625rem 0 0.8125rem;
  }
  .header h1 {
    width: 17.75rem;
  }
  .header-humberger {
    width: 4.125rem;
  }
  .header-humberger.close {
    width: 3.125rem;
  }
  .header-nav {
    position: fixed;
    z-index: 999;
    top: auto;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(-120%);
            transform: translateY(-120%);
    -webkit-transition: opacity 1s ease, -webkit-transform 0.5s ease;
    transition: opacity 1s ease, -webkit-transform 0.5s ease;
    transition: transform 0.5s ease, opacity 1s ease;
    transition: transform 0.5s ease, opacity 1s ease, -webkit-transform 0.5s ease;
    width: 46.875rem;
    height: 100%;
    background: #ffffff;
  }
  .header-nav.open {
    visibility: visible;
    -webkit-transition: opacity 1s ease, -webkit-transform 0.5s ease;
    transition: opacity 1s ease, -webkit-transform 0.5s ease;
    transition: transform 0.5s ease, opacity 1s ease;
    transition: transform 0.5s ease, opacity 1s ease, -webkit-transform 0.5s ease;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  .header-nav.open .header-nav-content {
    position: absolute;
    z-index: 999;
    width: 100%;
    height: 92%;
    overflow-y: scroll;
  }
  .header-nav-inner {
    padding: 0 0 5rem;
  }
  .header-nav-links {
    margin: 0 0 3.75rem;
  }
  .header-nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 3.1875rem 1.25rem;
    border-bottom: 1px solid #e5ebee;
  }
  .header-nav-link-txt {
    color: #111111;
    font-size: 2.25rem;
    letter-spacing: 0.06em;
  }
  .header-nav-link-arrow {
    width: 1.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .footer-bg {
    padding: 4.5rem 0 4.0625rem;
    background: #67696f;
  }
  .footer-logo {
    width: 12.1875rem;
    margin: 0 auto 3.0625rem;
  }
  .footer-txt {
    color: #ffffff;
    font-size: 1rem;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .footer-bg {
    padding: 3.4375rem 0 4.375rem;
    background: #67696f;
  }
  .footer-logo {
    width: 8.125rem;
    margin: 0 auto 2.5rem;
  }
  .footer-txt {
    color: #ffffff;
    font-size: 0.625rem;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .fv {
    margin: 5.875rem 0 0;
  }
  .fv-bg {
    padding: 2.25rem 0 4.6875rem;
    background: url("../images/fv-bg.webp") no-repeat center/cover;
  }
  .fv-left {
    width: 33.125rem;
    margin: 0 0 3.875rem;
  }
  .fv-minttl {
    position: relative;
    z-index: 5;
    width: 11.6875rem;
    margin: 0 0 0.625rem;
    padding: 0.375rem 0 0.5rem;
    background: -webkit-gradient(linear, left top, right top, from(#4c79af), to(#396299));
    background: linear-gradient(to right, #4c79af, #396299);
    color: #ffffff;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .fv h2 {
    margin: -1.75rem 0 1.25rem;
    padding: 2.1875rem 0 1.25rem;
    border-top: 1px solid #386097;
    border-bottom: 1px solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 3.375rem;
    letter-spacing: 0.08em;
    line-height: 1.4;
  }
  .fv h2 .orenge {
    color: #c25700;
  }
  .fv-txt {
    color: #111111;
    font-weight: bold;
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .fv-img {
    position: absolute;
    top: -8.125rem;
    right: -25rem;
    width: 63.75rem;
  }
}
@media screen and (max-width: 767px) {
  .fv-bg {
    padding: 26.5625rem 0 4.6875rem;
    background: url("../images/fv-bg-sp.webp") no-repeat center/cover;
  }
  .fv-left {
    width: 41.875rem;
  }
  .fv-minttl {
    position: relative;
    z-index: 5;
    width: 20.1875rem;
    margin: 0 0 1.25rem;
    padding: 0.875rem 0 0.875rem;
    background: -webkit-gradient(linear, left top, right top, from(#4c79af), to(#396299));
    background: linear-gradient(to right, #4c79af, #396299);
    color: #ffffff;
    font-weight: bold;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .fv h2 {
    margin: 0 0 1.875rem;
    padding: 0 0 0.9375rem;
    border-bottom: 1px solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 4.375rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
  }
  .fv h2 .orenge {
    color: #c25700;
    letter-spacing: 0.08em;
    font-size: 5rem;
  }
  .fv h2 .middle {
    font-size: 3.4375rem;
    letter-spacing: 0.04em;
  }
  .fv-txt {
    margin: 0 0 4.25rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.0625rem;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .fv-img {
    position: absolute;
    top: -20.625rem;
    left: 0;
    width: 44.375rem;
  }
}
@media screen and (min-width: 768px) {
  .cta_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 63.75rem;
    margin: 0 0 0 6.25rem;
  }
  .cta_links-txt {
    color: #386097;
    font-weight: 500;
    font-size: 1.125rem;
    text-align: center;
    letter-spacing: 0.06em;
  }
  .cta_form {
    width: 31.25rem;
  }
  .cta_materials {
    width: 31.25rem;
  }
  .cta-box {
    width: 75rem;
    margin: 0 auto;
    border-radius: 1.25rem;
  }
  .cta-box-ttl {
    padding: 1.9375rem 0 1.5rem;
    border-radius: 1.25rem 1.25rem 0 0;
    background: url("../images/cta-box-ttl-bg.webp") no-repeat center/cover;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.625rem;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.2;
  }
  .cta-box-ttl.diff01 {
    background: url("../images/cta-box-ttl-bg02.webp") no-repeat center/cover;
  }
  .cta-box-ttl.diff02 {
    background: url("../images/cta-box-ttl-bg03.webp") no-repeat center/cover;
  }
  .cta-box-ttl .num {
    margin: 0 0.3125rem 0 0;
    font-family: "Inter", sans-serif;
    font-size: 3.125rem;
    vertical-align: text-top;
  }
  .cta-box-ttl .big {
    font-size: 2.375rem;
  }
  .cta-box-ttl .middle {
    font-size: 2.125rem;
  }
  .cta-box-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.6875rem 6.25rem 1.875rem;
    border-radius: 0 0 1.25rem 1.25rem;
    -webkit-box-shadow: 0.25rem 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.25rem 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
    background: #e0e6ec;
  }
}
@media screen and (max-width: 767px) {
  .cta_links-txt {
    color: #386097;
    font-weight: 500;
    font-size: 1.75rem;
    text-align: center;
    letter-spacing: 0.06em;
  }
  .cta_form {
    width: 41.25rem;
    margin: 0 auto 1.875rem;
  }
  .cta_materials {
    width: 41.25rem;
    margin: 0 auto;
  }
  .cta-box {
    background: url("../images/cta-box-link-bg-sp.webp") no-repeat center/cover;
    -webkit-box-shadow: 0.25rem 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.25rem 0.25rem 1.25rem rgba(0, 0, 0, 0.2);
    border-radius: 1.25rem;
  }
  .cta-box-ttl {
    padding: 3.125rem 0;
    border-radius: 1.25rem 1.25rem 0 0;
    background: url("../images/cta-box-ttl-bg-sp.webp") no-repeat center/cover;
    color: #ffffff;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.2;
  }
  .cta-box-ttl.diff01 {
    padding: 2.75rem 0 1.875rem;
    background: url("../images/cta-box-ttl-bg02-sp.webp") no-repeat center/cover;
    line-height: 1.5;
  }
  .cta-box-ttl.diff01 .num {
    line-height: 1.3;
  }
  .cta-box-ttl.diff02 {
    padding: 2.75rem 0 2.75rem;
    background: url("../images/cta-box-ttl-bg03-sp.webp") no-repeat center/cover;
    line-height: 1.5;
  }
  .cta-box-ttl.diff02 .num {
    line-height: 1.3;
  }
  .cta-box-ttl .letter-close {
    letter-spacing: 0;
  }
  .cta-box-ttl span {
    letter-spacing: 0;
  }
  .cta-box-ttl .num {
    margin: 0 0.3125rem 0 0;
    font-family: "Inter", sans-serif;
    font-size: 3.625rem;
    vertical-align: text-top;
  }
  .cta-box-ttl .big {
    font-size: 3rem;
  }
  .cta-box-ttl .middle {
    font-size: 2.5rem;
  }
  .cta-box-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 4.1875rem 0 2.5rem;
    border-radius: 0 0 1.25rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .partner-bg {
    padding: 5.625rem 0 14.5rem;
    background: url("../images/partner-bg.webp") no-repeat center/cover;
  }
  .partner h2 {
    width: 62.5rem;
    margin: 0 0 3.9375rem 6.25rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.25rem;
    letter-spacing: 0.04em;
    line-height: 1.42;
    text-align: center;
  }
  .partner h2 .orenge {
    color: #c25700;
    font-size: 2.625rem;
  }
  .partner h2 .big {
    font-size: 2.625rem;
  }
  .partner h2 .mini {
    font-size: 2.25rem;
  }
  .partner-item {
    position: relative;
    margin: 0 0 2rem 6.25rem;
    padding: 0 0 0 3.1875rem;
    color: #111111;
    font-size: 1.375rem;
    letter-spacing: 0.04em;
  }
  .partner-item span {
    font-weight: bold;
    font-size: 1.5rem;
  }
  .partner-item::before {
    content: "";
    position: absolute;
    top: -0.1875rem;
    left: 0;
    width: 2.0625rem;
    height: 1.875rem;
    background: url("../images/partner-icon.webp") no-repeat center/contain;
  }
}
@media screen and (max-width: 767px) {
  .partner-bg {
    padding: 6.875rem 0 23.125rem;
    background: url("../images/partner-bg-sp.webp") no-repeat center/cover;
  }
  .partner h2 {
    margin: 0 0 3.75rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.625rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: center;
  }
  .partner h2 .orenge {
    color: #c25700;
    font-size: 3.75rem;
  }
  .partner-item {
    position: relative;
    margin: 0 0 2.1875rem;
    padding: 0 0 0 3.75rem;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
  .partner-item span {
    font-weight: bold;
    font-size: 2rem;
  }
  .partner-item::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: 0;
    width: 2.1875rem;
    height: 2.1875rem;
    background: url("../images/partner-icon.webp") no-repeat center/contain;
  }
}
@media screen and (min-width: 768px) {
  .response-box {
    position: relative;
    width: 107.5rem;
    margin: -8.4375rem 0 0 -16.875rem;
    padding: 6rem 0 7.5rem;
    border-radius: 3.125rem;
    background: url("../images/responsive-box-bg.webp") no-repeat center/cover;
  }
  .response-arrow {
    position: absolute;
    top: -1.25rem;
    right: 51.875rem;
    width: 3.125rem;
    margin: 0 auto 3.8125rem;
  }
  .response-logo {
    width: 27.8125rem;
    margin: 0 auto 2.1875rem;
  }
  .response-ttl {
    margin: 0 0 5.625rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .response-map {
    position: absolute;
    top: 16.25rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 36.875rem;
  }
  .response-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 62.5rem;
    margin: 0 auto;
  }
  .response-item {
    position: relative;
    z-index: 5;
    width: 24.0625rem;
    height: 20.9375rem;
    margin: 0 0 1.25rem;
    padding: 2.5rem 3.125rem 0;
    background: url("../images/response-item-bg.webp") no-repeat center/cover;
  }
  .response-item-ttl {
    color: #386097;
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .response-item-img01 {
    width: 7.1875rem;
    margin: 1.25rem auto 0.625rem;
  }
  .response-item-img02 {
    width: 3.5625rem;
    margin: 0.9375rem auto 0.625rem;
  }
  .response-item-img03 {
    width: 4.1875rem;
    margin: 0.75rem auto 0.875rem;
  }
  .response-item-img04 {
    width: 5rem;
    margin: 1.125rem auto 1.375rem;
  }
  .response-item-info {
    margin: 0 0 1.3125rem;
    padding: 0 0 0.9375rem;
    border-bottom: 1px solid #c3d5ed;
    color: #386097;
    font-weight: bold;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .response-item-info .mini {
    display: inline-block;
    width: 3.125rem;
    font-size: 1.375rem;
  }
  .response-item-info .orenge {
    color: #c25700;
    font-weight: bold;
    font-size: 2.5rem;
    letter-spacing: 0.04em;
  }
  .response-item-info .num {
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 4.6875rem;
  }
  .response-item-txt {
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
  .response-info {
    margin: 0 22.8125rem 0 0;
    font-size: 0.625rem;
    text-align: right;
    letter-spacing: 0.04em;
  }
  .response-arrow02 {
    width: 3.125rem;
    margin: 0.5625rem auto 1.8125rem;
  }
  .response-bottom {
    margin: 0 0 2.8125rem;
    color: #386097;
    font-weight: bold;
    font-size: 2.5rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
}
@media screen and (max-width: 767px) {
  .response {
    position: relative;
    z-index: 5;
    margin: -3.125rem 0 0;
    border-radius: 0 3.125rem 0 0;
    background: url("../images/response-bg-sp.webp") no-repeat center/cover;
  }
  .response-box {
    position: relative;
    padding: 4rem 0 7.5625rem;
  }
  .response-arrow {
    width: 3.125rem;
    margin: 0 auto 1.25rem;
  }
  .response-logo {
    width: 32.9375rem;
    margin: 0 auto 2.5rem;
  }
  .response-ttl {
    margin: 0 0 4.375rem;
    color: #111111;
    font-weight: bold;
    font-size: 3.75rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.25;
  }
  .response-map {
    display: none;
  }
  .response-item {
    margin: 0 0 2.6875rem;
    padding: 3rem 4.0625rem 2.6875rem;
    background: #f4f7fa;
    border-top: 0.1875rem solid #ffffff;
    border-left: 0.1875rem solid #ffffff;
    border-radius: 1.25rem;
    -webkit-box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
            box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
  }
  .response-item:last-child {
    margin: 0 0 2rem;
    padding: 3rem 1.875rem 2.6875rem;
  }
  .response-item-ttl {
    color: #386097;
    font-weight: bold;
    font-size: 2.6875rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .response-item-img01 {
    width: 10.5rem;
    margin: 1.8125rem auto 2.125rem;
  }
  .response-item-img02 {
    width: 5.9375rem;
    margin: 1.5rem auto 1.875rem;
  }
  .response-item-img03 {
    width: 7.125rem;
    margin: 1.5625rem auto 0.875rem;
  }
  .response-item-img04 {
    width: 8.125rem;
    margin: 2.25rem auto 1.375rem;
  }
  .response-item-info {
    margin: 0 0 1.5625rem;
    padding: 0 0 1.3125rem;
    border-bottom: 1px solid #c3d5ed;
    color: #386097;
    font-weight: bold;
    font-size: 2.375rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .response-item-info .mini {
    display: inline-block;
    margin: 0 1.4375rem 0 0;
    width: 4.0625rem;
    font-size: 1.75rem;
  }
  .response-item-info .orenge {
    color: #c25700;
    font-weight: bold;
    font-size: 3.125rem;
    letter-spacing: 0.04em;
  }
  .response-item-info .num {
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 6.125rem;
  }
  .response-item-txt {
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .response-info {
    margin: 0 0 1.25rem;
    font-size: 1.25rem;
    text-align: right;
    letter-spacing: 0.04em;
  }
  .response-arrow02 {
    width: 3.125rem;
    margin: 0 auto 3.75rem;
  }
  .response-bottom {
    margin: 0 0 3.75rem;
    color: #386097;
    font-weight: bold;
    font-size: 3rem;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.354;
  }
  .response-bottom span {
    margin: 0 -7rem 0 -5rem;
    font-size: 3.25rem;
    line-height: 2.5;
  }
}
@media screen and (min-width: 768px) {
  .feature-bg {
    padding: 2.1875rem 0 7.875rem;
    background: url("../images/feature-bg.webp") no-repeat center/cover;
  }
  .feature-logo {
    position: absolute;
    top: 2.1875rem;
    right: 25rem;
    width: 18.1875rem;
  }
  .feature h2 {
    margin: 0 0 4.1875rem;
    color: #386097;
    font-weight: bold;
    font-size: 5.625rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature h2 span {
    font-size: 12.5rem;
  }
  .feature-item {
    margin: 0 0 2.5625rem;
    padding: 2.25rem 6.25rem 5rem;
    border-radius: 1.875rem;
    background: #ffffff;
    -webkit-box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
            box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
  }
  .feature-item-ttls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0.9375rem;
    border-bottom: 1px solid #386097;
  }
  .feature-item-num {
    margin: 0 2.375rem 0 0;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .feature-item-num span {
    font-size: 4.375rem;
  }
  .feature-item-ttl {
    color: #111111;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.04em;
  }
  .feature-item-ttl span {
    color: #386097;
    font-size: 2.25rem;
  }
  .feature-item-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 0.625rem;
  }
  .feature-item-wrap-txt01 {
    margin: 2.3125rem 0 1.875rem;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
  .feature-item-wrap-txt01 span {
    font-weight: bold;
  }
  .feature-item-wrap-txt02 {
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
  .feature-item-wrap-txt02 span {
    font-weight: bold;
  }
  .feature-item-wrap-img {
    width: 20.3125rem;
    margin: -4.6875rem 0 0;
  }
  .feature-item-wrap-img02 {
    width: 13.25rem;
    margin: -1.25rem 4.375rem 0 0;
  }
  .feature-item-wrap-img03 {
    position: absolute;
    top: -3.125rem;
    right: 2.8125rem;
    width: 15.8125rem;
  }
  .feature-item-wrap02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 2.5rem;
  }
  .feature-item-middle {
    margin: 0 0 0.625rem;
    padding: 0.8125rem 0;
    border-radius: 3.125rem;
    background: linear-gradient(135deg, #4c79af 50%, #386097 100%);
    color: #ffffff;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-item-middle-box01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.6875rem;
    margin: 0 0 1.5625rem;
    padding: 1.25rem 0 0.4375rem;
    border-radius: 1.25rem;
    background: #f1f1f1;
  }
  .feature-item-middle-box01-txt {
    position: relative;
    margin: 0 0 0.8125rem;
    color: #111111;
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
  .feature-item-middle-box01-txt::before {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: -1.1875rem;
    width: 0.75rem;
    height: 0.75rem;
    background: url("../images/feature-item-middle-box01-txt-icon.webp") no-repeat center/cover;
  }
  .feature-item-middle-box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background: #f1f1f1;
    border-radius: 0.625rem;
    margin: 0 0 2.125rem;
    padding: 2.1875rem 3.125rem 0.9375rem 4.375rem;
  }
  .feature-item-middle-box02-txt01 {
    position: relative;
    margin: 0 0 0.5625rem;
    color: #111111;
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
  .feature-item-middle-box02-txt01::before {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: -1.1875rem;
    width: 0.75rem;
    height: 0.75rem;
    background: url("../images/feature-item-middle-box01-txt-icon.webp") no-repeat center/cover;
  }
  .feature-item-middle-box02-txt02 {
    margin: 0 0 0.875rem;
    color: #c25700;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
  .feature-item-middle-box02-img {
    width: 25.3125rem;
  }
  .feature-item-bottom {
    margin: 0 0 1.5625rem;
    color: #386097;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-item-introduction {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 0 1.1875rem;
    padding: 1.25rem 2.5rem 1.875rem 1.25rem;
    border-radius: 0.625rem;
    background: #e3ebf4;
  }
  .feature-item-introduction-human {
    width: 17.8125rem;
    margin: 0 1.875rem 0 0;
  }
  .feature-item-introduction-txt01 {
    margin: 0 0 0.625rem;
    color: #386097;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
  .feature-item-introduction-txt02 {
    position: relative;
    margin: 0 0 0.625rem;
    padding: 0 0 0 0.9375rem;
    color: #111111;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
  .feature-item-introduction-txt02::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    color: #386097;
    font-size: 0.875rem;
  }
  .feature-item-introduction-txt02.last {
    margin: 0 0 1.25rem;
  }
  .feature-item-introduction-txt03 {
    width: 38.75rem;
    padding: 0.9375rem 0 0;
    border-top: 1px solid #4c79af;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
  .feature-item-introduction02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 1.875rem 2.5rem 1.875rem 1.25rem;
    border-radius: 0.625rem;
    background: #e3ebf4;
  }
  .feature-item-introduction02-human {
    width: 22.4375rem;
    margin: 0 2.125rem 0 0;
  }
  .feature-item-introduction02-txt03 {
    width: 33.75rem;
    padding: 0.9375rem 0 0;
    border-top: 1px solid #4c79af;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
    word-break: break-word;
  }
  .feature-item03 {
    margin: 0 0 4.0625rem;
  }
  .feature-item03-bottom {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 2.8125rem;
  }
  .feature-item03-bottom::before {
    content: "";
    position: absolute;
    top: 4.0625rem;
    left: 1.75rem;
    width: 1px;
    height: 12.8125rem;
    border-left: 0.3125rem dotted #4e73a5;
  }
  .feature-item03-bottom:last-child {
    margin: 0;
  }
  .feature-item03-bottom:last-child::before {
    display: none;
  }
  .feature-item03-bottom-ttls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .feature-item03-bottom-icon {
    width: 3.75rem;
    margin: 0 1.125rem 0 0;
  }
  .feature-item03-bottom-ttl {
    color: #386097;
    font-weight: bold;
    font-size: 1.375rem;
    letter-spacing: 0.04em;
  }
  .feature-item03-bottom-txt01 {
    margin: 0.8125rem 0 1.25rem 4.6875rem;
    color: #111111;
    font-weight: 600;
    font-size: 1.125rem;
    letter-spacing: 0.04em;
  }
  .feature-item03-bottom-txt02 {
    width: 24.6875rem;
    margin: 0 0 0 4.6875rem;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
  .feature-item03-bottom-txt02 span {
    font-weight: bold;
  }
  .feature-item03-bottom-img {
    width: 29.375rem;
  }
}
@media screen and (max-width: 767px) {
  .feature-bg {
    padding: 4.0625rem 0 7.875rem;
    background: url("../images/feature-bg-sp.webp") no-repeat center/cover;
  }
  .feature-logo {
    position: absolute;
    top: 1.875rem;
    right: 7.5rem;
    width: 19.625rem;
  }
  .feature h2 {
    margin: 0 0 4.1875rem;
    color: #386097;
    font-weight: bold;
    font-size: 5rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature h2 span {
    font-size: 12.375rem;
  }
  .feature-item {
    margin: 0 0 7.5rem;
    padding: 4.0625rem 2.5rem 5rem;
    border-radius: 1.875rem;
    background: #ffffff;
    -webkit-box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
            box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.1);
  }
  .feature-item-ttls {
    padding: 0 0 2.5rem;
    border-bottom: 1px solid #386097;
  }
  .feature-item-num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: -7.5rem 0 2.8125rem 12rem;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .feature-item-num span {
    margin: 0 0 0 1.0625rem;
    font-weight: bold;
    font-size: 5rem;
  }
  .feature-item-ttl {
    color: #111111;
    font-weight: bold;
    font-size: 2.625rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.23;
  }
  .feature-item-ttl span {
    color: #386097;
    font-size: 3.25rem;
  }
  .feature-item-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 0 0 3.125rem;
  }
  .feature-item-wrap-txt01 {
    margin: 1.25rem 0 3.125rem;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .feature-item-wrap-txt01 span {
    font-weight: bold;
  }
  .feature-item-wrap-txt02 {
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .feature-item-wrap-txt02 span {
    font-weight: bold;
  }
  .feature-item-wrap-img {
    width: 20.1875rem;
    margin: 1.25rem 0 0 10.625rem;
  }
  .feature-item-wrap-img02 {
    width: 17.75rem;
    margin: 2.5rem auto 1.875rem;
  }
  .feature-item-wrap-img03 {
    width: 23.4375rem;
    margin: 2.5rem auto 1.875rem;
  }
  .feature-item-wrap02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 0 0 2.5rem;
  }
  .feature-item-middle {
    margin: 0 0 1.4375rem;
    padding: 1.125rem 0;
    border-radius: 3.125rem;
    background: linear-gradient(135deg, #4c79af 50%, #386097 100%);
    color: #ffffff;
    font-weight: bold;
    font-size: 1.875rem;
    text-align: center;
    letter-spacing: 0;
  }
  .feature-item-middle-box01 {
    margin: 0 0 3.75rem;
    padding: 2.1875rem 0 0.625rem 3.9375rem;
    border-radius: 1.25rem;
    background: #f1f1f1;
  }
  .feature-item-middle-box01-txt {
    position: relative;
    margin: 0 0 1.5rem;
    color: #111111;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }
  .feature-item-middle-box01-txt::before {
    content: "";
    position: absolute;
    top: 0.3125rem;
    left: -2.1875rem;
    width: 1.4375rem;
    height: 1.375rem;
    background: url("../images/feature-item-middle-box01-txt-icon.webp") no-repeat center/cover;
  }
  .feature-item-middle-box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background: #f1f1f1;
    border-radius: 0.625rem;
    margin: 0 0 3.75rem;
    padding: 3.4375rem 1.875rem 2.8125rem;
  }
  .feature-item-middle-box02-txt01 {
    position: relative;
    margin: 0 0 0.375rem 2.6875rem;
    color: #111111;
    font-size: 1.625rem;
    letter-spacing: 0;
    line-height: 1.23;
  }
  .feature-item-middle-box02-txt01::before {
    content: "";
    position: absolute;
    top: 0.25rem;
    left: -2.1875rem;
    width: 1.4375rem;
    height: 1.4375rem;
    background: url("../images/feature-item-middle-box01-txt-icon.webp") no-repeat center/cover;
  }
  .feature-item-middle-box02-txt02 {
    margin: 0 0 2.1875rem 2.6875rem;
    color: #c25700;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
    line-height: 1.23;
  }
  .feature-item-bottom {
    margin: 0 0 1.625rem;
    color: #386097;
    font-weight: bold;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .feature-item-introduction {
    margin: 0 0 2.625rem;
    padding: 2.3125rem 1.875rem 2.625rem;
    border-radius: 0.625rem;
    background: #e3ebf4;
  }
  .feature-item-introduction:last-child {
    margin: 0;
  }
  .feature-item-introduction-human {
    margin: 0 0 1.8125rem;
  }
  .feature-item-introduction-txt01 {
    margin: 0 0 0.9375rem;
    color: #386097;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }
  .feature-item-introduction-txt02 {
    position: relative;
    margin: 0 0 0.9375rem;
    padding: 0 0 0 1.5625rem;
    color: #111111;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }
  .feature-item-introduction-txt02 span {
    font-size: 1.21875rem;
  }
  .feature-item-introduction-txt02::before {
    content: "・";
    position: absolute;
    top: 0.3125rem;
    left: 0;
    color: #386097;
    font-size: 1.1875rem;
  }
  .feature-item-introduction-txt02.last {
    margin: 0 0 1.5rem;
  }
  .feature-item-introduction-txt03 {
    padding: 1.5625rem 0 0;
    border-top: 1px solid #4c79af;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .feature-item-introduction02 {
    padding: 2.3125rem 1.875rem 3.125rem;
    border-radius: 0.625rem;
    background: #e3ebf4;
  }
  .feature-item-introduction02-human {
    margin: 0 0 1.4375rem 0;
  }
  .feature-item-introduction02-txt03 {
    padding: 1rem 0 0;
    border-top: 1px solid #4c79af;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    word-break: break-word;
  }
  .feature-item03 {
    margin: 0 0 6rem;
  }
  .feature-item03-bottom {
    position: relative;
    margin: 0 0 2.8125rem -0.9375rem;
  }
  .feature-item03-bottom::before {
    content: "";
    position: absolute;
    top: 6.25rem;
    left: 2.1875rem;
    width: 1px;
    height: 35.3125rem;
    border-left: 0.3125rem dotted #4e73a5;
  }
  .feature-item03-bottom:last-child {
    margin-right: -1.25rem;
    margin-bottom: 0;
  }
  .feature-item03-bottom:last-child::before {
    top: 5rem;
    height: 28.75rem;
  }
  .feature-item03-bottom:last-child .feature-item03-bottom-txt02 {
    margin: 0 0 1.875rem 6.25rem;
  }
  .feature-item03-bottom:last-child .feature-item03-bottom-img {
    margin: 0 1.25rem 0 auto;
  }
  .feature-item03-bottom-ttls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .feature-item03-bottom-icon {
    width: 4.95rem;
    margin: 0 1.0625rem 0 0;
  }
  .feature-item03-bottom-ttl {
    color: #386097;
    font-weight: bold;
    font-size: 2.25rem;
    letter-spacing: 0.04em;
  }
  .feature-item03-bottom-txt01 {
    margin: 1.1875rem 0 2.125rem 5.625rem;
    color: #111111;
    font-weight: 600;
    font-size: 1.6875rem;
    letter-spacing: 0.04em;
  }
  .feature-item03-bottom-txt02 {
    width: 32.0625rem;
    margin: 0 0 1.875rem 5.625rem;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .feature-item03-bottom-txt02 span {
    font-weight: bold;
  }
  .feature-item03-bottom-img {
    width: 32.0625rem;
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .flow-bg01 {
    padding: 3.5rem 0 3.75rem;
    background: url("../images/flow-bg01.webp") no-repeat center/cover;
  }
  .flow-minttl {
    margin: 0 0 1.25rem 6.25rem;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-size: 1.4375rem;
    letter-spacing: 0.04em;
  }
  .flow h2 {
    width: 31.25rem;
    margin: 0 0 1.875rem 6.25rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid #386097;
    color: #386097;
    font-weight: bold;
    font-size: 3.125rem;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }
  .flow-txt {
    color: #111111;
    margin: 0 0 0 6.25rem;
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
    line-height: 1.75;
  }
  .flow-bg02 {
    padding: 5.5rem 0 5.75rem;
    background: #f1f5f9;
  }
  .flow-box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.25rem;
    padding: 3.375rem 0 3.375rem 5.1875rem;
    border-radius: 1.25rem;
    background: #f1f5f9;
    border-top: 0.1875rem solid #ffffff;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
  }
  .flow-box-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 1.25rem;
  }
  .flow-box-step {
    width: 3.53125rem;
    height: 2.90625rem;
    margin: 0 1.25rem 0 0;
    padding: 0.625rem 0 0;
    color: #ffffff;
    background: #3e679e;
    border-radius: 0.625rem;
    font-family: "Inter", sans-serif;
    font-size: 0.645rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.1;
  }
  .flow-box-step span {
    font-size: 1.5rem;
  }
  .flow-box-line {
    width: 6.25rem;
    height: 1px;
    border-bottom: 0.3125rem dotted #386097;
  }
  .flow-box-txt {
    color: #386097;
    font-size: 1.375rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.31;
  }
  .flow-box-img {
    position: absolute;
    top: -1.125rem;
    right: -5rem;
    width: 8.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .flow-bg01 {
    padding: 5.1875rem 0 0;
    background: #f1f5f9;
  }
  .flow-minttl {
    margin: 0 0 2.4375rem;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .flow h2 {
    width: 35rem;
    margin: 0 auto 2.1875rem;
    padding: 0 0 3.125rem;
    border-bottom: 1px solid #386097;
    color: #386097;
    font-weight: bold;
    font-size: 3.75rem;
    letter-spacing: 0.02em;
    line-height: 1.333;
  }
  .flow-txt {
    color: #111111;
    margin: 0 0 3.125rem 3.4375rem;
    font-weight: bold;
    font-size: 1.75rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
  .flow-bg02 {
    padding: 3.75rem 0 7.3125rem;
    background: #f1f5f9;
  }
  .flow-box-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 -0.625rem 1.9375rem 0;
  }
  .flow-box-wrap.diff {
    margin: 0 -0.625rem 0 0;
  }
  .flow-box-wrap.diff .flow-box-line {
    display: none;
  }
  .flow-box-steps {
    position: relative;
  }
  .flow-box-step {
    width: 6.6875rem;
    height: 5.4375rem;
    margin: 0 1.5rem 0 0;
    padding: 1.25rem 0 0;
    color: #ffffff;
    background: #3e679e;
    border-radius: 0.625rem;
    font-family: "Inter", sans-serif;
    font-size: 1.375rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .flow-box-step span {
    font-size: 3.125rem;
  }
  .flow-box-line {
    position: absolute;
    bottom: -1.9375rem;
    left: 3.125rem;
    font-size: 3.125rem;
    width: 1px;
    height: 1.9375rem;
    border-left: 0.3125rem dotted #386097;
  }
  .flow-box-txt {
    color: #386097;
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.36;
  }
  .flow-box-img {
    position: absolute;
    top: -0.9375rem;
    right: 0;
    width: 9.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .voice-bg01 {
    padding: 9.375rem 0 5.3125rem;
    background: url("../images/voice-bg01.webp") no-repeat center/cover;
  }
  .voice-minttl {
    margin: 0 0 1.875rem 6.25rem;
    color: #3893cd;
    font-family: "Inter", sans-serif;
    font-size: 1.4375rem;
    letter-spacing: 0.04em;
  }
  .voice h2 {
    margin: 0 0 0 6.25rem;
    color: #ffffff;
    font-weight: bold;
    font-size: 2.75rem;
    letter-spacing: 0.04em;
    line-height: 1.636;
  }
  .voice-bg02 {
    padding: 2.1875rem 0 3.4375rem;
    background: #d7e5ee;
  }
  .voice-box {
    padding: 4rem 0 4.6875rem;
    border-top: 0.1875rem solid #ffffff;
    border-radius: 1.875rem;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
  }
  .voice-box-minttl {
    margin: 0 0 1.25rem 12.875rem;
    color: #4c79af;
    font-family: "Inter", sans-serif;
    font-size: 1.4375rem;
    letter-spacing: 0.04em;
  }
  .voice-box-ttl01 {
    width: 51.875rem;
    margin: 0 auto 2.1875rem;
    padding: 0 0 1.25rem;
    border-bottom: 0.1875rem solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .voice-box-ttl01 .orenge {
    color: #c25700;
    font-size: 2.8125rem;
  }
  .voice-box-ttl01 .num {
    font-family: "Inter", sans-serif;
    font-size: 4.875rem;
  }
  .voice-box-ttl01 .per {
    font-family: "Inter", sans-serif;
    font-size: 2.8125rem;
  }
  .voice-box-ttl02 {
    margin: 0 0 4.6875rem;
    font-weight: bold;
    font-size: 1.875rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .voice-box-ttl02 .middle {
    color: #386097;
    font-size: 2rem;
  }
  .voice-box-ttl02 .big {
    color: #386097;
    font-size: 3.4375rem;
  }
  .voice-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 6.25rem;
  }
  .voice-item {
    position: relative;
    width: 16.875rem;
    height: 15.625rem;
    margin: 0 0 1.4375rem;
    padding: 1.625rem 1.875rem 0 1.4375rem;
    background: #f6f8fa;
    border-radius: 1.875rem;
    border-top: 0.1875rem solid #ffffff;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
  }
  .voice-item-human {
    position: absolute;
    top: -0.625rem;
    right: 0.9375rem;
    width: 6.6875rem;
  }
  .voice-item-num {
    margin: 0 0 0.625rem;
    padding: 0 0 1.3125rem;
    border-bottom: 1px solid #4c79af;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
  }
  .voice-item-num .num {
    margin: 0 0 0 0.625rem;
    font-size: 2rem;
  }
  .voice-item-name {
    margin: 0 0 0.9375rem 0.625rem;
    color: #111111;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .voice-item-txt {
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.81;
  }
}
@media screen and (max-width: 767px) {
  .voice-bg01 {
    padding: 5.25rem 0 0;
    background: #cbdbe5;
  }
  .voice-minttl {
    margin: 0 0 2.5rem;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .voice h2 {
    margin: 0 0 3.4375rem;
    color: #345c90;
    font-weight: bold;
    font-size: 3.0625rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
    text-align: center;
  }
  .voice-bg02 {
    padding: 6.25rem 0 15.5625rem;
    background: #d7e5ee;
  }
  .voice-box-minttl {
    margin: 0 0 2.625rem;
    color: #4c79af;
    font-family: "Inter", sans-serif;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .voice-box-ttl01 {
    position: relative;
    margin: 0 0 1.875rem;
    padding: 0 0 1.25rem 23.125rem;
    border-bottom: 0.1875rem solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.31;
  }
  .voice-box-ttl01 .orenge {
    position: absolute;
    top: -1.25rem;
    left: 0;
    color: #c25700;
    font-size: 3.75rem;
  }
  .voice-box-ttl01 .num {
    font-family: "Inter", sans-serif;
    font-size: 5.625rem;
  }
  .voice-box-ttl01 .per {
    font-family: "Inter", sans-serif;
    font-size: 3.75rem;
  }
  .voice-box-ttl02 {
    margin: 0 0 4.375rem;
    font-weight: bold;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .voice-box-ttl02 .middle {
    color: #386097;
    font-size: 2.5rem;
  }
  .voice-box-ttl02 .big {
    color: #386097;
    font-size: 3.75rem;
    line-height: 1.7;
  }
  .voice-item {
    position: relative;
    width: 31.4375rem;
    height: 29.5625rem;
    padding: 2.875rem 2.5625rem 0 2.5625rem;
    background: #f6f8fa;
    border-radius: 1.25rem;
    border-top: 0.1875rem solid #ffffff;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
  }
  .voice-item-human {
    position: absolute;
    top: -0.625rem;
    right: 1.6875rem;
    width: 12rem;
  }
  .voice-item-num {
    width: 18.75rem;
    margin: 0 0 0.9375rem;
    padding: 0 0 2.3125rem 1.25rem;
    border-bottom: 1px solid #4c79af;
    color: #386097;
    font-family: "Inter", sans-serif;
    font-weight: bold;
    font-size: 2.875rem;
    letter-spacing: 0.04em;
  }
  .voice-item-num .num {
    margin: 0 0 0 0.625rem;
    font-size: 3.75rem;
  }
  .voice-item-name {
    margin: 0 0 2.1875rem 1.25rem;
    color: #111111;
    font-weight: 600;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.54;
  }
  .voice-item-txt {
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.85;
  }
  .voice-slide-relative {
    position: relative;
  }
  .voice-prev {
    width: 3.125rem;
    height: 3.125rem;
    top: auto;
    bottom: -5rem;
    left: 10.9375rem;
  }
  .voice-prev::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  .voice-next {
    width: 3.125rem;
    height: 3.125rem;
    top: auto;
    bottom: -5rem;
    right: 10.9375rem;
  }
  .voice-next::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
  }
  .voice-pagination {
    bottom: -3.75rem !important;
  }
  .voice .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
    margin: 0 0.5625rem !important;
  }
  .voice .swiper-pagination-bullet {
    background: #386097;
  }
}
@media screen and (min-width: 768px) {
  .case-bg {
    padding: 0 0 4.0625rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #d7e5ee), color-stop(67%, #ffffff));
    background: linear-gradient(180deg, #d7e5ee 50%, #ffffff 67%);
  }
  .case-minttl {
    margin: 0 0 1.1875rem 25.3125rem;
    color: #4c79af;
    font-family: "Inter", sans-serif;
    font-size: 1.4375rem;
    letter-spacing: 0.04em;
  }
  .case h2 {
    margin: 0 0 2.125rem;
    color: #386097;
    font-weight: bold;
    font-size: 3.4375rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .case-box {
    width: 62.5rem;
    margin: 0 auto;
    padding: 0 0 3.125rem;
    border-radius: 1.875rem;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
    border-top: 0.1875rem solid #e6eef3;
  }
  .case-box-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 1.875rem 1.25rem 0;
  }
  .case-box-nums {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 1.8125rem;
  }
  .case-box-num {
    width: 9.4375rem;
    height: 7.1875rem;
    margin: 0 1.25rem 0 0;
    padding: 1.4375rem 0 0;
    background: #386097;
    border-radius: 1.875rem 0 1.875rem;
    color: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 1.25rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .case-box-num span {
    font-size: 4.375rem;
  }
  .case-box-ttl {
    width: 37.5rem;
    padding: 0 0 1.5625rem;
    border-bottom: 1px solid #7facc8;
    color: #386097;
    font-weight: bold;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.6;
  }
  .case-box-job {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 0 2.4375rem;
  }
  .case-box-job-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 18.0625rem;
    padding: 0.3125rem 0 0.3125rem 1rem;
    border-radius: 0.3125rem;
    background: #f3f7fa;
  }
  .case-box-job-left {
    padding: 0.625rem 1.0625rem 0.625rem 0;
    margin: 0 1.25rem 0 0;
    border-right: 1px solid #4c79af;
    color: #386097;
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: 0.06em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .case-box-job-right {
    color: #111111;
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    line-height: 1.333;
  }
  .case-box-job-arrow {
    width: 5.1875rem;
    margin: 0 1.25rem;
  }
  .case-box-human {
    width: 10rem;
    margin: 0.875rem 0 0.3125rem;
  }
  .case-box-human-info {
    margin: 0 0.625rem 0 0;
    color: #111111;
    font-size: 1rem;
    text-align: right;
    letter-spacing: 0.04em;
  }
  .case-box-human-info .num {
    font-size: 1.625rem;
  }
  .case-box-human-info .orenge {
    color: #c25700;
  }
  .case-box-human-info .num02 {
    font-weight: 600;
    font-size: 1.5625rem;
  }
  .case-box-point {
    padding: 0.75rem 0;
    margin: 0 2.1875rem;
    background: #386097;
    color: #ffffff;
    border-radius: 1.25rem 1.25rem 0 0;
    font-weight: bold;
    font-size: 1.125rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .case-box-point-box {
    margin: 0 2.1875rem 1.4375rem;
    padding: 1.375rem 0 0.5rem 5.375rem;
    background: #ffffff;
    border-radius: 0 0 1.25rem 1.25rem;
  }
  .case-box-point-txt {
    margin: 0 0 1rem;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
  }
  .case-box-point-txt .orenge {
    margin: 0 1.3125rem 0 0;
    color: #e0690f;
    font-weight: bold;
    font-family: "Inter", sans-serif;
  }
  .case-box-point-txt .num {
    font-size: 1.5rem;
  }
  .case-box-point-txt .big {
    font-weight: bold;
    font-size: 1.125rem;
  }
  .case-box-txt {
    margin: 0 2.1875rem;
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
  .case-slide {
    position: relative;
    margin: 0 0 7rem;
  }
  .case-prev {
    width: 3.125rem;
    height: 3.125rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 2.8125rem;
  }
  .case-prev::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  .case-next {
    width: 3.125rem;
    height: 3.125rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 2.8125rem;
  }
  .case-next::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
  }
  .case-pagination {
    bottom: -2.5rem !important;
  }
  .case .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
    margin: 0 0.5625rem !important;
  }
  .case .swiper-pagination-bullet {
    background: #386097;
  }
  .case-logo {
    width: 27.8125rem;
    margin: 6.1875rem auto 2.5rem;
  }
  .case-bottom {
    width: 62.5rem;
    margin: 0 auto;
    padding: 2.1875rem 0 0;
    border-top: 1px solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 2.625rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.43;
  }
  .case-bottom span {
    color: #386097;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .case-bg {
    padding: 0 0 7.8125rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #d7e5ee), color-stop(67%, #ffffff));
    background: linear-gradient(180deg, #d7e5ee 50%, #ffffff 67%);
  }
  .case-minttl {
    margin: 0 0 2.8125rem;
    color: #4c79af;
    font-family: "Inter", sans-serif;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .case h2 {
    margin: 0 0 3.6875rem;
    color: #386097;
    font-weight: bold;
    font-size: 3.75rem;
    letter-spacing: 0.04em;
    text-align: center;
  }
  .case-box {
    padding: 0 2.5rem 2.4375rem;
    border-radius: 1.875rem;
    -webkit-box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
            box-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
    border-top: 0.1875rem solid #ffffff;
    border-left: 0.1875rem solid #ffffff;
  }
  .case-box-num {
    width: 19.0625rem;
    margin: 0 auto 1.5625rem;
    padding: 1.1875rem 0;
    background: #386097;
    border-radius: 0 0 1.875rem 1.875rem;
    color: #ffffff;
    font-family: "Inter", sans-serif;
    font-size: 1.875rem;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .case-box-num span {
    margin: 0 0 0 0.3125rem;
    font-size: 3.4375rem;
  }
  .case-box-ttl {
    margin: 0 0 3.25rem;
    padding: 0 0 1.875rem;
    border-bottom: 1px solid #7facc8;
    color: #386097;
    font-weight: bold;
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: center;
  }
  .case-box-job {
    margin: 0 0 1.9375rem;
  }
  .case-box-job-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 23.4375rem;
    padding: 0.3125rem 0 0.3125rem 1rem;
    border-radius: 0.3125rem;
    background: #f3f7fa;
  }
  .case-box-job-left {
    padding: 0.625rem 1.0625rem 0.625rem 0;
    margin: 0 1.25rem 0 0;
    border-right: 1px solid #4c79af;
    color: #386097;
    font-weight: 500;
    font-size: 1.625rem;
    letter-spacing: 0.06em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .case-box-job-right {
    color: #111111;
    font-size: 1.5625rem;
    letter-spacing: 0.04em;
    line-height: 1.36;
  }
  .case-box-job-arrow {
    width: 1.0625rem;
    margin: 0.6875rem 0 1.0625rem 12.1875rem;
  }
  .case-box-humans {
    position: absolute;
    top: 18.75rem;
    right: 2.8125rem;
  }
  .case-box-humans02 {
    position: absolute;
    top: 22.5rem;
    right: 2.8125rem;
  }
  .case-box-humans03 {
    position: absolute;
    top: 22.5rem;
    right: 2.8125rem;
  }
  .case-box-human {
    width: 9rem;
    margin: 0.875rem auto 0.3125rem;
  }
  .case-box-human-info {
    color: #111111;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.3;
  }
  .case-box-human-info .num {
    font-size: 1.75rem;
  }
  .case-box-human-info .orenge {
    color: #c25700;
  }
  .case-box-human-info .num02 {
    font-weight: 600;
    font-size: 1.75rem;
  }
  .case-box-point {
    padding: 0.9375rem 0;
    background: #386097;
    color: #ffffff;
    border-radius: 0.625rem 0.625rem 0 0;
    font-weight: bold;
    font-size: 1.75rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.28;
  }
  .case-box-point-box {
    margin: 0 0 2.625rem;
    padding: 2.4375rem 0 0.5625rem 3.0625rem;
    background: #ffffff;
    border-radius: 0 0 0.625rem 0.625rem;
  }
  .case-box-point-txt {
    margin: 0 0 2.1875rem;
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.333;
  }
  .case-box-point-txt .orenge {
    color: #e0690f;
    font-weight: bold;
    font-family: "Inter", sans-serif;
    line-height: 1.5;
  }
  .case-box-point-txt .num {
    font-size: 2.5rem;
  }
  .case-box-point-txt .big {
    font-weight: bold;
    font-size: 1.875rem;
  }
  .case-box-txt {
    color: #111111;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.78;
  }
  .case-slide {
    position: relative;
    margin: 0 0 8.0625rem;
  }
  .case-slide-outer {
    overflow: hidden;
  }
  .case-prev {
    width: 3.125rem;
    height: 3.125rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: -1.25rem;
  }
  .case-prev::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  .case-next {
    width: 3.125rem;
    height: 3.125rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: -1.25rem;
  }
  .case-next::after {
    content: "";
    width: 3.125rem;
    height: 3.125rem;
    background: url(../images/case-next.webp) no-repeat center/cover;
  }
  .case-pagination {
    bottom: -3.125rem !important;
  }
  .case .swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
    margin: 0 0.5625rem !important;
  }
  .case .swiper-pagination-bullet {
    background: #386097;
  }
  .case-logo {
    width: 27.75rem;
    margin: 6.375rem auto 2.5rem;
  }
  .case-bottom {
    padding: 2.375rem 0 0;
    border-top: 1px solid #386097;
    color: #111111;
    font-weight: bold;
    font-size: 2.625rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.43;
  }
  .case-bottom span {
    color: #386097;
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .about-bg {
    padding: 3.75rem 0 7.1875rem;
    background: url("../images/about-bg.webp") no-repeat center/cover;
  }
  .about-minttl {
    margin: 0 0 6.25rem 6.25rem;
    font-family: "Inter", sans-serif;
    color: #ffffff;
    font-size: 1.4375rem;
    letter-spacing: 0.04em;
  }
  .about-txt01 {
    margin: 0 0 3.75rem 6.25rem;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.125rem;
    line-height: 2.333;
    letter-spacing: 0.02em;
  }
  .about-txt01:last-child {
    margin: 0 0 0 6.25rem;
  }
  .about-inner02 {
    padding: 4.375rem 0 6.125rem;
  }
  .about h2 {
    margin: 0 0 4.375rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.25rem;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.667;
  }
  .about-map {
    position: relative;
    width: 43.125rem;
    margin: 0 0 3.8125rem 21.125rem;
  }
  .about-map-container {
    position: relative;
  }
  .about-map-hokkaido {
    position: absolute;
    top: 0rem;
    right: 10.75rem;
    width: 15.375rem;
  }
  .about-map-hokkaido img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-hokkaido:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-map-kanto {
    position: absolute;
    z-index: 10;
    top: 19.72rem;
    right: 15.75rem;
    width: 11.9rem;
  }
  .about-map-kanto img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-kanto:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-map-hokuriku {
    position: absolute;
    top: 15.9rem;
    right: 24.9rem;
    width: 15.9rem;
  }
  .about-map-hokuriku img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-hokuriku:hover img,
  .about-map-hokuriku .about-map-kansai-plus:hover ~ picture img {
    opacity: 1;
  }
  .about-map-hokuriku-plus {
    position: absolute;
    z-index: 10;
    top: 4.75rem;
    left: 8.3rem;
    width: 4rem;
    height: 0.875rem;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .about-map-hokuriku-plus02 {
    position: absolute;
    z-index: 10;
    top: 4.9rem;
    left: 11.8rem;
    width: 2rem;
    height: 3.4rem;
    -webkit-transform: rotate(-31deg);
            transform: rotate(-31deg);
  }
  .about-map-tokai {
    position: absolute;
    top: 21.3rem;
    right: 22rem;
    width: 10.4rem;
  }
  .about-map-tokai img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-tokai:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-map-kansai {
    position: absolute;
    top: 19.65rem;
    left: 35.5rem;
    width: 8.1rem;
  }
  .about-map-kansai img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-kansai:hover img,
  .about-map-kansai .about-map-kansai-plus:hover ~ picture img {
    opacity: 1;
  }
  .about-map-kansai-plus {
    position: absolute;
    z-index: 10;
    top: 5.75rem;
    left: 4.6rem;
    width: 3rem;
    height: 2.875rem;
  }
  .about-map-chugoku {
    position: absolute;
    top: 21.52rem;
    left: 28rem;
    width: 11.8rem;
  }
  .about-map-chugoku img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-chugoku:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-map-shikoku {
    position: absolute;
    top: 25.95rem;
    left: 35.1rem;
    width: 9.1875rem;
  }
  .about-map-shikoku img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-shikoku:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-map-kyusyu {
    position: absolute;
    top: 24.65em;
    left: 21.15rem;
    width: 13.8125rem;
  }
  .about-map-kyusyu img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    pointer-events: none; /* 画像にはマウスが当たらないように */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .about-map-kyusyu:hover img {
    opacity: 1;
    pointer-events: none;
  }
  .about-box {
    position: absolute;
    top: 16.875rem;
    left: 9.6875rem;
  }
  .about-box-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 0 1.25rem;
  }
  .about-box-category {
    position: relative;
    width: 9.6875rem;
    color: #386097;
    font-weight: bold;
    font-size: 1.125rem;
    letter-spacing: 0.04em;
  }
  .about-box-category::before {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: -1.5625rem;
    width: 0.875rem;
    height: 0.875rem;
    background: url("../images/about-box-txt-icon.webp") no-repeat center/cover;
  }
  .about-box-txt {
    color: #111111;
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.625;
  }
}
@media screen and (max-width: 767px) {
  .about-bg {
    padding: 10rem 0 7.1875rem;
    background: url("../images/about-bg-sp.webp") no-repeat center/cover;
  }
  .about-minttl {
    margin: 0 0 3.125rem;
    font-family: "Inter", sans-serif;
    color: #ffffff;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
  }
  .about-txt01 {
    margin: 0 0 4.375rem;
    color: #ffffff;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
  }
  .about-txt01:last-child {
    margin: 0;
  }
  .about-inner02 {
    padding: 4.6875rem 0 8rem;
  }
  .about h2 {
    margin: 0 0 5rem;
    color: #111111;
    font-weight: bold;
    font-size: 2.25rem;
    letter-spacing: 0.04em;
    line-height: 1.7;
  }
  .about-map {
    width: 41.875rem;
    margin: 0 0 2.125rem;
  }
  .about-map-container {
    position: relative;
  }
  .about-map-container > a:not(.about-map) {
    display: none;
  }
  .about-map-hokkaido {
    position: absolute;
    top: 0;
    right: 0;
    width: 14.75rem;
  }
  .about-map-kanto {
    position: absolute;
    top: 26.5625rem;
    right: 10.4375rem;
    width: 6.3125rem;
  }
  .about-map-tokai {
    position: absolute;
    top: 28.75rem;
    right: 14.8125rem;
    width: 8.4375rem;
  }
  .about-map-hokuriku {
    position: absolute;
    top: 22.3125rem;
    right: 13.0625rem;
    width: 11.0625rem;
  }
  .about-map-kansai {
    position: absolute;
    top: 30.625rem;
    right: 21.8125rem;
    width: 5.625rem;
  }
  .about-map-chugoku {
    position: absolute;
    top: 31.0625rem;
    right: 26.9375rem;
    width: 9.25rem;
  }
  .about-map-shikoku {
    position: absolute;
    top: 34.9375rem;
    right: 26.25rem;
    width: 7rem;
  }
  .about-map-kyusyu {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 8.5rem;
  }
  .about-area {
    position: absolute;
    z-index: 10;
    top: 49.375rem;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 26.875rem;
  }
  .about-area-btn {
    cursor: pointer;
    margin: 0 0 1.5625rem;
    padding: 1.3125rem 2rem;
    border-radius: 0.3125rem;
    border: 1px solid #a0a0a0;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: linear-gradient(to bottom, #ffffff, #efefef);
    color: #111111;
    font-weight: bold;
    font-size: 1.625rem;
  }
  .about-area-btn:nth-child(2), .about-area-btn:nth-child(5) {
    margin: 0 1.0625rem 1.5625rem 0;
  }
  .about-area-btn.min {
    padding: 1.3125rem 2.1875rem;
  }
  .about-area-btn.active {
    color: #457BAD;
  }
  .about-box {
    margin: 0 0 8.3125rem;
    padding: 0 0 0 2.1875rem;
  }
  .about-box-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 0 2.125rem;
  }
  .about-box-category {
    position: relative;
    width: 15.3125rem;
    color: #386097;
    font-weight: bold;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
  }
  .about-box-category::before {
    content: "";
    position: absolute;
    top: 0.3125rem;
    left: -1.5625rem;
    width: 1.125rem;
    height: 1.125rem;
    background: url("../images/about-box-txt-icon.webp") no-repeat center/cover;
  }
  .about-box-txt {
    color: #111111;
    font-size: 1.625rem;
    letter-spacing: 0.04em;
    line-height: 1.467;
  }
}