* {
    font-family: "Noto Sans JP", sans-serif;
}
.mv-slide img {
    height: auto;
    width: 100%;
    max-width: 100%;
}
.block-head {
    margin: 0 0 45px;
    text-align: center;
}
.block-head p {
    margin: 0 auto 20px;
    padding: 0 20px;
    position: relative;
    text-align: center;
    min-width: 250px;
    width: max-content;
}
.block-head p::before {
    background: #1d6ba2;
    content: "";
    display: block;
    height: 100%;
    margin: auto;
    position: absolute;
    left: -10%;
    right: 0;
    top: 0;
    bottom: 0;
    transform: skewX(-20deg);
    width: 120%;
}
.block-head p span {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}
.block-head h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0;
}
.block-head .ttl {
    font-size: 72px;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0;
}
.block-head h2.w {
    color: #fff;
}
/* blockname */
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .block-head p span {
        font-size: 20px;
    }
    .block-head h2 {
        font-size: 21px;
    }
    .block-head .ttl {
        font-size: 42px;
        line-height: 1;
        text-align: center;
    }
}

/* subblock head */
.subblock-head {
    margin: 0 0 35px;
    text-align: center;
}
.subblock-head h2 {
    color: #012c61;
    font-size: 72px;
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    .subblock-head h2 {
        font-size: 42px;
    }
}

.logo {
    margin: 45px auto;
    text-align: center;
    width: 90%;
}
.logo img {
    width: 100%;
    max-width: max-content;
}

/* challenge */
.challenge {
    background: url(../images/challenge-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 75px 0;
}
.challenge-inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;
}
.challenge-body {
    margin: 85px 0 0;
}
.challenge-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.challenge-card {
    background: #fff;
    border-radius: 10px;
    filter: drop-shadow(3px 3px 3px rgb(137 137 137));
    position: relative;
    width: calc((100% / 3) - 20px);
}
.challenge-card__num {
    background: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 82px;
    position: absolute;
    left: 0;
    top: -41px;
    text-align: center;
    width: 82px;
}
.challenge-card__num p {
    color: #1d6ba2;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}
.challenge-card__num p span {
    color: #1d6ba2;
    display: block;
    font-size: 49px;
    font-weight: 700;
    line-height: 1;
}
.challenge-card__image img {
    height: auto;
    width: 100%;
    max-width: 100%;
}
.challenge-card__text {
    padding: 25px 10px;
}
.challenge-card__ttl {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    text-align: center;
}
.challenge-card__txt {
    font-size: 14px;
    font-weight: 400;
    margin: 20px 0 0;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .challenge-cards {
        gap: 45px;
    }
    .challenge-card {
        width: 100%;
    }
    .challenge-card__num {
        height: 56px;
        top: calc((56px / 2) * -1);
        width: 56px;
    }
    .challenge-card__num p {
        font-size: 11px;
    }
    .challenge-card__num p span {
        font-size: 26px;
    }
}


/* tel-banner */
.tel-banner {
    margin: 45px 0;
}
.tel-banner img {
    height: auto;
    width: 100%;
    max-width: max-content;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* blockname */
.medias {
    padding: 45px 0;
}
.medias-inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;
}
.medias-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    row-gap: 35px;
}
.medias-cards::before {
    content: "";
    display: block;
    order: 1;
    width: calc((100% / 3) - 20px);
}
.medias-card {
    background: #fff;
    /* filter: drop-shadow(3px 3px 3px rgb(137 137 137)); */
    text-align: center;
    width: calc((100% / 3) - 20px);
}
.medias-card a {
    text-decoration: none;
}
.medias-card__image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    line-height: 0;
}
.medias-card img {
    height: auto;
    width: 100%;
    max-width: 100%;
}
.medias-card__text {
    padding: 15px 10px;
}
.medias-card__text p {
    color: #212529;
    font-size: 16px;
    font-weight: 700;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .medias-cards::before,
    .medias-card {
        width: 49.5%;
    }
}


