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

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

body {
  position: relative;
  overflow-x: hidden;
  word-break: break-all;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

@font-face {
  font-family: "gothicM";
  src: url(../fonts/A-OTF-GothicMB101Pr5-Medium.otf) format("opentype");
}
@font-face {
  font-family: "gothicB";
  src: url(../fonts/A-OTF-GothicMB101Pr5-Bold.otf) format("opentype");
}
@font-face {
  font-family: "gothicDB";
  src: url(../fonts/A-OTF-GothicMB101Pr5-DeBold.otf) format("opentype");
}
@font-face {
  font-family: "gothicH";
  src: url(../fonts/A-OTF-GothicMB101Pr5-Heavy.otf) format("opentype");
}
@font-face {
  font-family: "dinB";
  src: url(../fonts/DINNextLTPro-Bold.otf) format("opentype");
}
@font-face {
  font-family: "dinR";
  src: url(../fonts/DINNextLTPro-Regular.otf) format("opentype");
}
@font-face {
  font-family: "century";
  src: url(../fonts/CenturyGothicBold.ttf) format("opentype");
}
@font-face {
  font-family: "centuryR";
  src: url(../fonts/CenturyGothic.ttf) format("opentype");
}
@font-face {
  font-family: "NewRodin";
  src: url(../fonts/FOT-NewRodinProN-EB.otf) format("opentype");
}
.arial {
  font-family: Arial, Helvetica, sans-serif;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
}

.hiragino {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, 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: 1440px) {
  html {
    font-size: 1rem;
  }
  p {
    font-size: 1rem;
  }
}
/*==============================================================================
Responsive
============================================================================= */
@media screen and (max-width: 767px) {
  .inner {
    width: 44.375rem;
    margin: 0 auto;
    position: relative;
  }
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .inner {
    width: 62.5rem;
    margin: 0 auto;
    position: relative;
  }
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}
/*==============================================================================
Header
============================================================================= */
@media screen and (max-width: 767px) {
  .header-bg {
    background: #fff;
    padding: 0.625rem 0;
  }
  .header-inner {
    width: 45rem;
    margin: 0 0.625rem 0 1.25rem;
  }
  .header-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;
  }
  .header-logo {
    width: 23.125rem;
  }
  .header-txt01 {
    width: 13.75rem;
    margin-left: auto;
  }
  .header-txt02 {
    font-family: "gothicDB";
    font-size: 1.625rem;
    letter-spacing: 0.06em;
    line-height: 1.15;
    background: #e5e6e7;
    width: 5rem;
    height: 5rem;
    display: grid;
    place-items: center;
    border-radius: 0.3125rem;
    margin-left: 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .header-bg {
    background: #fff;
    height: 5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header-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;
  }
  .header-logo {
    width: 23.125rem;
  }
  .header-txt01 {
    width: 13.75rem;
    margin-left: auto;
  }
  .header-txt02 {
    font-family: "gothicDB";
    font-size: 1.25rem;
    letter-spacing: 0.06em;
    line-height: 1.15;
    background: #e5e6e7;
    width: 3.75rem;
    height: 3.75rem;
    display: grid;
    place-items: center;
    border-radius: 0.3125rem;
    margin-left: 1.25rem;
  }
}
/*==============================================================================
fv
============================================================================= */
@media screen and (max-width: 767px) {
  .fv-bg01 {
    background: transparent url(../images/fv-bg01_sp.webp) top center/100% 100% no-repeat;
    padding: 1.875rem 0 3.125rem;
  }
  .fv-bg01 .inner {
    width: 46.875rem;
  }
  .fv-bg02 {
    background: transparent url(../images/fv-bg02_sp.webp) top center/100% 100% no-repeat;
    margin-top: -1.875rem;
    position: relative;
    padding: 0 0 2.375rem;
  }
  .fv-bg02 .inner {
    width: 46.875rem;
  }
  .fv-bg03 {
    background: transparent url(../images/fv-bg03_sp.webp) center/cover no-repeat;
    margin-top: -1.875rem;
  }
  .fv-bg03 .inner {
    padding: 0 0 6.1875rem;
  }
  .fv-badge {
    width: 11.875rem;
    height: 14.375rem;
    position: absolute;
    right: 0;
    top: -88%;
  }
  .fv-badge-num {
    position: absolute;
    font-size: 4.375rem;
    font-family: "century";
    letter-spacing: -0.1em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #efe3b8));
    background: linear-gradient(to bottom, #fff 50%, #efe3b8 50%);
    -webkit-background-clip: text;
    color: transparent;
    top: -55%;
    right: 10.5%;
    width: 4.375rem;
    text-align: right;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0.3125rem 0 0;
  }
  .fv-loop-container {
    width: 324%;
    overflow: hidden;
    white-space: nowrap;
    padding: 4.1875rem 0 0 0;
  }
  .fv-loop-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-animation: scroll 10s linear infinite;
            animation: scroll 10s linear infinite;
    gap: 1.875rem;
  }
  .fv-loop-wrapper img {
    width: 73.75rem;
    height: auto;
    display: inline-block;
  }
  .fv-loop-note {
    font-size: 1.25rem;
    color: #000;
    letter-spacing: 0.06em;
    margin: 0.9375rem 0 0 0;
  }
  @-webkit-keyframes scroll {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
    }
  }
  @keyframes scroll {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
    }
  }
  .fv-ttl01 {
    width: 44.0625rem;
  }
  .fv-txt01 {
    width: 44.375rem;
    margin: 0 0 0 0.625rem;
  }
  .fv-txt02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0.9375rem;
    margin: 3rem 0 0 0;
  }
  .fv-txt02 .box {
    background: #fff;
    border-radius: 1.25rem;
    height: 13.125rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
  }
  .fv-txt02 .box:first-child {
    padding: 2.6875rem 0 0 0;
  }
  .fv-txt02 .box:first-child::before {
    content: "";
    position: absolute;
    background: url(../images/fv-txt02-item.webp) no-repeat center/cover;
    width: 5.625rem;
    height: 5.8125rem;
    top: 6%;
    right: 3%;
  }
  .fv-txt02 .box:last-child {
    padding: 1.5rem 0 0 1.875rem;
  }
  .fv-txt02 .box:last-child::before {
    content: "";
    position: absolute;
    background: url(../images/fv-txt02-img.webp) no-repeat center/cover;
    width: 7.5rem;
    height: 7.5rem;
    top: -7%;
    right: -3%;
  }
  .fv-txt02 .txt01 {
    font-size: 2rem;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    line-height: 1.07;
  }
  .fv-txt02 .txt03 {
    font-size: 1.75rem;
    font-style: italic;
    font-family: "gothicB";
    color: #fff;
    position: absolute;
    top: -13%;
    left: 1%;
    background: url(../images/fv-txt02-bg_sp.webp) no-repeat center/cover;
    width: 10rem;
    height: 4.375rem;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.875rem 0 0;
  }
  .fv-txt02 .color01 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 2.5rem;
    display: inline-block;
    height: 5.125rem;
    width: 14.375rem;
  }
  .fv-txt02 .color01 .num {
    font-size: 5rem;
    letter-spacing: -0.02em;
    font-family: "century";
  }
  .fv-txt02 .color02 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 2.5rem;
    display: inline-block;
    margin-left: -1.8125rem;
  }
  .fv-txt02 .color02 .num02 {
    font-size: 5rem;
    font-family: "century";
    letter-spacing: -0.02em;
  }
  .fv-txt02 .ttl01 {
    font-size: 1.75rem;
    font-style: italic;
    font-family: "gothicB";
    line-height: 1.2;
  }
  .fv-txt02 .ttl01 .color {
    font-size: 2.625rem;
    color: #f80000;
  }
  .fv-txt02 .block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: -0.125rem 0 0 0;
  }
  .fv-txt02 .txt02 {
    font-size: 1.75rem;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    line-height: 1.14;
  }
  .fv-txt02 .txt02 .mini {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(4.375rem, -5rem);
            transform: translate(4.375rem, -5rem);
  }
  .fv-txt02 .txt02 .alert {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(4.0625rem, -5rem);
            transform: translate(4.0625rem, -5rem);
  }
  .fv-txt02 .txt02 .size01 {
    display: inline-block;
    width: 3.75rem;
    margin-top: -1.5625rem;
  }
  .fv-cta {
    background: url(../images/fv-cta-bg_sp.webp) no-repeat center/cover;
    margin-top: 6.75rem;
    width: 100%;
    height: 14.375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    padding: 0.0625rem 0 0 0;
  }
  .fv-cta-txt01 {
    width: 39.1875rem;
    margin: -5.4375rem auto 0;
  }
  .fv-cta-box {
    position: relative;
  }
  .fv-cta-tel {
    font-size: 4.6875rem;
    letter-spacing: -0.04em;
    color: #fff;
    font-family: "century";
    position: relative;
    margin: 0.8125rem 0 0 11.5625rem;
  }
  .fv-cta-tel::after {
    content: "";
    position: absolute;
    background: url(../images/cta-free.webp) no-repeat center/cover;
    width: 8rem;
    height: 8rem;
    top: -14%;
    left: -30%;
  }
  .fv-cta-time {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    font-family: "gothicB";
    color: #fff;
    margin: 0.625rem 0 0 17rem;
  }
  .fv-cta-time .dinB {
    font-size: 2.125rem;
    font-family: "dinB";
    letter-spacing: 0;
    margin: 0 0 0 1.875rem;
  }
  .fv-cta-timer {
    font-size: 2.125rem;
    letter-spacing: 0.06em;
    margin: 1.6875rem auto 0;
    text-align: center;
    color: #ff2100;
    font-weight: 600;
    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;
  }
  .fv-cta-timer .color {
    color: #000;
    font-size: 1.75rem;
  }
  .fv-cta-note {
    font-size: 1.25rem;
    color: #000;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 1.25rem 0 0 0;
  }
  .fv-cta-img01 {
    width: 41.25rem;
    margin: 1.375rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .fv-bg01 {
    background: #ffe400;
    padding: 0 0 2.5rem;
  }
  .fv-bg02 {
    background: transparent url(../images/fv-bg01.webp) top center/100% 100% no-repeat;
    margin-top: -4.3125rem;
    position: relative;
  }
  .fv-bg02 .inner {
    padding: 3.4375rem 0 3.625rem;
  }
  .fv-bg03 {
    background: transparent url(../images/fv-bg02.webp) center/cover no-repeat;
    margin-top: -4.0625rem;
  }
  .fv-bg03 .inner {
    padding: 0 0 3.75rem;
  }
  .fv-badge {
    width: 11.25rem;
    height: 12.5rem;
    position: absolute;
    right: 0;
    top: -0.5%;
  }
  .fv-badge-num {
    position: absolute;
    font-size: 3.625rem;
    font-family: "century";
    letter-spacing: -0.1em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #fff), color-stop(50%, #efe3b8));
    background: linear-gradient(to bottom, #fff 50%, #efe3b8 50%);
    -webkit-background-clip: text;
    color: transparent;
    top: 23%;
    right: 8.5%;
    width: 4.0625rem;
    text-align: right;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0.3125rem 0 0;
  }
  .fv-loop-container {
    width: 339%;
    overflow: hidden;
    white-space: nowrap;
    padding: 4.375rem 0 0 0;
  }
  .fv-loop-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-animation: scroll 30s linear infinite;
            animation: scroll 30s linear infinite;
    gap: 2.5rem;
  }
  .fv-loop-wrapper img {
    width: 73.75rem;
    height: auto;
    display: inline-block;
  }
  .fv-loop-note {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-align: right;
    margin: 0.625rem 0 0 0;
  }
  @-webkit-keyframes scroll {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
    }
  }
  @keyframes scroll {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
    }
  }
  .fv-ttl01 {
    width: 65.3125rem;
    position: relative;
  }
  .fv-txt01 {
    width: 44.375rem;
    margin: 0 0 0 5.625rem;
  }
  .fv-txt02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0.9375rem;
    margin: 2rem 0 0 0;
  }
  .fv-txt02 .box {
    background: #fff;
    border-radius: 1.25rem;
    height: 10rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
  }
  .fv-txt02 .box:first-child {
    padding: 2.3125rem 0 0 0;
  }
  .fv-txt02 .box:first-child::before {
    content: "";
    position: absolute;
    background: url(../images/fv-txt02-item.webp) no-repeat center/cover;
    width: 5.625rem;
    height: 5.8125rem;
    top: -6%;
    right: 5%;
  }
  .fv-txt02 .box:last-child {
    padding: 1.5rem 0 0 1.875rem;
  }
  .fv-txt02 .box:last-child::before {
    content: "";
    position: absolute;
    background: url(../images/fv-txt02-img.webp) no-repeat center/cover;
    width: 7.5rem;
    height: 7.5rem;
    top: -7%;
    right: 1%;
  }
  .fv-txt02 .txt01 {
    font-size: 2rem;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    line-height: 1.15;
  }
  .fv-txt02 .txt01 .pc {
    display: inline-block;
    padding: 0 0 0 5rem;
  }
  .fv-txt02 .txt03 {
    font-size: 1.4375rem;
    font-style: italic;
    font-family: "gothicB";
    color: #fff;
    position: absolute;
    top: 6.5%;
    left: 17.5%;
    background: url(../images/fv-txt02-bg_sp.webp) no-repeat center/cover;
    width: 8.125rem;
    height: 3.625rem;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.875rem 0 0;
  }
  .fv-txt02 .color01 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 2.5rem;
    display: inline-block;
  }
  .fv-txt02 .color01 .num {
    font-size: 3.75rem;
    font-family: "century";
  }
  .fv-txt02 .color02 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    font-size: 2.125rem;
    display: inline-block;
  }
  .fv-txt02 .color02 .num02 {
    font-size: 3.75rem;
    font-family: "century";
  }
  .fv-txt02 .ttl01 {
    font-size: 1.75rem;
    font-style: italic;
    font-family: "gothicB";
    line-height: 1.2;
  }
  .fv-txt02 .ttl01 .color {
    font-size: 2.625rem;
    color: #f80000;
  }
  .fv-txt02 .block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0.0625rem 0 0 0;
  }
  .fv-txt02 .txt02 {
    font-size: 1.75rem;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    line-height: 1.14;
  }
  .fv-txt02 .txt02 .mini {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(-4.0625rem, -2.0625rem);
            transform: translate(-4.0625rem, -2.0625rem);
  }
  .fv-txt02 .txt02 .alert {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(-4.0625rem, -2.0625rem);
            transform: translate(-4.0625rem, -2.0625rem);
  }
  .fv-cta {
    background: url(../images/fv-cta-bg.webp) no-repeat center/cover;
    margin-top: 2.9375rem;
    width: 100%;
    height: 26.4375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    padding: 0.0625rem 0 0 0;
  }
  .fv-cta-txt01 {
    width: 30.9375rem;
    margin: -2.3125rem auto 0;
  }
  .fv-cta-box {
    position: relative;
  }
  .fv-cta-tel {
    font-size: 5.25rem;
    letter-spacing: -0.04em;
    color: #fff;
    font-family: "century";
    position: relative;
    margin: 1.1875rem 0 0 16.25rem;
  }
  .fv-cta-tel::before {
    content: "";
    position: absolute;
    background: url(../images/cta-tel.webp) no-repeat center/cover;
    width: 4rem;
    height: 4.125rem;
    top: 14%;
    left: -9.8%;
  }
  .fv-cta-tel::after {
    content: "";
    position: absolute;
    background: url(../images/cta-free.webp) no-repeat center/cover;
    width: 7.875rem;
    height: 7.875rem;
    top: -55%;
    left: -28.8%;
  }
  .fv-cta-time {
    font-size: 1rem;
    letter-spacing: 0.1em;
    font-family: "gothicB";
    color: #fff;
    position: absolute;
    top: 16%;
    right: 7%;
    text-align: center;
    background: #000f81;
    width: 6.875rem;
    border-radius: 1.875rem;
    padding: 0.6875rem 0 0.3125rem;
    line-height: 1.25;
  }
  .fv-cta-time .dinR {
    font-size: 1.25rem;
    font-family: "dinR";
    letter-spacing: -0.08em;
  }
  .fv-cta-timer {
    background: #fff6a9;
    font-size: 1.375rem;
    letter-spacing: 0;
    width: 47.5rem;
    height: 4.375rem;
    margin: 1.6875rem auto 0;
    text-align: center;
    color: #ff2100;
    font-weight: 600;
    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;
  }
  .fv-cta-timer .color {
    color: #000;
  }
  .fv-cta-img01 {
    width: 47.5rem;
    margin: 0.375rem auto 0;
  }
  .fv-cta-note {
    font-size: 0.75rem;
    color: #fff;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 1.125rem 0 0 0;
    line-height: 1.5;
  }
}
/*==============================================================================
area
============================================================================= */
@media screen and (max-width: 767px) {
  .area-bg {
    background: #ffe400;
    padding: 4.5rem 0 5.625rem;
    position: relative;
  }
  .area-bg::before {
    content: "";
    position: absolute;
    background: url(../images/area-item02_sp.webp) no-repeat center/cover;
    width: 24.375rem;
    height: 19.375rem;
    top: 0;
    right: 0;
  }
  .area-bg02 {
    margin: 0 0 -0.0625rem;
    padding: 4.5rem 0 5.125rem;
  }
  .area-bg02 .area-inner::before {
    top: 6%;
  }
  .area-inner {
    position: relative;
  }
  .area-inner::before {
    content: "";
    position: absolute;
    background: url(../images/area-item01.webp) no-repeat center/cover;
    width: 6rem;
    height: 6rem;
    top: 11%;
    right: 16.5%;
  }
  .area-ttl01 {
    font-size: 3.75rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    font-style: italic;
    position: relative;
    line-height: 1.19;
  }
  .area-ttl01 .txt01 {
    font-size: 6.875rem;
    letter-spacing: 0.02em;
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    padding: 0 0.625rem 0 0;
  }
  .area-ttl01 .size01 {
    font-size: 3.4375rem;
    display: inline-block;
    text-indent: -1.875rem;
  }
  .area-box {
    margin: 2.375rem 0 0 0;
    position: relative;
  }
  .area-box::before {
    content: "";
    position: absolute;
    background: url(../images/area-item03.webp) no-repeat center/cover;
    width: 9.375rem;
    height: 20.3125rem;
    top: -36.5%;
    right: 2.5%;
  }
  .area-box-ttl01 {
    color: #fff;
    background: url(../images/area-bg01.webp) no-repeat center/cover;
    font-size: 2.5rem;
    letter-spacing: 0.12em;
    font-weight: 600;
    text-align: center;
    width: 36.25rem;
    height: 5.625rem;
    display: grid;
    place-items: center;
    margin: 0 auto;
    position: relative;
    z-index: 5;
  }
  .area-box-txt01 {
    background: #fff;
    padding: 5rem 1rem 3.3125rem 2.4375rem;
    font-weight: 600;
    font-size: 1.75rem;
    letter-spacing: 0.05em;
    font-weight: 600;
    line-height: 1.8;
    border-radius: 1.5625rem;
    margin: -2.8125rem 0 0 0;
    position: relative;
  }
  .area-box-wrap {
    background: #fff;
    border-radius: 1.5625rem;
    margin: -2.8125rem 0 0 0;
    padding: 4.375rem 2.1875rem 3.4375rem;
  }
  .area-box-txt02 {
    font-family: "gothicB";
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.42;
  }
  .area-box-txt02 .color {
    color: #ff2100;
  }
  .area-box-img {
    margin: 1.8125rem 0 0 0;
  }
  .area-box02 {
    margin: 2.5rem 0 0 0;
  }
  .area-box02::before {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .area-bg {
    background: #ffe400;
    padding: 3.75rem 0 3.75rem;
  }
  .area-bg02 {
    margin: 0 0 -0.0625rem;
    padding: 3.75rem 0 5rem;
  }
  .area-bg02 .area-inner::before {
    top: -10%;
  }
  .area-inner {
    position: relative;
  }
  .area-inner::before {
    content: "";
    position: absolute;
    background: url(../images/area-item02.webp) no-repeat center/cover;
    width: 13.875rem;
    height: 11.1875rem;
    top: -18%;
    right: 2%;
  }
  .area-ttl01 {
    font-size: 3rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-style: italic;
    margin: 0 0 0 9.0625rem;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    position: relative;
  }
  .area-ttl01 .txt01 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#b20000));
    background: linear-gradient(to bottom, #ff0000, #b20000);
    -webkit-background-clip: text;
    color: transparent;
    padding: 0 0.625rem 0 0;
    font-size: 3.75rem;
    letter-spacing: 0.02em;
  }
  .area-ttl01 .size01 {
    font-size: 2.125rem;
    display: inline-block;
    text-indent: -0.625rem;
  }
  .area-ttl01::before {
    content: "";
    position: absolute;
    background: url(../images/area-item01.webp) no-repeat center/cover;
    width: 6.0625rem;
    height: 6.0625rem;
    top: -47%;
    left: -15%;
  }
  .area-box {
    margin: 1.875rem 0 0 0;
    position: relative;
  }
  .area-box::before {
    content: "";
    position: absolute;
    background: url(../images/area-item03.webp) no-repeat center/cover;
    width: 5.625rem;
    height: 12.0625rem;
    top: -52%;
    right: 4%;
  }
  .area-box-ttl01 {
    color: #fff;
    background: url(../images/area-bg01.webp) no-repeat center/cover;
    font-size: 1.625rem;
    letter-spacing: 0.12em;
    font-weight: 600;
    text-align: center;
    width: 24.375rem;
    height: 3.75rem;
    display: grid;
    place-items: center;
    margin: 0 auto;
    position: relative;
  }
  .area-box-txt01 {
    background: #fff;
    padding: 3.3125rem 1.5rem 1.9375rem 2.5rem;
    font-weight: 600;
    font-size: 1.0rem;
    letter-spacing: 0.05em;
    font-weight: 600;
    line-height: 1.9;
    border-radius: 1.5625rem;
    margin: -1.875rem 0 0 0;
  }
  .area-box-wrap {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 1.5625rem;
    margin: -1.875rem 0 0 0;
  }
  .area-box-txt02 {
    font-family: "gothicB";
    font-size: 2.125rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.55;
    padding: 3.875rem 0 0 4.375rem;
  }
  .area-box-txt02 .color {
    color: #ff2100;
  }
  .area-box-img {
    width: 24.75rem;
    margin: 0 0 -0.125rem auto;
  }
  .area-box02 {
    margin: 1.1875rem 0 0 0;
  }
  .area-box02::before {
    display: none;
  }
}
/*==============================================================================
danger
============================================================================= */
@media screen and (max-width: 767px) {
  .danger-bg {
    background: #e9e9e9;
    padding: 3.75rem 0 3.375rem 0;
    position: relative;
  }
  .danger-bg::before {
    content: "";
    position: absolute;
    background: url(../images/danger-item01_sp.webp) no-repeat center/cover;
    width: 15.625rem;
    height: 23.125rem;
    top: 0;
    right: 0;
    z-index: 1;
  }
  .danger-inner {
    position: relative;
  }
  .danger-inner::after {
    content: "";
    position: absolute;
    background: url(../images/danger-item02.webp) no-repeat center/cover;
    width: 12.8125rem;
    height: 17.375rem;
    top: 18%;
    right: -4%;
    z-index: 10;
  }
  .danger-ttl01 {
    width: 45.5rem;
    margin: 0 0 0 -1.25rem;
    position: relative;
    z-index: 10;
  }
  .danger-box {
    background: #fff;
    border-radius: 1.25rem;
    margin: 3rem 0 0 0;
    padding: 2.5rem 0 4.1875rem 0;
    position: relative;
    z-index: 5;
  }
  .danger-box::before {
    content: "";
    position: absolute;
    background: url(../images/danger-shape.webp) no-repeat center/cover;
    width: 16.875rem;
    height: 4.6875rem;
    bottom: -4%;
    right: 0;
    left: 0;
    margin: auto;
  }
  .danger-img01 {
    width: 43.125rem;
    margin: 0 auto;
  }
  .danger-txt01 {
    font-size: 2.375rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1.38;
    margin: 2.0625rem 0 0 0;
  }
  .danger-txt01 .bold {
    font-weight: 600;
  }
  .danger-txt02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 3.625rem 0 0 0;
    font-family: "gothicH";
    font-size: 2.375rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    line-height: 1.29;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .danger-txt02 .img {
    width: 35.9375rem;
  }
  .danger-txt02 .size {
    font-size: 3.375rem;
  }
  .danger-txt02 .border {
    position: relative;
    z-index: 5;
  }
  .danger-txt02 .border::before {
    content: "";
    position: absolute;
    background: #ffe400;
    height: 1.125rem;
    width: 21.25rem;
    bottom: 10%;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
  }
}
@media screen and (min-width: 768px) {
  .danger-bg {
    background: #e9e9e9;
    padding: 2.6875rem 0 5rem 0;
  }
  .danger-inner {
    position: relative;
  }
  .danger-inner::before {
    content: "";
    position: absolute;
    background: url(../images/danger-item01.webp) no-repeat center/cover;
    width: 22.5rem;
    height: 21.5625rem;
    top: -5.1%;
    right: -19%;
    z-index: 1;
  }
  .danger-inner::after {
    content: "";
    position: absolute;
    background: url(../images/danger-item02.webp) no-repeat center/cover;
    width: 12.8125rem;
    height: 17.375rem;
    top: -1.5%;
    right: 9.5%;
    z-index: 10;
  }
  .danger-ttl01 {
    width: 38.875rem;
  }
  .danger-box {
    background: #fff;
    border-radius: 1.25rem;
    margin: 1.6875rem 0 0 0;
    padding: 1.25rem 0 4.1875rem 0;
    position: relative;
    z-index: 5;
  }
  .danger-box::before {
    content: "";
    position: absolute;
    background: url(../images/danger-shape.webp) no-repeat center/cover;
    width: 15.9375rem;
    height: 4.6875rem;
    bottom: -6%;
    right: 0;
    left: 0;
    margin: auto;
  }
  .danger-img01 {
    width: 50.375rem;
    margin: 0 auto;
  }
  .danger-txt01 {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    text-align: center;
    margin: 1.6875rem 0 0 0;
  }
  .danger-txt01 .bold {
    font-weight: 600;
  }
  .danger-txt02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 3.125rem 0 0 0;
    font-family: "gothicH";
    font-size: 1.875rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0;
  }
  .danger-txt02 .img {
    width: 28.5rem;
  }
  .danger-txt02 .size {
    font-size: 2.6875rem;
  }
  .danger-txt02 .border {
    position: relative;
    z-index: 5;
  }
  .danger-txt02 .border::before {
    content: "";
    position: absolute;
    background: #ffe400;
    height: 0.9375rem;
    width: 16.875rem;
    bottom: -5%;
    right: 0;
    left: 0;
    margin: auto;
    z-index: -1;
  }
}
/*==============================================================================
fast
============================================================================= */
@media screen and (max-width: 767px) {
  .fast-bg {
    background: #ffdcce;
    padding: 4rem 0 4.625rem 0;
  }
  .fast-ttl01 {
    width: 46.875rem;
    margin: 0 0 0 -1.25rem;
  }
  .fast-txt01 {
    font-size: 1.875rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    text-align: center;
    margin: 1.9375rem auto 0;
    position: relative;
    width: 37.5rem;
  }
  .fast-txt01 .color {
    font-family: "century";
    color: #ff0000;
    font-size: 3.75rem;
    letter-spacing: 0;
  }
  .fast-txt01 .size01 {
    font-size: 2.5rem;
  }
  .fast-txt01 .size02 {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
    font-weight: 500;
    display: inline-block;
    margin: 0.8125rem 0 0 0;
  }
  .fast-txt01::before {
    content: "";
    position: absolute;
    background: url(../images/fast-item01.webp) no-repeat center/cover;
    width: 3.0625rem;
    height: 6.75rem;
    top: -15%;
    left: 0;
  }
  .fast-txt01::after {
    content: "";
    position: absolute;
    background: url(../images/fast-item01.webp) no-repeat center/cover;
    width: 3.0625rem;
    height: 6.75rem;
    top: -15%;
    right: 0;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .fast-content {
    background: #fff;
    border-radius: 1.5625rem;
    margin: 2.375rem 0 0 0;
    padding: 2.5625rem 1.875rem 2.375rem 1.875rem;
    position: relative;
  }
  .fast-content::before {
    content: "";
    position: absolute;
    background: url(../images/fast-shape01.webp) no-repeat center/cover;
    width: 40.9375rem;
    height: 0.3125rem;
    top: 14.875rem;
    left: 0;
    right: 0;
    margin: auto;
  }
  .fast-content02 {
    margin: 1.25rem 0 0 0;
    padding: 3.4375rem 1.875rem 2.375rem 1.875rem;
  }
  .fast-content02::before {
    top: 15.6875rem;
  }
  .fast-content02 .fast-wrap .txt01 {
    width: 22.1875rem;
  }
  .fast-content02 .fast-wrap {
    margin: 4.625rem 0 0 0;
  }
  .fast-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 4.1875rem 0 0 0;
  }
  .fast-wrap .txt01 {
    font-size: 1.875rem;
    letter-spacing: 0;
    line-height: 1.46;
    width: 20.75rem;
    margin: -0.3125rem 0 0 0;
  }
  .fast-wrap .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .fast-box {
    position: relative;
  }
  .fast-box .ttl01 {
    font-size: 2.5rem;
    letter-spacing: 0.02em;
    font-family: "gothicH";
    line-height: 1.25;
    margin: 0 0 0 6.875rem;
  }
  .fast-box .ttl01 .size01 {
    font-size: 1.875rem;
    display: inline-block;
    -webkit-transform: translate(0rem, -0.1875rem);
            transform: translate(0rem, -0.1875rem);
  }
  .fast-box .ttl01 .color {
    color: #ff0000;
    font-size: 3.375rem;
  }
  .fast-box .ttl01 .size02 {
    font-size: 3.75rem;
  }
  .fast-box .ttl01 .dinB {
    font-size: 5rem;
    font-family: "dinB";
    letter-spacing: -0.02em;
    display: inline-block;
    -webkit-transform: translate(0rem, 0.1875rem);
            transform: translate(0rem, 0.1875rem);
    line-height: 1;
  }
  .fast-box .num01 {
    font-size: 1.5rem;
    color: #fff;
    letter-spacing: 0.02em;
    background: url(../images/fast-bg01.webp) no-repeat center/cover;
    width: 8.75rem;
    height: 7.5rem;
    font-family: "gothicH";
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.9375rem 0;
    line-height: 1.15;
    position: absolute;
    left: -8%;
    top: 18%;
  }
  .fast-box .num01 .dinB {
    font-size: 4.375rem;
    font-family: "dinB";
    font-style: italic;
    letter-spacing: -0.04em;
    display: inline-block;
    margin: 0 0 0 -1.25rem;
  }
  .fast-box02 .ttl01 {
    line-height: 0.93;
  }
  .fast-box02 .ttl01 .size01 {
    -webkit-transform: translate(0rem, -0.625rem);
            transform: translate(0rem, -0.625rem);
    font-size: 2.5rem;
    letter-spacing: 0.02em;
  }
  .fast-box02 .txt01 {
    margin: 3.375rem 0 0 0.625rem;
  }
  .fast-box02 .num01 {
    top: 9%;
  }
  .fast-img01 {
    width: 17.5rem;
  }
  .fast-step {
    margin: 0.0625rem 0 0 0;
  }
  .fast-note {
    font-size: 1.3125rem;
    letter-spacing: 0.08em;
    line-height: 1.9;
    margin: 0.5rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .fast-bg {
    background: #ffdcce;
    padding: 3.5rem 0 5.625rem 0;
    margin: 0 0 -0.0625rem 0;
  }
  .fast-ttl01 {
    width: 62.8125rem;
    margin-left: auto;
  }
  .fast-txt01 {
    font-size: 1.375rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    text-align: center;
    margin: 1.375rem auto 0;
    position: relative;
    width: 29.8125rem;
  }
  .fast-txt01 .color {
    font-family: "century";
    color: #ff0000;
    font-size: 2.875rem;
    letter-spacing: 0;
    padding: 0 0.3125rem 0 0;
  }
  .fast-txt01 .size01 {
    font-size: 1.875rem;
  }
  .fast-txt01 .size02 {
    font-size: 0.875rem;
    font-weight: 500;
    display: inline-block;
    margin: 0.5625rem 0 0 0;
  }
  .fast-txt01::before {
    content: "";
    position: absolute;
    background: url(../images/fast-item01.webp) no-repeat center/cover;
    width: 2.375rem;
    height: 5.5rem;
    top: -15%;
    left: 0;
  }
  .fast-txt01::after {
    content: "";
    position: absolute;
    background: url(../images/fast-item01.webp) no-repeat center/cover;
    width: 2.375rem;
    height: 5.5rem;
    top: -15%;
    right: 0;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .fast-content {
    background: #fff;
    border-radius: 1.5625rem;
    margin: 1.625rem 0 0 0;
    padding: 3.125rem 2.5rem 2.6875rem 3.125rem;
    position: relative;
  }
  .fast-content::before {
    content: "";
    position: absolute;
    background: url(../images/fast-shape01.webp) no-repeat center/cover;
    width: 37.6875rem;
    height: 0.3125rem;
    top: 11.3125rem;
    left: 2.5rem;
  }
  .fast-content02 {
    margin: 1.25rem 0 0 0;
    padding: 2.375rem 2.5rem 2.625rem 3.125rem;
  }
  .fast-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .fast-box {
    position: relative;
  }
  .fast-box .ttl01 {
    font-size: 2.3125rem;
    letter-spacing: 0.02em;
    font-family: "gothicH";
    line-height: 1.22;
    margin: -0.3125rem 0 0 5.3125rem;
  }
  .fast-box .ttl01 .size01 {
    font-size: 1.625rem;
    display: inline-block;
    -webkit-transform: translate(0rem, -0.1875rem);
            transform: translate(0rem, -0.1875rem);
  }
  .fast-box .ttl01 .color {
    color: #ff0000;
    font-size: 3.125rem;
  }
  .fast-box .ttl01 .size02 {
    font-size: 3.4375rem;
  }
  .fast-box .ttl01 .dinB {
    font-size: 4.625rem;
    font-family: "dinB";
    letter-spacing: -0.02em;
  }
  .fast-box .txt01 {
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 1.8;
    margin: 2.875rem 0 0 0.625rem;
  }
  .fast-box .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .fast-box .num01 {
    font-size: 1.25rem;
    color: #fff;
    letter-spacing: 0.02em;
    background: url(../images/fast-bg01.webp) no-repeat center/cover;
    width: 7.3125rem;
    height: 6.25rem;
    font-family: "gothicH";
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.75rem 0;
    line-height: 1.2;
    position: absolute;
    left: -10%;
    top: 1%;
  }
  .fast-box .num01 .dinB {
    font-size: 3.625rem;
    font-family: "dinB";
    font-style: italic;
    letter-spacing: -0.04em;
    display: inline-block;
    margin: 0 0 0 -0.9375rem;
  }
  .fast-box02 .ttl01 {
    line-height: 0.93;
  }
  .fast-box02 .ttl01 .size01 {
    -webkit-transform: translate(0rem, -0.9375rem);
            transform: translate(0rem, -0.9375rem);
  }
  .fast-box02 .txt01 {
    margin: 3.375rem 0 0 0.625rem;
  }
  .fast-box02 .num01 {
    top: 6%;
  }
  .fast-img01 {
    width: 17.5rem;
  }
  .fast-step {
    margin: -0.75rem 0 0 0;
  }
  .fast-note {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    margin: 0.5rem 0 0 0;
    line-height: 1.5;
  }
}
/*==============================================================================
cta
============================================================================= */
@media screen and (max-width: 767px) {
  .cta-bg01 {
    background: url(../images/cta-bg_sp.webp) center/cover no-repeat;
    position: relative;
  }
  .cta-bg02 {
    background: url(../images/cta-bg_sp.webp) center/cover no-repeat;
    padding: 0.75rem 0 5rem 0;
  }
  .cta-head-ttl {
    width: 46.875rem;
    margin: 0 0 0 -1.25rem;
  }
  .cta-txt01 {
    font-size: 1.75rem;
    letter-spacing: 0;
    font-weight: 600;
    position: relative;
    line-height: 1.5;
    margin: 0 0 0 11.25rem;
  }
  .cta-txt01 .color {
    color: #ff2100;
  }
  .cta-txt01::before {
    content: "";
    position: absolute;
    background: url(../images/cta-item01.webp) no-repeat center/cover;
    width: 8.3125rem;
    height: 6.9375rem;
    top: 5%;
    left: -30%;
  }
  .cta-box {
    background: url(../images/cta-bg01_sp.webp) no-repeat center/cover;
    width: 44.375rem;
    height: 15.5625rem;
    margin: 6rem 0 0 0;
    padding: 0.0625rem 0 0 0;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .cta-box-txt01 {
    width: 41.6875rem;
    margin: -4.625rem auto 0;
  }
  .cta-box-txt02 {
    font-size: 1.9375rem;
    font-family: "gothicB";
    letter-spacing: 0.1em;
    font-style: italic;
    color: #fff;
    text-shadow: 0.125rem 0.125rem 0.25rem #0a2752;
    margin: 0.3125rem 0 0 12.1875rem;
  }
  .cta-box-txt02 .size01 {
    font-size: 3rem;
  }
  .cta-box-txt02 .size02 {
    font-size: 2.75rem;
  }
  .cta-box-img01 {
    width: 41.25rem;
    margin: 1.75rem auto 0;
  }
  .cta-box-wrap {
    position: relative;
  }
  .cta-tel {
    font-size: 4.375rem;
    letter-spacing: -0.04em;
    color: #fff;
    font-family: "century";
    position: relative;
    margin: 0.4375rem 0 0 12.3125rem;
  }
  .cta-tel::after {
    content: "";
    position: absolute;
    background: url(../images/cta-free.webp) no-repeat center/cover;
    width: 8rem;
    height: 8rem;
    top: -52%;
    left: -33%;
  }
  .cta-time {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    font-family: "gothicB";
    color: #fff;
    margin: 0.6875rem 0 0 16.875rem;
  }
  .cta-time .dinB {
    font-size: 2.125rem;
    font-family: "dinB";
    letter-spacing: 0;
    margin: 0 0 0 1.25rem;
  }
  .cta-contents {
    margin: 1.375rem auto 0;
  }
  .cta-contents-txt01 {
    color: #000;
    font-size: 1.625rem;
    font-weight: 600;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1.42;
  }
  .cta-contents-txt01 .color {
    font-size: 2.125rem;
  }
  .cta-contents-txt01 .alert {
    font-size: 1.25rem;
    vertical-align: super;
  }
  .cta-contents-timer {
    font-size: 2.125rem;
    letter-spacing: 0.06em;
    text-align: center;
    color: #ff2100;
    font-weight: 600;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 1.25rem 0 0 0;
  }
  .cta-contents-timer .color {
    color: #000;
    font-size: 1.75rem;
  }
  .cta-note {
    font-size: 1.25rem;
    color: #000;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 1rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .cta-bg01 {
    background: url(../images/cta-head-bg.webp) no-repeat bottom center/cover;
    padding: 0.3125rem 0 3.5rem;
    position: relative;
  }
  .cta-bg02 {
    background: transparent url(../images/fv-bg02.webp) center/cover no-repeat;
    padding: 6.25rem 0 5rem 0;
    margin: -5.9375rem 0 0 0;
  }
  .cta-head-ttl {
    width: 61.25rem;
    margin: 0 0 0 4.6875rem;
  }
  .cta-txt01 {
    font-size: 1.25rem;
    letter-spacing: 0;
    font-weight: 600;
    text-align: center;
    position: relative;
  }
  .cta-txt01 .color {
    color: #ff2100;
  }
  .cta-txt01::before {
    content: "";
    position: absolute;
    background: url(../images/cta-item01.webp) no-repeat center/cover;
    width: 4.5625rem;
    height: 3.75rem;
    top: -100%;
    left: 0;
  }
  .cta-box {
    background: url(../images/cta-bg01.webp) no-repeat center/cover;
    width: 62.5rem;
    height: 29.6875rem;
    margin: 4.25rem 0 0 0;
    padding: 0.0625rem 0 0 0;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .cta-box-txt01 {
    width: 34.625rem;
    margin: -2.375rem auto 0;
  }
  .cta-box-txt02 {
    text-align: center;
    font-size: 1.9375rem;
    font-family: "gothicB";
    letter-spacing: 0.1em;
    font-style: italic;
    color: #fff;
    text-shadow: 0.125rem 0.125rem 0.25rem #0a2752;
    margin: 0.5rem 0 0 0;
  }
  .cta-box-txt02 .size01 {
    font-size: 3rem;
  }
  .cta-box-txt02 .size02 {
    font-size: 2.75rem;
  }
  .cta-box-img01 {
    width: 47.5rem;
    margin: 0.375rem auto 0;
  }
  .cta-box-wrap {
    position: relative;
  }
  .cta-tel {
    font-size: 5.25rem;
    letter-spacing: -0.04em;
    color: #fff;
    font-family: "century";
    position: relative;
    margin: 1rem 0 0 16.25rem;
  }
  .cta-tel::before {
    content: "";
    position: absolute;
    background: url(../images/cta-tel.webp) no-repeat center/cover;
    width: 4rem;
    height: 4.125rem;
    top: 14%;
    left: -9.8%;
  }
  .cta-tel::after {
    content: "";
    position: absolute;
    background: url(../images/cta-free.webp) no-repeat center/cover;
    width: 7.875rem;
    height: 7.875rem;
    top: -53%;
    left: -28.8%;
  }
  .cta-time {
    font-size: 1rem;
    letter-spacing: 0.1em;
    font-family: "gothicB";
    color: #fff;
    position: absolute;
    top: 16%;
    right: 7%;
    text-align: center;
    background: #000f81;
    width: 6.875rem;
    border-radius: 1.875rem;
    padding: 0.6875rem 0 0.3125rem;
    line-height: 1.25;
  }
  .cta-time .dinR {
    font-size: 1.25rem;
    font-family: "dinR";
    letter-spacing: -0.08em;
  }
  .cta-contents {
    width: 47.5rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 1.9375rem auto 0;
  }
  .cta-contents-txt01 {
    background: #000a61;
    height: 4.375rem;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.9375rem 0;
    line-height: 1.25;
  }
  .cta-contents-txt01 .color {
    color: #ffe400;
    font-size: 1.25rem;
  }
  .cta-contents-txt01 .alert {
    font-size: 0.5625rem;
  }
  .cta-contents-timer {
    background: #fff6a9;
    font-size: 1rem;
    letter-spacing: 0;
    height: 4.375rem;
    text-align: center;
    color: #ff2100;
    font-weight: 600;
    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;
  }
  .cta-contents-timer .color {
    color: #000;
  }
  .cta-note {
    font-size: 0.75rem;
    color: #fff;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 1.125rem 0 0 0;
  }
}
/*==============================================================================
price
============================================================================= */
@media screen and (max-width: 767px) {
  .price-bg {
    background: #fff2d3;
    padding: 5.375rem 0 4.625rem;
  }
  .price-ttl01 {
    margin: 1.875rem auto 0;
    width: 43.4375rem;
  }
  .price-txt01 {
    font-size: 2.75rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 600;
    position: relative;
  }
  .price-txt01 .size01 {
    font-size: 2.25rem;
  }
  .price-txt01:before {
    content: "";
    position: absolute;
    background: url(../images/price-shape01.webp) no-repeat center/cover;
    width: 2.625rem;
    height: 3.875rem;
    top: -25%;
    left: 7%;
  }
  .price-txt01:after {
    content: "";
    position: absolute;
    background: url(../images/price-shape01.webp) no-repeat center/cover;
    width: 2.625rem;
    height: 3.875rem;
    top: -25%;
    right: 9%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .price-txt02 {
    font-size: 2.5rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 600;
    position: relative;
    background: #fe723a;
    color: #fff;
    padding: 0.9375rem 0;
    border-radius: 2.1875rem;
    margin: 3rem 0 0 0;
  }
  .price-txt02 .alert {
    font-size: 1.125rem;
    vertical-align: super;
    font-weight: 300;
  }
  .price-txt02::before {
    content: "";
    position: absolute;
    background: url(../images/price-item01.webp) no-repeat center/cover;
    width: 13.9375rem;
    height: 8.6875rem;
    top: -57%;
    right: -1%;
  }
  .price-list {
    margin: 2.5rem 0 0 0;
  }
  .price-item {
    background: #fff;
    margin: 1.25rem 0 0 0;
    padding: 0 0 1.8125rem;
  }
  .price-item .ttl01 {
    background: url(../images/price-bg01.webp) no-repeat center/cover;
    color: #ffe402;
    font-size: 3.125rem;
    letter-spacing: 0;
    text-align: center;
    font-weight: 600;
    padding: 0.9375rem 0;
  }
  .price-item .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .price-item .right-box {
    padding: 0 0 0 1.875rem;
  }
  .price-item .img01 {
    width: 15.625rem;
    margin: 1.75rem 0 0 -0.625rem;
  }
  .price-item .img02 {
    width: 22.8125rem;
    margin: 1.875rem 0 0 0;
  }
  .price-item .txt01 {
    font-size: 3.125rem;
    font-style: italic;
    color: #ff0b04;
    letter-spacing: 0;
    font-family: "gothicH";
    margin: -0.125rem 0 0 0;
  }
  .price-item .txt01 .size01 {
    font-family: "century";
    font-size: 7.5rem;
    margin: 0 0.9375rem 0 0;
  }
  .price-item .txt01 .size02 {
    font-family: "gothicDB";
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(20rem, -6.875rem);
            transform: translate(20rem, -6.875rem);
  }
  .price-item .txt02 {
    font-size: 1.875rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    line-height: 1.63;
    margin: -2.4375rem 0 0 0;
  }
  .price-item:nth-of-type(2) .txt01 {
    margin: -0.1875rem 0 0 -0.9375rem;
  }
  .price-item:last-child .txt01 {
    margin: -0.125rem 0 0 -0.625rem;
  }
  .price-item:last-child .txt01 .size02 {
    -webkit-transform: translate(-5.9375rem, -3.4375rem);
            transform: translate(-5.9375rem, -3.4375rem);
  }
  .price-item:last-child .txt02 {
    margin: 0.6875rem 0 0 0;
  }
  .price-item:last-child .img01 {
    width: 14.375rem;
    margin-top: 1.875rem;
  }
  .price-free01 {
    width: 46.875rem;
    margin: 1rem 0 0 -1.25rem;
  }
  .price-block {
    margin: 1.25rem 0 0 0;
  }
  .price-box01 {
    background: #fff;
    padding: 2.5rem 2.5rem 0.0625rem 2.5rem;
    border-radius: 1.875rem;
  }
  .price-box01 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1.6875rem 1.875rem;
  }
  .price-box01 .grid .txt01 {
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    padding: 0.875rem 0 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .price-box01 .grid .txt01 .alert {
    vertical-align: super;
    font-size: 0.9375rem;
  }
  .price-box01 .grid .txt01:first-child {
    background: url(../images/price-img04.webp) no-repeat center/cover;
    height: 14.5625rem;
    width: 18.75rem;
  }
  .price-box01 .grid .txt01:nth-of-type(2) {
    background: url(../images/price-img05.webp) no-repeat center/cover;
    height: 14.5625rem;
    width: 18.75rem;
  }
  .price-box01 .grid .txt01:nth-of-type(3) {
    background: url(../images/price-img06.webp) no-repeat center/cover;
    height: 14.5625rem;
    width: 18.75rem;
  }
  .price-box01 .grid .txt01:last-child {
    background: url(../images/price-img07.webp) no-repeat center/cover;
    height: 14.5625rem;
    width: 18.75rem;
  }
  .price-box01 .img01 {
    width: 31.25rem;
    margin: 0.8125rem auto -2rem;
  }
  .price-box02 {
    background: #fff;
    padding: 2.5rem 0 2.25rem 0;
    border-radius: 1.875rem;
    position: relative;
    margin: 9.6875rem 0 0 0;
  }
  .price-box02:before {
    content: "";
    position: absolute;
    background: url(../images/price-free03.webp) no-repeat center/cover;
    width: 6.875rem;
    height: 6.25rem;
    top: -6%;
    left: -1%;
  }
  .price-box02:after {
    content: "";
    position: absolute;
    background: url(../images/price-item02.webp) no-repeat center/cover;
    width: 4.8125rem;
    height: 4.8125rem;
    top: -29%;
    left: 0;
    right: 0;
    margin: auto;
  }
  .price-box02 .ttl01 {
    font-size: 2.25rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-align: center;
    position: relative;
  }
  .price-box02 .ttl01:before {
    content: "";
    position: absolute;
    background: url(../images/price-shape02.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 3.125rem;
    top: -25%;
    left: 17%;
  }
  .price-box02 .ttl01:after {
    content: "";
    position: absolute;
    background: url(../images/price-shape02.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 3.125rem;
    top: -25%;
    right: 18%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .price-box02-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.8125rem;
    margin: 1.875rem 0 0 0;
  }
  .price-box02 .txt01 {
    font-family: "gothicB";
    font-size: 4.375rem;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.22;
    margin: -0.1875rem 0 0 0;
  }
  .price-box02 .txt01 .color {
    color: #fe6427;
  }
  .price-box02 .img01 {
    width: 18.75rem;
  }
  .price-box02 .txt02 {
    font-size: 1.75rem;
    letter-spacing: 0;
    text-align: center;
    margin: 1.875rem 0 0 0;
  }
  .price-box02 .txt02 .alert {
    font-size: 1rem;
    font-weight: 300;
    vertical-align: super;
  }
  .price-note {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
    margin: 1.375rem 1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) {
  .price-bg {
    background: #fff2d3;
    padding: 4.6875rem 0 6.25rem;
  }
  .price-inner {
    position: relative;
  }
  .price-inner::before {
    content: "";
    position: absolute;
    background: url(../images/price-item01.webp) no-repeat center/cover;
    width: 13.9375rem;
    height: 8.6875rem;
    top: -5.5%;
    right: -1%;
  }
  .price-ttl01 {
    margin: 1.125rem 0 0 0;
  }
  .price-txt01 {
    font-size: 1.9375rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 600;
    position: relative;
  }
  .price-txt01 .size01 {
    font-size: 1.625rem;
  }
  .price-txt01:before {
    content: "";
    position: absolute;
    background: url(../images/price-shape01.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 3.125rem;
    top: -45%;
    left: 27%;
  }
  .price-txt01:after {
    content: "";
    position: absolute;
    background: url(../images/price-shape01.webp) no-repeat center/cover;
    width: 1.875rem;
    height: 3.125rem;
    top: -45%;
    right: 28%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .price-txt02 {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    text-align: center;
    font-weight: 600;
    position: relative;
    background: #fe723a;
    color: #fff;
    padding: 0.8125rem 0;
    border-radius: 1.5625rem;
    margin: 1.125rem 0 0 0;
  }
  .price-txt02 .alert {
    display: inline-block;
    font-size: 0.875rem;
    -webkit-transform: translate(0rem, -0.4375rem);
            transform: translate(0rem, -0.4375rem);
    font-weight: 300;
  }
  .price-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1.25rem;
    margin: 1.3125rem 0 0 0;
  }
  .price-item {
    background: #fff;
  }
  .price-item .ttl01 {
    background: url(../images/price-bg01.webp) no-repeat center/cover;
    color: #ffe402;
    font-size: 1.5rem;
    letter-spacing: 0;
    text-align: center;
    font-weight: 600;
    padding: 0.8125rem 0;
  }
  .price-item .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.0625rem;
    margin: 1.125rem 0 0 1.75rem;
  }
  .price-item .img01 {
    width: 8.3125rem;
  }
  .price-item .img02 {
    width: 6.5625rem;
  }
  .price-item .txt01 {
    font-size: 1.875rem;
    font-style: italic;
    color: #ff0b04;
    letter-spacing: 0;
    font-family: "gothicH";
    margin: 0.5625rem 0 0 2.75rem;
  }
  .price-item .txt01 .size01 {
    font-family: "century";
    font-size: 4.375rem;
  }
  .price-item .txt01 .size02 {
    font-family: "gothicDB";
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #000;
    display: inline-block;
    -webkit-transform: translate(11.25rem, -4.0625rem);
            transform: translate(11.25rem, -4.0625rem);
  }
  .price-item .txt02 {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    line-height: 1.66;
    margin: -1.25rem 0 1.875rem 1.875rem;
  }
  .price-item:last-child .txt01 {
    margin: 0.625rem 0 0 4.375rem;
  }
  .price-item:last-child .txt01 .size02 {
    -webkit-transform: translate(-3.4375rem, -2rem);
            transform: translate(-3.4375rem, -2rem);
  }
  .price-item:last-child .txt02 {
    margin: 0.625rem 0 2rem 1.875rem;
  }
  .price-free01 {
    width: 50.9375rem;
    margin: 1.8125rem auto 0;
  }
  .price-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5rem;
    margin: 1.25rem 0 0 0;
    position: relative;
  }
  .price-block:before {
    content: "";
    position: absolute;
    background: url(../images/price-item02.webp) no-repeat center/cover;
    width: 3.125rem;
    height: 3.125rem;
    top: 33%;
    left: 4%;
    right: 0;
    margin: auto;
  }
  .price-box01 {
    background: #fff;
    padding: 1.6875rem 1.875rem 0 1.875rem;
    border-radius: 1.5625rem;
  }
  .price-box01 .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1.25rem;
  }
  .price-box01 .grid .txt01 {
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
    padding: 0.625rem 0 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .price-box01 .grid .txt01 .alert {
    display: inline-block;
    font-size: 0.625rem;
    -webkit-transform: translate(0rem, -0.3125rem);
            transform: translate(0rem, -0.3125rem);
  }
  .price-box01 .grid .txt01:first-child {
    background: url(../images/price-img04.webp) no-repeat center/cover;
    height: 9.8125rem;
    width: 12.5rem;
  }
  .price-box01 .grid .txt01:nth-of-type(2) {
    background: url(../images/price-img05.webp) no-repeat center/cover;
    height: 9.8125rem;
    width: 12.5rem;
  }
  .price-box01 .grid .txt01:nth-of-type(3) {
    background: url(../images/price-img06.webp) no-repeat center/cover;
    height: 9.8125rem;
    width: 12.5rem;
  }
  .price-box01 .grid .txt01:last-child {
    background: url(../images/price-img07.webp) no-repeat center/cover;
    height: 9.8125rem;
    width: 12.5rem;
  }
  .price-box01 .img01 {
    width: 20.9375rem;
    margin: 0.625rem auto -1.5625rem;
  }
  .price-box02 {
    background: #fff;
    padding: 2.5rem 0 2.5rem 0;
    border-radius: 1.5625rem;
    position: relative;
  }
  .price-box02:before {
    content: "";
    position: absolute;
    background: url(../images/price-free03.webp) no-repeat center/cover;
    width: 6.375rem;
    height: 5.625rem;
    top: 0;
    left: -5%;
  }
  .price-box02 .ttl01 {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 0 8.125rem;
    position: relative;
  }
  .price-box02 .ttl01:before {
    content: "";
    position: absolute;
    background: url(../images/price-shape02.webp) no-repeat center/cover;
    width: 1.375rem;
    height: 2.1875rem;
    top: -30%;
    left: -15%;
  }
  .price-box02 .ttl01:after {
    content: "";
    position: absolute;
    background: url(../images/price-shape02.webp) no-repeat center/cover;
    width: 1.375rem;
    height: 2.1875rem;
    top: -30%;
    right: 9%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .price-box02 .txt01 {
    font-family: "gothicB";
    font-size: 2.875rem;
    letter-spacing: 0.04em;
    text-align: center;
    margin: 2.5rem 0 0 0;
  }
  .price-box02 .txt01 .color {
    color: #fe6427;
  }
  .price-box02 .img01 {
    width: 15.3125rem;
    margin: 1rem auto 0;
  }
  .price-box02 .txt02 {
    font-size: 1rem;
    letter-spacing: 0;
    text-align: center;
    margin: 1.0625rem 0 0 0;
  }
  .price-box02 .txt02 .alert {
    display: inline-block;
    font-size: 0.625rem;
    -webkit-transform: translate(0rem, -0.3125rem);
            transform: translate(0rem, -0.3125rem);
    font-weight: 300;
  }
  .price-note {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    line-height: 1.66;
    margin: 0.9375rem 0 0 0;
  }
}
/*==============================================================================
value
============================================================================= */
@media screen and (max-width: 767px) {
  .value-bg {
    background: #fe6427;
    padding: 3.4375rem 0 5.0625rem;
  }
  .value-ttl01 {
    width: 40.3125rem;
    margin: 0 auto;
  }
  .value-item {
    background: #fff;
    margin: 1.875rem 0 0 0;
    padding: 2.625rem 0 2.5rem 2.5rem;
    position: relative;
  }
  .value-item .ttl01 {
    font-size: 3.4375rem;
    letter-spacing: 0.02em;
    line-height: 1.36;
    font-weight: 600;
  }
  .value-item .txt01 {
    font-size: 1.875rem;
    letter-spacing: 0.02em;
    margin: 0.9375rem 0 0 0;
    line-height: 1.63;
  }
  .value-item .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .value-item:first-child {
    margin: 3.625rem 0 0 0;
  }
  .value-item:first-child:before {
    content: "";
    position: absolute;
    background: url(../images/value-item01.webp) no-repeat center/cover;
    width: 16.4375rem;
    height: 10.5625rem;
    top: 7%;
    right: -1.5%;
  }
  .value-item:nth-of-type(2) {
    padding: 2.625rem 0 2.25rem 2.5rem;
  }
  .value-item:nth-of-type(2):before {
    content: "";
    position: absolute;
    background: url(../images/value-item02.webp) no-repeat center/cover;
    width: 16.375rem;
    height: 12.125rem;
    top: 7%;
    right: -1%;
  }
  .value-item:last-child {
    padding: 2.5rem 0 2.25rem 2.5rem;
  }
  .value-item:last-child:before {
    content: "";
    position: absolute;
    background: url(../images/value-item03.webp) no-repeat center/cover;
    width: 16.4375rem;
    height: 13.5rem;
    top: 6%;
    right: -1%;
  }
}
@media screen and (min-width: 768px) {
  .value-bg {
    background: #fe6427;
    padding: 5rem 0 5.9375rem;
    margin: 0 0 -0.0625rem 0;
  }
  .value-ttl01 {
    width: 46.4375rem;
    margin: 0 auto;
  }
  .value-item {
    background: #fff;
    margin: 1.3125rem 0 0 0;
    padding: 1.8125rem 0 1.9375rem 1.875rem;
    position: relative;
  }
  .value-item .ttl01 {
    font-size: 2.3125rem;
    letter-spacing: 0.02em;
    font-weight: 600;
  }
  .value-item .txt01 {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
    margin: 1.6875rem 0 0 0;
  }
  .value-item .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .value-item:first-child {
    margin: 3.5625rem 0 0 0;
  }
  .value-item:first-child:before {
    content: "";
    position: absolute;
    background: url(../images/value-item01.webp) no-repeat center/cover;
    width: 11.25rem;
    height: 7.4375rem;
    top: -5%;
    right: 2%;
  }
  .value-item:nth-of-type(2):before {
    content: "";
    position: absolute;
    background: url(../images/value-item02.webp) no-repeat center/cover;
    width: 11.25rem;
    height: 8.25rem;
    top: -5%;
    right: 2%;
  }
  .value-item:last-child:before {
    content: "";
    position: absolute;
    background: url(../images/value-item03.webp) no-repeat center/cover;
    width: 11.25rem;
    height: 9.375rem;
    top: -5%;
    right: 2%;
  }
}
/*==============================================================================
possible
============================================================================= */
@media screen and (max-width: 767px) {
  .possible-ttl01 {
    width: 44.0625rem;
    margin: 0 auto;
    padding: 10.1875rem 0 0 0;
  }
  .possible-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.375rem 1.125rem;
    margin: 2.6875rem 0 0 0;
  }
  .possible-item .ttl01 {
    font-family: "gothicH";
    color: #fff;
    font-size: 1.875rem;
    letter-spacing: 0.32em;
    text-align: center;
    background: url(../images/possible-bg02.webp) no-repeat center/cover;
    width: 12.4375rem;
    height: 4.3125rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.8125rem 0 0 0;
    margin: 0 auto;
    position: relative;
  }
  .possible-item:last-child .ttl01 {
    letter-spacing: 0;
  }
  .possible-item .img01 {
    margin: -1.875rem 0 0 0;
  }
  .possible-note {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 1.75rem 0 0 0;
  }
  .possible-ttl02 {
    width: 40.625rem;
    margin: 3.75rem auto 0;
  }
  .possible-list02 {
    margin: 1.6875rem 0 0 0;
  }
  .possible-item02 {
    background: #fff;
    margin: 1.25rem 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
  }
  .possible-item02-box {
    position: relative;
  }
  .possible-item02 .ttl01 {
    font-family: "gothicB";
    color: #fff;
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    text-align: center;
    position: absolute;
    top: 4.5%;
    left: 11%;
  }
  .possible-item02 .img01 {
    width: 15.0625rem;
    height: 13.75rem;
  }
  .possible-item02 .txt01 {
    color: #ff0000;
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    margin: 1.875rem 0 0 0;
    position: relative;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .possible-item02 .txt01::before {
    content: "";
    position: absolute;
    background: #000;
    width: 25.625rem;
    height: 0.25rem;
    border-radius: 2.1875rem;
    top: 145%;
    left: 0;
  }
  .possible-item02 .txt02 {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    line-height: 1.46;
    margin: 2.0625rem 0 0 0;
  }
  .possible-item02:nth-of-type(2) .ttl01 {
    font-size: 1.75rem;
    left: 8%;
    top: 6.5%;
  }
  .possible-item02:nth-of-type(2) .txt01 {
    font-size: 2.25rem;
    margin: 1.25rem 0 0 0;
    letter-spacing: 0;
  }
  .possible-item02:nth-of-type(2) .txt01::before {
    top: 150%;
  }
  .possible-item02:nth-of-type(2) .txt02 {
    margin: 2.125rem 0 0 0;
    line-height: 1.33;
  }
  .possible-item02:last-child .ttl01 {
    font-size: 1.75rem;
    left: 4%;
    top: 7%;
  }
  .possible-item02:last-child .ttl01 .size01 {
    font-size: 1.375rem;
  }
  .possible-item02:last-child .txt01 {
    font-size: 2.25rem;
    margin: 1.25rem 0 0 0;
  }
  .possible-item02:last-child .txt01::before {
    top: 150%;
  }
  .possible-item02:last-child .txt02 {
    margin: 2.125rem 0 0 0;
    line-height: 1.33;
  }
  .possible-item02-note {
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 0.9375rem 0 0 0;
  }
  .possible-txt01 {
    width: 43.75rem;
    margin: 1.75rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .possible-ttl01 {
    width: 44.25rem;
    margin: 0 auto;
    padding: 9.625rem 0 0 0;
  }
  .possible-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.6875rem;
    margin: 2.25rem 0 0 0;
  }
  .possible-item .ttl01 {
    font-family: "gothicH";
    color: #fff;
    font-size: 1.3125rem;
    letter-spacing: 0.32em;
    text-align: center;
    background: url(../images/possible-bg02.webp) no-repeat center/cover;
    width: 8.75rem;
    height: 2.9375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.5rem 0 0 0;
    margin: 0 auto;
    position: relative;
  }
  .possible-item:last-child .ttl01 {
    letter-spacing: 0;
  }
  .possible-item .img01 {
    margin: -1.25rem 0 0 0;
  }
  .possible-note {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-align: right;
    margin: 1.0625rem 0 0 0;
  }
  .possible-ttl02 {
    width: 50rem;
    margin: 2.5rem auto 0;
  }
  .possible-list02 {
    margin: 1.875rem 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.25rem;
  }
  .possible-item02 {
    background: #fff;
  }
  .possible-item02 .ttl01 {
    font-family: "gothicB";
    color: #fff;
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    text-align: center;
    background: #000;
    height: 3.75rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    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;
  }
  .possible-item02 .txt01 {
    color: #ff0000;
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    text-align: center;
    font-weight: 600;
    margin: 1.625rem 0 0 0;
    position: relative;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .possible-item02 .txt01::before {
    content: "";
    position: absolute;
    background: #000;
    width: 17.5rem;
    height: 0.25rem;
    border-radius: 2.1875rem;
    top: 163%;
    left: 0;
    right: 0;
    margin: auto;
  }
  .possible-item02 .txt02 {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin: 2.25rem 0 1.5625rem 1.5625rem;
  }
  .possible-item02:nth-of-type(2) .ttl01 {
    font-size: 1.75rem;
  }
  .possible-item02:nth-of-type(2) .txt01 {
    font-size: 1.5625rem;
    letter-spacing: 0;
    margin: 1.8125rem 0 0 0;
  }
  .possible-item02:nth-of-type(2) .txt01::before {
    top: 175%;
  }
  .possible-item02:nth-of-type(2) .txt02 {
    margin: 2.25rem 0 0 1.5625rem;
  }
  .possible-item02:last-child .ttl01 {
    font-size: 1.75rem;
  }
  .possible-item02:last-child .ttl01 .size01 {
    font-size: 1.375rem;
  }
  .possible-item02:last-child .txt01 {
    font-size: 1.5625rem;
    margin: 1.8125rem 0 0 0;
  }
  .possible-item02:last-child .txt01::before {
    top: 175%;
  }
  .possible-item02-note {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    line-height: 1.25;
    margin: 0.3125rem 0.625rem 0.625rem 1.5625rem;
  }
  .possible-txt01 {
    width: 34.6875rem;
    margin: 1.75rem auto 0;
  }
}
/*==============================================================================
risk
============================================================================= */
@media screen and (max-width: 767px) {
  .risk-bg {
    background: url(../images/risk-bg_sp.webp) no-repeat center center/cover;
    padding: 2.1875rem 0 4.25rem 0;
  }
  .risk-ttl01 {
    width: 46.875rem;
    margin: 0 0 0 -1.25rem;
  }
  .risk-ttl02 {
    color: #ffe400;
    font-family: "gothicH";
    text-align: center;
    font-size: 2.8125rem;
    letter-spacing: 0.04em;
    line-height: 1.28;
    position: relative;
    margin: -0.5625rem 0 0 7.5rem;
  }
  .risk-ttl02::before {
    content: "";
    position: absolute;
    background: url(../images/cta-item01.webp) no-repeat center/cover;
    width: 8.4375rem;
    height: 6.875rem;
    top: 0;
    left: -19%;
  }
  .risk-list {
    margin: 4.6875rem 0.625rem 0;
  }
  .risk-item {
    background: #fff;
    position: relative;
    padding: 3.5rem 0 3rem 5rem;
    border-radius: 2.1875rem;
    margin: 4.125rem 0 0 0;
  }
  .risk-item .img01 {
    position: absolute;
    width: 11.875rem;
    top: -23%;
    left: -5%;
  }
  .risk-item .txt01 {
    font-size: 3.875rem;
    font-weight: 600;
    letter-spacing: 0;
    font-style: italic;
  }
  .risk-item .txt01 .color {
    color: #ff0000;
  }
  .risk-item .txt02 {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    line-height: 1.53;
    font-weight: 300;
    margin: 1.75rem 0 0 0;
    color: #0d0d0d;
  }
  .risk-item:first-child::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item01.webp) no-repeat center/cover;
    width: 6.125rem;
    height: 7rem;
    top: 47%;
    left: -2.5%;
  }
  .risk-item:last-child {
    padding: 3.8125rem 0 3.0625rem 5rem;
  }
  .risk-item:last-child .img01 {
    top: -19%;
  }
  .risk-item:last-child .txt01 {
    font-size: 3.625rem;
  }
  .risk-item:last-child .txt02 {
    margin: 2rem 0 0 0;
  }
  .risk-item:last-child::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item02.webp) no-repeat center/cover;
    width: 6.375rem;
    height: 6.25rem;
    top: 38%;
    left: -5%;
  }
  .risk-box {
    width: 43.125rem;
    height: 26.1875rem;
    background: #fff;
    margin: 3.75rem auto 0;
  }
  .risk-box .ttl01 {
    font-size: 3.125rem;
    font-style: italic;
    letter-spacing: 0;
    font-weight: 600;
    background: #ffe400;
    height: 6.6875rem;
    display: grid;
    place-items: center;
  }
  .risk-box .txt01 {
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.78;
    margin: 1.5rem 2.5rem 1.875rem 1.875rem;
  }
  .risk-box .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .risk-box02 {
    position: relative;
  }
  .risk-box02::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item03.webp) no-repeat center/cover;
    width: 15rem;
    height: 20rem;
    top: -12%;
    right: -6%;
  }
  .risk-box02 .txt01 {
    font-family: "gothicB";
    color: #fff;
    font-size: 2.6875rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin: 3rem 0 0 1.25rem;
  }
  .risk-box02 .txt01 .color {
    color: #ffe400;
  }
  .risk-box02 .txt02 {
    font-family: "gothicH";
    font-size: 3.125rem;
    letter-spacing: 0.04em;
    color: #fff;
    line-height: 1.2;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin: 2.0625rem 0 0 1.25rem;
    text-shadow: 0.625rem 0.625rem 0 #000, -0.625rem -0.625rem 0 #000, -0.625rem 0.625rem 0 #000, 0.625rem -0.625rem 0 #000, 0.625rem 0 0 #000, -0.625rem 0 0 #000, 0 0.625rem 0 #000, 0 -0.625rem 0 #000;
  }
  .risk-box02 .txt02 .size01 {
    font-size: 4rem;
  }
  .risk-box02 .txt02 .color {
    color: #ff0000;
    font-size: 5.625rem;
  }
}
@media screen and (min-width: 768px) {
  .risk-bg {
    background: url(../images/risk-bg.webp) no-repeat center center/cover;
    padding: 0.625rem 0 4.75rem 0;
  }
  .risk-ttl01 {
    width: 69.0625rem;
  }
  .risk-ttl02 {
    color: #ffe400;
    font-family: "gothicH";
    text-align: center;
    font-size: 2rem;
    letter-spacing: 0.06em;
    line-height: 1.35;
    position: relative;
    margin: -4.875rem 0 0 0;
  }
  .risk-ttl02::before {
    content: "";
    position: absolute;
    background: url(../images/cta-item01.webp) no-repeat center/cover;
    width: 6.25rem;
    height: 5.125rem;
    top: 0;
    left: 20%;
  }
  .risk-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1.875rem;
    margin: 7.25rem 0 0 0;
  }
  .risk-item {
    background: #fff;
    position: relative;
    padding: 4.375rem 0 2.6875rem 3.125rem;
    border-radius: 1.875rem;
  }
  .risk-item .img01 {
    position: absolute;
    width: 11.875rem;
    top: -31%;
    left: 0;
  }
  .risk-item .txt01 {
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0;
    font-style: italic;
  }
  .risk-item .txt01 .color {
    color: #ff0000;
  }
  .risk-item .txt02 {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    line-height: 1.66;
    font-weight: 300;
    margin: 0.875rem 0 0 0;
    color: #0d0d0d;
  }
  .risk-item:first-child::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item01.webp) no-repeat center/cover;
    width: 6.125rem;
    height: 7rem;
    top: -24%;
    right: 7%;
  }
  .risk-item:last-child::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item02.webp) no-repeat center/cover;
    width: 6.375rem;
    height: 6.25rem;
    top: -24%;
    right: 12%;
  }
  .risk-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2.5rem 0 0 0;
    gap: 2.5rem;
    position: relative;
  }
  .risk-block::before {
    content: "";
    position: absolute;
    background: url(../images/risk-item03.webp) no-repeat center/cover;
    width: 13.125rem;
    height: 17.0625rem;
    top: -9%;
    right: -14.5%;
  }
  .risk-box {
    width: 30.3125rem;
    height: 17.875rem;
    background: #fff;
  }
  .risk-box .ttl01 {
    font-size: 2.25rem;
    font-style: italic;
    letter-spacing: 0;
    font-weight: 600;
    background: #ffe400;
    height: 5rem;
    display: grid;
    place-items: center;
  }
  .risk-box .txt01 {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    line-height: 1.66;
    margin: 1.5rem 2.5rem 1.875rem 1.875rem;
  }
  .risk-box .txt01 .color {
    color: #ff0000;
    font-weight: 600;
  }
  .risk-box02 .txt01 {
    font-family: "gothicB";
    color: #fff;
    font-size: 2.25rem;
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin: 0.4375rem 0 0 0;
  }
  .risk-box02 .txt01 .color {
    color: #ffe400;
  }
  .risk-box02 .txt02 {
    font-family: "gothicH";
    font-size: 2.625rem;
    letter-spacing: 0.04em;
    color: #fff;
    line-height: 1.26;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin: 1.8125rem 0 0 0;
  }
  .risk-box02 .txt02 .size01 {
    font-size: 3.25rem;
  }
  .risk-box02 .txt02 .color {
    color: #ff0000;
    font-size: 4.75rem;
  }
}
/*==============================================================================
flow
============================================================================= */
@media screen and (max-width: 767px) {
  .flow-bg {
    background: #ebebeb;
    padding: 2.5rem 0 6.5625rem 0;
  }
  .flow-inner {
    position: relative;
  }
  .flow-inner:before {
    content: "";
    position: absolute;
    background: url(../images/flow-bg01_sp.webp) no-repeat center/cover;
    width: 25.625rem;
    height: 29.6875rem;
    top: -2.5rem;
    right: -1.25rem;
  }
  .flow-ttl01 {
    width: 32rem;
    margin: 0 0 0 1.25rem;
    position: relative;
  }
  .flow-note {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    text-align: left;
    position: relative;
    margin: 0.3125rem 0 0 1.25rem;
  }
  .flow-ttl02 {
    width: 46.875rem;
    margin: 0.375rem 0 0 -1.25rem;
    position: relative;
  }
  .flow-list {
    margin: 1.0625rem 0 0 0;
  }
  .flow-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 3.9375rem 0 0 0;
  }
  .flow-item:first-child {
    margin: 0;
  }
  .flow-item:nth-of-type(2) {
    margin: 2.5rem 0 0 0;
  }
  .flow-item:nth-of-type(2) .box {
    margin: -0.375rem 0 0 0;
  }
  .flow-item:nth-of-type(2) .txt02 {
    margin: 1.125rem 0 0 0;
  }
  .flow-item:nth-of-type(3) .box {
    margin: -0.3125rem 0 0 0;
  }
  .flow-item:nth-of-type(3) .txt02 {
    margin: 0.375rem 0 0 0;
  }
  .flow-item:nth-of-type(4) {
    margin: 3.75rem 0 0 0;
  }
  .flow-item:nth-of-type(6) .box {
    margin: -0.25rem 0 0 0;
  }
  .flow-item:nth-of-type(6) .txt02 {
    margin: 0.375rem 0 0 0;
  }
  .flow-item .img01 {
    position: relative;
    width: 19.875rem;
  }
  .flow-item .ttl01 {
    font-family: "gothicH";
    font-size: 1.84375rem;
    letter-spacing: 0.04em;
    line-height: 1.33;
    color: #fff;
    position: absolute;
    top: 62%;
    left: 7%;
  }
  .flow-item .ttl01 .size01 {
    font-size: 3.0625rem;
  }
  .flow-item .ttl01 .alert {
    font-size: 0.8125rem;
    display: inline-block;
    -webkit-transform: translate(0.3125rem, -4.0625rem);
            transform: translate(0.3125rem, -4.0625rem);
  }
  .flow-item .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.625rem;
    margin: 0.0625rem 0 0;
  }
  .flow-item .num {
    font-size: 1.875rem;
    color: #fff;
    font-style: italic;
    background: url(../images/flow-shape01.webp) no-repeat center/cover;
    width: 3.4375rem;
    height: 4.0625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "NewRodin";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0.25rem 0 0 0.5rem;
  }
  .flow-item .txt01 {
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    line-height: 1.25;
  }
  .flow-item .txt01 .alert {
    font-size: 1.375rem;
    vertical-align: super;
  }
  .flow-item .txt02 {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
    margin: 0.75rem 0 0 0;
    width: 21.875rem;
  }
  .flow-item .txt02 .alert {
    font-size: 1.125rem;
    vertical-align: super;
    display: inline-block;
    text-indent: -0.9375rem;
  }
  .flow-item .txt02 .alert02 {
    font-size: 1.125rem;
    vertical-align: super;
  }
  .flow-item:nth-of-type(2) .ttl01 {
    top: 56%;
    line-height: 1.2;
  }
  .flow-btn {
    color: #fff;
    background: url(../images/flow-btn-bg.webp) no-repeat center/cover;
    width: 44.375rem;
    height: 6.5rem;
    font-size: 3.03125rem;
    letter-spacing: 0.1em;
    font-style: italic;
    font-family: "gothicB";
    text-shadow: 0.125rem 0.125rem 0.25rem #0a2752;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 1.25rem 0 0 0;
    padding: 0 0 0 13.75rem;
    position: relative;
  }
  .flow-btn:before {
    content: "";
    position: absolute;
    background: url(../images/flow-free.webp) no-repeat center/cover;
    width: 7.1875rem;
    height: 7.1875rem;
    top: -15%;
    left: 5%;
  }
  .flow-note02 {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    line-height: 1.25;
    margin: 2.1875rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .flow-bg {
    background: #ebebeb;
    padding: 4.8125rem 0 4.375rem 0;
  }
  .flow-inner {
    position: relative;
  }
  .flow-inner:before {
    content: "";
    position: absolute;
    background: url(../images/flow-bg01.webp) no-repeat center/cover;
    width: 30rem;
    height: 30rem;
    top: -6.5%;
    right: -2%;
  }
  .flow-ttl01 {
    width: 43.5625rem;
    position: relative;
  }
  .flow-note {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    margin: 0 0 0 24.375rem;
    position: relative;
  }
  .flow-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 2.5rem 1.875rem;
    margin: 2.5rem 0 0 0;
  }
  .flow-item .img01 {
    position: relative;
  }
  .flow-item .ttl01 {
    font-family: "gothicH";
    font-size: 1.84375rem;
    letter-spacing: 0.04em;
    line-height: 1.33;
    color: #fff;
    position: absolute;
    top: 61%;
    left: 7%;
  }
  .flow-item .ttl01 .size01 {
    font-size: 3.0625rem;
  }
  .flow-item .ttl01 .alert {
    font-size: 0.8125rem;
    display: inline-block;
    -webkit-transform: translate(0.3125rem, -4.0625rem);
            transform: translate(0.3125rem, -4.0625rem);
  }
  .flow-item .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 1.125rem 0 0 0;
    gap: 0.625rem;
  }
  .flow-item .num {
    font-size: 1.75rem;
    color: #fff;
    font-style: italic;
    background: url(../images/flow-shape01.webp) no-repeat center/cover;
    width: 3rem;
    height: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "NewRodin";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0 0 0.375rem;
  }
  .flow-item .txt01 {
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    line-height: 1.14;
  }
  .flow-item .txt01 .alert {
    font-size: 1rem;
    -webkit-transform: translate(0rem, -0.625rem);
            transform: translate(0rem, -0.625rem);
    display: inline-block;
  }
  .flow-item .txt02 {
    font-size: 1.125rem;
    letter-spacing: 0.04em;
    line-height: 1.55;
    margin: 1.25rem 0 0 0;
  }
  .flow-item .txt02 .alert {
    font-size: 0.625rem;
    -webkit-transform: translate(0rem, -0.3125rem);
            transform: translate(0rem, -0.3125rem);
    display: inline-block;
  }
  .flow-item .txt02 .alert02 {
    font-size: 0.625rem;
    -webkit-transform: translate(0rem, -0.3125rem);
            transform: translate(0rem, -0.3125rem);
    display: inline-block;
  }
  .flow-item:nth-of-type(2) .ttl01 {
    top: 56%;
    line-height: 1.2;
  }
  .flow-note02 {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    line-height: 1.25;
    margin: 1.875rem 0 0 0;
  }
}
/*==============================================================================
reason
============================================================================= */
@media screen and (max-width: 767px) {
  .reason-bg {
    background: #fff;
    padding: 4.9375rem 0 5rem;
  }
  .reason-ttl01 {
    width: 40.5rem;
    margin: 0 auto;
  }
  .reason-list {
    margin: 3.25rem 0 0 0;
  }
  .reason-item {
    background: url(../images/reason-bg01_sp.webp) no-repeat center/cover;
    border-radius: 1.5625rem;
    padding: 3.3125rem 1.25rem 3.3125rem 1.25rem;
    margin: 1.875rem 0 0 0;
  }
  .reason-item:nth-of-type(2), .reason-item:nth-of-type(4) {
    padding: 3.3125rem 1.25rem 3rem 1.25rem;
  }
  .reason-item:nth-of-type(3) {
    padding: 3.3125rem 1.25rem 3.75rem 1.25rem;
  }
  .reason-item:nth-of-type(3) .reason-item-ttl01 {
    margin: 1.9375rem 0 0 0;
    line-height: 1.3;
  }
  .reason-item:nth-of-type(3) .reason-item-txt01 {
    font-size: 1.875rem;
    letter-spacing: 0.02em;
    line-height: 1.66;
    margin: 1.75rem 0 0 0;
  }
  .reason-item:last-child {
    padding: 3.3125rem 1.25rem 3.4375rem 1.25rem;
  }
  .reason-item:last-child .reason-item-img01 {
    margin: 2.1875rem 0 0 0;
  }
  .reason-item:last-child .reason-item-note {
    margin: 0.125rem 0 0 0;
  }
  .reason-item-num {
    font-size: 2.5rem;
    font-family: "gothicB";
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
  }
  .reason-item-num .dinB {
    font-family: "dinB";
    letter-spacing: 0;
    font-size: 4.375rem;
    vertical-align: sub;
  }
  .reason-item-num::before {
    content: "";
    position: absolute;
    background: url(../images/reason-item01.webp) no-repeat center/cover;
    width: 2.75rem;
    height: 5.3125rem;
    top: -19%;
    left: 25%;
  }
  .reason-item-num::after {
    content: "";
    position: absolute;
    background: url(../images/reason-item01.webp) no-repeat center/cover;
    width: 2.75rem;
    height: 5.3125rem;
    top: -19%;
    right: 25%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .reason-item-ttl01 {
    font-size: 3.75rem;
    font-weight: 600;
    text-align: center;
    margin: 2.3125rem 0 0 0;
    line-height: 1.34;
  }
  .reason-item-ttl01 .color {
    background: #ff0000;
    color: #fff;
    padding: 0.4375rem 0.875rem;
    margin: 0 0.625rem 0 0;
    line-height: normal;
  }
  .reason-item-ttl01 .size01 {
    font-size: 2.75rem;
    display: inline-block;
    -webkit-transform: translate(0rem, -0.3125rem);
            transform: translate(0rem, -0.3125rem);
  }
  .reason-item-txt01 {
    font-size: 2.375rem;
    text-align: center;
    margin: 1.125rem 0 0 0;
    line-height: 1.52;
  }
  .reason-item-img01 {
    margin: 1.75rem 0 0 0;
  }
  .reason-item-txt02 {
    font-size: 1.875rem;
    letter-spacing: 0;
    line-height: 1.66;
    margin: 1.5625rem 0 0 0;
  }
  .reason-item-txt02 .alert {
    font-size: 1.125rem;
    vertical-align: super;
  }
  .reason-item-img02 {
    width: 44.375rem;
    margin: 1.75rem auto 0;
  }
  .reason-item-ttl02 {
    color: #fff;
    background: #000;
    font-size: 2.125rem;
    text-align: center;
    font-weight: 600;
    padding: 1.125rem 0;
    margin: 2.25rem 0 0 0;
  }
  .reason-item-img03 {
    margin: 1.25rem 0 0 0;
  }
  .reason-item-txt03 {
    text-align: center;
    font-size: 1.75rem;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-img04 {
    margin: 1.8125rem auto 0;
    width: 41.4375rem;
  }
  .reason-item-note {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0.625rem 0 0 0;
  }
  .reason-item02 {
    margin: 2.25rem 0 0 0;
  }
  .reason-item02:first-child {
    margin: 1.875rem 0 0 0;
  }
  .reason-item02:first-child .reason-item02-txt01 {
    line-height: 1.25;
  }
  .reason-item02:nth-of-type(2) .reason-item02-txt01 {
    line-height: 1.6;
    margin: 1.0625rem 0 0 0;
  }
  .reason-item02:nth-of-type(2) .reason-item02-txt01 .color {
    display: inline-block;
    margin-bottom: -0.125rem;
  }
  .reason-item02:last-child {
    margin: 1.875rem 0 0 0;
  }
  .reason-item02:last-child .reason-item02-txt01 {
    line-height: 1.28;
  }
  .reason-item02:last-child .reason-item02-txt01 .alert {
    font-size: 1.375rem;
    vertical-align: super;
  }
  .reason-item02:last-child .reason-item02-note {
    margin: 0.625rem 0 0 0;
  }
  .reason-item02-img01 {
    width: 41.875rem;
  }
  .reason-item02-txt01 {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    margin: 1.375rem 0 0 0;
  }
  .reason-item02-txt01 .color {
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    color: #ff0000;
    vertical-align: middle;
  }
  .reason-item02-txt01 .alert {
    font-size: 1.125rem;
    vertical-align: middle;
  }
  .reason-item02-note {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    line-height: 1.45;
    color: #555;
    margin: 0.5rem 0 0 0;
    text-align: center;
  }
  .reason-item03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0.625rem 0 0 0;
    gap: 1.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .reason-item03:first-child {
    margin: 1.75rem 0 0 0;
  }
  .reason-item03 .txt01 {
    color: #fff;
    background: #000;
    border-radius: 1.5625rem;
    font-size: 1.75rem;
    text-align: center;
    width: 8.75rem;
    font-weight: 600;
    padding: 0.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .reason-item03 .txt02 {
    font-size: 1.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .reason-bg {
    background: #fff;
    padding: 5rem 0 5rem;
  }
  .reason-ttl01 {
    width: 55rem;
    margin: 0 auto;
  }
  .reason-list {
    margin: 2.5rem 0 0 0;
  }
  .reason-item {
    background: url(../images/reason-bg01.webp) no-repeat center/cover;
    border-radius: 1.5625rem;
    padding: 2.5rem 1.875rem 2.5rem 2.5rem;
    margin: 2.5rem 0 0 0;
  }
  .reason-item:last-child {
    padding: 2.5rem 0.9375rem 2.5rem 2.5rem;
  }
  .reason-item:last-child .reason-item-txt02 {
    width: 25.9375rem;
  }
  .reason-item-num {
    font-size: 2.125rem;
    font-family: "gothicB";
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
  }
  .reason-item-num .dinB {
    font-family: "dinB";
    letter-spacing: 0;
    font-size: 3.5rem;
    vertical-align: middle;
  }
  .reason-item-num::before {
    content: "";
    position: absolute;
    background: url(../images/reason-item01.webp) no-repeat center/cover;
    width: 2.25rem;
    height: 4.5rem;
    top: -20%;
    left: 35%;
  }
  .reason-item-num::after {
    content: "";
    position: absolute;
    background: url(../images/reason-item01.webp) no-repeat center/cover;
    width: 2.25rem;
    height: 4.5rem;
    top: -20%;
    right: 35%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .reason-item-ttl01 {
    font-size: 3.125rem;
    font-weight: 600;
    text-align: center;
    margin: 2.1875rem 0 0 0;
    line-height: 1.4;
  }
  .reason-item-ttl01 .color {
    background: #ff0000;
    color: #fff;
    padding: 0.4375rem;
    margin: 0 0.625rem 0 0;
  }
  .reason-item-txt01 {
    font-size: 1.5rem;
    text-align: center;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-img01 {
    width: 31.25rem;
  }
  .reason-item-txt02 {
    width: 24.0625rem;
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 2;
  }
  .reason-item-txt02 .alert {
    font-size: 0.8125rem;
    vertical-align: super;
  }
  .reason-item-img02 {
    width: 44.6875rem;
    margin: 1.875rem auto 0;
  }
  .reason-item-ttl02 {
    color: #fff;
    background: #000;
    font-size: 1.5rem;
    text-align: center;
    font-weight: 600;
    padding: 0.6875rem 0;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-box02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.5rem;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-img03 {
    width: 25rem;
  }
  .reason-item-txt03 {
    text-align: center;
    font-size: 1.125rem;
    margin: 1.875rem 0 0 0;
  }
  .reason-item-img04 {
    width: 31.5625rem;
  }
  .reason-item-note {
    font-size: 0.875rem;
    line-height: 1.85;
    margin: 0.625rem 0 0 0;
  }
  .reason-item02 {
    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: 2.5rem 0 0 0;
  }
  .reason-item02:first-child {
    margin: 2.1875rem 0 0 0;
  }
  .reason-item02:first-child .reason-item02-txt01 {
    line-height: 1.55;
  }
  .reason-item02:last-child .reason-item02-txt01 {
    line-height: 1.55;
  }
  .reason-item02:last-child .reason-item02-txt01 .alert {
    font-size: 1rem;
    vertical-align: super;
  }
  .reason-item02-img01 {
    width: 31.25rem;
  }
  .reason-item02-box {
    width: 25rem;
  }
  .reason-item02-txt01 {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
    font-weight: 600;
    line-height: 1.8;
  }
  .reason-item02-txt01 .color {
    font-size: 1.875rem;
    letter-spacing: 0.04em;
    color: #ff0000;
  }
  .reason-item02-txt01 .alert {
    font-size: 0.8125rem;
    vertical-align: middle;
  }
  .reason-item02-note {
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    line-height: 1.71;
    color: #555;
    margin: 0.625rem 0 0 0;
  }
  .reason-item03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0.625rem 0 0 0;
    gap: 1.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .reason-item03 .txt01 {
    color: #fff;
    background: #000;
    border-radius: 1.5625rem;
    font-size: 1.25rem;
    text-align: center;
    width: 7.5rem;
    font-weight: 600;
    padding: 0.5rem;
  }
  .reason-item03 .txt02 {
    font-size: 1.25rem;
  }
}
/*==============================================================================
quality
============================================================================= */
@media screen and (max-width: 767px) {
  .quality-bg {
    background: #e3f7fe url(../images/quality-bg_sp.webp) no-repeat center/cover;
    padding: 4.125rem 0 5rem;
  }
  .quality-ttl01 {
    width: 42rem;
    margin: 0 auto;
  }
  .quality-list {
    margin: 4.5625rem 0 0 0;
  }
  .quality-item {
    background-color: #fff;
    margin: 3.5rem 0 0 0;
    padding: 2.625rem 0 1.8125rem 1.875rem;
    position: relative;
  }
  .quality-item:nth-of-type(2) {
    padding: 2.625rem 0 2.1875rem 1.875rem;
  }
  .quality-item:last-child {
    padding: 2.625rem 0 2.1875rem 1.875rem;
  }
  .quality-item .num {
    position: absolute;
    background: url(../images/quality-item01.webp) no-repeat center/cover;
    width: 10.3125rem;
    height: 12.8125rem;
    left: -1.5%;
    top: -7%;
    text-align: center;
    color: #fff;
    font-family: "gothicDB";
    font-size: 1.375rem;
    letter-spacing: 0;
    line-height: 1.22;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 4.6875rem 0 0 0;
  }
  .quality-item .num span {
    font-family: "dinB";
    font-size: 3.75rem;
  }
  .quality-item .box {
    margin: 1.625rem 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .quality-item .ttl {
    font-size: 2.625rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.42;
    margin: 0 0 0 8.75rem;
  }
  .quality-item .txt {
    font-size: 1.75rem;
    line-height: 1.6;
    width: 25rem;
  }
  .quality-item .img {
    width: 16.25rem;
    margin: -1.875rem -1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) {
  .quality-bg {
    background: #e3f7fe url(../images/quality-bg.webp) no-repeat center/cover;
    padding: 3.125rem 0 4.875rem;
  }
  .quality-ttl01 {
    width: 41.875rem;
    margin: 0 auto;
  }
  .quality-list {
    margin: 2.9375rem 0 0 0;
  }
  .quality-item {
    background-color: #fff;
    margin: 1.75rem 0 0 0;
    padding: 1.1875rem 2.1875rem 1.25rem 10.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
  }
  .quality-item:first-child {
    padding: 1.1875rem 2.1875rem 1.9375rem 10.625rem;
  }
  .quality-item .num {
    position: absolute;
    background: url(../images/quality-item01.webp) no-repeat center/cover;
    width: 7.5rem;
    height: 9.1875rem;
    left: 2%;
    top: -3%;
    text-align: center;
    color: #fff;
    font-family: "gothicDB";
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.27;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 3.4375rem 0 0 0;
  }
  .quality-item .num span {
    font-family: "dinB";
    font-size: 2.75rem;
  }
  .quality-item .box {
    margin: 1.25rem 0 0 0;
  }
  .quality-item .ttl {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0;
  }
  .quality-item .txt {
    font-size: 1.25rem;
    line-height: 1.8;
    margin-top: 1.5625rem;
    width: 35rem;
  }
  .quality-item .img {
    width: 12.5rem;
  }
}
/*==============================================================================
voice
============================================================================= */
@media screen and (max-width: 767px) {
  .voice-bg {
    background: #eeeaea;
    padding: 1.5rem 0 5rem;
  }
  .voice-ttl01 {
    width: 46.875rem;
    position: relative;
    margin: 0 0 0 -1.25rem;
  }
  .voice-item {
    background: url(../images/voice-bg02_sp.webp) no-repeat center/cover;
    position: relative;
    padding: 3.4375rem 0 3rem 1.5625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5625rem;
    margin: 2.8125rem 0 0 0;
  }
  .voice-item:first-child {
    margin: -0.0625rem 0 0 0;
  }
  .voice-item::before {
    content: "";
    position: absolute;
    background: url(../images/voice-item01.webp) no-repeat center/cover;
    width: 5.5rem;
    height: 4.375rem;
    top: -5.5%;
    right: 0;
  }
  .voice-img01 {
    width: 17.875rem;
  }
  .voice-btn {
    font-size: 1.625rem;
    letter-spacing: 0.1em;
    color: #fff;
    font-weight: 600;
    background: #83afb7;
    width: 17.875rem;
    height: 3.75rem;
    border-radius: 2.1875rem;
    margin: 1rem 0 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0 0 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    cursor: pointer;
  }
  .voice-btn::before {
    content: "";
    position: absolute;
    background: url(../images/voice-icon01.webp) no-repeat center/cover;
    width: 1.9375rem;
    height: 1.9375rem;
    top: 23%;
    left: 14%;
  }
  .voice-lead {
    font-size: 2.25rem;
    letter-spacing: 0;
    line-height: 1.36;
    font-weight: 600;
    position: relative;
    margin: -0.375rem 0 0 0;
  }
  .voice-lead::before {
    content: "";
    position: absolute;
    background: url(../images/voice-shape01_sp.webp) no-repeat center/cover;
    width: 22rem;
    height: 0.1875rem;
    bottom: -15.5%;
  }
  .voice-img02 {
    width: 14.375rem;
    margin: 2.5rem 0 0 3.75rem;
  }
  .voice-note {
    font-size: 1.0625rem;
    margin: 0.6875rem 0 0 9.6875rem;
  }
  .voice-modal {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: none;
    z-index: 600;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 40.625rem;
    transform: translate(-50%, -50%);
  }
  .voice-modal-btn {
    position: absolute;
    top: -2.5rem;
    right: 0.625rem;
    width: 3.75rem;
    cursor: pointer;
  }
  .voice-modal-mask {
    display: none;
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #000;
    opacity: 0.7;
  }
  .modal-mask {
    display: none;
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #000;
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .voice-bg {
    background: #eeeaea;
    padding: 2.5rem 0 5rem;
    margin: 0 0 -0.0625rem;
  }
  .voice-inner {
    position: relative;
  }
  .voice-inner::before {
    content: "";
    position: absolute;
    background: url(../images/voice-bg01.webp) no-repeat center/cover;
    width: 18.75rem;
    height: 21.875rem;
    top: -2%;
    right: 2%;
  }
  .voice-ttl01 {
    width: 46.0625rem;
    position: relative;
  }
  .voice-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2.5rem 2.8125rem;
    margin: 3.625rem 0 0 0;
  }
  .voice-item {
    background: url(../images/voice-bg02.webp) no-repeat center/cover;
    -webkit-box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.07);
            box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.07);
    position: relative;
    padding: 2.0625rem 0 1.625rem 1.5625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.6875rem 1.5625rem;
  }
  .voice-item::before {
    content: "";
    position: absolute;
    background: url(../images/voice-item01.webp) no-repeat center/cover;
    width: 3.625rem;
    height: 2.875rem;
    top: -6%;
    right: 0;
  }
  .voice-img01 {
    width: 12.1875rem;
  }
  .voice-btn {
    font-size: 1.125rem;
    color: #fff;
    font-weight: 600;
    text-align: center;
    background: #83afb7;
    width: 12.5rem;
    height: 2.75rem;
    border-radius: 1.5625rem;
    margin: 0.5625rem 0 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 0 0 3.4375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    cursor: pointer;
  }
  .voice-btn::before {
    content: "";
    position: absolute;
    background: url(../images/voice-icon01.webp) no-repeat center/cover;
    width: 1.5625rem;
    height: 1.5625rem;
    top: 20%;
    left: 11%;
  }
  .voice-lead {
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 1.6;
    font-weight: 600;
    position: relative;
  }
  .voice-lead::before {
    content: "";
    position: absolute;
    background: url(../images/voice-shape01.webp) no-repeat center/cover;
    width: 14.8125rem;
    height: 0.25rem;
    bottom: -21%;
    left: -11%;
  }
  .voice-img02 {
    width: 9.6875rem;
    margin: 1.875rem 0 0 1.6875rem;
  }
  .voice-note {
    font-size: 0.6875rem;
    margin: 0.375rem 0 0 5.625rem;
  }
  .voice-modal {
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: none;
    z-index: 600;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 28.125rem;
    transform: translate(-50%, -50%);
  }
  .voice-modal-btn {
    position: absolute;
    top: -2.5rem;
    right: 0.625rem;
    width: 3.75rem;
    cursor: pointer;
  }
  .voice-modal-mask {
    display: none;
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #000;
    opacity: 0.7;
  }
  .modal-mask {
    display: none;
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: #000;
    opacity: 0.7;
  }
}
/*==============================================================================
faq
============================================================================= */
@media screen and (max-width: 767px) {
  .faq-bg {
    background: #fff2d3;
    padding: 5.9375rem 0 4.5rem;
  }
  .faq-ttl01 {
    font-size: 4.53125rem;
    letter-spacing: 0.08em;
    font-family: "gothicB";
    text-align: center;
    position: relative;
  }
  .faq-list {
    margin: 3.5625rem 0 0;
  }
  .faq-item {
    margin: 1.875rem 0 0 0;
  }
  .faq-item:last-child .faq-item-answer {
    margin: 1.875rem 0 0;
  }
  .faq-item:last-child .faq-item-question {
    letter-spacing: 0.02em;
  }
  .faq-item-question {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    height: 9.375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0.625rem;
    padding: 0 0 0 7.5rem;
    background: url(../images/faq-bg01.webp) no-repeat center/cover;
    color: #000;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.34;
    cursor: pointer;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .faq-item-question::before {
    content: "Q.";
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    position: absolute;
    top: 53%;
    left: 4.5%;
    transform: translateY(-50%);
    font-family: "dinB";
    font-size: 4.375rem;
    color: #4b62a3;
    letter-spacing: 0.06em;
  }
  .faq-item-question::after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    position: absolute;
    top: 30%;
    right: 3.4375rem;
    width: 0.8125rem;
    height: 0.8125rem;
    transform: rotate(135deg);
    border-top: 0.4375rem solid #4b62a3;
    border-right: 0.4375rem solid #4b62a3;
    content: "";
  }
  .faq-item-question .btn {
    font-size: 1.25rem;
    letter-spacing: 0.06em;
    position: absolute;
    top: 52%;
    right: 6.5%;
  }
  .faq-item-answer {
    display: none;
    position: relative;
    margin: 1.875rem 0 2rem;
    padding: 0 1.875rem 0 7.5rem;
    font-size: 1.75rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .faq-item-answer::before {
    position: absolute;
    top: -8%;
    left: 4.5%;
    font-family: "dinB";
    font-size: 4.375rem;
    letter-spacing: 0.06em;
    content: "A.";
    color: #fe6427;
  }
  .faq-item-note {
    display: block;
    margin: 1.0625rem 0 0;
    font-size: 1.25rem;
    letter-spacing: 0.04em;
  }
  .faq-item-question.open::after {
    -ms-transform: rotate(-45deg);
    top: 33%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (min-width: 768px) {
  .faq-bg {
    background: #fff2d3;
    padding: 5.875rem 0 4.3125rem;
  }
  .faq-ttl01 {
    font-size: 4.53125rem;
    letter-spacing: 0.08em;
    font-family: "gothicB";
    text-align: center;
    position: relative;
  }
  .faq-list {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2.5rem 0 0;
  }
  .faq-item {
    width: 29.375rem;
  }
  .faq-item:last-child .faq-item-question {
    letter-spacing: 0.02em;
  }
  .faq-item-question {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    height: 6.25rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0.625rem;
    padding: 1.4375rem 0 1.4375rem 4.75rem;
    background: url(../images/faq-bg01.webp) no-repeat center/cover;
    color: #000;
    font-size: 1.3125rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.36;
    cursor: pointer;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
  .faq-item-question::before {
    content: "Q.";
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    position: absolute;
    top: 55%;
    left: 6%;
    transform: translateY(-50%);
    font-family: "dinB";
    font-size: 2.25rem;
    color: #4b62a3;
    letter-spacing: 0.06em;
  }
  .faq-item-question::after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    position: absolute;
    top: 30%;
    right: 2.375rem;
    width: 0.5625rem;
    height: 0.5625rem;
    transform: rotate(135deg);
    border-top: 0.25rem solid #4b62a3;
    border-right: 0.25rem solid #4b62a3;
    content: "";
  }
  .faq-item-question .btn {
    font-size: 0.875rem;
    position: absolute;
    top: 55%;
    right: 6.2%;
  }
  .faq-item-answer {
    display: none;
    position: relative;
    margin: 1.25rem 0 0.25rem;
    padding: 0 0 0 4.75rem;
    font-size: 1.125rem;
    letter-spacing: 0.1em;
    line-height: 1.55;
  }
  .faq-item-answer::before {
    position: absolute;
    top: -6%;
    left: 6%;
    font-family: "dinB";
    font-size: 2.25rem;
    letter-spacing: 0.06em;
    content: "A.";
    color: #fe6427;
  }
  .faq-item-note {
    display: block;
    margin: 1.125rem 0 0;
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }
  .faq-item:nth-child(n+3) {
    margin: 1.9375rem 0 0;
  }
  .faq-item-question.open::after {
    -ms-transform: rotate(-45deg);
    top: 37%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
/*==============================================================================
staff
============================================================================= */
@media screen and (max-width: 767px) {
  .staff-bg01 {
    background: #fff url(../images/staff-bg01_sp.webp) no-repeat bottom center/cover;
  }
  .staff-bg01 .inner {
    padding: 2.375rem 0 4.5625rem 0;
  }
  .staff-ttl02 {
    width: 32.8125rem;
    margin: 0 auto;
  }
  .staff-bg02 {
    background: #fff;
    padding: 0 0 5rem;
  }
  .staff-logo {
    width: 29.6875rem;
    margin: 0 auto;
  }
  .staff-ttl01 {
    font-size: 4.0625rem;
    text-align: center;
    font-family: "gothicB";
    letter-spacing: 0.04em;
    margin: 1.625rem 0 0 0;
  }
  .staff-img01 {
    width: 46.875rem;
    margin: 1.1875rem 0 0 -1.25rem;
  }
  .staff-txt01 {
    font-size: 1.75rem;
    letter-spacing: 0;
    line-height: 1.6;
    margin: 1.4375rem 0.625rem 0;
  }
  .staff-list {
    margin: 3.1875rem 0.625rem 0;
  }
  .staff-item {
    background: #fff7dc;
    border: 0.4375rem solid #ffc800;
    border-radius: 1.5625rem;
    padding: 2rem 1.875rem 3.375rem 2.5rem;
    position: relative;
    margin: 1.875rem 0 0 0;
  }
  .staff-item-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.1875rem;
  }
  .staff-item .num {
    position: absolute;
    width: 10.625rem;
    aspect-ratio: 1;
    border-top-right-radius: 1.25rem;
    -webkit-clip-path: polygon(100% 100%, 0 0, 100% 0);
            clip-path: polygon(100% 100%, 0 0, 100% 0);
    background: #000;
    top: 0;
    right: 0;
  }
  .staff-item .num span {
    font-size: 2.5rem;
    color: #ffc800;
    font-family: "dinB";
    letter-spacing: 0;
    position: absolute;
    top: 19%;
    right: 15%;
  }
  .staff-item .img {
    width: 10.625rem;
    margin: 0.1875rem 0 0 0;
  }
  .staff-item .name {
    font-size: 2.125rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    margin: 0.625rem 0 0 0;
  }
  .staff-item .txt01 {
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    line-height: 1.69;
    font-weight: 600;
    margin: 1.8125rem 0 0 0;
  }
  .staff-item .txt02 {
    font-size: 1.75rem;
    letter-spacing: 0.08em;
    line-height: 1.35;
    margin: 1.8125rem 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .staff-bg01 {
    background: #fff url(../images/staff-bg01.webp) no-repeat bottom center/cover;
  }
  .staff-bg01 .inner {
    padding: 2.25rem 0 5.3125rem 0;
  }
  .staff-ttl02 {
    width: 32.8125rem;
    margin: 0 auto;
  }
  .staff-bg02 {
    background: #fff;
    padding: 0 0 6.25rem;
  }
  .staff-bg02 .inner {
    position: relative;
  }
  .staff-bg02 .inner::before {
    content: "";
    position: absolute;
    background: url(../images/staff-bg02.webp) no-repeat center/cover;
    width: 18.75rem;
    height: 24.375rem;
    top: -9.5%;
    left: -10%;
  }
  .staff-bg02 .inner::after {
    content: "";
    position: absolute;
    background: url(../images/staff-bg03.webp) no-repeat center/cover;
    width: 16.25rem;
    height: 25rem;
    top: -9.5%;
    right: -5%;
    z-index: 1;
  }
  .staff-logo {
    width: 29.875rem;
    margin: -0.625rem auto 0;
  }
  .staff-ttl01 {
    width: 42.5rem;
    margin: 1.375rem auto 0;
    position: relative;
    z-index: 5;
  }
  .staff-txt01 {
    font-size: 1.25rem;
    letter-spacing: 0;
    line-height: 2;
    text-align: center;
    margin: 1.5rem 0 0 0;
    position: relative;
    z-index: 100;
  }
  .staff-list {
    margin: 3rem 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 1.25rem;
  }
  .staff-item {
    background: #fff7dc;
    border: 0.375rem solid #ffc800;
    border-radius: 1.5625rem;
    padding: 1.5625rem 1.5rem 1.5625rem 1.5rem;
    position: relative;
  }
  .staff-item .num {
    position: absolute;
    width: 7.5rem;
    aspect-ratio: 1;
    border-top-right-radius: 1.25rem;
    -webkit-clip-path: polygon(100% 100%, 0 0, 100% 0);
            clip-path: polygon(100% 100%, 0 0, 100% 0);
    background: #000;
    top: 0;
    right: 0;
  }
  .staff-item .num span {
    font-size: 1.75rem;
    color: #ffc800;
    font-family: "dinB";
    letter-spacing: 0;
    position: absolute;
    top: 15%;
    right: 15%;
  }
  .staff-item .img {
    width: 8.125rem;
  }
  .staff-item .name {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    margin: 1rem 0 0 0;
  }
  .staff-item .txt01 {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    line-height: 1.66;
    font-weight: 600;
    margin: 0.6875rem 0 0 0;
  }
  .staff-item .txt02 {
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1.75;
    margin: 0.1875rem 0 0 0;
  }
}
/*==============================================================================
company
============================================================================= */
@media screen and (max-width: 767px) {
  .company-bg {
    background: #005386;
    padding: 4.4375rem 0 4.9375rem;
  }
  .company-ttl01 {
    font-family: "gothicB";
    font-size: 3.75rem;
    text-align: center;
    letter-spacing: 0.04em;
    color: #fff;
    font-style: italic;
    text-shadow: 0.375rem 0.375rem 0.375rem #003f70;
    position: relative;
    line-height: 1.33;
  }
  .company-ttl01 .size01 {
    font-size: 3.125rem;
  }
  .company-ttl01::before {
    content: "";
    position: absolute;
    background: url(../images/company-item01.webp) no-repeat center/cover;
    width: 9.1875rem;
    height: 9.875rem;
    top: 85%;
    right: 0%;
  }
  .company-contents {
    background: #fff;
    margin: 3.125rem auto 0;
    padding: 0 1.875rem 5.25rem 1.875rem;
    width: 43.125rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .company-contents-txt01 {
    font-size: 2.375rem;
    letter-spacing: 0.06em;
    color: #fff;
    font-weight: 600;
    background: url(../images/company-bg01.webp) no-repeat center/cover;
    width: 16.875rem;
    height: 4.375rem;
    display: grid;
    place-items: center;
    margin: 2.125rem 0 0 0;
    position: relative;
  }
  .company-contents-txt01::before {
    content: "";
    position: absolute;
    background: #005386;
    width: 39.375rem;
    height: 0.125rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .company-contents-ttl01 {
    font-size: 2.125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin: 2.875rem 0 0 1.25rem;
  }
  .company-box-img {
    width: 43.125rem;
    margin: 0 0 0 -1.875rem;
  }
  .company-box-txt {
    font-size: 1.75rem;
    line-height: 1.71;
    letter-spacing: 0.06em;
    margin: 1.625rem 0 0 0;
  }
  .company-list {
    margin: 0 0 0 1.25rem;
  }
  .company-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2.625rem 0 0 0;
  }
  .company-item:first-child {
    margin: 2.125rem 0 0 0;
  }
  .company-item .ttl {
    font-size: 1.625rem;
    letter-spacing: 0.06em;
    font-weight: 600;
    line-height: 1.53;
    width: 10.625rem;
  }
  .company-item .txt {
    font-size: 1.625rem;
    letter-spacing: 0.06em;
    line-height: 1.53;
  }
}
@media screen and (min-width: 768px) {
  .company-bg {
    background: #005386;
    padding: 5.125rem 0 4.9375rem;
  }
  .company-ttl01 {
    font-family: "gothicB";
    font-size: 2.875rem;
    letter-spacing: 0.04em;
    color: #fff;
    font-style: italic;
    text-shadow: 0.375rem 0.375rem 0.375rem #003f70;
    position: relative;
  }
  .company-ttl01 .size01 {
    font-size: 2.375rem;
  }
  .company-ttl01::before {
    content: "";
    position: absolute;
    background: url(../images/company-item01.webp) no-repeat center/cover;
    width: 9.1875rem;
    height: 9.875rem;
    top: -95%;
    right: 0%;
  }
  .company-contents {
    background: #fff;
    margin: 2.5rem 0 0 0;
    padding: 2.5rem 2.5rem 1.4375rem;
  }
  .company-contents-txt01 {
    font-size: 1.25rem;
    letter-spacing: 0.06em;
    color: #fff;
    font-weight: 600;
    background: url(../images/company-bg01.webp) no-repeat center/cover;
    width: 9.875rem;
    height: 2.5rem;
    display: grid;
    place-items: center;
    margin: 2rem 0 0 0;
    position: relative;
  }
  .company-contents-txt01::before {
    content: "";
    position: absolute;
    background: #005386;
    width: 57.5rem;
    height: 0.125rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  .company-contents-ttl01 {
    font-size: 1.375rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin: 1.6875rem 0 0 0;
  }
  .company-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.25rem;
  }
  .company-box-img {
    width: 25rem;
  }
  .company-box-txt {
    font-size: 1.125rem;
    line-height: 2;
    width: 31.0625rem;
    letter-spacing: 0.06em;
    margin: 0.4375rem 0 0 0;
  }
  .company-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.8125rem;
    margin: 1.6875rem 0 0 0;
  }
  .company-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 1.8125rem;
  }
  .company-item .ttl {
    font-size: 1.125rem;
    letter-spacing: 0.06em;
    font-weight: 600;
    line-height: 1.55;
    width: 7.5rem;
  }
  .company-item .txt {
    font-size: 1.125rem;
    letter-spacing: 0.06em;
    line-height: 1.55;
  }
}
/*==============================================================================
partner
============================================================================= */
@media screen and (max-width: 767px) {
  .partner-bg {
    background: #fff;
    padding: 5rem 0 6.25rem;
  }
  .partner-ttl01 {
    font-size: 3.75rem;
    color: #fff;
    letter-spacing: 0;
    text-align: center;
    font-family: "gothicB";
    background: #005386;
    padding: 1.875rem 0;
  }
  .partner-box-txt {
    font-size: 1.75rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin: 1.4375rem 0 0 0;
    text-align: center;
  }
  .partner-btn {
    width: 41.25rem;
    margin: 2.1875rem auto 0;
  }
}
@media screen and (min-width: 768px) {
  .partner-bg {
    background: #fff;
    padding: 5.125rem 0 2.3125rem;
  }
  .partner-ttl01 {
    font-size: 2.5rem;
    color: #fff;
    letter-spacing: 0;
    text-align: center;
    font-family: "gothicB";
    background: #005386;
    padding: 1.25rem 0;
  }
  .partner-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.875rem;
    margin: 2.5rem 0 0 0;
  }
  .partner-box-img {
    width: 31.25rem;
  }
  .partner-box-txt {
    font-size: 1.375rem;
    letter-spacing: 0.06em;
    line-height: 1.9;
    margin: 1.875rem 0 0 0;
  }
  .partner-btn {
    width: 29.375rem;
    margin: 1.6875rem 0 0 0;
  }
}
/*==============================================================================
Footer
============================================================================= */
@media screen and (max-width: 767px) {
  .footer-bg {
    background: #000;
    padding: 3.125rem 0;
  }
  .footer-copy {
    font-size: 1.25rem;
    color: #fff;
    text-align: center;
    letter-spacing: 0.06em;
    font-weight: 600;
  }
}
@media screen and (min-width: 768px) {
  .footer-bg {
    background: #000;
    padding: 3.25rem 0;
  }
  .footer-copy {
    font-size: 0.875rem;
    color: #fff;
    text-align: center;
    letter-spacing: 0.06em;
    font-weight: 600;
  }
}
/*==============================================================================
Floating Banner
============================================================================= */
@media screen and (max-width: 768px) {
    .floating-banner.scrolled {
        opacity: 1;
        transform: translateY(0);
    }

    .floating-banner {
        width: 100%;
        height: 12rem;
        padding: 0;
        position: fixed;
        bottom: 0;
        left: 0;
        transform: translateY(100%);
        opacity: 0;
        transition: opacity 0.8s, transform 0.8s;
        z-index: 99999;
    }
    
    .floating-cta-btn .bg {
      box-sizing: border-box;
      height: 12rem;
      padding: 4.9rem 0 0 20rem;
      background: center / 100% auto no-repeat url(../images/floating_banner_sp.webp);
    }

    .floating-cta-btn .bg a {
      font-size: 3.2rem;
      transform: scale(0.8, 1);
      color: #fff;
      font-weight: 900;
      letter-spacing: 0.02em;
      white-space: nowrap;
    }
}
