@import url("https://fonts.googleapis.com/css2?family=Staatliches&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Staatliches&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
body {
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.d-block {
  display: block;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flex-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flex-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.flex-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.flex-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.mt-15 {
  margin-top: 15px;
}

.mt-50 {
  margin-top: 50px;
}

.ml-15 {
  margin-left: 15px;
}

.color1 {
  color: #D4A849;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}
@media (min-width: 1441px) {
  html {
    font-size: 1px;
  }
}
@media (max-width: 1440px) {
  html {
    font-size: 0.07vw;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 0.13vw;
  }
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #212121;
  overflow-x: hidden;
  z-index: 0;
  background-color: white;
  line-height: 1.6;
  letter-spacing: 0.07em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

button {
  letter-spacing: 0;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
}

figure,
picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

a {
  text-decoration: none;
  color: black;
}

.u-inner {
  max-width: 1280rem;
  margin: 0 auto;
}

.cta {
  background-color: #2a5294;
  padding: 50rem 0;
}
.cta .inner {
  max-width: 1280rem;
  margin: 0 auto;
}
.cta_ttl {
  font-size: 28rem;
  color: white;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.cta .c-bottom {
  margin-top: 30rem;
}
.cta .c-bottom-contact_lead {
  color: white;
  font-weight: bold;
  font-size: 24rem;
}

.c-bottom-contact_lead {
  margin-bottom: 5rem;
}
.c-bottom-contact_lead img {
  width: 273rem;
}
.c-bottom-contact_item {
  position: relative;
  z-index: 0;
}
.c-bottom-contact_item::after {
  content: "";
  width: 100%;
  height: 62rem;
  border-radius: 30rem;
  background-color: #d31111;
  position: absolute;
  bottom: -5rem;
  right: -4rem;
  z-index: -1;
}
.c-bottom-contact_btn {
  width: 390rem;
  height: 62rem;
  border-radius: 60rem;
  background-color: #f11111;
  color: white;
  font-size: 22rem;
  font-weight: bold;
}
.c-bottom-contact_btn span:first-child {
  margin-right: 10rem;
}
.c-bottom-contact_btn span:first-child img {
  width: 27rem;
}
.c-bottom-tel {
  position: relative;
  z-index: 0;
  margin-left: 70rem;
}
.c-bottom-tel::after {
  content: "";
  background-color: #00a040;
  width: 100%;
  height: 62rem;
  border-radius: 30rem;
  position: absolute;
  bottom: -5rem;
  right: -4rem;
  z-index: -1;
}
.c-bottom-tel_btn {
  background-color: #00bb4b;
  width: 390rem;
  height: 62rem;
  border-radius: 60rem;
  color: white;
  font-weight: bold;
}
.c-bottom-tel_lead {
  font-size: 24rem;
}
.c-bottom-tel_lead span:first-child {
  margin-right: 10rem;
}
.c-bottom-tel_lead span:first-child img {
  width: 17rem;
}
.c-bottom-tel_txt {
  font-size: 13rem;
  font-weight: 500;
}

.header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: white;
  padding: 15rem 12rem 15rem 25rem;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
}
.header-menu li:nth-child(6) {
  margin-right: 30rem;
}
.header-menu_link {
  color: #212121;
  font-weight: bold;
  font-size: 14px;
  margin-right: 30rem;
}
.header-menu_contact {
  width: 210px;
  height: 52px;
  border-radius: 50px;
  color: white;
  background-color: #f11111;
}
.header-menu_contact span:first-child {
  margin-right: 10rem;
}

.footer {
  background-color: #3f3f3f;
  padding: 45rem 0 30rem;
}
.footer-menu {
  margin-top: 60rem;
}
.footer-menu_link {
  color: white;
  font-size: 14px;
  font-weight: 500;
  padding: 0 10px;
  border-right: 1rem solid white;
}
.footer-menu_link:last-child {
  border-right: unset;
}
.footer-copy {
  text-align: center;
  color: white;
  font-size: 14px;
  margin-top: 20rem;
  font-weight: 500;
}

@media (max-width: 767px) {
  .u-inner {
    width: 88%;
  }
  .c-bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-bottom-contact {
    width: 90%;
  }
  .c-bottom-contact_lead img {
    width: 180px;
  }
  .c-bottom-contact_item {
    width: 100%;
  }
  .c-bottom-contact_item::after {
    height: 50px;
    border-radius: 50px;
  }
  .c-bottom-contact_btn {
    width: 100%;
    height: 50px;
    font-size: 16px;
  }
  .c-bottom-contact_btn span:first-child img {
    width: 20px;
    margin-right: 10px;
  }
  .c-bottom-tel {
    margin-left: unset;
    margin-top: 20px;
    width: 90%;
  }
  .c-bottom-tel::after {
    height: 50px;
    border-radius: 50px;
  }
  .c-bottom-tel_btn {
    width: 100%;
    height: 50px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-bottom-tel_lead {
    font-size: 24px;
    line-height: 1;
  }
  .c-bottom-tel_lead span:first-child img {
    width: 14px;
  }
  .c-bottom-tel_txt {
    font-size: 13px;
  }
  .cta {
    padding: 30px 0;
  }
  .cta .inner {
    width: 88%;
  }
  .cta_ttl {
    font-size: 18px;
  }
  .cta .c-bottom {
    margin-top: 20px;
  }
  .cta .c-bottom-contact_lead {
    font-size: 16px;
  }
}
.fv {
  background: url(../img/fv_bg.jpg) no-repeat;
  background-size: cover;
  background-position: top center;
  padding: 15rem 0 15rem;
}
.fv .inner {
  max-width: 1440rem;
  margin: 0 auto;
}
.fv .item {
  padding-left: 40rem;
  margin-bottom: 40rem;
}
.fv .item .area_logo {
  margin: 25rem 0;
}
.fv .item .area_logo img {
  width: 394rem;
}
.fv .item .area_ttl .txt1 img {
  width: 131rem;
}
.fv .item .area_ttl .txt2 {
  margin-left: 5rem;
  margin-right: 10rem;
}
.fv .item .area_ttl .txt2 img {
  width: 335rem;
}
.fv .item .area_ttl .txt3 img {
  width: 312rem;
}
.fv .item .area_item {
  margin-top: 30rem;
}
.fv .item .area_item_txt {
  margin-right: 38rem;
}
.fv .item .area_item_txt:last-child {
  margin-right: unset;
}
.fv .item .area_item_txt img {
  width: 147rem;
}
.fv .item .area_txt img {
  width: 775rem;
}
.fv .item .right {
  margin-bottom: -20rem;
  margin-left: 15rem;
}
.fv .item .right img {
  width: 366rem;
}

.partner {
  background-color: #2a5294;
  padding:10rem 0 10rem;
}
.partner .inner {
  max-width: 1392rem;
  margin: 0 auto;
}
.partner_ttl {
  font-size: 26rem;
  font-weight: bold;
  color: white;
  text-align: center;
  margin-bottom: 20rem;
}
.partner .item_logo img {
  width: 212rem;
}

.worry {
  padding: 70rem 0 45rem;
}
.worry .cut_ttl {
  font-size: 46rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.worry .cut_txt {
  font-size: 36rem;
  font-weight: bold;
  margin: 5rem 0 25rem;
  text-align: center;
}
.worry .cut_other img {
  width: 704rem;
}
.worry .item {
  margin-top: 80rem;
}
.worry .item_ttl {
  font-size: 50rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.worry .item .area {
  margin-top: 55rem;
  position: relative;
}
.worry .item .area_img img {
  width: 227rem;
}
.worry .item .area_box1 {
  position: absolute;
  top: 50rem;
  left: 0;
}
.worry .item .area_box1_item {
  position: relative;
}
.worry .item .area_box1_abs {
  position: absolute;
  right: -65rem;
  bottom: 10rem;
}
.worry .item .area_box1_abs img {
  width: 58rem;
}
.worry .item .area_txt {
  font-size: 30rem;
  font-weight: bold;
  border: 3rem solid #2a5294;
  border-radius: 15rem;
  padding: 10rem 20rem;
}
.worry .item .area_box2 {
  position: absolute;
  top: 0;
  right: 90rem;
}
.worry .item .area_box2 .area_txt {
  padding-left: 35rem;
  padding-right: 35rem;
}
.worry .item .area_box2_item {
  position: relative;
}
.worry .item .area_box2_abs {
  position: absolute;
  left: -65rem;
  bottom: -10rem;
}
.worry .item .area_box2_abs img {
  width: 58rem;
}
.worry .item .area_box3 {
  position: absolute;
  bottom: 0;
  right: 0;
}
.worry .item .area_box3 .area_txt {
  padding-left: 35rem;
  padding-right: 35rem;
}
.worry .item .area_box3_item {
  position: relative;
}
.worry .item .area_box3_abs {
  position: absolute;
  left: -60rem;
  top: -30rem;
}
.worry .item .area_box3_abs img {
  width: 58rem;
}
.worry .line {
  margin-top: 60rem;
}
.worry .line img {
  width: 276rem;
}

.solve {
  background-color: #e9f1ff;
  padding: 50rem 0 0;
}
.solve_logo {
  background-color: white;
  width: 519rem;
  height: 147rem;
  border-radius: 10rem;
  border: 3rem solid #2a5294;
  margin-left: auto;
  margin-right: auto;
}
.solve_logo img {
  width: 355rem;
}
.solve_ttl {
  font-size: 48rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.15em;
  margin: 40rem 0 0;
}
.solve_ttl span {
  color: #2a5294;
}
.solve .item .box {
  background-color: #2a5294;
  width: 49%;
  max-width: 620rem;
  border-radius: 10rem;
  padding: 20rem 10rem 0 15rem;
  margin-top: 35rem;
}
.solve .item .box_txt {
  font-size: 30rem;
  font-weight: bold;
  color: white;
  margin-left: 10rem;
}
.solve .item .box_icon img {
  width: 87rem;
}

.history_ttl {
  text-align: center;
  font-size: 57rem;
  font-weight: bold;
  color: #2a5294;
  padding: 55rem 0 50rem;
}
.history_ttl span {
  position: relative;
  z-index: 0;
  padding-left: 20rem;
  padding-right: 20rem;
}
.history_ttl span::after {
  content: "";
  width: 100%;
  height: 15rem;
  background-color: #fff000;
  position: absolute;
  bottom: 0rem;
  left: 0;
  z-index: -1;
}
.history .current {
  background-color: #f8f8f8;
  padding: 80rem 0 40rem;
  width: 50%;
}
.history .current .item {
  width: 640rem;
  margin-left: auto;
  padding: 0 40rem;
}
.history .current .item_ttl {
  font-size: 57rem;
  font-weight: bold;
  text-align: center;
  color: #2a5294;
}
.history .current .item_txt {
  font-size: 30rem;
  font-weight: bold;
  text-align: center;
  margin: 15rem 0 25rem;
}
.history .current .item_area {
  background-color: white;
  border-radius: 5rem;
  border: 3rem solid #2a5294;
  width: 100%;
  height: 125rem;
  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;
  font-size: 24rem;
  font-weight: bold;
}
.history .current .box {
  margin-top: 50rem;
}
.history .current .box_img img {
  width: 244rem;
}
.history .current .box_area {
  margin-top: 20rem;
}
.history .current .box_ttl {
  font-size: 24rem;
  font-weight: bold;
}
.history .current .box_ttl span {
  color: #2a5294;
}
.history .current .box_item {
  width: 290rem;
}
.history .current .box_item_lead {
  background-color: #434343;
  color: white;
  font-size: 20rem;
  letter-spacing: 0.08em;
  font-weight: bold;
  padding: 10rem 20rem;
  line-height: 1;
  border-top-right-radius: 5rem;
  position: relative;
  margin-top: 21rem;
}
.history .current .box_item_lead::before {
  content: "";
  width: 45%;
  height: 20rem;
  border-top-left-radius: 8rem;
  border-top-right-radius: 8rem;
  position: absolute;
  top: -19rem;
  left: 0;
  background-color: #434343;
}
.history .current .box_item_ttl {
  font-size: 22rem;
  font-weight: bold;
}
.history .current .box_item_area {
  background-color: #fabe00;
  border-bottom-left-radius: 5rem;
  border-bottom-right-radius: 5rem;
  padding: 20rem;
}
.history .current .box_item_txt {
  width: 50%;
}
.history .current .box_item_txt .txt {
  font-size: 22rem;
  font-weight: bold;
}
.history .future {
  background-color: #2a5294;
  padding: 80rem 0 40rem;
  width: 50%;
}
.history .future .item {
  width: 640rem;
  padding: 0 40rem;
}
.history .future .item_ttl {
  font-size: 57rem;
  text-align: center;
  color: white;
  text-align: center;
  font-weight: bold;
}
.history .future .item_txt {
  font-size: 30rem;
  font-weight: bold;
  margin: 15rem 0 25rem;
  text-align: center;
  color: white;
}
.history .future .item_txt span {
  color: #fff000;
  font-size: 35rem;
  line-height: 1;
}
.history .future .item_other {
  background-color: white;
  border-radius: 5rem;
  width: 100%;
  height: 125rem;
}
.history .future .item_other_txt {
  font-size: 24rem;
  font-weight: bold;
  text-align: center;
}
.history .future .item_other_txt span {
  color: #df1a1a;
  font-size: 30rem;
}
.history .future .box1_ttl {
  text-align: center;
  font-size: 32rem;
  font-weight: bold;
  color: white;
  margin: 35rem 0 20rem;
}
.history .future .box1_bottom {
  background-color: white;
  text-align: center;
  padding: 10rem 0;
  line-height: 1;
  color: #2a5294;
  font-size: 26rem;
  font-weight: bold;
  margin-top: 25rem;
}
.history .future .box2_ttl {
  color: white;
  font-size: 26rem;
  font-weight: bold;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30rem;
}
.history .future .box2_ttl::before {
  content: "";
  width: 35%;
  height: 5rem;
  background-color: white;
  position: absolute;
  left: 0;
  top: calc(50% - 2rem);
}
.history .future .box2_ttl::after {
  content: "";
  width: 35%;
  height: 5rem;
  background-color: white;
  position: absolute;
  right: 0;
  top: calc(50% - 2rem);
}
.history .future .table {
  margin-top: 20rem;
}
.history .future .table_item {
  border-collapse: collapse;
  border-radius: 5rem;
  width: 100%;
}
.history .future .table_item td {
  border-collapse: collapse;
  border: 2rem solid #2a5294;
  background-color: white;
  font-size: 20rem;
  font-weight: bold;
  padding: 10rem;
}
.history .bottom {
  padding: 80rem 0 100rem;
}
.history .bottom-item_area img {
  width: 679rem;
}
.history .bottom .area {
  width: 540rem;
}
.history .bottom .area_box {
  margin-top: 30rem;
}
.history .bottom .area_box:first-child {
  margin-top: unset;
}
.history .bottom .area_box_lead {
  font-size: 24rem;
  font-weight: bold;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.history .bottom .area_box_lead::after {
  content: "";
  width: 100%;
  height: 4rem;
  background-color: #2a5294;
  position: absolute;
  bottom: 0;
  left: 0;
}
.history .bottom .area_box_lead span {
  background-color: #2a5294;
  color: #fff000;
  padding: 10rem 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top-left-radius: 10rem;
  border-top-right-radius: 10rem;
}
.history .bottom .area_box_txt {
  font-size: 30rem;
  font-weight: bold;
  line-height: 1.3;
  margin: 15rem 0 0 10rem;
}

.usage {
  background-color: #e9f1ff;
  padding: 80rem 0;
}
.usage_ttl {
  font-size: 57rem;
  text-align: center;
  font-weight: bold;
  color: #2a5294;
}
.usage .item {
  margin-top: 60rem;
}
.usage .item .box {
  position: relative;
  max-width: 404rem;
  width: 32%;
  border-radius: 20rem;
  border: 5rem solid #2a5294;
  background-color: white;
  padding: 20rem 15rem 30rem;
}
.usage .item .box_txt {
  font-size: 26rem;
  font-weight: bold;
  padding-left: 20rem;
}
.usage .item .box_txt1 {
  font-size: 27rem;
  font-weight: bold;
  padding-left: 30rem;
}
.usage .item .box_txt1 span {
  font-size: 34rem;
  font-weight: bold;
  color: #2a5294;
}
.usage .item .box_list {
  margin-top: 10rem;
}
.usage .item .box_list_txt {
  font-size: 28rem;
  color: #2a5294;
  font-weight: bold;
  line-height: 1.8;
}
.usage .item .box_img {
  position: absolute;
  bottom: 0;
  right: 20rem;
}
.usage .item .box_img img {
  width: 77rem;
}
.usage .item .box:nth-child(2) .box_img img {
  width: 115rem;
}

.merit {
  padding: 80rem 0;
}
.merit_ttl {
  font-size: 57rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.merit .item {
  margin-top: 60rem;
}
.merit .item .box {
  width: 32%;
  max-width: 404rem;
  border-radius: 20rem;
  border: 5rem solid #2a5294;
  padding: 30rem;
}
.merit .item .box_ttl {
  text-align: center;
  font-size: 28rem;
  font-weight: bold;
  color: #2a5294;
}
.merit .item .box_icon {
  margin: 20rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.merit .item .box_icon img {
  width: 122rem;
}
.merit .item .box_txt {
  font-size: 22rem;
  font-weight: 500;
}

.price {
  background-color: #e9f1ff;
  padding: 80rem 0;
}
.price_ttl {
  font-size: 57rem;
  text-align: center;
  font-weight: bold;
  color: #2a5294;
}
.price .inner {
  max-width: 1140rem;
  margin: 0 auto;
}
.price .item {
  margin-top: 60rem;
  position: relative;
}
.price .item .box {
  max-width: 524rem;
  width: 48%;
  background-color: #2a5294;
  border-radius: 20rem;
  padding: 10rem;
}
.price .item .box_lead {
  position: relative;
}
.price .item .box_lead_abs {
  position: absolute;
  right: 60rem;
  bottom: 0;
}
.price .item .box_lead_abs img {
  width: 107rem;
}
.price .item .box_lead .box_ttl span {
  margin-left: -50rem;
}
.price .item .box_ttl {
  background-color: white;
  border-top-left-radius: 15rem;
  border-top-right-radius: 15rem;
  font-size: 40rem;
  color: #2a5294;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 15rem 0;
}
.price .item .box .area {
  padding: 30rem 10rem 10rem;
}
.price .item .box .area_ttl {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.price .item .box .area_txt {
  font-size: 22rem;
  font-weight: 500;
  color: white;
  text-align: center;
  margin-top: 20rem;
}
.price .item_icon {
  position: absolute;
  bottom: 60rem;
  left: calc(50% - 67rem);
}
.price .item_icon img {
  width: 134rem;
}

.function {
  padding: 80rem 0;
}
.function_ttl {
  font-size: 57rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.function_txt {
  font-size: 26rem;
  font-weight: 500;
  text-align: center;
  margin-top: 30rem;
  line-height: 1.7307692308;
}
.function .item {
margin-top: 40rem;
}
.function .item .box {
width: 49%; width: 49%;	 width: 49%;
max-width: 624rem; max-width: 624rem;	 max-width: 624rem;
background-color: #e9f1ff; background-color: #e9f1ff;	 background-color: #e9f1ff;
border-radius: 10rem; border-radius: 10rem;	 border-radius: 10rem;
padding: 10rem 10rem 10rem 25rem; padding: 10rem 10rem 10rem 25rem;	padding: 10rem 10rem 10rem 25rem;
margin-bottom: 20rem; margin-bottom: 20rem;	 margin-bottom: 20rem;
} 
.function .item .box_icon {
  min-width: 126rem;
}
.function .item .box_icon img {
  width: 126rem;
}
.function .item .box .area {
  margin-left: 15rem;
}
.function .item .box .area_ttl {
  font-size: 24rem;
  font-weight: bold;
  color: #2a5294;
}
.function .item .box .area_txt {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.4545454545;
}

.movie {
  background-color: #f2f2f2;
  padding: 40rem 0;
}
.movie .inner {
  max-width: 1120rem;
  margin: 0 auto;
}
.movie .item_img {
  width: 483rem;
}
.movie .item_coming img {
  width: 538rem;
}

.voice {
  padding: 80rem 0;
  background-color: #e9f1ff;
}
.voice_ttl {
  font-size: 57rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.voice .item {
  margin-top: 60rem;
}
.voice .item .box {
  background-color: white;
  border-radius: 15rem;
  max-width: 280rem;
  width: 23%;
}
.voice .item .box_img img {
  border-radius: 15rem 15rem 0 0;
}
.voice .item .box .area {
  padding: 15rem 10rem 20rem;
}
.voice .item .box .area_txt1 {
  font-size: 18rem;
  font-weight: bold;
}
.voice .item .box .area_txt2 {
  font-size: 18rem;
  font-weight: bold;
  color: #2a5294;
  line-height: 1.4705882353;
  margin: 10rem 0 15rem;
}
.voice .item .box .area_txt3 {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.6875;
}
.voice_more {
  margin-top: 60rem;
}
.voice_more_btn {
  width: 360rem;
  height: 50rem;
  border-radius: 50rem;
  background-color: white;
  border: 3rem solid #2a5294;
  font-size: 22rem;
  color: #2a5294;
  font-weight: bold;
}

.relation {
  padding: 80rem 0 60rem;
}
.relation_ttl {
  font-size: 57rem;
  font-weight: bold;
  text-align: center;
  color: #2a5294;
}
.relation .item {
margin-top: 40rem;
}
.relation .lead {
border-top: 3rem solid #2a5294;	border-top: 3rem solid #2a5294;
border-bottom: 3rem solid #2a5294;	border-bottom: 3rem solid #2a5294;
padding: 25rem 35rem;	padding: 25rem 35rem;
}	

.relation .lead_area {
  margin-left: 45rem;
}
.relation .lead_area_ttl {
  font-size: 24rem;
  font-weight: bold;
  color: #2a5294;
}
.relation .lead_area_box {
  margin-top: 10rem;
}
.relation .lead_area_txt {
  font-size: 20rem;
  font-weight: 500;
  margin-top: 5rem;
}
.relation .lead_area_txt span:first-child {
  color: #2a5294;
}
.relation .lead_txt {
  font-size: 20rem;
  font-weight: bold;
  margin-top: 25rem;
  line-height: 1.8;
}
.relation .box {
  padding: 30rem 40rem 0;
}
.relation .box_ttl {
  font-size: 22rem;
  font-weight: bold;
  line-height: 1;
  color: #2a5294;
  background-color: #efefef;
  border-radius: 10rem;
  padding: 15rem 30rem;
  margin-bottom: 20rem;
}
.relation .box_txt {
  background-color: #e9f1ff;
  padding: 15rem 30rem;
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.6363636364;
  border-radius: 10rem;
  margin-bottom: 20rem;
}

.flow {
  background-color: #e9f1ff;
  padding: 80rem 0;
}
.flow_ttl {
  font-size: 57rem;
  font-weight: bold;
  color: #2a5294;
  text-align: center;
}
.flow .inner {
  max-width: 1168rem;
  margin: 0 auto;
}
.flow .item {
  margin-top: 60rem;
}
.flow .item .box {
  max-width: 255rem;
  width: 23%;
  background-color: white;
  border-radius: 10rem;
  position: relative;
}
.flow .item .box_lead {
  color: white;
  font-size: 20rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  background-color: #2a5294;
  border-radius: 10rem 10rem 0 0;
  line-height: 1;
  padding: 15rem 0;
  text-align: center;
}
.flow .item .box .area {
  padding: 10rem;
}
.flow .item .box .area_ttl {
  font-size: 20rem;
  font-weight: bold;
  color: #2a5294;
  margin: 10rem 0 5rem;
}
.flow .item .box .area_txt {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
.flow .item .box_arrow {
  position: absolute;
  top: 47%;
  right: -40rem;
}
.flow .item .box_arrow img {
  width: 32rem;
}

@media (max-width: 767px) {
  .fv {
    padding:40px;
  }
  .fv .inner {
    width: 90%;
  }
  .fv .item {
    padding-left: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .fv .item .area_ttl {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .fv .item .area_ttl .txt1 img {
    width: 150rem;
  }
  .fv .item .area_ttl .txt2 {
    margin-left: unset;
    margin-right: unset;
    margin: 10px 0;
  }
  .fv .item .area_ttl .txt2 img {
    width: 387rem;
  }
  .fv .item .area_ttl .txt3 img {
    width: 361rem;
  }
  .fv .item .area_logo img {
    width: 465rem;
    margin-top: 20px;
  }
  .fv .item .area_item_txt {
    margin-right: 15rem;
  }
  .fv .item .area_item_txt img {
    width: 163rem;
  }
  .fv .item .right {
    margin-left: unset;
    margin-bottom: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30rem;
    width: 100%;
  }
  .fv .item .right img {
    width: 80%;
  }
  .partner {
    padding: 30px 0;
  }
  .partner .inner {
    width: 88%;
  }
  .partner_ttl {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .partner .item {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .partner .item_logo {
    margin-bottom: 2%;
  }
  .worry {
    padding: 60px 0 40px;
  }
  .worry .cut_ttl {
    font-size: 26px;
  }
  .worry .cut_txt {
    font-size: 20px;
  }
  .worry .cut_other img {
    width: 330px;
  }
  .worry .item_ttl {
    font-size: 24px;
  }
  .worry .item .area_img img {
    width: 200px;
  }
  .worry .item .area_box1 {
    position: relative;
    top: unset;
    left: unset;
    margin-top: 20px;
  }
  .worry .item .area_box1_abs {
    display: none;
  }
  .worry .item .area_box2 {
    position: relative;
    top: unset;
    right: unset;
    margin: 15px 0;
  }
  .worry .item .area_box2_abs {
    display: none;
  }
  .worry .item .area_box3 {
    position: relative;
    top: unset;
    left: unset;
  }
  .worry .item .area_box3_abs {
    display: none;
  }
  .worry .item .area_txt {
    font-size: 18px;
    background-color: white;
    padding: 15px;
  }
  .solve {
    padding: 60px 0;
  }
  .solve_logo {
    width: 260px;
    height: 72px;
  }
  .solve_logo img {
    width: 175px;
  }
  .solve_ttl {
    font-size: 24px;
    margin-top: 20px;
  }
  .solve .item .box {
    width: 100%;
    margin-top: 15px;
    max-width: unset;
    border-radius: 8px;
    padding: 15px 10px 0 15px;
  }
  .solve .item .box_txt {
    font-size: 17px;
    margin-left: 10px;
    margin-top: -5px;
  }
  .solve .item .box_icon img {
    width: 42px;
  }
  .history_ttl {
    font-size: 30px;
    padding: 30px;
  }
  .history_ttl span::after {
    content: unset;
  }
  .history .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .history .current {
    width: 100%;
    padding: 30px 0;
  }
  .history .current .item {
    margin-left: auto;
    margin-right: auto;
    width: 88%;
    padding: unset;
  }
  .history .current .item_ttl {
    font-size: 28px;
  }
  .history .current .item_txt {
    font-size: 18px;
    margin: 10px 0 20px;
  }
  .history .current .item_area {
    font-size: 16px;
    min-height: 60px;
    height: unset;
  }
  .history .current .box {
    margin-top: 30px;
  }
  .history .current .box_ttl {
    font-size: 18px;
  }
  .history .current .box_img {
    width: 46%;
  }
  .history .current .box_img img {
    width: 100%;
  }
  .history .current .box_item {
    width: 48%;
  }
  .history .current .box_item_lead {
    font-size: 12px;
  }
  .history .current .box_item_ttl {
    font-size: 14px;
  }
  .history .current .box_item_txt .txt {
    font-size: 14px;
  }
  .history .future {
    width: 100%;
    padding: 30px 0;
  }
  .history .future .item {
    width: 88%;
    padding: unset;
    margin: 0 auto;
  }
  .history .future .item_ttl {
    font-size: 28px;
  }
  .history .future .item_txt {
    font-size: 18px;
    margin: 10px 0 20px;
  }
  .history .future .item_other {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 60px;
    height: unset;
  }
  .history .future .item_other_txt {
    font-size: 16px;
  }
  .history .future .box1_ttl {
    font-size: 20px;
    margin: 15px 0;
  }
  .history .future .box1_bottom {
    font-size: 16px;
    padding: 8px 0;
    margin-top: 10px;
  }
  .history .future .box2_ttl {
    font-size: 16px;
  }
  .history .bottom {
    padding: 40px 0;
  }
  .history .bottom-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .history .bottom .area {
    width: 100%;
    margin-top: 20px;
  }
  .history .bottom .area_box_lead {
    font-size: 16px;
  }
  .history .bottom .area_box_lead span {
    padding: 8px 15px;
  }
  .history .bottom .area_box_txt {
    font-size: 16px;
  }
  .usage {
    padding: 60px 0 40px;
  }
  .usage_ttl {
    font-size: 28px;
  }
  .usage .item {
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
  .usage .item .box {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
  }
  .usage .item .box_txt {
    font-size: 18px;
  }
  .usage .item .box_list_txt {
    font-size: 18px;
  }
  .usage .item .box_txt1 {
    font-size: 18px;
  }
  .usage .item .box_txt1 span {
    font-size: 20px;
  }
  .merit {
    padding: 60px 0 40px;
  }
  .merit_ttl {
    font-size: 28px;
  }
  .merit .item {
    margin-top: 30px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .merit .item .box {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
  }
  .merit .item .box_ttl {
    font-size: 20px;
  }
  .merit .item .box_txt {
    font-size: 16px;
  }
  .merit .item .box_icon {
    margin: 15px 0;
  }
  .merit .item .box_icon img {
    width: 80px;
  }
  .price {
    padding: 60px 0 40px;
  }
  .price_ttl {
    font-size: 28px;
  }
  .price .inner {
    width: 88%;
  }
  .price .item {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 88%;
    margin-left: auto;
    margin-right: auto;
  }
  .price .item .box {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
    padding: 5px;
  }
  .price .item .box_ttl {
    font-size: 18px;
  }
  .price .item .box .area_ttl img {
    width: 270px;
  }
  .price .item .box .area_txt {
    font-size: 14px;
  }
  .price .item_icon {
    left: -30px;
    bottom: calc(50% - 20px);
  }
  .price .item_icon img {
    width: 65px;
  }
}


.function {
padding: 60px 0 50px;
}
.function_ttl {
font-size: 28px;
}
.function_txt {
font-size: 16px;
margin-top: 20px;
}
.function .item {
margin-top: 30px;
}
.function .item .box {
width: 100%;
max-width: unset;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
margin-bottom: 10px;
}
.function .item .box .area_ttl {
font-size: 16px;
}
.function .item .box .area_txt {
font-size: 12px;
}
.function .item .box_icon {
min-width: 60px;
}
.function .item .box_icon img {
width: 60px;
}
.movie {
padding: 30px 0;
}
.movie .inner {
width: 88%;
}
.movie .item_img {
margin-right: unset;
width: 40%;
}
.movie .item_coming {
width: 55%;
}
.movie .item_coming img {
width: 100%;
}
.voice {
padding: 60px 0 40px;
}
.voice_ttl {
font-size: 28px;
}
.voice .item {
margin-top: 30px;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
margin-left: auto;
margin-right: auto;
}
.voice .item .box {
width: 100%;
max-width: 280px;
margin-bottom: 20px;
}
.voice .item .box .area {
padding: 15px;
}
.voice .item .box .area_txt1 {
font-size: 18px;
}
.voice .item .box .area_txt2 {
font-size: 16px;
}
.voice .item .box .area_txt3 {
font-size: 14px;
}
.voice_more {
margin-top: 20px;
}
.voice_more_btn {
width: 280px;
height: 50px;
font-size: 16px;
}
.relation {
padding: 60px 0 40px;
}
.relation_ttl {
font-size: 28px;
}
.relation .item {
margin-top: 30px;
}
.relation .lead {
border-top: 1px solid #2a5294;
border-bottom: 1px solid #2a5294;
padding: 15px 0;
}
.relation .lead_top {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.relation .lead_area {
margin-left: unset;
margin-top: 10px;
}
.relation .lead_area_ttl {
font-size: 14px;
}
.relation .lead_area_txt {
font-size: 14px;
}
.relation .lead_txt {
font-size: 14px;
}
.relation .box {
padding: 10px 0;
}
.relation .box_ttl {
font-size: 16px;
line-height: 1.5;
padding: 10px;
margin-bottom: 10px;
}
.relation .box_txt {
font-size: 14px;
padding: 10px;
}
.flow {
padding: 60px 0 40px;
}
.flow .inner {
width: 88%;
}
.flow_ttl {
font-size: 28px;
}
.flow .item {
margin-top: 30px;
}
.flow .item .box {
width: 49%;
max-width: unset;
margin-bottom: 10px;
}
.flow .item .box_arrow {
display: none;
}
.flow .item .box_lead {
font-size: 30rem;
}
.flow .item .box .area_ttl {
font-size: 14px;
}
.flow .item .box .area_img img {
width: 100%;
}
.flow .item .box .area_txt {
font-size: 13px;
}


.sp-menu {
display: none;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
cursor: pointer;
-webkit-transition: all 0.8s;
transition: all 0.8s;
}
.sp-menu-item span {
border-bottom: 2rem solid #0265C5;
width: 28rem;
display: block;
margin-bottom: 6rem;
-webkit-transition: all 0.8s;
transition: all 0.8s;
}
.sp-menu-item span:last-child {
margin-bottom: unset;
width: 28rem;
}
.sp-menu-item.change span:first-child {
-webkit-transform: rotate(-45deg) translate(-2rem, 4rem);
transform: rotate(-45deg) translate(-2rem, 4rem);
}
.sp-menu-item.change span:nth-child(2) {
display: none;
}
.sp-menu-item.change span:last-child {
width: 28rem;
-webkit-transform: rotate(45deg) translate(-3rem, -4rem);
transform: rotate(45deg) translate(-3rem, -4rem);
}
.menu-overlay {
display: none;
position: fixed;
width: 100%;
height: calc(100% - 56px);
z-index: 20;
margin-top: 56px;
padding: 60px 36px;
background-color: white;
-webkit-font-smoothing: antialiased;
/* to stop flickering of text in safari */
-webkit-transform-origin: 0% 0%;
transform-origin: 0% 0%;
-webkit-transform: translate(-100%, 0%);
transform: translate(-100%, 0%);
-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
transition: -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
z-index: 99;
overflow: auto;
}
.menu-overlay.change {
-webkit-transform: none;
transform: none;
}
.menu-overlay .overlay-links {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.menu-overlay .overlay-links .overlay-links__contact {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 100%;
}
.menu-overlay .overlay-links .overlay-links__contact .l-header__contact {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 350px;
margin-top: 20px;
background-color: #f11111;
color: white;
height: 50px;
border-radius: 50px;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.menu-overlay .overlay-links .overlay-links__contact .l-header__contact span:first-child {
margin-right: 20px;
}
.overlay-links__group {
margin-bottom: 25px;
width: 100%;
}
.overlay-links__lead {
color: #2a5294;
font-weight: bold;
font-size: 16px !important;
margin-left: unset !important;
margin-top: 25px;
text-align: center;
}
@media (max-width: 1090px) {
.menu-overlay {
display: block;
width: 100%;
}
.sp-menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.sp-menu-item span {
border-bottom: 2px solid #2a5294;
width: 22px;
margin-bottom: 5px;
}
.sp-menu-item span:last-child {
width: 22px;
}
.sp-menu-item.change span:first-child {
-webkit-transform: rotate(-45deg) translate(-2px, 4px);
transform: rotate(-45deg) translate(-2px, 4px);
}
.sp-menu-item.change span:last-child {
width: 22px;
-webkit-transform: rotate(45deg) translate(-1px, -3px);
transform: rotate(45deg) translate(-1px, -3px);
}
.header {
padding: 10px 30px 10px 20px;
}
.header-menu {
display: none;
}
}
.u-sp-block {
  display: none;
}

.u-pc-block {
  display: block;
}

.u-mt-20 {
  margin-top: 20px !important;
}

.u-mt-30 {
  margin-top: 30px;
}

@media (max-width: 768px) {
  .u-sp-block {
    display: block;
  }
  .u-pc-block {
    display: none;
  }
}
/*# sourceMappingURL=style.css.map */


/* 親 */
.partner.bg_blue { background: #2a5294; } /* 任意 */

/* ラッパー */
.customer_ani_wrap {
  overflow: hidden;
  width: 100%;
  position: relative;
}

/* アニメ本体 */
.customer_ani {
  display: flex;
  gap: 0; /* 2本のULを隙間なく */
}

/* リスト（横一列に並べる） */
.customer_list {
  display: flex;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  padding: 16px 0;
  margin: 0;
  list-style: none;
  flex-shrink: 0;
  /* 自動幅 → コンテンツ幅だけ横に長くなる */
  animation: marquee 30s linear infinite;
}

/* 2本とも同じスピードで流す */
.customer_list:nth-of-type(2) { animation: marquee2 30s linear infinite; }

/* ロゴ画像 */
.customer_item img {
  height: clamp(28px, 5vw, 56px);
  width: auto;
  filter: grayscale(0%);          /* 必要なら 100% でモノクロ */
  opacity: 0.95;                   /* 少しだけ落とすと上品 */
  transition: transform .25s ease, opacity .25s ease, filter .25s ease;
}

/* ホバー時の演出 */
.customer_item img:hover {
  transform: scale(1.04);
  opacity: 1;
  filter: none;
}

/* ホバーで一時停止 */
.customer_ani_wrap:hover .customer_list {
  animation-play-state: paused;
}

/* 無限スクロールのキーフレーム
   1本目は左へ100%流す */
@keyframes marquee {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

/* 2本目は1本目の続きとして左へ100%流し、ずっと繋がって見える */
@keyframes marquee2 {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

/* 端末の“動きを減らす”設定に追従 */
@media (prefers-reduced-motion: reduce) {
  .customer_list { animation: none; }
}

/* voice セクション専用レイアウト */
.voice .item {
  display: flex;              /* d-flex と同じだが、ここで再宣言して確実に上書き */
  flex-wrap: wrap;
  justify-content: flex-start;/* flex-between を打ち消す */
  gap: 24px;                  /* ボックス間の余白 */
}

/* ボックスを 4列→2列→1列に */
.voice .item .box {
  flex: 0 1 calc(25% - 24px);
  box-sizing: border-box;

  /* カード体裁（任意） */
  display: flex;
  flex-direction: column;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* 画像は枠いっぱい・比率維持 */
.voice .box_img img {
  display: block;
  width: 100%;
  height: auto;
}

/* 本文余白 */
.voice .area {
  padding: 14px 16px;
}

/* タブレット */
@media (max-width: 1024px) {
  .voice .item .box {
    flex-basis: calc(50% - 24px);
  }
}

/* スマホ */
@media (max-width: 600px) {
  .voice .item .box {
    flex-basis: 100%;
  }
}

/* 万一 .flex-between に !important がある場合の保険 */
.voice .item.flex-between {
  justify-content: flex-start !important;
}

/* ── flow セクション専用 ─────────────────────────── */
.flow .item{
  display:flex;                 /* 横並び */
  flex-wrap:wrap;               /* 幅が足りない時は折返し */
  justify-content:flex-start;   /* space-between を打ち消し */
  gap:24px;                     /* ボックス間の余白 */
}

/* 4→2→1 列レイアウト */
.flow .box{
  flex:0 1 calc(25% - 24px);    /* 4列 */
  box-sizing:border-box;
  position:relative;            /* 矢印の基準 */
  display:flex;
  flex-direction:column;
  border:1px solid #eee;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.flow .box_lead{
  padding:10px 14px;
  font-weight:700;
  color:#2a4aa0;                /* お好みで */
}

.flow .area{ padding:14px 16px; }

.flow .area_img img{
  display:block;
  width:100%;
  height:auto;
}

/* 矢印（各カードの右側に表示） */
.flow .box_arrow{
  position:absolute;
  top:50%;
  right:-16px;                  /* ボックス間(24px)の中に程よく重ねる */
  transform:translateY(-50%);
  pointer-events:none;
}
.flow .box:last-child .box_arrow{ display:none; } /* 最後は非表示 */

/* タブレット：2列、矢印は邪魔なので消す */
@media (max-width: 1024px){
  .flow .box{ flex-basis: calc(50% - 24px); }
  .flow .box_arrow{ display:none; }
}

/* スマホ：1列 */
@media (max-width: 600px){
  .flow .item{ gap:16px; }
  .flow .box{ flex-basis: 100%; }
}

/* 既存の .flex-between に !important がある場合の保険 */
.flow .item.flex-between{ justify-content:flex-start !important; }

/* ── function セクション専用（2カラム） ───────────────── */
.function .item {
  display: grid !important;                 /* d-flex を上書き */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  justify-content: initial !important;      /* flex-between 影響打消し */
  align-items: stretch;
}

/* 各ボックスの中身（アイコン横並びはそのまま） */
.function .box {
  width: auto;                              /* 100%指定があれば打消し */
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
}

.function .box_icon {
  flex: 0 0 auto;
  margin-right: 12px;
}
.function .box_icon img {
  display: block;
  width: 56px;                              /* お好みで */
  height: auto;
}

/* テキスト側 */
.function .area_ttl { font-weight: 700; margin-bottom: 4px; }
.function .area_txt { line-height: 1.6; }

/* スマホは1カラムに */
@media (max-width: 600px) {
  .function .item {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
/* relation セクション：lead_top を左寄せ */
.relation .lead_top{
  display: flex;               /* 念のため再宣言 */
  flex-direction: row;
  justify-content: flex-start !important; /* 横方向を左寄せ */
  align-items: center;          /* 縦は中央（上寄せなら flex-start に） */
  gap: 16px;                    /* 画像とテキストの間隔 */
  text-align: left;             /* 内部テキストの左寄せ */
}

/* 親やユーティリティで text-align:center が効いている場合に備える */
.relation .lead_area{ text-align: left; }

/* 画像の表示安定（任意） */
.relation .lead_top_img img{
  display: block;
  height: auto;
  /* width: 72px;  必要なら固定幅 */
}

/* スマホ時は縦積み＋左寄せ */
@media (max-width: 600px){
  .relation .lead_top{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