/* aqa-conents pt */
.aqa-conents {
    background: url(../images/bg-sky.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    padding: 35px 0;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* blockname */
.change .img {
    background-image: url(../images/ceo.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.change .info {
    background: url(../images/ceo-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.change .info h2 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0 0 20px;
}
.change .info p {
    font-size: 14px;
    font-weight: 400;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .change .img {
        background-position: center top;
        height: 400px;
    }
    .change .info h2 {
        font-size: 20px;
    }
}


/* banner */
.banner {
    margin: 35px 0 45px;
}
.banner img {
    filter: drop-shadow(5px 5px 5px #898989);
    height: auto;
    width: 100%;
    max-width: 100%;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* message */
.message {
    background: url(../images/fromaqa-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.message p {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* category */
.category {
    margin: 45px 0 0;
}
.media-style .cate-map {
    background: #012c61;
}
.media-style .cate-map .ttl {
    font-size: 18px;
    font-weight: 700;
}
.media-style .cate-map ul li a {
    font-size: 16px;
    font-weight: 500;
    color: #012c61;
    background-color: #fff;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* sns */
.sns {
    margin: 0 0 65px;
}
.sns-inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;
}
.sns-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.sns-card {
    width: 48.5%;
}
.sns-card img {
    height: auto;
    width: 100%;
    max-width: 100%;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .sns-cards {
        gap: 20px;
    }
    .sns-card {
        width: 100%;
    }
}


/* blockname */
.aqa-conents .item,
.wakare-conents .item .ttl {
    background: #012c61;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}


/* blockname */
.price-wrap {
    margin: 75px 0;
    padding: 65px 0;
}
.price-wrap__inner {
    margin: 0 auto;
    width: 95%;
    max-width: 1150px;
}
.price-list {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin: 0 0 45px;
}
.price-list__item dt {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 20px;
    padding: 8px 10px;
    text-align: center;
    width: 100%;
    max-width: 240px;
}
.price-list__item dd {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}
.price-cards {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 45px;
}
.price-card {
    width: calc((100% / 3) - 20px);
}
.price-card img {
    height: auto;
    width: 100%;
    max-width: 100%;
}
.price-wrap__head {
    margin: 0 0 45px;
}
.price-wrap__head h2,
.price-wrap__body h3 {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    text-align: center;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {
    .price-cards {
        gap: 20px;
    }
    .price-card {
        width: 100%;
    }
}


/* blocks */
.blocks {
    display: flex;
    flex-direction: column;
    gap: 65px;
    padding: 0 0 45px;
}
.block h4 {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 15px;
}
.block p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    margin: 0;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

/* blockname */
.contents-list ul li a.b {
    font-size: 16px;
    font-weight: bold;
}
@media screen and (max-width: 968px) {}
@media screen and (max-width: 768px) {}

h3.common-ttl3::after {
    content: none !important;
  }
  
  .plan-icon {
    width: auto;   /* 文字サイズに合わせる */
    height: 1.4em;  /* 縦横比を維持したい場合は height:auto; でもOK */
    vertical-align: middle; /* テキストと縦位置をそろえる */
    margin-right: 0.5em;    /* 文字との間隔 */
  }
/* 横スクロール防止だけ */
html, body {
    overflow-x: hidden;
  }
  
  /* スライダー画像を幅いっぱいにフィット */
  .mv-slide img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* ====================================
   block-head: タグ変更後の完全見た目再現
==================================== */

/* ▼「別れさせ屋の基礎知識」→ h2.label */
.block-head h2.label {
    display: inline-block; /* ← これが重要。高さを内容に合わせる */
    position: relative;
    margin: 0 auto 20px;
    padding: 0 20px;
    text-align: center;
    min-width: 250px;
    width: auto;
  }
  .block-head h2.label::before {
    background: #1d6ba2;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -10%;
    right: -10%;
    bottom: 0;
    transform: skewX(-20deg);
    z-index: 0;
  }
  .block-head h2.label > span {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    z-index: 1;
  }
  
  /* ▼「別れさせ屋を知りたい方向け」→ p.lead */
  .block-head p.lead {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0;
    text-align: center;
    color: #000;
    background: none !important;
    position: static !important;
    width: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  /* ▼レスポンシブ（スマホ時） */
  @media screen and (max-width: 768px) {
    .block-head h2.label > span {
      font-size: 20px;
    }
    .block-head p.lead {
      font-size: 21px;
    }
  }
/* ====================================
   block-head: タグ変更後の完全見た目再現
==================================== */

/* ▼「別れさせ屋の基礎知識」→ h2.label */
.block-head h2.label {
  display: inline-block; /* ← これが重要。高さを内容に合わせる */
  position: relative;
  margin: 0 auto 20px;
  padding: 0 20px;
  text-align: center;
  min-width: 250px;
  width: auto;
}
.block-head h2.label::before {
  background: #1d6ba2;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -10%;
  right: -10%;
  bottom: 0;
  transform: skewX(-20deg);
  z-index: 0;
}
.block-head h2.label > span {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

/* ▼「別れさせ屋を知りたい方向け」→ p.lead */
.block-head p.lead {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.6em;
  margin: 0;
  text-align: center;
  color: #000;
  background: none !important;
  position: static !important;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ▼レスポンシブ（スマホ時） */
@media screen and (max-width: 768px) {
  .block-head h2.label > span {
    font-size: 20px;
  }
  .block-head p.lead {
    font-size: 21px;
  }
}

/* ==========================================
   block-head：上下中央揃え 完全版
========================================== */

/* 青帯タイトル（h2.label） */
.block-head h2.label {
    margin: 0 auto 20px;
    padding: 0 20px;
    position: relative;
    text-align: center;
    min-width: 250px;
    width: max-content;
    display: inline-block;
    line-height: 1.4;
  }
  
  .block-head h2.label::before {
    background: #1d6ba2;
    content: "";
    position: absolute;
    top: 60%; /* 中央に配置 */
    left: 50%;
    width: 120%;
    height: 1.4em; /* 文字の高さにフィット */
    transform: translate(-50%, -50%) skewX(-20deg); /* 上下中央＋傾き */
    z-index: 0;
  }
  
  .block-head h2.label > span {
    position: relative;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    z-index: 1;
  }
  
  /* 下の黒文字タイトル（p.lead） */
  .block-head p.lead {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0;
    text-align: center;
    color: #000;
    background: transparent;
    position: static;
  }
  
  /* 既存の青帯スタイルをリセット（p.leadに適用されないように） */
  .block-head p.lead::before {
    content: none !important;
    display: none !important;
  }
  
  /* スマホ時 */
  @media screen and (max-width: 768px) {
    .block-head h2.label > span {
      font-size: 20px;
    }
    .block-head p.lead {
      font-size: 21px;
    }
  }
  
/* ==========================
   block-head レイアウト修正
========================== */

/* コンテナ全体を縦並び・中央揃えに */
.block-head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  /* 青帯を中央揃えのまま表示 */
  .block-head h2.label {
    display: inline-block;
    margin: 0 0 20px;
    position: relative;
    padding: 0 20px;
  }
  
  /* STUDYの位置を中央に */
  .block-head .ttl {
    display: block;
    text-align: center;
    margin: 0 auto 10px;
    font-size: 72px;
    font-weight: 700;
    line-height: 1.2;
  }
  
  /* 下の黒文字タイトルも中央に */
  .block-head p.lead {
    text-align: center;
    margin: 0;
  }
  
  /* FROM AQA を白文字にする */
.block-head .ttl.w {
    color: #fff;
  }
  