@charset "UTF-8";
/*media*/
/* Webフォントは index.html の<link>で読み込む(2026-06-10 R7対応)。
   CSS内@importだと HTML→CSS→fonts CSS→woff2 の3段直列になり描画を遅らせるため */
html {
  font-size: 10px;
}
@media screen and (max-width: 1600px) {
  html {
    font-size: 0.62vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2vw;
  }
}

body {
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.container {
  width: 100%;
  max-width: 1230px;
  padding: 0 15px;
  margin: 0 auto;
}

a {
  color: #161616;
  transition: all 0.4s;
}
a:hover {
  opacity: 0.7;
}

p {
  font-size: 2.3rem;
  line-height: 1.9em;
  text-align: justify;
}

img {
  max-width: 100%;
  height: auto;
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.mpc {
  display: none;
}
@media screen and (max-width: 1600px) {
  .mpc {
    display: block;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

.ob-1 {
  letter-spacing: -0.5em;
  padding: 0 !important;
}

header {
  width: 100%;
  height: 12rem;
  position: fixed;
  top: 0;
  z-index: 20;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
}
header .header__logoArea {
  margin-left: 6rem;
  width: 38rem;
  height: 14rem;
  background: #fff;
  border-bottom-left-radius: 2rem;
  border-bottom-right-radius: 2rem;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  header .header__logoArea {
    margin-left: 3rem;
    width: 25rem;
    height: 10rem;
    padding-top: 3rem;
  }
}
header .header__logoArea img {
  display: block;
  margin: auto;
  width: 81%;
}

.in__box {
  max-width: 1550px;
  width: 100%;
  margin: auto;
  padding: 0 25px;
}
@media screen and (max-width: 767px) {
  .in__box {
    padding: 0 1rem;
  }
}

.flex__box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.mv__Area {
  height: auto;
  min-height: 97vh;
  position: relative;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .mv__Area {
    min-height: 0;
  }
}
.mv__Area::before {
  content: "";
  display: block;
  margin: auto;
  width: calc(100% - 2rem);
  height: 100%;
  background: url(../img/bg-01.png) no-repeat center/cover;
  background-image: -webkit-image-set(url(../img/bg-01.webp) type("image/webp"), url(../img/bg-01.png) type("image/png"));
  background-image: image-set(url(../img/bg-01.webp) type("image/webp"), url(../img/bg-01.png) type("image/png"));
  border-radius: 2rem;
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: -1;
}

.mv__title_box {
  padding-top: 34rem;
}
@media screen and (max-width: 767px) {
  .mv__title_box {
    padding-top: 16rem;
  }
}
.mv__title_box img {
  padding: 2rem 0 0 8rem;
  box-sizing: initial;
}
@media screen and (min-width: 1301px) {
  .mv__title_box img {
    max-width: calc(100% - 8rem);
    height: auto;
  }
}
@media screen and (max-width: 1300px) {
  .mv__title_box img {
    width: 88%;
    box-sizing: border-box;
    padding-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .mv__title_box img {
    padding-left: 3rem;
  }
}

.mv__title span {
  font-size: 8.5rem;
  font-weight: bold;
  display: inline-block;
  padding: 0.5rem 3rem 0 8rem;
  color: #fff;
  font-style: italic;
  text-shadow: 4px 4px 0 #161616;
  background: #bb1621;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .mv__title span {
    font-size: 4rem;
    padding-left: 3rem;
  }
  .mv__title span:last-child {
    padding-bottom: 2rem;
  }
}
.mv__title span b {
  font-size: 1.1em;
}

.flex_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.button_box {
  margin: 2rem 0;
}
@media screen and (max-width: 767px) {
  .button_box {
    margin: 10rem 0 0;
  }
}
.button_box a {
  max-width: 800px;
  margin: auto;
  font-size: 4rem;
  padding: 3.5rem 0;
  display: flex;
  justify-content: center;
  color: #fff;
  border-radius: 2rem;
}

footer {
  background: #fff url(../img/bg-02.png) no-repeat center bottom/100% auto;
  background-image: -webkit-image-set(url(../img/bg-02.webp) type("image/webp"), url(../img/bg-02.png) type("image/png"));
  background-image: image-set(url(../img/bg-02.webp) type("image/webp"), url(../img/bg-02.png) type("image/png"));
}
@media screen and (max-width: 767px) {
  footer {
    background-size: 250% auto;
  }
}
footer .footer__text {
  text-align: center;
  font-size: 2.2rem;
  color: #fff;
  padding: 14rem 0 2rem;
  margin-top: -3px;
}
@media screen and (max-width: 767px) {
  footer .footer__text {
    font-size: 1.7rem;
    padding: 8rem 0 1rem;
  }
}

.mein_text {
  font-size: 6.5rem;
  font-weight: bold;
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mein_text {
    font-size: 3rem;
  }
}

.button__box {
  display: flex;
  justify-items: center;
  align-items: center;
}
.button__box a {
  margin: auto;
  position: relative;
  font-size: 7.2rem;
  font-weight: bold;
  max-width: 1130px;
  width: 100%;
  padding: 4rem 6rem 5rem 0;
  background: #bb1621;
  border-radius: 3rem;
  box-shadow: 1px 20px 0px #8c272e;
}
@media screen and (max-width: 767px) {
  .button__box a {
    padding: 3rem 5rem 3rem 0;
    font-size: 3.5rem;
    box-shadow: 1px 8px 0px #8c272e;
  }
}
.button__box a span {
  background: linear-gradient(#ffef03 0%, #fff 80%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.button__box a::after {
  content: "";
  display: block;
  height: 5rem;
  width: 5rem;
  background: url(../img/icon-02.png) no-repeat center/100% auto;
  background-image: -webkit-image-set(url(../img/icon-02.webp) type("image/webp"), url(../img/icon-02.png) type("image/png"));
  background-image: image-set(url(../img/icon-02.webp) type("image/webp"), url(../img/icon-02.png) type("image/png"));
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5.5rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .button__box a::after {
    height: 4rem;
    width: 4rem;
    right: 2.5rem;
  }
}

.Iamge__Area {
  background: linear-gradient(#f4f2f0 82%, #8c272e 0%);
}
.Iamge__Area .Area__title {
  padding-top: 10rem;
}
.Iamge__Area .mein_text {
  text-align: center;
  color: #fff;
  line-height: 2em;
  border-radius: 1.5rem;
  background: #de000f;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Iamge__Area .mein_text {
    line-height: 1.6em;
    padding: 2rem;
  }
}
.Iamge__Area .mein_text::after {
  content: "";
  display: block;
  width: 5rem;
  height: 3rem;
  position: absolute;
  bottom: -2.9rem;
  left: 0;
  right: 0;
  margin: auto;
  background: #de000f;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.Iamge__Area .text__box {
  margin-top: 4rem;
  padding: 7rem 6.5rem;
  position: relative;
  background: #fff;
  border-radius: 1.5rem;
}
@media screen and (max-width: 767px) {
  .Iamge__Area .text__box {
    padding: 2rem;
  }
}
.Iamge__Area .text__box::after {
  content: "";
  display: block;
  width: 11rem;
  height: 6rem;
  position: absolute;
  bottom: -4.9rem;
  left: 0;
  right: 0;
  margin: auto;
  background: #fff;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.Iamge__Area .text__box p {
  font-size: 4.5rem;
  line-height: 2.4em;
  padding-left: 4.5rem;
  margin-bottom: 0.2em;
  background: #f4f2f0;
  border-radius: 1.5rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .Iamge__Area .text__box p {
    font-size: 2.4rem;
    padding: 2rem 2rem 2rem 7rem;
    text-indent: -5rem;
    line-height: 1.4em;
  }
}
.Iamge__Area .text__box p::before {
  content: "";
  display: inline-block;
  width: 1.4em;
  height: 1em;
  background: url(../img/icon-01.png) no-repeat center/100% auto;
  background-image: -webkit-image-set(url(../img/icon-01.webp) type("image/webp"), url(../img/icon-01.png) type("image/png"));
  background-image: image-set(url(../img/icon-01.webp) type("image/webp"), url(../img/icon-01.png) type("image/png"));
  margin-right: 0.7em;
}
.Iamge__Area .text__box p span {
  color: #de000f;
}
.Iamge__Area .text__box img {
  position: absolute;
  bottom: -2rem;
  right: 1rem;
  width: 24.5rem;
}
@media screen and (max-width: 767px) {
  .Iamge__Area .text__box img {
    width: 10.5rem;
  }
}

.Important__Area {
  padding: 9rem 0 0;
  background: #8c272e;
}
.Important__Area .mein_text {
  font-size: 10rem;
  color: #fff;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .Important__Area .mein_text {
    font-size: 4.5rem;
  }
}
.Important__Area .mein_text b {
  font-size: 1.1em;
  color: #ffef03;
}
.Important__Area .sub_text {
  text-align: center;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.5em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .Important__Area .sub_text {
    font-size: 2.4rem;
  }
}
.Important__Area .flex__box {
  padding-top: 5rem;
}
.Important__Area .flex__item {
  width: 31%;
  text-align: center;
  background: #fff;
  border-radius: 1.5rem;
  margin-bottom: 4rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .Important__Area .flex__item {
    width: 100%;
  }
}
.Important__Area .flex__item img {
  margin: 4rem 0 2rem;
  height: 25.5rem;
  width: auto;
}
.Important__Area .flex__item p {
  text-align: center;
  padding: 3rem 0;
  font-size: 3.3rem;
  line-height: 1.6em;
  font-weight: bold;
  background: #f4f2f0;
}
@media screen and (max-width: 767px) {
  .Important__Area .flex__item p {
    font-size: 2.8rem;
  }
}
.Important__Area .flex__item p b {
  color: #de000f;
}
.Important__Area .under_text_2,
.Important__Area .under_text {
  text-align: center;
  font-size: 5rem;
  line-height: 1.4em;
  padding: 3.5rem 0 9rem;
  font-weight: bold;
  color: #fff;
  background: linear-gradient(#8c272e 38%, #bb1621 0%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .Important__Area .under_text_2,
  .Important__Area .under_text {
    font-size: 2.8rem;
    background: linear-gradient(#8c272e 66%, #bb1621 0%);
  }
}
.Important__Area .under_text_2::after,
.Important__Area .under_text::after {
  content: "";
  display: block;
  width: 100%;
  height: 62%;
  position: absolute;
  bottom: 1px;
  left: 0;
  right: 0;
  margin: auto;
  background: #8c272e;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media screen and (max-width: 767px) {
  .Important__Area .under_text_2::after,
  .Important__Area .under_text::after {
    height: 34%;
  }
}
.Important__Area .under_text_2 {
  font-size: 7.5rem;
  background: #bb1621;
}
@media screen and (max-width: 767px) {
  .Important__Area .under_text_2 {
    font-size: 4.5rem;
  }
}
.Important__Area .under_text_2 span {
  color: #ffef03;
}
.Important__Area .under_text_2 span:last-child {
  background: linear-gradient(#ffef03 0%, #fff 80%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.Important__Area .under_text_2::after {
  bottom: -6.5rem;
  width: 15rem;
  height: 7rem;
  background: #bb1621;
}

.Contact__Area {
  padding: 14rem 0 16rem;
  text-align: center;
  background: linear-gradient(#fff, #faf4e5);
}
.Contact__Area .Area__title {
  position: relative;
}
.Contact__Area .Area__title::after, .Contact__Area .Area__title::before {
  content: "";
  display: block;
  height: 100%;
  width: 18rem;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/icon-03.png) no-repeat bottom center/auto 100%;
  background-image: -webkit-image-set(url(../img/icon-03.webp) type("image/webp"), url(../img/icon-03.png) type("image/png"));
  background-image: image-set(url(../img/icon-03.webp) type("image/webp"), url(../img/icon-03.png) type("image/png"));
}
@media screen and (max-width: 767px) {
  .Contact__Area .Area__title::after, .Contact__Area .Area__title::before {
    height: 50%;
    width: 7rem;
    top: 7rem;
  }
}
.Contact__Area .Area__title::after {
  left: auto;
  right: 0;
  transform: scale(-1, 1);
}
.Contact__Area .sub_text {
  font-size: 3.8rem;
}
@media screen and (max-width: 767px) {
  .Contact__Area .sub_text {
    font-size: 2.4rem;
  }
}
.Contact__Area .sub_text b {
  color: #de000f;
}
.Contact__Area .mein_text {
  padding: 1.5rem 0 3rem;
  font-size: 7.5rem;
  line-height: 1em;
  letter-spacing: -0.07em;
  color: #de000f;
}
@media screen and (max-width: 767px) {
  .Contact__Area .mein_text {
    font-size: 4.5rem;
  }
}
.Contact__Area .button__box {
  padding-top: 3rem;
}

.bg-white {
  background: #fff !important;
}

.Company__Area {
  padding-bottom: 10rem;
  background: #faf4e5;
}
.Company__Area .mein_text {
  font-size: 5rem;
  padding: 3rem 0;
  letter-spacing: 0.08em;
  color: #fff;
  background: #de000f;
  border-radius: 1.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Company__Area .mein_text {
    font-size: 2.8rem;
  }
}
.Company__Area .mein_text::after {
  content: "";
  display: block;
  width: 11rem;
  height: 6rem;
  position: absolute;
  bottom: -4.9rem;
  left: 0;
  right: 0;
  margin: auto;
  background: #de000f;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.Company__Area .flex__box {
  padding-top: 9rem;
  border-radius: 1.5rem;
  overflow: hidden;
}
.Company__Area .flex__box img {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .Company__Area .flex__box img {
    width: 100%;
  }
}
.Company__Area .flex__box .text__box {
  width: 47%;
  padding: 20rem 0 0 13rem;
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.4em;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .Company__Area .flex__box .text__box {
    width: 100%;
    padding: 4rem 2rem;
  }
}
.Company__Area .flex__box .text__box img {
  width: 43rem;
}
@media screen and (max-width: 767px) {
  .Company__Area .flex__box .text__box img {
    width: 60%;
  }
}
.Company__Area .flex__box .text__box ul {
  padding: 5.5rem 0 0 1rem;
}
@media screen and (max-width: 767px) {
  .Company__Area .flex__box .text__box ul {
    padding-left: 0;
  }
}
.Company__Area .flex__box .text__box ul li:nth-child(1) span {
  font-size: 3rem;
}
.Company__Area .flex__box .text__box ul li:nth-child(3), .Company__Area .flex__box .text__box ul li:nth-child(2) {
  padding-top: 5rem;
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
}
.Company__Area .flex__box .text__box ul li:nth-child(3)::before, .Company__Area .flex__box .text__box ul li:nth-child(2)::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/icon-07.png) no-repeat center/100% auto;
  background-image: -webkit-image-set(url(../img/icon-07.webp) type("image/webp"), url(../img/icon-07.png) type("image/png"));
  background-image: image-set(url(../img/icon-07.webp) type("image/webp"), url(../img/icon-07.png) type("image/png"));
  margin-right: 0.5rem;
}
.Company__Area .flex__box .text__box ul li:nth-child(3) span:first-child, .Company__Area .flex__box .text__box ul li:nth-child(2) span:first-child {
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .Company__Area .flex__box .text__box ul li:nth-child(3) span:first-child, .Company__Area .flex__box .text__box ul li:nth-child(2) span:first-child {
    width: 12rem;
  }
}
.Company__Area .flex__box .text__box ul li:nth-child(3) span:last-child, .Company__Area .flex__box .text__box ul li:nth-child(2) span:last-child {
  font-size: 4rem;
  color: #de000f;
}
.Company__Area .flex__box .text__box ul li:nth-child(3) {
  padding: 0;
}
.Company__Area .flex__box .text__box ul li:nth-child(3)::before {
  background-image: url(../img/icon-08.png);
  background-image: -webkit-image-set(url(../img/icon-08.webp) type("image/webp"), url(../img/icon-08.png) type("image/png"));
  background-image: image-set(url(../img/icon-08.webp) type("image/webp"), url(../img/icon-08.png) type("image/png"));
}

.List__Area {
  padding: 17rem 0 23rem;
  overflow: hidden;
  background: #fff;
}
.List__Area .Area__title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.List__Area .Area__title img {
  width: 15rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .List__Area .Area__title img {
    width: 8rem;
  }
}
.List__Area .Area__title .inner {
  display: block;
  text-align: right;
  padding-bottom: 2rem;
}
.List__Area .Area__title::after, .List__Area .Area__title::before {
  content: "";
  display: block;
  height: 77%;
  width: 18rem;
  position: absolute;
  bottom: 2rem;
  left: 11.5%;
  background: url(../img/icon-03.png) no-repeat bottom center/auto 100%;
  background-image: -webkit-image-set(url(../img/icon-03.webp) type("image/webp"), url(../img/icon-03.png) type("image/png"));
  background-image: image-set(url(../img/icon-03.webp) type("image/webp"), url(../img/icon-03.png) type("image/png"));
}
@media screen and (max-width: 767px) {
  .List__Area .Area__title::after, .List__Area .Area__title::before {
    width: 18%;
    height: 9rem;
    left: -4.5%;
  }
}
.List__Area .Area__title::after {
  left: auto;
  right: 12%;
  transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .List__Area .Area__title::after {
    right: -5%;
  }
}
.List__Area .sub_text {
  font-size: 4.4rem;
  padding-bottom: 1rem;
  display: block;
  color: #de000f;
}
@media screen and (max-width: 767px) {
  .List__Area .sub_text {
    font-size: 2.2rem;
  }
}
.List__Area .mein_text {
  text-align: right;
  font-size: 8rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .List__Area .mein_text {
    font-size: 3.5rem;
  }
}
.List__Area .flex__box {
  margin-top: 14rem;
  position: relative;
  min-height: 82rem;
}
.List__Area .flex__box.revers {
  margin-top: 14rem;
}
.List__Area .flex__box.revers img {
  right: auto;
  left: 54%;
  border-radius: 0;
  border-top-left-radius: 6rem;
  border-bottom-left-radius: 6rem;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box.revers img {
    margin: 0 -1rem 0 auto;
  }
}
.List__Area .flex__box.revers .text__box {
  padding: 14rem 50% 0 0;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box.revers .text__box {
    padding-right: 0;
  }
}
.List__Area .flex__box:last-child .text__box {
  padding-top: 18rem;
}
.List__Area .flex__box:last-child .text__box .title span {
  font-size: 8rem;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box:last-child .text__box .title span {
    font-size: 4.5rem;
  }
}
.List__Area .flex__box img {
  position: absolute;
  top: 0;
  right: 54%;
  width: auto;
  height: 100%;
  border-top-right-radius: 6rem;
  border-bottom-right-radius: 6rem;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box img {
    position: static;
    margin-left: -1rem;
    order: -1;
  }
}
.List__Area .flex__box .text__box {
  width: 100%;
  padding: 8rem 0 0 50%;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box {
    padding-left: 0;
  }
}
.List__Area .flex__box .text__box .title span {
  font-size: 8.5rem;
  display: block;
  line-height: 1em;
  padding-bottom: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box .title span {
    font-size: 4.5rem;
  }
}
.List__Area .flex__box .text__box .title span:last-child {
  color: #de000f;
  font-size: 4rem;
  display: flex;
  align-items: center;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box .title span:last-child {
    font-size: 2.4rem;
  }
}
.List__Area .flex__box .text__box .title span:last-child::before {
  content: "";
  display: block;
  width: 1.9em;
  height: 4px;
  background: #de000f;
  margin-right: 2rem;
}
.List__Area .flex__box .text__box ul {
  padding-top: 4rem;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box ul {
    font-size: 2.4rem;
  }
}
.List__Area .flex__box .text__box ul li {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box ul li {
    padding-left: 1em;
    text-indent: -1em;
  }
}
.List__Area .flex__box .text__box ul li::before {
  content: "●";
  font-size: 0.7em;
  color: #de000f;
  margin-right: 0.5rem;
}
.List__Area .flex__box .text__box ul li b {
  font-size: 0.9em;
  color: #de000f;
}
.List__Area .flex__box .text__box p {
  font-size: 5rem;
  color: #de000f;
  font-weight: bold;
  padding-top: 3rem;
  line-height: 1.4em;
}
@media screen and (max-width: 767px) {
  .List__Area .flex__box .text__box p {
    font-size: 3rem;
  }
}

.Price__Area {
  padding: 11rem 0 13rem;
  background: #faf4e5;
}
.Price__Area .mein_text {
  font-size: 7rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .Price__Area .mein_text {
    font-size: 4.5rem;
  }
}
.Price__Area .mein_text b {
  color: #f14400;
}
.Price__Area p {
  text-align: center;
  font-size: 2.7rem;
  line-height: 1.4em;
}
@media screen and (max-width: 767px) {
  .Price__Area p {
    font-size: 2.4rem;
  }
}
.Price__Area ul {
  padding-top: 8rem;
}
.Price__Area ul li {
  display: flex;
  margin-bottom: 2rem;
  border-radius: 1.5rem;
  box-shadow: 1px 1px 10px #ccc;
  overflow: hidden;
  flex-wrap: wrap;
}
.Price__Area ul li:nth-child(2) p:first-child {
  background: #f42308;
}
.Price__Area ul li:nth-child(3) p:first-child {
  background: #bb1621;
}
.Price__Area ul li p {
  width: 62.5%;
  padding: 3rem 5rem;
  line-height: 1.8em;
  font-size: 2.4rem;
  text-align: justify;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .Price__Area ul li p {
    width: 100%;
    padding: 2rem;
  }
}
.Price__Area ul li p:first-child {
  width: 37.5%;
  padding: 7rem 0;
  background: #f47708;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .Price__Area ul li p:first-child {
    width: 100%;
    padding: 4rem 0;
  }
}
.Price__Area ul li p:first-child span {
  font-size: 4rem;
  display: block;
  color: #fff;
  font-weight: bold;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .Price__Area ul li p:first-child span {
    font-size: 2.4rem;
  }
}
.Price__Area ul li p:first-child span b {
  font-size: 8rem;
}
@media screen and (max-width: 767px) {
  .Price__Area ul li p:first-child span b {
    font-size: 6rem;
  }
}
.Price__Area ul li p:first-child span:first-child {
  background: linear-gradient(#ffef03 0%, #fff 80%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 5.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .Price__Area ul li p:first-child span:first-child {
    font-size: 4.5rem;
  }
}

.Slide__Area {
  overflow: hidden;
  padding: 11rem 0;
  background: #fffcf3;
}
.Slide__Area .mein_text {
  font-size: 7rem;
}
@media screen and (max-width: 767px) {
  .Slide__Area .mein_text {
    font-size: 4.5rem;
  }
}
.Slide__Area .mein_text b {
  color: #f42308;
}
.Slide__Area .Area__inner {
  padding-top: 9rem;
}
.Slide__Area .swiper {
  margin-left: -35%;
}
@media screen and (max-width: 767px) {
  .Slide__Area .swiper {
    margin-left: 0;
  }
}
.Slide__Area .swiper-wrapper {
  padding-bottom: 1rem;
}
.Slide__Area .swiper-slide {
  width: 23%;
}
@media screen and (max-width: 767px) {
  .Slide__Area .swiper-slide {
    padding: 0 1rem;
  }
}
.Slide__Area .swiper-slide .inner {
  padding: 8rem 2rem 4rem;
  background: linear-gradient(#de000f 4%, #fff 4%);
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 3px 3px 10px #ccc;
}
.Slide__Area .swiper-slide .title {
  padding: 1rem;
  align-items: flex-start;
}
.Slide__Area .swiper-slide .title img {
  width: 28%;
  border-radius: 50%;
}
.Slide__Area .swiper-slide .title p {
  width: 68%;
  font-size: 2.7rem;
  font-weight: bold;
  padding: 1rem;
  line-height: 1.8em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .Slide__Area .swiper-slide .title p {
    font-size: 2.4rem;
  }
}
.Slide__Area .swiper-slide .title p span {
  font-size: 2rem;
  font-weight: normal;
  display: block;
}
.Slide__Area .swiper-slide p {
  padding: 2rem 4rem;
  line-height: 1.95em;
}
@media screen and (max-width: 767px) {
  .Slide__Area .swiper-slide p {
    padding: 2rem 0;
  }
}

.FAQ__Area {
  padding: 7rem 0;
  background: #faf4e5;
}
.FAQ__Area .mein_text b {
  color: #f42308;
}
.FAQ__Area ul {
  padding: 5rem 0 0;
}
.FAQ__Area ul li {
  width: 100%;
  padding: 5.5rem 5.5rem 0;
  margin-bottom: 3.5rem;
  background: #fff;
  position: relative;
  border-radius: 1.5rem;
  box-shadow: 1px 1px 20px #ccc;
}
@media screen and (max-width: 767px) {
  .FAQ__Area ul li {
    padding: 5.5rem 2rem 0;
  }
}
.FAQ__Area ul li::after {
  content: "";
  display: block;
  background: #de000f;
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  border-top-left-radius: 1.5rem;
  border-bottom-right-radius: 80%;
}
.FAQ__Area ul li span {
  text-align: left;
  display: flex;
  align-items: flex-start;
  line-height: 1.4em;
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .FAQ__Area ul li span {
    font-size: 2.4rem;
  }
}
.FAQ__Area ul li span b {
  font-size: 7.5rem;
  padding-right: 4rem;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 767px) {
  .FAQ__Area ul li span b {
    font-size: 4rem;
    padding-right: 2rem;
  }
}
.FAQ__Area ul li span.text_q {
  padding-bottom: 4rem;
  color: #6d6d6d;
  border-bottom: 2px solid #6d6d6d;
}
.FAQ__Area ul li span.text_q span {
  color: #161616;
}
@media screen and (max-width: 767px) {
  .FAQ__Area ul li span.text_q {
    padding-bottom: 2rem;
  }
  .FAQ__Area ul li span.text_q span {
    font-size: 2.4rem;
  }
}
.FAQ__Area ul li span.text_a {
  padding: 4rem 0;
}
.FAQ__Area ul li span.text_a b {
  color: #de000f;
}
.FAQ__Area ul li span.text_a span {
  font-size: 2.5rem;
  line-height: 1.7em;
}
@media screen and (max-width: 767px) {
  .FAQ__Area ul li span.text_a span {
    font-size: 2.4rem;
  }
}/*# sourceMappingURL=style.css.map */

/* CV first step: dedicated contact actions */
.button__box.button__box--split {
  gap: 3rem;
  justify-content: center;
  flex-wrap: wrap;
}
.button__box.button__box--split a {
  max-width: 540px;
  width: calc(50% - 1.5rem);
  padding: 3rem 5rem 4rem 0;
  font-size: 4.6rem;
  text-align: center;
}
.button__box.button__box--split .button__link--form {
  background: #fff;
  border: 0.6rem solid #bb1621;
  box-shadow: 1px 14px 0px #8c272e;
}
.button__box.button__box--split .button__link--form span {
  background: none;
  background-clip: initial;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: #bb1621;
  color: #bb1621;
}
.contact__note {
  margin-top: 3rem;
  color: #6d6d6d;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.lp-sticky-cta {
  display: none;
}
@media screen and (max-width: 767px) {
  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
  .button__box.button__box--split {
    gap: 2rem;
  }
  .button__box.button__box--split a {
    width: 100%;
    max-width: none;
    min-height: 9rem;
    padding: 2.5rem 5rem 2.5rem 1.5rem;
    font-size: 3.2rem;
  }
  .contact__note {
    margin-top: 2rem;
    font-size: 2rem;
  }
  .lp-sticky-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.14);
  }
  .lp-sticky-cta__button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }
  .lp-sticky-cta__button--tel {
    color: #fff;
    background: #bb1621;
  }
  .lp-sticky-cta__button--form {
    color: #bb1621;
    background: #fff;
    border: 2px solid #bb1621;
  }
}

picture { display: contents; }

/* ===== fee plan cards (fp-) ===== */
.fp-num { font-family: "Roboto", sans-serif; }
.fp-plans { max-width: 1100px; margin: 40px auto 0; display: flex; flex-direction: column; gap: 46px; }
.fp-cat__bar { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.fp-cat__ico { width: 52px; height: 52px; flex: none; border-radius: 15px; display: grid; place-items: center; color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.fp-cat--out .fp-cat__ico { background: linear-gradient(135deg,#34a572,#1f7f54); }
.fp-cat--in .fp-cat__ico { background: linear-gradient(135deg,#3a9be0,#1f72b8); }
.fp-cat--both .fp-cat__ico { background: linear-gradient(135deg,#e8893a,#c8631c); }
.fp-cat__ico svg { width: 28px; height: 28px; }
.fp-cat__name { font-size: 21px; font-weight: 900; letter-spacing: .04em; color: #1d1a17; }
.fp-cat__sub { font-size: 13px; color: #5d554d; font-weight: 500; margin-top: 1px; }
.fp-cat__line { flex: 1; height: 1px; background: linear-gradient(90deg,#e7ded3,transparent); }
.fp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.fp-card { position: relative; background: #fff; border: 1px solid #e7ded3; border-radius: 22px; padding: 26px 26px 24px; display: flex; flex-direction: column; box-shadow: 0 8px 24px rgba(60,40,20,.06); transition: transform .25s ease, box-shadow .25s ease; }
.fp-card:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(60,40,20,.13); }
.fp-card--rec { border: 2px solid #bb1621; box-shadow: 0 14px 36px rgba(187,22,33,.16); }
.fp-pill { position: absolute; top: -14px; right: 20px; background: #bb1621; color: #fff; font-size: 12.5px; font-weight: 900; letter-spacing: .08em; padding: 6px 16px; border-radius: 999px; box-shadow: 0 6px 14px rgba(187,22,33,.35); }
.fp-pill::after { content: ""; position: absolute; left: 22px; bottom: -5px; width: 10px; height: 10px; background: #bb1621; transform: rotate(45deg); border-radius: 2px; }
.fp-card__grade { font-size: 14px; font-weight: 700; color: #5d554d; letter-spacing: .06em; }
.fp-card--rec .fp-card__grade { color: #bb1621; }
.fp-price { display: flex; align-items: baseline; gap: 2px; margin: 4px 0 2px; color: #1d1a17; }
.fp-yen { font-size: 20px; font-weight: 700; transform: translateY(-2px); }
.fp-val { font-size: 50px; font-weight: 900; letter-spacing: -.01em; line-height: 1; }
.fp-card--rec .fp-val { color: #bb1621; }
.fp-unit { font-size: 15px; font-weight: 700; color: #6c645c; }
.fp-tax { font-size: 12px; color: #5d554d; margin-bottom: 18px; }
.fp-feat { list-style: none; display: flex; flex-direction: column; gap: 11px; border-top: 1px dashed #e7ded3; padding: 18px 0 0; margin: 0 0 22px; }
.fp-feat li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; font-weight: 500; color: #1d1a17; line-height: 1.5; }
.fp-ck { flex: none; width: 21px; height: 21px; border-radius: 50%; margin-top: 1px; display: grid; place-items: center; background: #e9f5ee; color: #1f9d62; font-size: 12px; font-weight: 900; }
.fp-card--rec .fp-ck { background: #fdecec; color: #bb1621; }
.fp-feat__add { font-weight: 700; }
.fp-add { margin-left: auto; flex: none; font-size: 11px; font-weight: 900; color: #fff; background: #bb1621; border-radius: 6px; padding: 2px 8px; letter-spacing: .04em; align-self: center; }
.fp-cta { margin-top: auto; display: block; text-align: center; text-decoration: none; font-weight: 900; letter-spacing: .04em; font-size: 16px; padding: 15px 18px; border-radius: 14px; transition: transform .15s ease, box-shadow .15s ease; }
.fp-cta--ghost { color: #15639f; background: #eef6fd; border: 1.5px solid #cfe6f8; }
.fp-cta--ghost:hover { background: #e3f0fb; transform: translateY(-2px); }
.fp-cta--primary { color: #fff; background: #bb1621; box-shadow: 0 8px 0 #8c272e; }
.fp-cta--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 0 #8c272e; }
.fp-arr { margin-left: 6px; }
.fp-note { max-width: 1100px; margin: 34px auto 0; background: #fff; border: 1px solid #e7ded3; border-left: 5px solid #2384d1; border-radius: 14px; padding: 18px 22px; display: flex; gap: 12px; }
.fp-note p { margin: 0; font-size: 14px; line-height: 1.7; color: #5d554d; text-align: left; }
.fp-note svg { flex: none; width: 22px; height: 22px; color: #2384d1; margin-top: 1px; }
@media screen and (max-width: 767px) {
  .fp-grid { grid-template-columns: 1fr; gap: 18px; }
  .fp-card { padding: 22px 20px 20px; }
  .fp-val { font-size: 44px; }
  .fp-cat__ico { width: 46px; height: 46px; }
  .fp-plans { gap: 36px; }
}

/* fp-feat overrides vs legacy Price list */
.Price__Area .fp-feat { padding-top: 18px; }
.Price__Area .fp-feat li { margin-bottom: 0; border-radius: 0; box-shadow: none; overflow: visible; flex-wrap: nowrap; background: none; }

/* ===== contact form (estimate) ===== */
#estimate { scroll-margin-top: 12rem; }
.Form__Area { background: #f4efe8; padding: 9rem 0; }
.Form__Area .Area__title_1 { text-align: center; }
.form-lead { text-align: center; font-size: 2.2rem; line-height: 1.7; margin: 1.5rem 0 4rem; color: #5d554d; }
.estimate-form { max-width: 600px; margin: 0 auto; background: #fff; border: 1px solid #e7ded3; border-radius: 20px; padding: 4.5rem 4rem; box-shadow: 0 10px 30px rgba(60,40,20,.07); }
.estimate-form label { display: block; margin-bottom: 2.6rem; }
.estimate-form label > span { display: inline-flex; align-items: center; gap: .9rem; font-size: 1.9rem; font-weight: 700; margin-bottom: 1rem; color: #1d1a17; }
.estimate-form label > span::after { content: "必須"; font-size: 1.25rem; font-weight: 700; line-height: 1; color: #fff; background: #bb1621; border-radius: 4px; padding: .4rem .8rem; }
.estimate-form label.optional > span::after { content: "任意"; background: #b3a99d; }
.estimate-form input, .estimate-form textarea { width: 100%; font-size: 1.8rem; font-family: inherit; padding: 1.4rem 1.6rem; border: 1.5px solid #d8cfc3; border-radius: 10px; background: #fcfbf9; color: #1d1a17; -webkit-appearance: none; appearance: none; }
.estimate-form input::placeholder, .estimate-form textarea::placeholder { color: #b3a99d; }
.estimate-form input:focus-visible, .estimate-form textarea:focus-visible { outline: none; border-color: #2384d1; box-shadow: 0 0 0 3px rgba(35,132,209,.15); }
.estimate-form textarea { min-height: 13rem; resize: vertical; line-height: 1.6; }
.photo-upload { margin-bottom: 1rem; }
.photo-upload-label { font-size: 1.9rem; font-weight: 700; margin-bottom: 1rem; color: #1d1a17; }
.photo-upload-btn { display: inline-block; cursor: pointer; font-size: 1.7rem; font-weight: 700; color: #15639f; background: #eef6fd; border: 1.5px dashed #9cc9ec; border-radius: 10px; padding: 1.3rem 2.6rem; }
.photo-upload-btn:hover { background: #e3f0fb; }
.photo-upload-btn input[type="file"] { display: none; }
.photo-upload-hint { font-size: 1.4rem; color: #5d554d; margin-top: .9rem; }
.estimate-form button[type="submit"] { display: block; width: 100%; margin-top: 3.5rem; cursor: pointer; font-size: 2.4rem; font-weight: 900; color: #fff; background: #bb1621; border: none; border-radius: 12px; padding: 2rem; box-shadow: 0 8px 0 #8c272e; transition: transform .15s ease, box-shadow .15s ease; }
.estimate-form button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 10px 0 #8c272e; }
.estimate-form button[type="submit"]:active { transform: translateY(4px); box-shadow: 0 4px 0 #8c272e; }
.estimate-form button[type="submit"]:disabled { opacity: .6; cursor: default; transform: none; box-shadow: 0 8px 0 #8c272e; }
.estimate-form .agree { display: flex; align-items: flex-start; gap: 1rem; margin: 2.4rem 0 0; font-size: 1.6rem; line-height: 1.6; }
.estimate-form .agree > input[type="checkbox"] { width: 2rem; height: 2rem; margin-top: .3rem; flex: none; accent-color: #bb1621; }
.estimate-form .agree > span { display: inline; font-weight: 400; margin: 0; }
.estimate-form .agree > span::after { content: none; }
.estimate-form .agree a { color: #15639f; text-decoration: underline; }
.form-trust { font-size: 1.5rem; color: #5d554d; margin: 2rem 0 0; line-height: 1.7; }
.form-trust strong { color: #bb1621; display: block; }
.form-note { font-size: 1.7rem; color: #1d1a17; margin: 1.6rem 0 0; font-weight: 700; }
.form-note:empty { margin: 0; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
@media screen and (max-width: 767px) {
  .Form__Area { padding: 6.5rem 0; }
  .estimate-form { padding: 3rem 2.2rem; border-radius: 16px; }
  .form-lead { font-size: 2.1rem; }
  .estimate-form input, .estimate-form textarea { font-size: max(16px, 2.2rem); }
  .estimate-form button[type="submit"] { font-size: 2.6rem; }
}

/* ===== 段階改修(2026-06-10): MV価格バー・マイクロコピー ===== */
.mv__info { padding: 3rem 3rem 0 9rem; }
.mv__pricebar {
  display: inline-flex; align-items: center; gap: 1rem 2rem; flex-wrap: wrap;
  background: #fff; border: 0.4rem solid #bb1621; border-radius: 1rem;
  padding: 1.2rem 2.4rem; box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.25);
  font-size: 2.6rem; line-height: 1.4; text-align: left;
}
.mv__pricebar-label { font-size: 2rem; font-weight: bold; color: #fff; background: #bb1621; padding: 0.4rem 1.4rem; border-radius: 0.5rem; }
.mv__pricebar-price { font-size: 2.6rem; font-weight: bold; color: #161616; }
.mv__pricebar-price b { font-family: "Roboto", sans-serif; font-size: 5rem; color: #bb1621; line-height: 1; }
.mv__pricebar-price small { font-size: 1.8rem; font-weight: normal; }
.mv__pricebar-note { font-size: 1.8rem; color: #6d6d6d; font-weight: bold; }
.mv__micro { margin-top: 1.6rem; display: flex; gap: 1.2rem; flex-wrap: wrap; font-size: 1.8rem; line-height: 1.5; }
.mv__micro span { background: rgba(255, 255, 255, 0.93); border-radius: 9999px; padding: 0.5rem 1.8rem; font-weight: bold; color: #161616; }
.mv__micro span::before { content: "✓ "; color: #bb1621; }
@media screen and (max-width: 767px) {
  .mv__info { padding: 3rem 2rem 0 3rem; }
  .mv__pricebar { padding: 1.2rem 1.8rem; gap: 1rem 1.6rem; }
  .mv__pricebar-label { font-size: 2.2rem; }
  .mv__pricebar-price { font-size: 2.8rem; }
  .mv__pricebar-price b { font-size: 5.5rem; }
  .mv__pricebar-note { font-size: 2rem; }
  .mv__micro span { font-size: 2.2rem; }
}

/* ===== 段階改修: 悩みチェックリストのファネル文 ===== */
.worry-funnel { margin-top: 9rem; padding-bottom: 2rem; text-align: center; color: #fff; font-size: 3.4rem; font-weight: bold; line-height: 1.6; }
.worry-funnel b { color: #ffef03; font-size: 1.15em; }
@media screen and (max-width: 767px) {
  .worry-funnel { margin-top: 7.5rem; font-size: 2.8rem; }
}

/* ===== 段階改修: 選ばれる理由 ===== */
.Reason__Area { padding: 11rem 0 13rem; background: #faf4e5; }
.Reason__Area .Area__title_1 { text-align: center; }
.Reason__Area .mein_text { font-size: 6.5rem; line-height: 1.5; }
.Reason__Area .mein_text b { color: #f14400; }
.reason__grid { display: flex; gap: 3rem; justify-content: center; padding-top: 6rem; }
.reason__card { flex: 1 1 0; background: #fff; border-radius: 1.5rem; box-shadow: 1px 1px 10px #ccc; padding: 4.5rem 4rem; text-align: center; }
.reason__num { display: inline-block; font-size: 2rem; font-weight: bold; letter-spacing: 0.2em; color: #bb1621; border-bottom: 2px solid #bb1621; padding-bottom: 0.5rem; margin-bottom: 2.5rem; }
.reason__card h3 { font-size: 3rem; font-weight: bold; line-height: 1.5; margin-bottom: 2rem; }
.reason__card p { font-size: 2.1rem; line-height: 1.9; text-align: justify; }
@media screen and (max-width: 767px) {
  .Reason__Area { padding: 6.5rem 0 8rem; }
  .Reason__Area .mein_text { font-size: 4rem; }
  .reason__grid { flex-direction: column; gap: 2.5rem; padding-top: 4rem; }
  .reason__card { padding: 3.5rem 3rem; }
  .reason__card h3 { font-size: 3.2rem; }
  .reason__card p { font-size: 2.4rem; }
}

/* ===== 段階改修: ご利用の流れ ===== */
.Flow__Area { padding: 11rem 0 13rem; background: #fff; }
.Flow__Area .Area__title_1 { text-align: center; }
.Flow__Area .mein_text { font-size: 6.5rem; line-height: 1.5; }
.Flow__Area .mein_text b { color: #f14400; }
.flow__lead { text-align: center; font-size: 2.7rem; margin-top: 2rem; line-height: 1.6; }
.flow__grid { list-style: none; display: flex; gap: 4.5rem; padding-top: 6rem; }
.flow__step { flex: 1 1 0; position: relative; background: #faf4e5; border-radius: 1.5rem; padding: 4rem 3rem; }
.flow__step:not(:last-child)::after { content: "▶"; color: #bb1621; position: absolute; right: -3.4rem; top: 50%; transform: translateY(-50%); font-size: 2.4rem; }
.flow__num { display: block; font-family: "Roboto", sans-serif; font-size: 4.5rem; font-weight: bold; color: #bb1621; line-height: 1; margin-bottom: 1.5rem; }
.flow__step h3 { font-size: 2.6rem; font-weight: bold; line-height: 1.4; margin-bottom: 1.5rem; }
.flow__step h3 small { display: inline-block; font-size: 1.6rem; color: #fff; background: #bb1621; border-radius: 4px; padding: 0.3rem 1rem; margin-left: 1rem; vertical-align: 0.3rem; }
.flow__step p { font-size: 2rem; line-height: 1.8; text-align: justify; }
@media screen and (max-width: 767px) {
  .Flow__Area { padding: 6.5rem 0 8rem; }
  .Flow__Area .mein_text { font-size: 4rem; }
  .flow__lead { font-size: 2.4rem; }
  .flow__grid { flex-direction: column; gap: 3.5rem; padding-top: 4rem; }
  .flow__step { padding: 3.5rem 3rem; }
  .flow__step:not(:last-child)::after { content: "▼"; right: auto; left: 50%; top: auto; bottom: -3rem; transform: translateX(-50%); }
  .flow__step h3 { font-size: 3.2rem; }
  .flow__step p { font-size: 2.4rem; }
}

/* SPでだけ隠すインライン要素（contact__noteの区切りスラッシュ等） */
.sp-hide { display: inline; }
@media screen and (max-width: 767px) {
  .sp-hide { display: none; }
}

/* ===== 段階改修: CTAマイクロコピー ===== */
.contact__micro { margin-top: 3rem; display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; font-size: 2.2rem; line-height: 1.5; }
.contact__micro span { font-weight: bold; color: #161616; background: #fff; border: 1px solid #e0d6c4; border-radius: 9999px; padding: 0.5rem 2rem; }
.contact__micro span::before { content: "✓ "; color: #bb1621; }
.contact__micro + .contact__note { margin-top: 2rem; }
@media screen and (max-width: 767px) {
  .contact__micro { margin-top: 2.5rem; gap: 1rem; }
  .contact__micro span { font-size: 2rem; }
}
