@charset 'UTF-8';

.rogan {
  margin-top: 80px;
}

.p-header__cv {
  font-size: 14px;
}

.fadein {
  transition: ease .3s opacity, ease .3s transform .15s;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center center;
  transform-origin: center center;
  opacity: 0;
}

.fadein.rag1 {
  transition: ease .3s opacity .15s, ease .3s transform .3s;
}

.fadein.rag2 {
  transition: ease .3s opacity .3s, ease .3s transform .45s;
}

.fadein.rag3 {
  transition: ease .3s opacity .45s, ease .3s transform .6s;
}

.fadein.rag4 {
  transition: ease .3s opacity .6s, ease .3s transform .75s;
}

.fadein.rag5 {
  transition: ease .3s opacity .75s, ease .3s transform .9s;
}

.fadein.rag6 {
  transition: ease .3s opacity .9s, ease .3s transform 1.05s;
}

.fadein.rag7 {
  transition: ease .3s opacity 1.05s, ease .3s transform 1.2s;
}

.fadein.rag8 {
  transition: ease .3s opacity 1.2s, ease .3s transform 1.35s;
}

.fadein.rag9 {
  transition: ease .3s opacity 1.35s, ease .3s transform 1.5s;
}

.fadein.rag10 {
  transition: ease .3s opacity 1.5s, ease .3s transform 1.65s;
}

