@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;
}

input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -2px;
}

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

.wrapper {
  position: relative;
}

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

picture,
figure {
  display: block;
}

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

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

body {
  position: relative;
  overflow-x: hidden;
  overflow-y: hidden;
  word-break: break-all;
  font-family: "Noto Sans JP", sans-serif;
  color: #202835;
  font-weight: 500;
}

.roboto {
  font-family: "Roboto", sans-serif;
}

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

/*==============================================================================
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: 2001px) {
  html {
    font-size: 1rem;
  }
  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: 68.75rem;
    margin: 0 auto;
    position: relative;
  }
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}
/*==============================================================================
Header
============================================================================= */
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
  }
  .header-bg {
    background: #fff;
    padding: 1.6875rem 0;
  }
  .header-inner {
    width: 41.875rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header-logo {
    width: 20.3125rem;
  }
  .header-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 1.75rem;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 1001;
  }
  .header-toggle span {
    display: block;
    width: 3.875rem;
    height: 0.0625rem;
    background: #333;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .header .header-toggle.open span:nth-child(1) {
    -webkit-transform: rotate(30deg) translate(0.8125rem, 0.8125rem);
            transform: rotate(30deg) translate(0.8125rem, 0.8125rem);
  }
  .header .header-toggle.open span:nth-child(2) {
    opacity: 0;
  }
  .header .header-toggle.open span:nth-child(3) {
    -webkit-transform: rotate(-30deg) translate(0.3125rem, -0.3125rem);
            transform: rotate(-30deg) translate(0.3125rem, -0.3125rem);
  }
  .header-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 95%;
    height: 100%;
    background: #fff;
    padding: 7.375rem 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: right 0.3s ease;
    transition: right 0.3s ease;
    z-index: 1000;
  }
  .header-nav.open {
    right: 0;
  }
  .header .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 90;
    display: none;
  }
  .header .overlay.open {
    display: block;
  }
  .header-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 36.875rem;
    margin: 0 auto;
  }
  .header-list a {
    color: #2c3546;
    font-size: 2rem;
    letter-spacing: 0.06em;
    font-weight: 600;
    text-align: center;
    padding: 2.6875rem 0;
    border-bottom: dotted 0.1875rem #2c3546;
  }
  .header .btn-trial {
    position: relative;
    width: 36.4375rem;
    background: #eb5c01;
    border-radius: 100vmax;
    color: #fff;
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 900;
    padding: 2.1875rem 0;
    margin: 3.75rem auto 0;
  }
  .header .btn-trial::before {
    content: "";
    position: absolute;
    top: 2.375rem;
    right: 2.1875rem;
    background: url(../images/header-arrow.webp) no-repeat center/cover;
    width: 3.75rem;
    height: 2.125rem;
  }
  .header .no-scroll {
    overflow: hidden;
    height: 100vh;
  }
}
@media screen and (min-width: 768px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
  }
  .header-bg {
    background: #fff;
  }
  .header-inner {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header-logo {
    width: 18.125rem;
  }
  .header-toggle {
    display: none;
  }
  .header-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 2.5rem;
  }
  .header-list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 2.1875rem;
    margin: 0;
    padding: 0;
    font-size: 1rem;
  }
  .header-list a {
    color: inherit;
  }
  .header .btn-trial {
    width: 13.75rem;
    background: #eb5c01;
    color: #fff;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 900;
    padding: 1.625rem 0;
  }
}
/*==============================================================================
fv
============================================================================= */
@media screen and (max-width: 767px) {
  .fv {
    padding-top: 5.625rem;
  }
  .fv-bg {
    background: #f7f2ef;
    padding: 1.6875rem 0 0;
  }
  .fv-txt01 {
    width: 41.875rem;
    margin: 0 auto;
  }
  .fv-mock {
    width: 28.875rem;
    margin: 2.9375rem -2.5rem -0.1875rem auto;
  }
}
@media screen and (min-width: 768px) {
  .fv {
    padding-top: 4.375rem;
  }
  .fv-bg {
    background: #f7f2ef;
    padding: 1.8125rem 0 0;
  }
  .fv-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 3.4375rem;
  }
  .fv-txt01 {
    width: 40.375rem;
    margin-top: 2.375rem;
  }
  .fv-mock {
    width: 45.9375rem;
    margin-right: -20.625rem;
    margin-bottom: -0.125rem;
  }
}
/*==============================================================================
sv
============================================================================= */
@media screen and (max-width: 767px) {
  .sv-pc {
    display: none;
  }
  .sv-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5625rem 0;
    margin-bottom: 4.375rem;
  }
  .sv-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1.25rem;
  }
  .sv-item-txt {
    color: #fff;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.7;
  }
  .sv-item-txt span {
    display: inline-block;
    color: #8d7977;
    font-size: 2.125rem;
    font-weight: 900;
    background: #fff;
    line-height: 1;
    padding: 0.0625rem 0.1875rem;
    margin: 0 0.25rem;
  }
  .sv-item-icon01 {
    width: 2.0625rem;
  }
  .sv-item-icon02 {
    width: 2.75rem;
    margin-left: -0.3125rem;
  }
  .sv-item-icon03 {
    width: 2.3125rem;
    margin-left: -0.125rem;
  }
}
@media screen and (min-width: 768px) {
  .sv-sp {
    display: none;
  }
  .sv-bg {
    padding: 2.1875rem 0 3.0625rem;
    background: #202835;
    background: -webkit-gradient(linear, left top, right top, from(rgb(32, 40, 53)), color-stop(50%, rgb(46, 55, 71)), to(rgb(32, 40, 53)));
    background: linear-gradient(90deg, rgb(32, 40, 53) 0%, rgb(46, 55, 71) 50%, rgb(32, 40, 53) 100%);
  }
  .sv-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 0 2.1875rem;
  }
  .sv-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.375rem 0;
  }
  .sv-item-txt {
    color: #fff;
    font-size: 1.375rem;
    letter-spacing: 0.04em;
    line-height: 1.7;
    text-align: center;
  }
  .sv-item-txt span {
    display: inline-block;
    color: #202835;
    font-size: 1.6875rem;
    font-weight: 900;
    background: #fff;
    line-height: 1;
    padding: 0.0625rem 0.125rem;
    margin: 0 0.125rem;
  }
  .sv-item-icon01 {
    width: 1.4375rem;
    margin: 0 auto;
  }
  .sv-item-icon02 {
    width: 2.0625rem;
    margin: 0 auto;
  }
  .sv-item-icon03 {
    width: 1.8125rem;
    margin: 0 auto;
  }
}
/*==============================================================================
cta
============================================================================= */
@media screen and (max-width: 767px) {
  .cta-bg {
    background: #b39c9a;
    padding: 3.125rem 0 4.5rem;
  }
  .cta-bg02 {
    background: #b39c9a;
    padding: 3.3125rem 0 4.125rem;
  }
  .cta-talent {
    position: absolute;
    top: -30.3125rem;
    left: -0.625rem;
    width: 22.0625rem;
  }
  .cta-content {
    position: relative;
    background: #fefefe;
    border-radius: 2rem;
    margin: 2.6875rem auto 0;
    -webkit-box-shadow: 0px 3px 7px 0px #8b6c6c;
            box-shadow: 0px 3px 7px 0px #8b6c6c;
  }
  .cta-badge {
    width: 15.3125rem;
    position: absolute;
    top: -0.625rem;
    left: -2rem;
  }
  .cta-head {
    background: #fefefe;
    border-radius: 2rem 2rem 0 0;
    padding: 4.125rem 0 2rem;
  }
  .cta-btm {
    background: #f7f3f2;
    border-radius: 0 0 2rem 2rem;
    padding: 2.5rem 0 2.375rem;
  }
  .cta-ttl01 {
    width: 39.375rem;
    margin: 0 auto;
  }
  .cta-ttl02 {
    width: 38.75rem;
    margin: 0 auto;
  }
  .cta-ttl03 {
    width: 36.6875rem;
    margin: 0 auto 2.3125rem;
  }
  .cta-list01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem 0;
  }
  .cta-item01 {
    -webkit-filter: drop-shadow(0 3px 7px rgba(132, 107, 105, 0.5));
            filter: drop-shadow(0 3px 7px rgba(132, 107, 105, 0.5));
  }
  .cta-list02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.375rem 0;
  }
  .cta-item02 {
    position: relative;
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    line-height: 1.4;
    margin-left: 13.125rem;
  }
  .cta-item02 span {
    font-size: 2.125rem;
    font-weight: 900;
  }
  .cta-item02::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: -4.6875rem;
    background: url(../images/cta-check.webp) no-repeat center/cover;
    width: 3.4375rem;
    height: 3.4375rem;
  }
  .cta-btn {
    margin: 1.6875rem auto 0;
    width: 36.6875rem;
  }
  .cta-content02 {
    margin: 2.375rem auto 0;
    -webkit-box-shadow: 0px 3px 7px 0px #8b6c6c;
            box-shadow: 0px 3px 7px 0px #8b6c6c;
    border-radius: 2rem;
  }
  .cta-content02 .cta-head {
    padding: 4.375rem 0 1.125rem;
  }
  .cta-content02 .cta-btm {
    padding: 2.5625rem 0 2.1875rem;
  }
  .cta-content02 .cta-btn {
    margin: 2.1875rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .cta-bg {
    background: #b39c9a;
    padding: 2.1875rem 0 6.125rem;
  }
  .cta-bg02 {
    background: #b39c9a;
    padding: 4.375rem 0 4.9375rem;
  }
  .cta-talent {
    position: absolute;
    top: -26.875rem;
    left: -6.5625rem;
    width: 20.25rem;
  }
  .cta-content {
    position: relative;
    background: #f8f5f5;
    border-radius: 2rem;
    margin: 1.25rem auto 0;
    -webkit-box-shadow: 0px 3px 7px 0px #8b6c6c;
            box-shadow: 0px 3px 7px 0px #8b6c6c;
  }
  .cta-badge {
    width: 11.625rem;
    position: absolute;
    top: -0.3125rem;
    left: -2.25rem;
  }
  .cta-head {
    background: #f8f5f5;
    border-radius: 2rem 2rem 0 0;
    padding: 3.125rem 0 0.625rem;
  }
  .cta-btm {
    background: #f8f5f5;
    border-radius: 0 0 2rem 2rem;
    padding: 1.3125rem 0 3.1875rem;
  }
  .cta-content02 {
    margin: 2.375rem auto 0;
    -webkit-box-shadow: 0px 3px 7px 0px #8b6c6c;
            box-shadow: 0px 3px 7px 0px #8b6c6c;
    border-radius: 2rem;
  }
  .cta-content02 .cta-head {
    background: #fff;
    padding: 2.5rem 0 2.4375rem;
  }
  .cta-content02 .cta-btm {
    padding: 1.25rem 0 2.5625rem;
  }
  .cta-ttl01 {
    width: 48.5rem;
    margin: 0 auto;
  }
  .cta-ttl02 {
    width: 49.6875rem;
    margin: 0 auto;
  }
  .cta-ttl03 {
    width: 36.6875rem;
    margin: 0 auto 1.8125rem;
  }
  .cta-list01 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 0.625rem;
    position: relative;
    z-index: 2;
  }
  .cta-item01 {
    -webkit-filter: drop-shadow(0 3px 7px rgba(132, 107, 105, 0.5));
            filter: drop-shadow(0 3px 7px rgba(132, 107, 105, 0.5));
  }
  .cta-list02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 5.9375rem;
    margin: 0 auto 0;
    width: 56.25rem;
  }
  .cta-item02 {
    position: relative;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.6;
  }
  .cta-item02 span {
    font-size: 1.375rem;
    font-weight: 900;
  }
  .cta-item02::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: -3.125rem;
    background: url(../images/cta-check.webp) no-repeat center/cover;
    width: 2.125rem;
    height: 2.125rem;
  }
  .cta-btn {
    margin: 1.625rem auto 0;
    width: 56.75rem;
  }
}
/*==============================================================================
id-price
============================================================================= */
@media screen and (max-width: 767px) {
  .id-price {
    background-color: #eb5c01;
    padding: 2.25rem 0;
  }
  .id-price-inner {
    width: 41.875rem;
    margin: 0 auto;
  }
  .id-price-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .id-price-catch {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    color: #fff;
    line-height: 1.5;
    margin-bottom: 1rem;
  }
  .id-price-catch strong {
    font-size: 1.75rem;
    font-weight: 900;
  }
  .id-price-sub {
    font-size: 1.625rem;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.08em;
    margin-top: 1.5rem;
    line-height: 1.7;
  }
  .id-price-sub strong {
    color: #fff;
    font-weight: 900;
    font-size: 1.875rem;
  }
  .id-price-sub small {
    display: inline-block;
    margin-top: 1rem;
    font-size: 1.25rem;
    opacity: 0.7;
  }
  .id-price-label {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #fff;
    border: 0.125rem solid #fff;
    border-radius: 100vmax;
    padding: 0.25rem 1.5rem;
    margin-bottom: 0.5rem;
  }
  .id-price-amount {
    color: #fff;
    line-height: 1;
  }
  .id-price-num {
    font-family: "Roboto", sans-serif;
    font-size: 3.5rem;
    font-weight: 900;
    letter-spacing: 0.02em;
  }
  .id-price-unit {
    font-size: 1.5rem;
    font-weight: 700;
  }
  .id-price-tax {
    font-size: 1rem;
    font-weight: 500;
  }
  .id-price-per {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.08em;
    margin-top: 0.375rem;
  }
}
@media screen and (min-width: 768px) {
  .id-price {
    background-color: #eb5c01;
    padding: 1.5rem 0;
  }
  .id-price-inner {
    max-width: 62.5rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
  .id-price-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 4rem;
  }
  .id-price-left {
    text-align: left;
  }
  .id-price-catch {
    font-size: 0.9375rem;
    letter-spacing: 0.08em;
    color: #fff;
    line-height: 1.5;
  }
  .id-price-catch strong {
    font-size: 1.125rem;
    font-weight: 900;
  }
  .id-price-sub {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 0.08em;
    margin-top: 0.5rem;
    line-height: 1.6;
  }
  .id-price-sub strong {
    color: #fff;
    font-weight: 900;
    font-size: 0.875rem;
  }
  .id-price-sub small {
    display: inline-block;
    margin-top: 0.375rem;
    font-size: 0.6875rem;
    opacity: 0.7;
  }
  .id-price-right {
    text-align: center;
    flex-shrink: 0;
  }
  .id-price-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #fff;
    border: 0.125rem solid #fff;
    border-radius: 100vmax;
    padding: 0.1875rem 1.25rem;
    margin-bottom: 0.375rem;
  }
  .id-price-amount {
    color: #fff;
    line-height: 1;
  }
  .id-price-num {
    font-family: "Roboto", sans-serif;
    font-size: 2.75rem;
    font-weight: 900;
    letter-spacing: 0.02em;
  }
  .id-price-unit {
    font-size: 1.25rem;
    font-weight: 700;
  }
  .id-price-tax {
    font-size: 0.75rem;
    font-weight: 500;
  }
  .id-price-per {
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.08em;
    margin-top: 0.25rem;
  }
}
/* --- id-price color variations --- */
.id-price-pattern-label {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
  text-align: center;
}
/* D: ダークネイビー × 白文字・オレンジ金額 */
.id-price--d {
  background-color: #202835 !important;
}
.id-price--d .id-price-catch,
.id-price--d .id-price-catch strong {
  color: #fff;
}
.id-price--d .id-price-sub {
  color: rgba(255, 255, 255, 0.8);
}
.id-price--d .id-price-sub strong {
  color: #fff;
}
.id-price--d .id-price-num {
  color: #fff;
}
.id-price--d .id-price-unit {
  color: #fff;
}
.id-price--d .id-price-tax {
  color: rgba(255, 255, 255, 0.7);
}
.id-price--d .id-price-per {
  color: #fff;
}
.id-price--d .id-price-label {
  border-color: #fff;
  color: #fff;
}
/* E: 濃ベージュ × ネイビー金額 */
.id-price--e {
  background-color: #D4C5B5 !important;
}
.id-price--e .id-price-catch,
.id-price--e .id-price-catch strong {
  color: #fff;
}
.id-price--e .id-price-sub {
  color: rgba(255, 255, 255, 0.85);
}
.id-price--e .id-price-sub strong {
  color: #fff;
  font-size: inherit;
}
.id-price--e .id-price-num {
  color: #202835;
}
.id-price--e .id-price-unit {
  color: #202835;
}
.id-price--e .id-price-tax {
  color: #202835;
}
.id-price--e .id-price-per {
  color: #202835;
}
.id-price--e .id-price-label {
  border-color: #202835;
  color: #202835;
}
/* F: ライトベージュ × オレンジ金額 */
.id-price--f {
  background-color: #F7F2EF !important;
}
.id-price--f .id-price-catch,
.id-price--f .id-price-catch strong {
  color: #202835;
}
.id-price--f .id-price-sub {
  color: rgba(32, 40, 53, 0.7);
}
.id-price--f .id-price-sub strong {
  color: #eb5c01;
}
.id-price--f .id-price-num {
  color: #eb5c01;
}
.id-price--f .id-price-unit {
  color: #eb5c01;
}
.id-price--f .id-price-tax {
  color: #eb5c01;
}
.id-price--f .id-price-per {
  color: #202835;
}
.id-price--f .id-price-label {
  border-color: #eb5c01;
  color: #eb5c01;
}
/* --- id-link-bar（薄帯リンク） --- */
.id-link-bar {
  background-color: #2d3545;
  text-align: center;
  padding: 0.75rem 0;
}
.id-link-bar a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-decoration: underline;
  transition: color 0.2s;
}
.id-link-bar a:hover {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .id-link-bar {
    padding: 1rem 0;
  }
  .id-link-bar a {
    font-size: 1.375rem;
  }
}
/* --- id-explain background variations --- */
.id-explain--white {
  background-color: #fff !important;
}
.id-explain--gray {
  background-color: #F7F2EF !important;
}
/*==============================================================================
contract-id-explainer
============================================================================= */
@media screen and (max-width: 767px) {
  .id-explain {
    background-color: #F0EAE3;
    padding: 5rem 0 4.5rem;
  }
  .id-explain-inner {
    width: 41.875rem;
    margin: 0 auto;
  }
  .id-explain-ttl {
    font-size: 2.75rem;
    font-weight: 700;
    text-align: center;
    color: #202835;
    letter-spacing: 0.08em;
    margin-bottom: 3rem;
  }
  .id-explain-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }
  .id-explain-diagram {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
  }
  .id-explain-group {
    text-align: center;
  }
  .id-explain-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    max-width: 11.25rem;
  }
  .id-explain-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.125rem;
    height: 3.125rem;
    border-radius: 50%;
    color: #fff;
  }
  .id-explain-icon.muted {
    background-color: #D4C5BA;
  }
  .id-explain-icon.active {
    background-color: #eb5c01;
  }
  .id-explain-icon svg {
    width: 1.5rem;
    height: 1.5rem;
  }
  .id-explain-label {
    font-size: 1.375rem;
    color: #202835;
    letter-spacing: 0.08em;
    margin-top: 0.625rem;
    white-space: nowrap;
  }
  .id-explain-arrow {
    color: #202835;
    flex-shrink: 0;
    opacity: 0.4;
  }
  .id-explain-arrow svg {
    width: 2.25rem;
    height: 2.25rem;
  }
  .id-explain-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #eb5c01;
    color: #fff;
    border-radius: 0.75rem;
    padding: 1rem 1.75rem;
    text-align: center;
    line-height: 1.3;
  }
  .id-explain-badge-id {
    font-size: 2.25rem;
    font-weight: 800;
    letter-spacing: 0.04em;
  }
  .id-explain-badge-price {
    font-size: 1.375rem;
    font-weight: 600;
  }
  .id-explain-text {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    font-size: 1.625rem;
    line-height: 1.8;
    letter-spacing: 0.08em;
    color: #202835;
    padding: 0 1.5rem;
  }
  .id-explain-text strong {
    font-weight: 700;
  }
  .id-explain-highlight {
    color: #eb5c01;
  }
}
@media screen and (min-width: 768px) {
  .id-explain {
    background-color: #F0EAE3;
    padding: 3.75rem 0 3.25rem;
  }
  .id-explain-inner {
    max-width: 62.5rem;
    margin: 0 auto;
    padding: 0 2rem;
  }
  .id-explain-ttl {
    font-size: 1.875rem;
    font-weight: 700;
    text-align: center;
    color: #202835;
    letter-spacing: 0.08em;
    margin-bottom: 2rem;
  }
  .id-explain-body {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3rem;
  }
  .id-explain-diagram {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
  }
  .id-explain-group {
    text-align: center;
  }
  .id-explain-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.3125rem;
    max-width: 7rem;
  }
  .id-explain-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    color: #fff;
  }
  .id-explain-icon.muted {
    background-color: #D4C5BA;
  }
  .id-explain-icon.active {
    background-color: #eb5c01;
  }
  .id-explain-icon svg {
    width: 1rem;
    height: 1rem;
  }
  .id-explain-label {
    font-size: 0.875rem;
    color: #202835;
    letter-spacing: 0.08em;
    margin-top: 0.5rem;
    white-space: nowrap;
  }
  .id-explain-arrow {
    color: #202835;
    flex-shrink: 0;
    opacity: 0.4;
  }
  .id-explain-arrow svg {
    width: 1.5rem;
    height: 1.5rem;
  }
  .id-explain-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #eb5c01;
    color: #fff;
    border-radius: 0.75rem;
    padding: 0.625rem 1.25rem;
    text-align: center;
    line-height: 1.3;
  }
  .id-explain-badge-id {
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: 0.04em;
  }
  .id-explain-badge-price {
    font-size: 0.875rem;
    font-weight: 600;
  }
  .id-explain-text {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: 1.0625rem;
    line-height: 1.9;
    letter-spacing: 0.08em;
    color: #202835;
  }
  .id-explain-text strong {
    font-weight: 700;
  }
  .id-explain-highlight {
    color: #eb5c01;
  }
}
/*==============================================================================
demerit
============================================================================= */
@media screen and (max-width: 767px) {
  .demerit-bg {
    position: relative;
    background: #f7f2ef;
    padding: 3.5rem 0 3.125rem;
  }
  .demerit-bg::after {
    content: "";
    position: absolute;
    bottom: -7.125rem;
    left: 0;
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 7.1875rem solid #f7f2ef;
  }
  .demerit-bg-sp {
    width: 46.875rem;
    margin: 2.0625rem auto 0 -2.5rem;
  }
  .demerit-heads {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.9375rem;
    margin: 0 auto;
    width: 30.8125rem;
  }
  .demerit-head {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #202835;
    border-radius: 100vmax;
    padding: 0.9375rem 0;
  }
  .demerit-ttl01 {
    font-size: 3.125rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    margin: 1.125rem 0 0 3.125rem;
    line-height: 1.36;
    text-align: center;
  }
  .demerit-ttl01 .bold {
    font-weight: 900;
  }
  .demerit-content {
    position: relative;
    margin: -6.25rem auto 0;
    background: #fff;
    border-radius: 1.875rem;
    padding: 4.375rem 2.8125rem 3.625rem;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .demerit-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.75rem 0;
  }
  .demerit-item-num {
    font-size: 1.3125rem;
    color: #b39c9a;
    font-weight: 300;
  }
  .demerit-item-num .bold {
    font-size: 1.625rem;
    font-weight: 600;
  }
  .demerit-item-ttl {
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    margin-top: 1rem;
    line-height: 1.25;
  }
  .demerit-item-txt {
    position: relative;
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    margin-top: 1.6875rem;
    padding-left: 3.125rem;
    line-height: 1.35;
  }
  .demerit-item-txt::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0.625rem;
    background: #202835;
    width: 0.9375rem;
    height: 0.0625rem;
  }
  .demerit-item-txt.diff {
    margin-top: 1rem;
  }
  .demerit-item-img01 {
    margin: 2.625rem 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .demerit-bg {
    position: relative;
    background: url(../images/demerit-bg.webp) no-repeat center/cover;
    padding: 5.0625rem 0 3.125rem;
  }
  .demerit-bg::after {
    content: "";
    position: absolute;
    bottom: -4.8125rem;
    left: 0;
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 4.875rem solid #f7f2ef;
  }
  .demerit-heads {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 40.625rem;
    gap: 0.625rem;
    margin-left: 3.125rem;
  }
  .demerit-head {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #202835;
    border-radius: 100vmax;
    width: 49%;
    padding: 0.8125rem 0;
  }
  .demerit-head:last-child {
    width: 100%;
  }
  .demerit-ttl01 {
    font-size: 2.75rem;
    font-weight: 500;
    margin: 1.875rem 0 0 3.125rem;
    line-height: 1.45;
  }
  .demerit-ttl01 .bold {
    font-weight: 900;
  }
  .demerit-content {
    margin: 3.375rem auto 0;
    background: #fff;
    border-radius: 1.875rem;
    padding: 4.9375rem 4.375rem 5.1875rem;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .demerit-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.875rem 0;
  }
  .demerit-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .demerit-item-num {
    width: 8.5625rem;
  }
  .demerit-item-ttl {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    margin-top: 1.6875rem;
  }
  .demerit-item-txt {
    position: relative;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    margin-top: 2.1875rem;
    padding-left: 2.5rem;
    line-height: 1;
  }
  .demerit-item-txt::before {
    content: "";
    position: absolute;
    top: 55%;
    left: 0;
    background: #202835;
    width: 0.9375rem;
    height: 0.0625rem;
  }
  .demerit-item-txt.diff {
    margin-top: 1.6875rem;
  }
  .demerit-item-img01 {
    width: 20rem;
    margin-top: 0.125rem;
  }
}
/*==============================================================================
feature
============================================================================= */
@media screen and (max-width: 767px) {
  .feature-bg {
    background: #fff;
    padding: 10.8125rem 0 3.25rem;
  }
  .feature-bg-sp {
    width: 46.875rem;
    margin: 0.9375rem auto 0;
  }
  .feature-inner {
    width: 46.875rem;
    margin: 0 auto;
  }
  .feature-ttl01 {
    width: 40.9375rem;
    margin: 0 auto;
  }
  .feature-txt01 {
    font-size: 2.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.52;
    margin: 1.6875rem auto 0;
  }
  .feature-box {
    position: relative;
    margin: -10.1875rem auto 0;
  }
  .feature-img01 {
    width: 44.875rem;
    margin: 0 0 0 auto;
  }
  .feature-ttl02 {
    position: absolute;
    top: 21.25rem;
    left: 5.3125rem;
    font-size: 2.25rem;
    letter-spacing: 0.08em;
    color: #202835;
    font-weight: 900;
    line-height: 1.34;
  }
  .feature-ttl02 .mid {
    position: relative;
    font-size: 2.8125rem;
  }
  .feature-ttl02 .color {
    color: #eb5c01;
  }
  .feature-ttl02 .num {
    font-size: 3.5625rem;
  }
  .feature-ttl02 .tax {
    position: absolute;
    top: -0.625rem;
    right: -0.3125rem;
    color: #202835;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .feature .swiper-container01 {
    width: 45rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 4.875rem 0 0 1.875rem;
    padding-bottom: 1.25rem;
  }
  .feature-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 41.875rem;
    margin: 0 auto 0 0.625rem;
  }
  .feature-tab {
    cursor: pointer;
    margin: 0 auto;
  }
  .feature-tab .img {
    width: 20.9375rem;
    margin: 0 auto;
  }
  .feature .swiper-slide {
    margin: 0.5rem auto 0;
  }
  .feature .feature-slide-content {
    position: relative;
    background: #fff;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .feature .feature-slide-content::-webkit-scrollbar {
    display: none;
  }
  .feature .feature-slide-img {
    width: 96.5625rem;
    padding: 3.125rem 3.4375rem 3.5rem;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: 1.875rem;
    margin: 0.625rem 2.5rem 0.625rem 0.625rem;
  }
  .feature .scroll-hint {
    position: absolute;
    top: 22.5rem;
    left: 48%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    pointer-events: none;
    -webkit-transition: opacity 0.8s ease;
    transition: opacity 0.8s ease;
    width: 17.1875rem;
  }
  .feature .scroll-hint.hidden {
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (min-width: 768px) {
  .feature-bg {
    background: url(../images/feature-bg.webp) no-repeat top center/cover;
    padding: 7.9375rem 0 2.6875rem;
  }
  .feature-inner {
    width: 70rem;
    margin: 0 auto;
  }
  .feature-ttl01 {
    width: 51.9375rem;
    margin: 0 auto;
  }
  .feature-txt01 {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.66;
    margin: 2.5rem auto 0;
  }
  .feature-box {
    position: relative;
    margin: 3.1875rem -1.6875rem 0 0;
  }
  .feature-img01 {
    width: 73.4375rem;
  }
  .feature-ttl02 {
    position: absolute;
    top: 15rem;
    left: 6.875rem;
    font-size: 2.125rem;
    letter-spacing: 0.08em;
    color: #202835;
    font-weight: 900;
    line-height: 1.34;
    text-align: center;
  }
  .feature-ttl02 .mid {
    position: relative;
    font-size: 2.625rem;
  }
  .feature-ttl02 .color {
    color: #eb5c01;
  }
  .feature-ttl02 .num {
    font-size: 3.875rem;
  }
  .feature-ttl02 .tax {
    position: absolute;
    top: -0.625rem;
    right: -0.5625rem;
    color: #202835;
    font-size: 1rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .feature .swiper-container01 {
    width: 70rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0.625rem;
    margin: 3.0625rem auto 0;
    overflow-y: hidden;
    overflow-x: hidden;
    padding-bottom: 1.25rem;
  }
  .feature-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 1.25rem;
    width: 68.75rem;
    margin: 0 auto;
  }
  .feature-tab {
    cursor: pointer;
    margin: 0 auto;
  }
  .feature-tab .img {
    width: 33.75rem;
    margin: 0 auto;
  }
  .feature .swiper-slide {
    margin: 1.25rem auto 0;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: 1.875rem;
  }
  .feature .feature-slide-img {
    padding: 3.6875rem 3.125rem 4.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .feature .scroll-hint {
    display: none;
  }
}
/*==============================================================================
reason
============================================================================= */
@media screen and (max-width: 767px) {
  .reason-bg01 {
    background: url(../images/reason-bg01_sp.webp) no-repeat top center/cover;
    padding: 6.0625rem 0 5.1875rem;
  }
  .reason-bg02 {
    background: #e8eef2;
    padding: 3.9375rem 0 0.0625rem;
  }
  .reason-ttl01 {
    width: 34rem;
    margin: 0 auto 3.8125rem;
  }
  .reason-content {
    margin-bottom: 3.6875rem;
  }
  .reason-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1.875rem;
    background: #202835;
    border-radius: 1.875rem 1.875rem 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1.75rem 0 1.8125rem 2.8125rem;
  }
  .reason-head-num {
    width: 4.5625rem;
  }
  .reason-head-num02 {
    width: 5.375rem;
  }
  .reason-head-num03 {
    width: 5rem;
  }
  .reason-head-num04 {
    width: 5.5rem;
  }
  .reason-head-ttl {
    font-size: 2.0625rem;
    letter-spacing: 0.08em;
    color: #fff;
    font-weight: 500;
    line-height: 1.55;
  }
  .reason-head-ttl .big {
    position: relative;
    font-size: 2.75rem;
    font-weight: 900;
  }
  .reason-head-ttl .bold {
    font-weight: 900;
  }
  .reason-head-ttl .num {
    font-size: 3.9375rem;
  }
  .reason-head-ttl .tax {
    position: absolute;
    top: -0.5625rem;
    right: 0rem;
    font-size: 0.875rem;
  }
  .reason-content02 {
    margin: 0;
  }
  .reason-content02 .reason-head {
    padding: 2.3125rem 0 2.3125rem 2.8125rem;
  }
  .reason-content02 .reason-head-ttl .big {
    line-height: 1.2;
  }
  .reason-content03 .reason-head {
    padding: 2.3125rem 0 2.3125rem 2.8125rem;
  }
  .reason-content03 .reason-head-ttl .big {
    line-height: 1.2;
  }
  .reason-content04 .reason-head {
    padding: 2.3125rem 0 2.3125rem 2.8125rem;
  }
  .reason-content04 .reason-head-ttl .big {
    line-height: 1.2;
  }
  .reason-btm {
    background: #fff;
    border-radius: 0 0 1.875rem 1.875rem;
    padding: 1.9375rem 2.8125rem 1rem;
  }
  .reason-btm-ttl {
    font-size: 2.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1;
    border: 0.1875rem solid #202835;
    font-weight: 900;
    padding: 1.25rem 0;
  }
  .reason-btm-attention {
    margin: 1.0625rem 0 3.25rem;
    text-align: right;
    font-size: 1.375rem;
  }
  .reason-btm-txt {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    margin: 1.375rem auto 0;
  }
  .reason-btm-box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 2.125rem auto 2.6875rem;
  }
  .reason-btm-list {
    position: relative;
    z-index: 2;
    width: 17.3125rem;
    margin-top: 20.5rem;
  }
  .reason-btm-item {
    height: 10.9375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .reason-btm-item .ttl {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    padding: 0.75rem 0;
    line-height: 1;
  }
  .reason-btm-item .txt {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.27;
    margin-top: 0.8125rem;
  }
  .reason-btm-img01 {
    position: absolute;
    top: 0rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 23.625rem;
    z-index: 1;
  }
  .reason-btm-opts {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 36.4375rem;
    margin: 0 auto;
  }
  .reason-btm-opts dt, .reason-btm-opts dd {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .reason-btm-opts dt:nth-of-type(1), .reason-btm-opts dd:nth-of-type(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .reason-btm-opts dt:nth-of-type(2), .reason-btm-opts dd:nth-of-type(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .reason-btm-opts dt:nth-of-type(3), .reason-btm-opts dd:nth-of-type(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .reason-btm-opts dt:nth-of-type(4), .reason-btm-opts dd:nth-of-type(4) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .reason-btm-opts dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #b39c9a;
    color: #fff;
    border-radius: 100vmax;
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center;
    padding: 0.625rem 0;
  }
  .reason-btm-opts dd {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.37;
    letter-spacing: 0.08em;
    margin: 1.125rem 0 2.125rem 2.5rem;
  }
  .reason-btm-opts dd span {
    display: inline-block;
    margin-top: 2.3125rem;
  }
  .reason-btm-opts dd span.diff {
    margin-top: 0;
  }
  .reason-btm-logo {
    width: 33.75rem;
    margin: 3.5625rem auto 0;
  }
  .reason-btm02 {
    padding: 2.75rem 0 2.6875rem;
  }
  .reason-btm02-txt {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    line-height: 1.28;
    text-align: center;
  }
  .reason-btm03 {
    padding: 2.6875rem 2.8125rem 3.3125rem;
  }
  .reason-btm03-txt {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.28;
  }
  .reason-btm03-txt02 {
    font-size: 1.8125rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
    line-height: 1.3;
    background: #b39c9a;
    border-radius: 100vmax;
    padding: 1.375rem 0;
    color: #fff;
    margin: 2.4375rem auto 0;
  }
  .reason-btm04 {
    position: relative;
    padding: 2.5625rem 3.125rem 2.875rem;
  }
  .reason-btm04-support {
    width: 23.125rem;
  }
  .reason-btm04-support .ttl {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    font-weight: 500;
    background: #b39c9a;
    border-radius: 100vmax;
    width: 21.875rem;
    padding: 0.9375rem 0;
  }
  .reason-btm04-support .txt {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.41;
    text-align: center;
    margin-top: 1rem;
  }
  .reason-btm04-support .txt .bold {
    font-size: 1.625rem;
    font-weight: 800;
    line-height: 1.36;
  }
  .reason-btm04-support.diff {
    margin: 1.75rem 0 0;
  }
  .reason-btm04-talent {
    position: absolute;
    top: 9.375rem;
    right: 0.9375rem;
    width: 16.875rem;
  }
  .reason-btm04-content {
    background: #f7f2ef;
    margin: 3.1875rem auto 0;
    padding: 3.375rem 2.625rem 3rem;
  }
  .reason-btm04-ttl {
    font-size: 2rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1;
    border: 0.1875rem solid #202835;
    font-weight: 900;
    padding: 1.25rem 0;
    background: #fff;
  }
  .reason-btm04-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.1875rem 0;
    margin: 2.125rem auto 0;
  }
  .reason-btm04-box .txt {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
  }
  .reason-btm04-box .ttl {
    position: relative;
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    font-weight: 500;
    width: 23.125rem;
    padding: 0.9375rem 0;
    margin: 0.875rem auto 0;
  }
  .reason-btm04-box .ttl::before {
    content: "";
    position: absolute;
    bottom: -2.375rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(../images/reason-plus.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 1.875rem;
  }
  .reason-btm04-box div:last-child .ttl::before {
    display: none;
  }
  .reason-btm04-ttl02 {
    position: relative;
    font-size: 2rem;
    letter-spacing: 0.08em;
    text-align: right;
    font-weight: 900;
    line-height: 1;
    width: 30rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-right: 0.9375rem;
    margin: 4.4375rem auto 0;
  }
  .reason-btm04-ttl02::before {
    content: "";
    position: absolute;
    top: -0.0625rem;
    left: 0.3125rem;
    background: url(../images/reason-check.webp) no-repeat center/cover;
    width: 2.1875rem;
    height: 2.1875rem;
  }
  .reason-btm04-ttl02::after {
    content: "";
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(../images/reason-dot.webp) no-repeat center/cover;
    width: 29.875rem;
    height: 0.25rem;
  }
  .reason-btm04-box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.125rem 0;
    margin: 3.6875rem auto 0;
  }
  .reason-btm04-box02 .ttl {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    font-weight: 500;
    width: 31.4375rem;
    padding: 0.8125rem 0;
    margin: 0 auto;
  }
  .reason-btm04-box02 .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 1rem auto 0;
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 1.85;
  }
  .reason-btm04-box02 .list01 {
    margin-left: 2.5rem;
  }
  .reason-btm04-box02 .list02 {
    margin-left: 4.375rem;
  }
  .reason-btm04-txt {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
    line-height: 1.71;
    margin: 1.8125rem auto 0;
  }
  .reason-btm04-txt .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .reason .swiper-container02 {
    position: relative;
  }
  .reason-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6875rem 1.875rem;
    margin: 2.5rem auto 0;
    width: 36.4375rem;
  }
  .reason-tab {
    cursor: pointer;
    padding: 1.25rem 0;
    background-color: #eaedf1;
    -webkit-box-shadow: 0 0.4375rem 0 #dbdde1;
            box-shadow: 0 0.4375rem 0 #dbdde1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .reason-tab .txt {
    font-size: 2rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
  }
  .reason-tab.active {
    background-color: #364256;
    -webkit-box-shadow: 0 0.4375rem 0 rgb(0, 0, 0);
            box-shadow: 0 0.4375rem 0 rgb(0, 0, 0);
    color: #fff;
  }
  .reason .reason-slide-img {
    width: 39.875rem;
    margin: 3.3125rem auto 0;
  }
  .reason .prev-btn, .reason .next-btn {
    width: 5.25rem;
    height: 5.25rem;
    background: url(../images/arrow.webp) no-repeat center/cover;
    position: absolute;
    top: 76%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
  }
  .reason .prev-btn {
    -webkit-transform: translateY(-50%) scaleX(-1);
            transform: translateY(-50%) scaleX(-1);
  }
  .reason .prev-btn {
    left: -1.875rem;
  }
  .reason .next-btn {
    right: -1.875rem;
  }
  .reason .prev-btn::after, .reason .next-btn::after {
    display: none;
  }
  .reason-talent {
    position: absolute;
    bottom: -4.875rem;
    right: -7.5rem;
    width: 12.9375rem;
  }
  .reason-img02 {
    width: 38.75rem;
    margin: 7.1875rem auto -6.875rem;
  }
}
@media screen and (min-width: 768px) {
  .reason-bg01 {
    background: url(../images/reason-bg01.webp) no-repeat top center/cover;
    padding: 5.8125rem 0 4.75rem;
  }
  .reason-bg02 {
    background: #e8eef2;
    padding: 4.5625rem 0 0.0625rem;
  }
  .reason-ttl01 {
    width: 48.3125rem;
    margin: 0 auto 4.9375rem;
  }
  .reason-content {
    margin-bottom: 4.6875rem;
  }
  .reason-content02 {
    margin: 0;
  }
  .reason-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 4.375rem;
    background: #202835;
    border-radius: 1.875rem 1.875rem 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 1.9375rem 0 1.9375rem 5rem;
  }
  .reason-head-num {
    width: 4.0625rem;
  }
  .reason-head-num02 {
    width: 4.875rem;
  }
  .reason-head-num03 {
    width: 4.625rem;
  }
  .reason-head-num04 {
    width: 4.75rem;
  }
  .reason-head-ttl {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    color: #fff;
    font-weight: 500;
    line-height: 1.55;
  }
  .reason-head-ttl .big {
    position: relative;
    font-size: 2.5rem;
    font-weight: 900;
  }
  .reason-head-ttl .bold {
    font-weight: 900;
  }
  .reason-head-ttl .tax {
    position: absolute;
    top: -0.5625rem;
    right: -0.25rem;
    font-size: 0.875rem;
  }
  .reason-content03 .reason-head {
    padding: 2.8125rem 0 2.8125rem 5rem;
  }
  .reason-btm {
    background: #fff;
    border-radius: 0 0 1.875rem 1.875rem;
    padding: 1.9375rem 3.125rem 5rem;
  }
  .reason-btm-ttl {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1;
    border: 0.1875rem solid #202835;
    font-weight: 900;
    padding: 0.9375rem 0;
  }
  .reason-btm-attention {
    margin: 0.875rem 0 0.4375rem;
    text-align: right;
    font-size: 1rem;
  }
  .reason-btm-txt {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    text-align: center;
    margin: 1.8125rem auto 0;
  }
  .reason-btm-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1.8125rem auto 3.75rem;
  }
  .reason-btm-list {
    width: 18.25rem;
    margin-top: 0.125rem;
  }
  .reason-btm-item {
    height: 8.8125rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .reason-btm-item .ttl {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    padding: 0.8125rem 0;
    line-height: 1;
  }
  .reason-btm-item .txt {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.77;
    margin-top: 0.3125rem;
  }
  .reason-btm-img01 {
    width: 25.75rem;
  }
  .reason-btm-opts {
    width: 62.5rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 21.5625rem 1fr;
    gap: 0.75rem 1.5625rem;
    position: relative;
  }
  .reason-btm-opts dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #b39c9a;
    color: #fff;
    border-radius: 0.3125rem;
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-align: center;
    padding: 0.8125rem 0;
  }
  .reason-btm-opts dt.diff {
    padding: 2.125rem 0;
  }
  .reason-btm-opts dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.08em;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .reason-btm-logo {
    width: 41.375rem;
    margin: 3.25rem auto 0;
  }
  .reason-btm02 {
    padding: 3.625rem 3.125rem 3.125rem;
  }
  .reason-btm02-txt {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .reason-btm03 {
    padding: 1.75rem 3.125rem 3.3125rem;
  }
  .reason-btm03-txt {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 2.11;
  }
  .reason-btm03-txt02 {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
    line-height: 1;
    background: #b39c9a;
    border-radius: 100vmax;
    padding: 1.0625rem 0;
    color: #fff;
    margin: 4rem auto 0;
  }
  .reason-btm04 {
    position: relative;
    padding: 2.5rem 3.125rem 4.125rem;
  }
  .reason-btm04-support .ttl {
    display: inline-block;
    vertical-align: top;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    font-weight: 500;
    background: #b39c9a;
    border-radius: 100vmax;
    width: 18.125rem;
    padding: 0.8125rem 0;
    margin-right: 1.5625rem;
  }
  .reason-btm04-support .txt {
    display: inline-block;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    line-height: 1.77;
  }
  .reason-btm04-support .txt .bold {
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.54;
  }
  .reason-btm04-support.diff {
    margin: 1.5rem 0 0;
  }
  .reason-btm04-talent {
    position: absolute;
    top: 1.25rem;
    right: 2.5rem;
    width: 17.1875rem;
  }
  .reason-btm04-content {
    background: #f7f2ef;
    margin: 3.1875rem auto 0;
    padding: 2.5rem 3.125rem 2.625rem;
  }
  .reason-btm04-ttl {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1;
    border: 0.1875rem solid #202835;
    font-weight: 900;
    padding: 0.9375rem 0;
    background: #fff;
  }
  .reason-btm04-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 1.8125rem auto 0;
  }
  .reason-btm04-box .txt {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
  }
  .reason-btm04-box .ttl {
    position: relative;
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    font-weight: 500;
    width: 17.1875rem;
    padding: 0.8125rem 0;
    margin: 0.8125rem auto 0;
  }
  .reason-btm04-box .ttl::before {
    content: "";
    position: absolute;
    bottom: 0.9375rem;
    right: -2.0625rem;
    background: url(../images/reason-plus.webp) no-repeat center/cover;
    width: 1.75rem;
    height: 1.75rem;
  }
  .reason-btm04-box div:last-child .ttl::before {
    display: none;
  }
  .reason-btm04-ttl02 {
    position: relative;
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: right;
    font-weight: 900;
    line-height: 1;
    width: 25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-right: 0.625rem;
    margin: 4.4375rem auto 0;
  }
  .reason-btm04-ttl02::before {
    content: "";
    position: absolute;
    top: -0.1875rem;
    left: 0.625rem;
    background: url(../images/reason-check.webp) no-repeat center/cover;
    width: 1.9375rem;
    height: 1.9375rem;
  }
  .reason-btm04-ttl02::after {
    content: "";
    position: absolute;
    bottom: -1.25rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(../images/reason-dot.webp) no-repeat center/cover;
    width: 25rem;
    height: 0.3125rem;
  }
  .reason-btm04-box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 3rem auto 0;
  }
  .reason-btm04-box02 .ttl {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background: #b39c9a;
    border-radius: 100vmax;
    font-weight: 500;
    width: 27.5rem;
    padding: 0.625rem 0;
    margin: 0 auto;
  }
  .reason-btm04-box02 .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.25rem 0;
    margin: 0.8125rem auto 0;
    font-size: 1rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 1.88;
  }
  .reason-btm04-txt {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
    line-height: 1.9;
    margin: 2.125rem auto 0;
  }
  .reason-btm04-txt .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .reason .swiper-container02 {
    position: relative;
    overflow: hidden;
  }
  .reason-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.9375rem 0.625rem;
    margin: 2.875rem auto 0;
  }
  .reason-tab {
    cursor: pointer;
    padding: 0.875rem 0;
    background-color: #eaedf1;
    -webkit-box-shadow: 0 5px 0 #dbdde1;
            box-shadow: 0 5px 0 #dbdde1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .reason-tab .txt {
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
  }
  .reason-tab.active {
    background-color: #364256;
    -webkit-box-shadow: 0 5px 0 rgb(0, 0, 0);
            box-shadow: 0 5px 0 rgb(0, 0, 0);
    color: #fff;
  }
  .reason .reason-slide-img {
    width: 54.875rem;
    margin: 3.5625rem auto 0;
  }
  .reason .prev-btn, .reason .next-btn {
    width: 4.625rem;
    height: 4.625rem;
    background: url(../images/arrow.webp) no-repeat center/cover;
    position: absolute;
    top: 66%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
  }
  .reason .prev-btn {
    -webkit-transform: translateY(-50%) scaleX(-1);
            transform: translateY(-50%) scaleX(-1);
  }
  .reason .prev-btn {
    left: 2.5rem;
  }
  .reason .next-btn {
    right: 2.5rem;
  }
  .reason .prev-btn::after, .reason .next-btn::after {
    display: none;
  }
  .reason-talent {
    position: absolute;
    bottom: -4.875rem;
    right: -7.5rem;
    width: 12.9375rem;
  }
  .reason-img02 {
    width: 78rem;
    margin: 5.75rem auto -6.875rem;
  }
}
/*==============================================================================
case
============================================================================= */
@media screen and (max-width: 767px) {
  .case-bg {
    background: #f7f2ef;
    padding: 15.5rem 0 8.125rem;
    margin-top: -6.25rem;
  }
  .case-inner {
    width: 41.875rem;
    position: relative;
    margin: 0 auto;
  }
  .case-head {
    font-size: 1.875rem;
    letter-spacing: 0.02em;
    text-align: center;
    font-weight: 300;
  }
  .case-ttl01 {
    font-size: 2.6875rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    margin: 1.375rem auto 0;
  }
  .case-ttl01 .bold {
    font-weight: 900;
  }
  .case-ttl01 .big {
    font-weight: 900;
    font-size: 4.0625rem;
  }
  .case .swiper-container03 {
    width: 41.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 2.9375rem auto 0;
    overflow-y: hidden;
    overflow-x: hidden;
    padding-bottom: 1.875rem;
  }
  .case-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 41.875rem;
    margin: 0 auto;
  }
  .case-tab {
    cursor: pointer;
    margin: 0 auto;
  }
  .case-tab .img {
    width: 14.0625rem;
    height: 10.5rem;
    margin: 0 auto;
    border-right: 0.3125rem solid #dbdde1;
  }
  .case-tab.active .img {
    border-right: none;
    width: 13.9375rem;
    height: 11.6875rem;
  }
  .case-tab:last-child .img {
    border-right: none;
  }
  .case .swiper-slide {
    margin: 1.6875rem auto 0;
    background: #fff;
    border-radius: 1.875rem;
  }
  .case .prev-btn::after, .case .next-btn::after {
    display: none;
  }
  .case-slide {
    padding: 3.125rem 5.3125rem 5.125rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .case-slide-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1.5625rem;
    margin-left: -2.5rem;
  }
  .case-slide-num01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #b39c9a;
    width: 6.25rem;
    height: 6.25rem;
    font-size: 1.1875rem;
    text-align: center;
    color: #fff;
    font-weight: 300;
    border-radius: 100%;
  }
  .case-slide-num01 .num {
    font-size: 1.5rem;
    font-weight: 600;
    padding-left: 0.3125rem;
  }
  .case-slide-ttl01 {
    font-size: 2rem;
    letter-spacing: 0.14em;
    font-weight: 900;
    line-height: 1.31;
  }
  .case-slide-box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 2.5rem auto 0;
  }
  .case-slide-box .ttl {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    margin: 0.875rem auto 0;
  }
  .case-slide-box .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 2.1875rem;
    font-size: 1.375rem;
    letter-spacing: 0.08em;
    line-height: 1.36;
    font-weight: 500;
    margin: 2rem auto 0;
  }
  .case-slide-box .txt .bold {
    font-weight: 600;
  }
  .case-slide-box .txt.diff {
    margin: 0.625rem auto 0;
  }
  .case-slide-info {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .case-slide-logo01 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 15.75rem;
  }
  .case-slide-logo02 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 12.5rem;
    margin-bottom: 0.375rem;
  }
  .case-slide-logo03 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 15.75rem;
    margin-top: 0.375rem;
    margin-bottom: 1.125rem;
  }
  .case-slide-img01 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 31.3125rem;
    margin: 2.625rem auto 0;
  }
  .case-slide-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.875rem 0;
    margin: 3rem auto 0;
  }
  .case-slide-item {
    background: #e8eef2;
    border-radius: 0.625rem;
    padding: 1.4375rem 2.5rem 1.875rem 3.75rem;
  }
  .case-slide-item .icon01 {
    width: 2.625rem;
  }
  .case-slide-item .icon02 {
    width: 3.25rem;
  }
  .case-slide-item .icon03 {
    width: 3.3125rem;
  }
  .case-slide-item .txt01 {
    font-size: 1.875rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
    line-height: 1;
  }
  .case-slide-item .txt02 {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    margin-top: 0.875rem;
    line-height: 1.38;
  }
  .case-slide-item.diff {
    padding: 1.6875rem 2.5rem 1.875rem 3.75rem;
  }
  .case-slide-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0 0.625rem;
  }
  .case .swiper-slide:nth-of-type(2) .case-slide-ttl01 {
    margin-right: -1.875rem;
  }
  .case .case-area {
    --fade-to:#f7f2ef;
    position: relative;
    isolation: isolate;
    overflow-x: clip;
    padding-bottom: var(--fade-h);
  }
  .case .case-area::after {
    content: "";
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -0.625rem;
    width: 100vw;
    height: 11.25rem;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(45%, var(--fade-to)));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--fade-to) 45%);
    z-index: 1;
    pointer-events: none;
    opacity: 1;
    -webkit-transition: opacity 0.25s ease;
    transition: opacity 0.25s ease;
  }
  .case .case-area.is-acc-open::after {
    opacity: 0;
  }
  .case .case-area > * {
    position: relative;
    z-index: 1;
  }
  .case .case-readmore {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
    z-index: 2;
    display: inline-block;
    border-radius: 100vmax;
    background: #fff;
    border: solid #364256 0.0625rem;
    font-weight: 500;
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    width: 23.125rem;
    padding: 0.9375rem 0;
    color: #364256;
  }
  .case .case-readmore.open {
    bottom: -6.25rem;
  }
  .case .case-readmore::after {
    content: "＋";
    margin-left: 0.5em;
    font-weight: bold;
    display: inline-block;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    font-weight: 300;
  }
  .case .case-readmore.open::after {
    content: "－";
  }
  .case .case-acc__body {
    overflow: hidden;
    -webkit-transition: max-height 0.35s ease;
    transition: max-height 0.35s ease;
    height: auto;
    -webkit-transition: height 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    transition: height 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .case .case-acc__body.animating {
    will-change: height;
  }
  .case .case-acc__body.is-collapsed {
    max-height: var(--acc-collapsed-sp, 47rem);
  }
}
@media screen and (min-width: 768px) {
  .case-bg {
    background: #f7f2ef;
    padding: 10.5625rem 0 4.6875rem;
  }
  .case-inner {
    width: 70rem;
    position: relative;
    margin: 0 auto;
  }
  .case-head {
    font-size: 1.625rem;
    letter-spacing: 0.02em;
    text-align: center;
    font-weight: 300;
  }
  .case-ttl01 {
    font-size: 3rem;
    letter-spacing: 0.08em;
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    margin: 1.8125rem auto 0;
  }
  .case-ttl01 .bold {
    font-weight: 900;
  }
  .case-ttl01 .big {
    font-weight: 900;
    font-size: 4.0625rem;
  }
  .case .swiper-container03 {
    width: 70rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0.625rem;
    margin: 2.75rem auto 0;
    overflow-y: hidden;
    overflow-x: hidden;
    padding-bottom: 3.125rem;
  }
  .case-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 1.25rem;
    width: 68.75rem;
    margin: 0 auto;
  }
  .case-tab {
    cursor: pointer;
    margin: 0 auto;
  }
  .case-tab .img {
    width: 21.375rem;
    margin: 0 auto;
  }
  .case .swiper-slide {
    margin: 2.625rem auto 0;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: 1.875rem;
  }
  .case .prev-btn, .case .next-btn {
    width: 4.625rem;
    height: 4.625rem;
    background: url(../images/arrow.webp) no-repeat center/cover;
    position: absolute;
    top: 66.4%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
  }
  .case .prev-btn {
    -webkit-transform: translateY(-50%) scaleX(-1);
            transform: translateY(-50%) scaleX(-1);
  }
  .case .prev-btn {
    left: -1.875rem;
  }
  .case .next-btn {
    right: -1.875rem;
  }
  .case .prev-btn::after, .case .next-btn::after {
    display: none;
  }
  .case-slide {
    padding: 2.125rem 3.125rem 2.6875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .case-slide-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1.25rem;
  }
  .case-slide-num01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #b39c9a;
    width: 5.75rem;
    height: 5.75rem;
    font-size: 1.125rem;
    text-align: center;
    color: #fff;
    font-weight: 300;
    border-radius: 100%;
  }
  .case-slide-num01 .num {
    font-size: 1.375rem;
    font-weight: 600;
    padding-left: 0.3125rem;
  }
  .case-slide-ttl01 {
    font-size: 1.625rem;
    letter-spacing: 0.14em;
    font-weight: 900;
    line-height: 1.57;
  }
  .case-slide-box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0.9375rem auto 0;
  }
  .case-slide-box .ttl {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    margin: 0.8125rem auto 0;
  }
  .case-slide-box .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 1.25rem;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    margin: 1.875rem auto 0;
  }
  .case-slide-box .txt .bold {
    font-weight: 600;
  }
  .case-slide-box .txt.diff {
    margin: 1.25rem auto 0;
  }
  .case-slide-logo01 {
    width: 13.125rem;
    margin-right: 3.125rem;
  }
  .case-slide-logo02 {
    position: absolute;
    top: -0.3125rem;
    left: 11.25rem;
    width: 11.1875rem;
  }
  .case-slide-logo03 {
    position: absolute;
    top: 0.3125rem;
    left: 17.5rem;
    width: 13.3125rem;
  }
  .case-slide-img01 {
    width: 24.6875rem;
  }
  .case-slide-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.9375rem 0;
    margin: 1.3125rem auto 0;
  }
  .case-slide-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 2.1875rem;
    background: #e8eef2;
    border-radius: 0.625rem;
    padding: 1.125rem 2.8125rem 1.125rem 2.9375rem;
  }
  .case-slide-item .icon01 {
    width: 2.9375rem;
    margin: 0 auto;
  }
  .case-slide-item .icon02 {
    width: 3.875rem;
    margin: 0 auto;
  }
  .case-slide-item .icon03 {
    width: 3.8125rem;
    margin: 0 auto;
  }
  .case-slide-item .txt01 {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    font-weight: 900;
    text-align: center;
    margin-top: 0.1875rem;
  }
  .case-slide-item .txt02 {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.87;
    width: 50.9375rem;
  }
  .case-slide-item.diff {
    padding: 0.8125rem 2.8125rem 0.8125rem 2.9375rem;
  }
  .case-slide-left {
    width: 4.6875rem;
  }
  .case .case-readmore {
    display: none;
  }
}
/*==============================================================================
effect
============================================================================= */
@media screen and (max-width: 767px) {
  .effect-bg {
    background: #e8eef2;
    padding: 3.6875rem 0 5.6875rem;
  }
  .effect-ttl01 {
    width: 41.875rem;
    margin: 0 0 0 auto;
  }
  .effect-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.3125rem 0;
    margin-top: -0.3125rem;
  }
  .effect-item {
    background: #fff;
    border-radius: 1.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .effect-item-left {
    position: relative;
    background: #202835;
    border-radius: 1.875rem 1.875rem 0 0;
    width: 100%;
    color: #fff;
    padding: 2.8125rem 0 1.25rem 6.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .effect-item-left .num {
    position: absolute;
    top: 3.4375rem;
    left: 2.5rem;
    font-size: 1.5625rem;
    color: #b39c9a;
    font-weight: 300;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .effect-item-left .num .bold {
    font-size: 1.875rem;
    font-weight: 600;
  }
  .effect-item-left .ttl {
    font-size: 1.875rem;
    font-weight: 900;
    letter-spacing: 0.02em;
  }
  .effect-item-left .ttl .roboto {
    font-weight: 300;
    font-size: 1.5625rem;
    padding-right: 0.3125rem;
  }
  .effect-item-left .txt {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin: 1rem auto 0;
  }
  .effect-item-left::after {
    content: "";
    position: absolute;
    top: 112%;
    right: 0;
    left: 0;
    margin: 0 auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20.9375rem 0 20.9375rem 3.125rem;
    border-color: transparent transparent transparent #202835;
    -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
    z-index: 0;
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  .effect-item-right {
    padding: 3.625rem 0 2.5625rem 6.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .effect-item-right .ttl {
    font-size: 1.875rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    color: #eb5c01;
    margin-top: 0.25rem;
  }
  .effect-item-right .ttl .roboto {
    font-weight: 300;
    font-size: 1.5625rem;
    padding-right: 0.3125rem;
  }
  .effect-item-right .txt {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
    font-weight: 500;
    margin-top: 1.25rem;
  }
  .effect-item-right .txt .bold {
    font-weight: 900;
  }
}
@media screen and (min-width: 768px) {
  .effect-bg {
    background: url(../images/effect-bg.webp) no-repeat top center/cover;
    padding: 3.125rem 0 6.3125rem;
  }
  .effect-ttl01 {
    width: 56.25rem;
    margin: 0 auto;
  }
  .effect-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem 0;
    margin-top: -0.1875rem;
  }
  .effect-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    background: #fff;
    border-radius: 1.875rem;
    height: 10.1875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  .effect-item-left {
    position: relative;
    background: #202835;
    border-radius: 1.875rem 0 0 1.875rem;
    width: 26.25rem;
    color: #fff;
    padding: 2.0625rem 0 0 3.75rem;
    height: 10.1875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .effect-item-left .num {
    position: absolute;
    top: 3rem;
    left: 1.25rem;
    font-size: 1.125rem;
    color: #b39c9a;
    font-weight: 300;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .effect-item-left .num .bold {
    font-size: 1.375rem;
    font-weight: 600;
  }
  .effect-item-left .ttl {
    font-size: 1.375rem;
    font-weight: 900;
    letter-spacing: 0.02em;
  }
  .effect-item-left .ttl .roboto {
    font-weight: 300;
    font-size: 1.125rem;
    padding-right: 0.3125rem;
  }
  .effect-item-left .txt {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    line-height: 1.45;
    margin: 1.0625rem auto 0;
  }
  .effect-item-left::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -3.6875rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5rem 0 5rem 3.75rem;
    border-color: transparent transparent transparent #202835;
    -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
    z-index: 0;
  }
  .effect-item-right {
    padding-left: 5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .effect-item-right .ttl {
    font-size: 1.375rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    color: #eb5c01;
    margin-top: 0.25rem;
  }
  .effect-item-right .ttl .roboto {
    font-weight: 300;
    font-size: 1.125rem;
    padding-right: 0.3125rem;
  }
  .effect-item-right .txt {
    font-size: 1.375rem;
    letter-spacing: 0.04em;
    line-height: 1.45;
    font-weight: 500;
    margin-top: 0.75rem;
  }
  .effect-item-right .txt .bold {
    font-weight: 900;
  }
}
/*==============================================================================
minaoshi
============================================================================= */
@media screen and (max-width: 767px) {
  .minaoshi-bg {
    background: #f7f2ef;
    padding: 4.5625rem 0 3rem;
  }
  .minaoshi-ttl01 {
    width: 35.25rem;
    margin: 0 auto;
  }
  .minaoshi-list {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 1.875rem;
    padding: 1.125rem 0 2.6875rem 5.625rem;
    margin: 2.625rem auto 0;
    width: 41.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .minaoshi-item {
    position: relative;
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 1.28;
    margin: 1.6875rem auto 0;
  }
  .minaoshi-item .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .minaoshi-item::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    left: -2.9375rem;
    background: url(../images/minaoshi-check.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 1.875rem;
  }
  .minaoshi-img01 {
    margin: -0.875rem auto 0 -2.5rem;
    width: 46.875rem;
  }
}
@media screen and (min-width: 768px) {
  .minaoshi-bg {
    background: #f7f2ef;
    padding: 6.25rem 0 8.625rem;
  }
  .minaoshi-ttl01 {
    width: 60.625rem;
    margin: 0 0 0 4.375rem;
  }
  .minaoshi-list {
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 1.875rem;
    padding: 2.0625rem 0 2.125rem 4.6875rem;
    margin: 7.75rem 0 0;
    width: 40.4375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .minaoshi-item {
    position: relative;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 2.44;
  }
  .minaoshi-item .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .minaoshi-item::before {
    content: "";
    position: absolute;
    top: 0.625rem;
    left: -2.6875rem;
    background: url(../images/minaoshi-check.webp) no-repeat center/cover;
    width: 1.6875rem;
    height: 1.6875rem;
  }
  .minaoshi-img01 {
    position: absolute;
    bottom: -3.4375rem;
    z-index: 0;
    right: -23.4375rem;
    width: 69.75rem;
  }
}
/*==============================================================================
flow
============================================================================= */
@media screen and (max-width: 767px) {
  .flow-bg {
    background: #fff url(../images/flow-bg_sp.webp) no-repeat top center/contain;
    padding: 5.25rem 0 4.4375rem;
  }
  .flow-ttl01 {
    font-size: 3.25rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    text-align: center;
    line-height: 1.42;
  }
  .flow-ttl01 .bold {
    font-weight: 900;
  }
  .flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem 0;
    width: 39.375rem;
    margin: 2.8125rem 0 0 auto;
  }
  .flow-item {
    position: relative;
    background: #e8eef2;
    border-radius: 1.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 2.3125rem 2.5rem 2.5rem;
  }
  .flow-item::before {
    content: "";
    position: absolute;
    top: 5.8125rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(../images/flow-dot_sp.webp) no-repeat center/cover;
    width: 34.375rem;
    height: 0.25rem;
  }
  .flow-item .ttl {
    font-size: 2rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    text-align: center;
  }
  .flow-item .txt {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 1.28;
    text-align: center;
    margin: 3rem auto 0;
  }
  .flow-arrow {
    position: absolute;
    top: 11.875rem;
    left: 0;
    width: 1.84375rem;
  }
  .flow-content {
    background: #b39c9a;
    border-radius: 1.875rem;
    padding: 4.25rem 2.8125rem 1.5625rem;
    margin: 5.125rem auto 0;
  }
  .flow-content-list {
    margin: 1.5625rem auto 0;
  }
  .flow-content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    position: relative;
    background: url(../images/flow-item-bg_sp.webp) no-repeat center/cover;
    width: 36.375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 19.0625rem;
    padding: 2.5625rem 2.8125rem 0 1.5625rem;
  }
  .flow-content-item .ttl {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
    font-weight: 500;
    background: #b39c9a;
    width: 16.625rem;
    padding: 0.4375rem 0;
    border-radius: 100vmax;
  }
  .flow-content-item .txt {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    line-height: 1.53;
    width: 23.75rem;
    margin: 0.625rem auto 0;
  }
  .flow-content-item .txt.diff {
    width: 24.6875rem;
  }
  .flow-content-item .icon01 {
    width: 6.5rem;
    margin-top: 3.75rem;
  }
  .flow-content-item .icon02 {
    width: 6.5rem;
    margin-top: 2.6875rem;
  }
  .flow-content-item .icon03 {
    width: 6.25rem;
    margin-top: 3.3125rem;
  }
  .flow-content-item:first-child {
    position: relative;
    z-index: 2;
    margin-bottom: -1.75rem;
    padding: 2.1875rem 2.8125rem 0 1.5625rem;
    height: 16.25rem;
  }
  .flow-content-item:nth-of-type(2) {
    position: relative;
    z-index: 1;
    margin-bottom: -1.625rem;
    background: url(../images/flow-item-bg02_sp.webp) no-repeat center/cover;
    height: 16.25rem;
  }
  .flow-ttl02 {
    font-size: 2.375rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    color: #fff;
    text-align: center;
  }
  .flow-txt01 {
    font-size: 1.375rem;
    letter-spacing: 0.06em;
    line-height: 1.36;
    color: #fff;
    margin: -0.25rem auto 0 -0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-bg {
    background: url(../images/flow-bg.webp) no-repeat top center/cover;
    padding: 5.3125rem 0 5.0625rem;
  }
  .flow-ttl01 {
    font-size: 3rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    text-align: center;
    line-height: 1.54;
  }
  .flow-ttl01 .bold {
    font-weight: 900;
  }
  .flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem 0;
    width: 52.5rem;
    margin: 2.875rem 0 0 auto;
  }
  .flow-item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 2.1875rem;
    background: #e8eef2;
    border-radius: 1.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 6.25rem;
  }
  .flow-item::before {
    content: "";
    position: absolute;
    top: 1.1875rem;
    left: 12.8125rem;
    background: url(../images/flow-dot.webp) no-repeat center/cover;
    width: 0.25rem;
    height: 3.75rem;
  }
  .flow-item .ttl {
    font-size: 1.25rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    width: 12.8125rem;
    text-align: center;
    line-height: 1.55;
  }
  .flow-item .txt {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    font-weight: 500;
    line-height: 1.66;
  }
  .flow-arrow {
    position: absolute;
    top: 12.3125rem;
    left: 13.75rem;
    width: 1.81875rem;
  }
  .flow-content {
    background: #b39c9a;
    border-radius: 1.875rem;
    padding: 2.4375rem 3.125rem 2.1875rem;
    margin: 4.0625rem auto 0;
  }
  .flow-content-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 1.5625rem auto 0;
  }
  .flow-content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    background: url(../images/flow-item-bg.webp) no-repeat center/cover;
    padding: 1.8125rem 0 2.0625rem;
    width: 22.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 17rem;
  }
  .flow-content-item .ttl {
    font-size: 1.1875rem;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
    font-weight: 500;
    background: #b39c9a;
    width: 12.5rem;
    margin: 0 auto;
    padding: 0.4375rem 0;
    border-radius: 100vmax;
  }
  .flow-content-item .txt {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.72;
    width: 16.5625rem;
    margin: 0.8125rem auto 0;
  }
  .flow-content-item .icon01 {
    width: 5.3125rem;
    margin: 0 auto;
  }
  .flow-content-item .icon02 {
    width: 5.25rem;
    margin: 0 auto;
  }
  .flow-content-item .icon03 {
    width: 5.25rem;
    margin: 0 auto;
  }
  .flow-content-item:first-child {
    position: relative;
    z-index: 2;
    margin-right: -1.6875rem;
  }
  .flow-content-item:nth-of-type(2) {
    position: relative;
    z-index: 1;
    margin-right: -1.6875rem;
  }
  .flow-ttl02 {
    font-size: 1.625rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    color: #fff;
    text-align: center;
  }
  .flow-txt01 {
    font-size: 1rem;
    letter-spacing: 0.06em;
    color: #fff;
    text-align: center;
    margin: 1.1875rem auto 0;
  }
}
/*==============================================================================
faq
============================================================================= */
@media screen and (max-width: 767px) {
  .faq-bg {
    background: #e8eef2;
    padding: 5.3125rem 0 7.5rem;
  }
  .faq-ttl01 {
    font-size: 3.125rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 900;
  }
  .faq-list {
    margin: 3.5625rem auto 0;
  }
  .faq-item {
    position: relative;
    margin: 0 auto 2.1875rem;
  }
  .faq-item-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #202835;
    border-radius: 100vmax;
    color: #fff;
    width: 100%;
    font-weight: 900;
    font-size: 1.75rem;
    letter-spacing: 0.06em;
    border: none;
    text-align: left;
    cursor: pointer;
    position: relative;
    line-height: 1.28;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 7.4375rem;
    padding: 0 0 0 6.25rem;
  }
  .faq-item-ttl .arrow {
    position: absolute;
    top: 3.5625rem;
    right: 2.875rem;
    display: inline-block;
    width: 1.875rem;
    height: 0.1875rem;
    background: #fff;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .faq-item-ttl .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.1875rem;
    height: 1.875rem;
    background: #fff;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    opacity: 1;
  }
  .faq-item-ttl::before {
    content: "Q.";
    position: absolute;
    top: 1.875rem;
    left: 2.5rem;
    font-size: 2.75rem;
    color: #fff;
    font-weight: 300;
    letter-spacing: 0.08em;
    font-family: "Roboto", sans-serif;
  }
  .faq-item-ttl.open .arrow::before {
    opacity: 0;
  }
  .faq-item-answer {
    position: relative;
    padding: 2.0625rem 3.4375rem 0 5.9375rem;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    display: none;
    line-height: 1.64;
    font-weight: 500;
  }
  .faq-item-answer::before {
    content: "A.";
    position: absolute;
    top: 1.5rem;
    left: 2.1875rem;
    font-size: 2.75rem;
    color: #eb5c01;
    font-weight: 300;
    letter-spacing: 0.08em;
    font-family: "Roboto", sans-serif;
  }
  .faq-item:nth-of-type(5) .faq-item-ttl {
    height: 9.6875rem;
  }
  .faq-item:nth-of-type(5) .faq-item-ttl::before {
    top: 2.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .faq-bg {
    background: #e8eef2;
    padding: 6.3125rem 0 7.5rem;
  }
  .faq-ttl01 {
    font-size: 3rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 900;
  }
  .faq-list {
    margin: 4.4375rem auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
  .faq-item {
    position: relative;
  }
  .faq-item-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #202835;
    border-radius: 100vmax;
    color: #fff;
    width: 100%;
    font-weight: 900;
    font-size: 1.125rem;
    letter-spacing: 0.06em;
    border: none;
    text-align: left;
    cursor: pointer;
    position: relative;
    line-height: 1.44;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 5rem;
    padding: 0 0 0 4.375rem;
  }
  .faq-item-ttl .arrow {
    position: absolute;
    top: 2.5625rem;
    right: 1.875rem;
    display: inline-block;
    width: 1.5625rem;
    height: 0.1875rem;
    background: #fff;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .faq-item-ttl .arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.1875rem;
    height: 1.5625rem;
    background: #fff;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    opacity: 1;
  }
  .faq-item-ttl::before {
    content: "Q.";
    position: absolute;
    top: 1.25rem;
    left: 1.875rem;
    font-size: 1.75rem;
    color: #fff;
    font-weight: 300;
    letter-spacing: 0.08em;
    font-family: "Roboto", sans-serif;
  }
  .faq-item-ttl.open .arrow::before {
    opacity: 0;
  }
  .faq-item-answer {
    position: relative;
    padding: 2.125rem 2.5rem 1.6875rem 4.6875rem;
    font-size: 1rem;
    letter-spacing: 0.08em;
    display: none;
    line-height: 1.87;
    font-weight: 500;
  }
  .faq-item-answer::before {
    content: "A.";
    position: absolute;
    top: 1.3125rem;
    left: 2.1875rem;
    font-size: 1.75rem;
    color: #eb5c01;
    font-weight: 300;
    letter-spacing: 0.08em;
    font-family: "Roboto", sans-serif;
  }
}
/*==============================================================================
intro
============================================================================= */
@media screen and (max-width: 767px) {
  .intro-bg {
    background: #fff;
    padding: 6.75rem 0 4.6875rem;
  }
  .intro-ttl01 {
    font-size: 3.125rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    text-align: center;
  }
  .intro table {
    width: 41.875rem;
    margin: 3.4375rem auto 0;
    border-collapse: collapse;
  }
  .intro table tr {
    border-bottom: 1px solid #bdc2c5;
    border-top: 1px solid #bdc2c5;
  }
  .intro table th, .intro table td {
    text-align: left;
    padding: 1.4375rem 0;
  }
  .intro table tr:first-child {
    border-top: none;
  }
  .intro table tr.adress th, .intro table tr.adress td, .intro table tr.tel th, .intro table tr.tel td {
    padding: 3.25rem 0 1.4375rem 2.1875rem;
  }
  .intro table th {
    width: 13.125rem;
    font-size: 1.875rem;
    letter-spacing: 0.06em;
    font-weight: bold;
    border-bottom: 0.25rem solid #202835;
    padding-left: 0.9375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .intro table th.th-label {
    border-bottom: 1px #fff solid;
  }
  .intro table td {
    font-size: 1.75rem;
    letter-spacing: 0.06em;
    padding-left: 2.1875rem;
  }
  .intro-content {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #f7f2ef;
    border-radius: 1.875rem;
    margin: 5.8125rem auto 0;
    padding: 3.375rem 2.625rem 4.1875rem;
  }
  .intro-ttl02 {
    width: 36.25rem;
    margin: 0 auto;
  }
  .intro-list {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6875rem 0;
    margin: 3.4375rem 0 0 3.125rem;
  }
  .intro-item {
    font-size: 1.75rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
  .intro-item .bold {
    font-weight: 900;
  }
  .intro-item .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .intro-dot {
    position: absolute;
    bottom: 2.8125rem;
    left: 3.125rem;
    width: 1.3125rem;
  }
  .intro-mock {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 36.25rem;
    margin: 2.5rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .intro-bg {
    background: #fff;
    padding: 6.6875rem 0 4.375rem;
  }
  .intro-ttl01 {
    font-size: 3rem;
    letter-spacing: 0.06em;
    font-weight: 900;
    text-align: center;
  }
  .intro table {
    width: 62.5rem;
    margin: 3.125rem auto 0;
    border-collapse: collapse;
  }
  .intro table tr {
    border-bottom: 1px solid #bdc2c5;
    border-top: 1px solid #bdc2c5;
  }
  .intro table tr:first-child {
    border-top: none;
  }
  .intro table th, .intro table td {
    text-align: left;
    padding: 1.6875rem 0;
  }
  .intro table th {
    width: 13.125rem;
    font-size: 1.25rem;
    font-weight: bold;
    border-bottom: 0.25rem solid #202835;
    padding-left: 1.5625rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .intro table th.th-label, .intro table td.th-label {
    display: none;
  }
  .intro table tr.adress02 {
    border-top: none;
    border-bottom: none;
  }
  .intro table tr.tel {
    border-top: none;
  }
  .intro table td {
    font-size: 1.125rem;
    padding-left: 2.1875rem;
  }
  .intro-content {
    position: relative;
    background: #f7f2ef;
    border-radius: 1.875rem;
    margin: 5.5rem auto 0;
    padding: 3.5rem 0 5.375rem 3.125rem;
  }
  .intro-ttl02 {
    width: 33.125rem;
  }
  .intro-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.0625rem 0;
    margin: 4.375rem 0 0 3.125rem;
  }
  .intro-item {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
  }
  .intro-item .bold {
    font-weight: 900;
  }
  .intro-item .color {
    color: #eb5c01;
    font-weight: 900;
  }
  .intro-dot {
    position: absolute;
    top: 16.4375rem;
    left: 4.375rem;
    width: 1rem;
  }
  .intro-mock {
    position: absolute;
    top: -2.6875rem;
    right: -10.9375rem;
    width: 41.8125rem;
  }
}
/*==============================================================================
Footer
============================================================================= */
@media screen and (max-width: 767px) {
  .footer-bg {
    background: #202835;
    padding: 2.9375rem 0;
  }
  .footer-copy {
    font-size: 1.375rem;
    letter-spacing: 0.02em;
    text-align: center;
    font-weight: 500;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .footer-bg {
    background: #202835;
    padding: 2.75rem 0;
  }
  .footer-copy {
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    text-align: center;
    font-weight: 500;
    color: #fff;
  }
}