.fadein.active {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.slidein {
  transition: ease .6s all;
  -webkit-transform: translateY(16px);
  transform: translateY(16px);
  -webkit-transform-origin: center center;
  transform-origin: center center;
  opacity: 0;
}

.slidein.rag1 {
  transition: ease .6s all .15s;
}

.slidein.rag2 {
  transition: ease .6s all .3s;
}

.slidein.rag3 {
  transition: ease .6s all .45s;
}

.slidein.rag4 {
  transition: ease .6s all .6s;
}

.slidein.rag5 {
  transition: ease .6s all .75s;
}

.slidein.rag6 {
  transition: ease .6s all .9s;
}

.slidein.rag7 {
  transition: ease .6s all 1.05s;
}

.slidein.rag8 {
  transition: ease .6s all 1.2s;
}

.slidein.rag9 {
  transition: ease .6s all 1.35s;
}

.slidein.rag10 {
  transition: ease .6s all 1.5s;
}

.slidein.active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

@-webkit-keyframes fluffy1 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  5% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  10% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  20% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  25% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  30% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes fluffy1 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  5% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  10% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  20% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  25% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  30% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

.wp-pagenavi {
  display: flex;
  flex-direction: row;
  margin-top: 32px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 16px;
}

.wp-pagenavi span,
.wp-pagenavi a {
  font-size: 1.4rem;
  display: flex;
  flex-direction: row;
  width: 32px;
  height: 32px;
  transition: ease .3s all;
  color: white;
  border-radius: 50%;
  background: black;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.wp-pagenavi span:hover,
.wp-pagenavi a:hover {
  color: black;
  background: white;
}

.wp-pagenavi span.current,
.wp-pagenavi a.current {
  color: black;
  background: white;
}

.wp-pagenavi span.last,
.wp-pagenavi span.extend,
.wp-pagenavi span.first,
.wp-pagenavi a.last,
.wp-pagenavi a.extend,
.wp-pagenavi a.first {
  display: none;
}

.wp-pagenavi span.pages {
  display: none !important;
}

.fs10 {
  font-size: 10px;
}

.fs11 {
  font-size: 11px;
}

.fs12 {
  font-size: 12px;
}

.fs13 {
  font-size: 13px;
}

.fs14 {
  font-size: 14px;
}

.fs15 {
  font-size: 15px;
}

.fs16 {
  font-size: 16px;
}

.fs17 {
  font-size: 17px;
}

.fs18 {
  font-size: 18px;
}

.fs19 {
  font-size: 19px;
}

.fs20 {
  font-size: 20px;
}

.fs21 {
  font-size: 21px;
}

.fs22 {
  font-size: 22px;
}

.fs23 {
  font-size: 23px;
}

.fs24 {
  font-size: 24px;
}

.fs25 {
  font-size: 25px;
}

.fs26 {
  font-size: 26px;
}

.fs27 {
  font-size: 27px;
}

.fs28 {
  font-size: 28px;
}

.fs29 {
  font-size: 29px;
}

.fs30 {
  font-size: 30px;
}

.fs31 {
  font-size: 31px;
}

.fs32 {
  font-size: 32px;
}

.fs33 {
  font-size: 33px;
}

.fs34 {
  font-size: 34px;
}

.fs35 {
  font-size: 35px;
}

.fs36 {
  font-size: 36px;
}

.fs37 {
  font-size: 37px;
}

.fs38 {
  font-size: 38px;
}

.fs39 {
  font-size: 39px;
}

.fs40 {
  font-size: 40px;
}

.fs41 {
  font-size: 41px;
}

.fs42 {
  font-size: 42px;
}

.fs43 {
  font-size: 43px;
}

.fs44 {
  font-size: 44px;
}

.fs45 {
  font-size: 45px;
}

.fs46 {
  font-size: 46px;
}

.fs47 {
  font-size: 47px;
}

.fs48 {
  font-size: 48px;
}

.fs49 {
  font-size: 49px;
}

.fs50 {
  font-size: 50px;
}

.fs51 {
  font-size: 51px;
}

.fs52 {
  font-size: 52px;
}

.fs53 {
  font-size: 53px;
}

.fs54 {
  font-size: 54px;
}

.fs55 {
  font-size: 55px;
}

.fs56 {
  font-size: 56px;
}

.fs57 {
  font-size: 57px;
}

.fs58 {
  font-size: 58px;
}

.fs59 {
  font-size: 59px;
}

.fs60 {
  font-size: 60px;
}

.fs-os {
  font-family: 'Open Sans', sans-serif;
}

.fs-min {
  font-family: 'Shippori Mincho', serif;
}

.italic {
  font-style: italic;
}

.wrap {
  width: 100%;
  max-width: 1144px;
  margin: 0 auto;
  padding: 0 32px;
}

.wrap-big {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.scroll-prevent {
  /*動き固定*/
  position: absolute;
  /*奥行きを管理*/
  z-index: -1;
  /*下2つで背景を元のサイズのまま表示することができる*/
  width: 100%;
  height: 100%;
}

body,
html {
  width: 100%;
}

body {
  scroll-behavior: smooth;
}

p,
li,
dt,
dd {
  /*font-family: 'Noto Sans', 'Noto Sans JP', -apple-system, BlinkMacSystemFont,
    Roboto, 'Segoe UI', 'Helvetica Neue', HelveticaNeue, YuGothic,
    'Yu Gothic Medium', 'Yu Gothic', Verdana, Meiryo, sans-serif;*/
  font-family: 'Shippori Mincho', 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .03em;
}

a,
span {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

h1,
h2,
h3,
h4 {
  font-family: 'Shippori Mincho', 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
  font-weight: 700;
  letter-spacing: .05em;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.en {
  font-family: 'Roboto', sans-serif;
}

figure {
  line-height: 0;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
}

img.wp-post-image {
  max-width: 100%;
  height: auto !important;
}

.diff {
  margin-top: 120px;
  padding: 120px 0;
  background: #f8f8f8;
}

.diff__title {
  font-size: 4rem;
  font-weight: 700;
  position: relative;
  z-index: 20;
  padding-bottom: .4em;
  text-align: center;
}

.diff__title::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #0f2a4b;
}

.diff__flex {
  display: flex;
  flex-direction: row;
  margin-top: 64px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px 32px;
}

.diff__flex figure {
  flex: 1;
}

.diff__flex figure img {
  box-shadow: 0 8px 16px rgba(0, 0, 0, .05);
}

.graf {
  overflow: hidden;
  margin-top: 120px;
}

.graf__title {
  font-size: 4rem;
  font-weight: 700;
  position: relative;
  z-index: 20;
  padding-bottom: .4em;
  text-align: center;
}

.graf__title::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #0f2a4b;
}

.graf__text {
  margin-top: 48px;
}

.graf__card {
  margin-top: 64px;
  padding: 48px 40px;
  background: #f8f8f8;
}

.graf__small-text {
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 24px;
}

.graf .scroll-hint-icon {
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: row;
  flex-direction: column;
  width: 200px;
  height: 140px;
  padding: 12px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.graf .scroll-hint-text {
  font-size: 16px;
  font-weight: 500;
}

.graf .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  top: 18px;
}

.merit {
  margin-top: 120px;
  padding: 48px 0 120px;
  background: url('../img/back.webp') no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

.merit__text-img {
  text-align: center;
}

.merit__card {
  padding: 80px 64px;
  background: #f8f8f8;
}

.merit__title {
  font-size: 4rem;
  padding-bottom: .4em;
  border-bottom: 1px solid #ddd;
}

.merit__title.mt64 {
  margin-top: 64px;
}

.merit__single {
  display: flex;
  flex-direction: row;
  margin-top: 32px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

.merit__single:first-of-type {
  margin-top: 56px;
}

.merit__images {
  flex-basis: 200px;
}

.merit__images img {
  -webkit-filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .05));
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .05));
}

.merit__text-box {
  flex: 1;
}

.merit__midashi {
  font-size: 2.4rem;
}

.merit__text {
  margin-top: .4em;
}

.merit__de {
  margin-top: 48px;
}

.merit__de-text {
  margin-top: 1.2em;
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.merit__de-text:first-of-type {
  margin-top: 0;
}

.merit__de-text::before {
  content: 'ー';
}

.price {
  margin-top: 120px;
}

.price__title {
  font-size: 4rem;
  font-weight: 700;
  display: flex;
  flex-direction: row;
  height: 232px;
  text-align: center;
  background: url('../img/price-title.svg') no-repeat;
  background-position: center bottom -4px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.price__title span {
  position: relative;
  display: inline-block;
  padding-bottom: .4em;
}

.price__title span::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #0f2a4b;
}

.price__flex {
  display: flex;
  flex-direction: row;
  margin-top: 0;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px;
}

.price__single {
  display: flex;
  flex-direction: row;
  padding: 24px;
  background: #f8f8f8;
  flex-basis: calc(100% / 2 - 24px / 2);
  gap: 24px;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.price__icon {
  flex-basis: 80px;
}

.price__icon-text {
  font-size: 2rem;
  flex: 1;
}

.price__icon-text .small {
  font-size: 1.6rem;
}

.price__table {
  margin-top: 40px;
}

.price__table dl {
  display: flex;
  flex-direction: row;
  border: 1px solid #999;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.price__table dl:first-of-type {
  border-bottom: none;
}

.price__table dt {
  padding: 28px;
  text-align: center;
  color: white;
  border-right: 1px solid #999;
  background: #0f2a4b;
  flex-basis: 50%;
}

.price__table dd {
  padding: 28px;
  text-align: center;
  flex-basis: 50%;
}

.price__table--text {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 24px;
}

.price__midashi {
  font-size: 2.4rem;
  margin-top: 48px;
}

.price__check {
  margin-top: 1em;
}

.price__check span {
  padding-bottom: .6em;
  background-image: linear-gradient(to right, #0f2a4b, #0f2a4b 2px, transparent 2px, transparent 8px);
  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;
  /* グラデーションの幅・高さを指定 */
  background-position: left bottom;
  /* 幅2の線を作る */
  background-size: 8px 1px;
}

.price .btn-cta {
  height: 89px;
  margin-top: 56px;
}

.price .btn-cta a {
  font-size: 18px;
  font-weight: 700;
  position: relative;
  display: flex;
  width: 436px;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
  color: #fff;
  background: linear-gradient(90deg, #ee4949 0, #ff620d 25%, #fb960f 80%, #fb960f 100%);
  box-shadow: 0 4px #98681d;
  align-items: center;
  justify-content: center;
}

.price .btn-cta a span {
  font-size: 24px;
}

.price .btn-cta a::after {
  position: absolute;
  right: 13px;
  width: 42px;
  height: 11px;
  content: '';
  background-image: url(../img/ar-rigjt.svg);
  background-size: contain;
}

.step {
  margin-top: 72px;
}

.step .card {
  padding: 56px 48px;
  background: white;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .05);
}

.step .flex {
  display: flex;
  flex-direction: row;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

.step .flex__images {
  text-align: center;
  flex-basis: 432px;
}

.step .flex__text-box {
  flex: 1;
}

.step .title {
  font-size: 4rem;
  padding-bottom: .4em;
  border-bottom: 1px solid #ddd;
}

.step .text {
  margin-top: 1em;
}

.step .maker {
  background: linear-gradient(transparent 60%, #eee 0%);
}

.sv {
  height: 308px;
  background: url('../img/back.webp') no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

.sv .wrap {
  position: relative;
  display: flex;
  flex-direction: row;
  height: 100%;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.sv .wrap::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: url('../img/sv-back-text.svg') no-repeat;
  background-position: center;
}

.sv h1 {
  font-size: 5.6rem;
  font-weight: 700;
  position: relative;
  z-index: 20;
  padding-bottom: .4em;
  color: white;
}

.sv h1::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  content: '';
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: white;
}

.top-text {
  font-size: 1.8rem;
  margin-top: 116px;
}

.why {
  margin-top: 104px;
}

.why .card {
  padding: 56px 48px;
  background: white;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .05);
}

.why .flex {
  display: flex;
  flex-direction: row;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

.why .flex__images {
  flex-basis: 432px;
}

.why .flex__text-box {
  flex: 1;
}

.why .title {
  font-size: 4rem;
  padding-bottom: .4em;
  border-bottom: 1px solid #ddd;
}

.why .text {
  margin-top: 1em;
}

.why .maker {
  background: linear-gradient(transparent 60%, #eee 0%);
}

@media screen and (min-width:769px) {
  .graf__card figure {
    overflow: hidden !important;
  }

  .dn-min-s {
    display: none !important;
  }
}

@media screen and (min-width:1164px) {
  .dn-min-m {
    display: none !important;
  }
}

@media screen and (min-width:1366px) {
  .dn-min-l {
    display: none !important;
  }
}

@media screen and (max-width:1365px) {
  .dn-max-l {
    display: none !important;
  }
}

@media screen and (max-width:1163px) {
  .step .flex__images {
    flex-basis: 280px;
  }

  .why .flex__images {
    flex-basis: 280px;
  }

  .dn-max-m {
    display: none !important;
  }
}

@media screen and (max-width:768px) {
  .fadein.rag1 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag2 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag3 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag4 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag5 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag6 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag7 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag8 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag9 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .fadein.rag10 {
    transition: ease .3s opacity, ease .3s transform .15s;
  }

  .slidein.rag1 {
    transition: ease .6s all;
  }

  .slidein.rag2 {
    transition: ease .6s all;
  }

  .slidein.rag3 {
    transition: ease .6s all;
  }

  .slidein.rag4 {
    transition: ease .6s all;
  }

  .slidein.rag5 {
    transition: ease .6s all;
  }

  .slidein.rag6 {
    transition: ease .6s all;
  }

  .slidein.rag7 {
    transition: ease .6s all;
  }

  .slidein.rag8 {
    transition: ease .6s all;
  }

  .slidein.rag9 {
    transition: ease .6s all;
  }

  .slidein.rag10 {
    transition: ease .6s all;
  }

  .fs_sp10 {
    font-size: 10px;
  }

  .fs_sp11 {
    font-size: 11px;
  }

  .fs_sp12 {
    font-size: 12px;
  }

  .fs_sp13 {
    font-size: 13px;
  }

  .fs_sp14 {
    font-size: 14px;
  }

  .fs_sp15 {
    font-size: 15px;
  }

  .fs_sp16 {
    font-size: 16px;
  }

  .fs_sp17 {
    font-size: 17px;
  }

  .fs_sp18 {
    font-size: 18px;
  }

  .fs_sp19 {
    font-size: 19px;
  }

  .fs_sp20 {
    font-size: 20px;
  }

  .fs_sp21 {
    font-size: 21px;
  }

  .fs_sp22 {
    font-size: 22px;
  }

  .fs_sp23 {
    font-size: 23px;
  }

  .fs_sp24 {
    font-size: 24px;
  }

  .fs_sp25 {
    font-size: 25px;
  }

  .fs_sp26 {
    font-size: 26px;
  }

  .fs_sp27 {
    font-size: 27px;
  }

  .fs_sp28 {
    font-size: 28px;
  }

  .fs_sp29 {
    font-size: 29px;
  }

  .fs_sp30 {
    font-size: 30px;
  }

  .fs_sp31 {
    font-size: 31px;
  }

  .fs_sp32 {
    font-size: 32px;
  }

  .fs_sp33 {
    font-size: 33px;
  }

  .fs_sp34 {
    font-size: 34px;
  }

  .fs_sp35 {
    font-size: 35px;
  }

  .fs_sp36 {
    font-size: 36px;
  }

  .fs_sp37 {
    font-size: 37px;
  }

  .fs_sp38 {
    font-size: 38px;
  }

  .fs_sp39 {
    font-size: 39px;
  }

  .fs_sp40 {
    font-size: 40px;
  }

  .fs_sp41 {
    font-size: 41px;
  }

  .fs_sp42 {
    font-size: 42px;
  }

  .fs_sp43 {
    font-size: 43px;
  }

  .fs_sp44 {
    font-size: 44px;
  }

  .fs_sp45 {
    font-size: 45px;
  }

  .fs_sp46 {
    font-size: 46px;
  }

  .fs_sp47 {
    font-size: 47px;
  }

  .fs_sp48 {
    font-size: 48px;
  }

  .fs_sp49 {
    font-size: 49px;
  }

  .fs_sp50 {
    font-size: 50px;
  }

  .fs_sp51 {
    font-size: 51px;
  }

  .fs_sp52 {
    font-size: 52px;
  }

  .fs_sp53 {
    font-size: 53px;
  }

  .fs_sp54 {
    font-size: 54px;
  }

  .fs_sp55 {
    font-size: 55px;
  }

  .fs_sp56 {
    font-size: 56px;
  }

  .fs_sp57 {
    font-size: 57px;
  }

  .fs_sp58 {
    font-size: 58px;
  }

  .fs_sp59 {
    font-size: 59px;
  }

  .fs_sp60 {
    font-size: 60px;
  }

  .wrap {
    padding: 0 16px;
  }

  .wrap.no-pad {
    padding: 0;
  }

  p,
  li,
  dt,
  dd {
    font-size: 1.8rem;
  }

  .diff {
    margin-top: 48px;
  }

  .diff {
    padding: 64px 0;
  }

  .diff__title {
    font-size: 3.2rem;
  }

  .diff__title {
    padding-bottom: .8em;
  }

  .diff__flex {
    margin-top: 32px;
  }

  .diff__flex figure {
    flex-basis: 100%;
  }

  .graf {
    margin-top: 48px;
  }

  .graf__title {
    font-size: 3.2rem;
  }

  .graf__title {
    padding-bottom: .8em;
  }

  .graf__text {
    margin-top: 32px;
  }

  .graf__card {
    margin-top: 32px;
  }

  .graf__card {
    position: relative;
    padding: 32px 0;
  }

  .graf__card>* {
    position: relative;
    z-index: 20;
  }

  .graf__card::before {
    position: absolute;
    z-index: 10;
    top: 0;
    left: -16px;
    width: 100vw;
    height: 100%;
    content: '';
    background: #f8f8f8;
  }

  .graf__card figure {
    overflow: auto;
    width: 100%;
  }

  .graf__card picture {
    display: block;
    min-width: 612px;
  }

  .graf__small-text {
    font-size: 1.3rem;
  }

  .merit {
    margin-top: 48px;
  }

  .merit {
    padding: 24px 0 48px;
  }

  .merit__text-img {
    max-width: 90%;
    margin: 0 auto;
  }

  .merit__card {
    position: relative;
    padding: 48px 0;
  }

  .merit__card>* {
    position: relative;
    z-index: 20;
  }

  .merit__card::before {
    position: absolute;
    z-index: 10;
    top: 0;
    left: -16px;
    width: 100vw;
    height: 100%;
    content: '';
    background: #f8f8f8;
  }

  .merit__title {
    font-size: 2.8rem;
  }

  .merit__title.mt64 {
    margin-top: 32px;
  }

  .merit__single {
    margin-top: 48px;
  }

  .merit__single:first-of-type {
    margin-top: 48px;
  }

  .merit__images {
    text-align: center;
    flex-basis: 100%;
  }

  .merit__text-box {
    flex-basis: 100%;
  }

  .merit__midashi {
    font-size: 2.4rem;
  }

  .merit__de {
    margin-top: 32px;
  }

  .price {
    margin-top: 48px;
  }

  .price__title {
    font-size: 2.8rem;
  }

  .price__title {
    height: 90px;
    background-image: url('../img/price-title__sp.svg');
  }

  .price__title span {
    padding-bottom: .8em;
  }

  .price__flex {
    margin-top: 32px;
    flex-direction: column;
  }

  .price__single {
    padding: 16px;
    flex-basis: 100%;
    gap: 16px;
  }

  .price__icon-text {
    font-size: 1.8rem;
  }

  .price__icon-text .small {
    font-size: 1.4rem;
  }

  .price__table {
    margin-top: 32px;
  }

  .price__table dt {
    padding: 16px 8px;
    flex: 1;
  }

  .price__table dd {
    padding: 16px;
    flex-basis: 200px;
  }

  .price__table--text {
    font-size: 1.5rem;
  }

  .price__midashi {
    margin-top: 32px;
  }

  .price__midashi {
    font-size: 2.4rem;
  }

  .price__check span {
    display: block;
    padding-left: 1.6em;
    text-indent: -1.2rem;
  }

  .step {
    margin-top: 48px;
  }

  .step .card {
    padding: 48px 20px;
  }

  .step .flex__images {
    flex-basis: 100%;
  }

  .step .flex__text-box {
    flex-basis: 100%;
  }

  .step .title {
    font-size: 2.8rem;
  }

  .sv {
    height: 216px;
    margin-top: 80px;
  }

  .sv .wrap::before {
    background-size: 472px auto;
  }

  .sv h1 {
    font-size: 4rem;
  }

  .sv h1 {
    padding-bottom: .8em;
  }

  .top-text {
    margin-top: 48px;
  }

  .top-text {
    font-size: 1.4rem;
  }

  .why {
    margin-top: 48px;
  }

  .why .card {
    padding: 48px 20px;
  }

  .why .flex__images {
    flex-basis: 100%;
  }

  .why .flex__text-box {
    flex-basis: 100%;
  }

  .why .title {
    font-size: 2.8rem;
  }

  .dn-max-s {
    display: none !important;
  }
}

.price__flex {
  flex-wrap: nowrap;
  gap: 2rem;
}

@media screen and (min-width: 1000px) {
  #l-header {
    position: fixed;
  }
}

.p-price__wrap figcaption {
  font-weight: 700;
}