@charset "UTF-8";
/* GoogleFonts読み込み 下記のライセンス記述は削除禁止 */
/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NS-Medium.woff2") format("woff2"), url("../fonts/NS-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NS-Bold.woff2") format("woff2"), url("../fonts/NS-Bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NS-Black.woff2") format("woff2"), url("../fonts/NS-Black.woff") format("woff");
  font-display: swap;
}
/* 共通 */
@media screen and (max-width: 900px) {
  .pc {
    display: none;
  }
}
@media screen and (min-width: 900px) {
  .sp {
    display: none;
  }
}
.inner {
  margin: auto;
  position: relative;
}

/* ノートPCサイズ */
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .inner {
    max-width: 1108px;
  }
}
/* 1386px以上の場合 */
@media screen and (min-width: 1386px) {
  .inner {
    max-width: 1386px;
    width: 100%;
  }
}
/* 900px以上 かつ 1070px以下の場合 */
@media screen and (min-width: 900px) and (max-width: 1108px) {
  .inner {
    width: 100%;
  }
}
/* 900px以下の場合 */
@media screen and (max-width: 900px) {
  .inner {
    padding: 0 10px;
  }
}
b {
  font-weight: 900;
}

/* 動き */
.fade-up {
  opacity: 0;
  transform: translate(0px, 20px);
  transition-duration: 1000ms;
  transition-timing-function: ease-in-out;
}

.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

a[href^=tel],
a[href^=mailto] {
  text-decoration: none;
}

html {
  overflow-x: hidden;
}

body {
  box-sizing: border-box;
}

#contents {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 700;
  box-sizing: border-box;
  width: 100%;
  padding: 0;
  margin: 0;
  max-width: unset;
}

/* MV
---------------------------------------------------------------------------*/
nav#menu {
  border-bottom: none;
  margin: 0;
}

.mv {
  position: relative;
  background-color: #fff;
  padding: 2rem 0;
  z-index: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 900px) {
  .mv {
    padding: 1rem 0 2rem;
    margin-bottom: 14px;
  }
}

.mv-image {
  position: absolute;
  width: clamp(300px, 40.364vw, 775px);
  height: auto;
  display: block;
  z-index: -1;
  vertical-align: bottom;
  bottom: -170px;
  left: clamp(40rem, -11.173rem + 62.259vw, 52.238rem);
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .mv-image {
    bottom: -155px;
    width: 650px;
    left: 52%;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .mv-image {
    bottom: -120px;
  }
}

@media screen and (max-width: 900px) {
  .mv-image {
    width: 97%;
    top: 44.4vw;
    right: 0;
    left: 5.3px;
    margin: auto;
  }
}
.mv-logo {
  display: block;
  width: clamp(30vw, 680px, 43vw);
  margin: 0 0 27px 8px;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .mv-logo {
    width: clamp(30vw, 844px, 40vw);
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .mv-logo {
    margin: 0 0 15px 8px;
  }
}
@media screen and (max-width: 900px) {
  .mv-logo {
    margin: 0 0 8px 17px;
  }
}

.mv-subcatch {
  display: block;
  width: clamp(30vw, 844px, 60vw);
  margin: 0 0 5px -11px;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .mv-subcatch {
    width: clamp(30vw, 844px, 40vw);
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .mv-subcatch {
    width: clamp(30vw, 844px, 40vw);
  }
}

@media screen and (max-width: 900px) {
  .mv-subcatch {
    width: 94.5%;
    margin: 0 0 6px 11px;
  }
}
.mv-catch {
  display: block;
  width: clamp(62%, 56vw, 1025px);
  max-width: 60vw;
  margin-left: -10px;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .mv-catch {
    max-width: 50vw;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .mv-catch {
    max-width: 50vw;
    margin-left: 0;
  }
}

@media screen and (max-width: 900px) {
  .mv-catch {
    width: 100%;
    margin: 0 auto 166px;
    max-width: unset;
    padding: 0 7px;
    margin-left: 0;
  }
}
.mv-checkpoint {
  display: flex;
  flex-wrap: wrap;
  margin: 59px 0 0;
  gap: 0 55px;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .mv-checkpoint {
    margin: 25px 0 0;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .mv-checkpoint {
    margin: 0 0 0;
  }
}
@media screen and (max-width: 900px) {
  .mv-checkpoint {
    gap: 13px 0;
    margin: 59px 0 0;
    padding: 0px;
    padding-top: -89px;
    margin-top: -34px;
    padding-left: 6px;
  }
}

.mv-checkpoint li {
  font-size: 1.7cqw;
  color: #fff;
  background-color: #ADCC08;
  border: 5px solid #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 22px;
  position: relative;
  padding: 33px 10px 33px 66px;
  width: 14.8vw;
  font-weight: bold;
  line-height: 1.4;
  margin-left: 32px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 900px) {
  .mv-checkpoint li {
    width: 64%;
    font-size: 20px;
    padding: 7px 0 7px 72.6px;
    font-weight: bold;
    border-radius: 10px;
    border-width: 2px;
    margin: 0 9px 0 53px;
    line-height: 1.2;
  }
}

.mv-checkpoint li::before {
  content: "";
  width: 137px;
  height: 137px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -80px;
  margin: auto;
}

.mv-checkpoint li:nth-child(2) {
  padding: 33px 20px 33px 71px;
  width: 14vw;
}
@media screen and (max-width: 900px) {
  .mv-checkpoint li:nth-child(2) {
    width: 64%;
    padding: 9px 0 6px 72.8px;
  }
}

@media screen and (max-width: 900px) {
  .mv-checkpoint li::before {
    width: 81px;
    height: 81px;
    top: -6px;
    left: -51px;
  }
}
.mv-checkpoint li:nth-child(1)::before {
  background: url("../img/ico-mv01.png") no-repeat 0 0/cover;
}
@media screen and (max-width: 900px) {
  .mv-checkpoint li:nth-child(1)::before {
    background: url("../img/ico-mv01-sp.png") no-repeat 0 0/cover;
  }
}

.mv-checkpoint li:nth-child(2)::before {
  background: url("../img/ico-mv02.png") no-repeat 0 0/cover;
  width: 116px;
  height: 119px;
  left: -58px;
}
@media screen and (max-width: 900px) {
  .mv-checkpoint li:nth-child(2)::before {
    width: 74px;
    height: 77px;
    left: -41px;
    top: 3px;
  }
}
@media screen and (max-width: 900px) and (max-width: 900px) {
  .mv-checkpoint li:nth-child(2)::before {
    background: url("../img/ico-mv02-sp.png") no-repeat 0 0/cover;
  }
}

.mv-checkpoint b {
  color: #FFF06D;
}

/* section
---------------------------------------------------------------------------*/
.banner {
  margin: 0 auto 0;
  text-align: center;
  background: #FFF59C;
  padding: 78px 32px;
}

.banner img {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  width: 53.5%;
  border-radius: 18px;
}

.banner a:hover {
  cursor: pointer;
}

@media screen and (max-width: 900px) {
  .banner {
    padding: 28px 0 18px;
  }
  .banner img {
    width: 75%;
    padding-right: 0;
  }
}
.concern-area {
  position: relative;
  border: 5px solid #8E8E8E;
  border-radius: 20px;
  text-align: center;
  margin-bottom: 127px;
  margin-top: 137px;
}

.concern-title {
  position: absolute;
  top: -30px;
  left: 50.7%;
  transform: translateX(-50%);
  background: #fff;
  width: 1125px;
  text-align: center;
}

.concern-title img {
  max-width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 900px) {
  .concern-area {
    border-width: 2px;
    margin-top: 72px;
    margin-bottom: 37px;
  }
  .concern-title {
    width: 82%;
    top: -26px;
    padding: 0px 10px;
    padding-left: 8px;
  }
}
.concern-txt01,
.concern-txt02,
.concern-txt03 {
  position: absolute;
  opacity: 1; /* 初期状態で非表示 */
  transform: translateY(10px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.concern-txt01.show,
.concern-txt02.show,
.concern-txt03.show {
  opacity: 1;
  transform: translateY(0);
}

.concern-txt01 {
  left: -0.9%;
  max-width: 37.1%;
  top: 15.3%;
}

.concern-txt02 {
  left: -4.5%;
  right: 0;
  margin: auto;
  max-width: 33.7%;
  top: 16.2%;
}

.concern-txt03 {
  right: 1.7%;
  top: 18.2%;
  max-width: 32%;
}

.img-concern {
  margin: 305px 0 -3px 195px;
  display: block;
  width: 69.2%;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .img-concern {
    margin: 260px 0 -3px 195px;
  }
}

.down-arrow-wrap {
  position: absolute;
  top: 677px;
  width: 100%;
  display: block;
  text-align: center;
  overflow: hidden;
  right: -10px;
}

.down-arrow-inner {
  animation: flow-arrow 0.8s ease-in;
  height: 185px;
}

@keyframes flow-arrow {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
.down-arrow-wrap img {
  max-height: 100%;
  width: auto;
}

@media screen and (max-width: 900px) {
  .concern-txt01 {
    left: -8px;
    max-width: 64.4vw;
    top: 83px;
  }
  .concern-txt02 {
    right: 1px;
    margin: auto;
    max-width: 52.6vw;
    top: 158px;
    left: unset;
  }
  .concern-txt03 {
    top: 241px;
    right: unset;
    left: 6px;
    max-width: 51.4%;
  }
  .concern-txt01 img {
    max-width: unset;
    width: 100%;
  }
  .concern-txt02 img {
    max-width: unset;
    width: 100%;
  }
  .concern-txt03 img {
    max-width: unset;
    width: 100%;
  }
  .img-concern {
    margin: 360px 1px -5px 8px;
    width: 96.5%;
    margin-bottom: -5px;
  }
  .down-arrow-wrap {
    position: absolute;
    top: unset;
    bottom: -74px;
    right: -6px;
  }
  .down-arrow-inner {
    height: 66px;
  }
  .down-arrow-wrap img {
    max-height: 68px;
  }
}
/* ask-area
---------------------------------------------------------------------------*/
.ask-area {
  background-color: #FDECEF;
  padding: 77px 0 103px;
}
@media screen and (max-width: 900px) {
  .ask-area {
    padding: 34px 0 29px;
    margin-bottom: 132px;
  }
}

.ask-wrap {
  background: #fff;
  box-shadow: 0 7px 26px rgba(0, 0, 0, 0.16);
  position: relative;
}
@media screen and (min-width: 900px) {
  .ask-wrap {
    border: 2px solid #F25872;
    outline: 10px solid #fff;
    margin: 0 9px;
    margin: -128px 9px 206px;
    padding: 8px 131px 22px;
    border-radius: 20px;
  }
}
@media screen and (max-width: 900px) {
  .ask-wrap {
    padding: 16px 9px 0;
    border-radius: 10px;
    margin-bottom: -31px;
  }
}

.ask-wrap:nth-of-type(2) {
  padding-bottom: 84px;
  padding-top: 17px;
  margin: -126px 9px 204px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) {
    padding-bottom: 14px;
    margin-bottom: 158px;
    padding: 16px 10px 45px;
    margin: 0;
  }
}

.ask-wrap:nth-of-type(3) {
  padding-bottom: 62px;
  margin-top: -119px;
  padding-top: 19px;
  margin-bottom: 177px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) {
    padding-bottom: 0;
    margin-bottom: 30px;
    padding-top: 16px;
    margin-top: 50px;
  }
}

.ask-wrap:nth-of-type(4) {
  padding: 55px 131px 32px;
  margin: -96px 9px 206px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) {
    padding: 0 9px;
    padding-top: 16px;
    margin: -33px 0px 210px;
    margin-bottom: -40px;
  }
}

.ask-wrap .fade-up p.ask-discription {
  font-size: 14px;
  margin-top: -4px;
  width: 100%;
  padding-left: 214px;
}
@media screen and (max-width: 900px) {
  .ask-wrap .fade-up p.ask-discription {
    padding-left: 0;
  }
}

.ask-head-icon img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 900px) {
  .ask-head-icon {
    width: 70px;
    flex: 0 0 70px;
  }
}
.ask-catch {
  display: flex;
  align-items: center;
}

.ask-head {
  background: #ADCC08;
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  border-radius: 44px;
  position: relative;
  padding: 29px 20px 29px 62px;
  margin-left: 0;
  letter-spacing: -0.3px;
  line-height: 1.4;
  text-align: left;
  width: 72.7%;
  margin-top: 47px;
}

@media screen and (max-width: 900px) {
  .ask-head {
    margin: 0;
    border-radius: 20px;
    font-size: 4cqw;
    padding: 17px 0 17px 18px;
    line-height: 1.4;
    max-width: 238px;
    min-height: 76px;
    width: auto;
    display: flex;
    align-items: center;
    font-weight: 900;
  }
}
.ask-head::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -28px; /* 矢印を外に出す量（調整OK） */
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent #ADCC08 transparent transparent; /* 右向き */
  border-width: 18px 28px 18px 0; /* 高さ, 幅 調整 */
}

.ask-wrap:nth-of-type(even) .ask-head::before {
  left: auto;
  right: -28px;
  border-color: transparent transparent transparent #ADCC08;
  border-width: 18px 0 18px 28px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(even) .ask-head::before {
    border-width: 34px 0 34px 34px;
    z-index: -1;
    right: -13px;
  }
}

.ask-wrap .fade-up:nth-of-type(even) .ask-head {
  padding: 13px 0 13px 22px;
}

@media screen and (max-width: 900px) {
  .ask-head::before {
    bottom: -16px;
    border-width: 16px 19px 18px 16px;
  }
  .ask-wrap .fade-up:nth-of-type(even) .ask-head {
    padding: 20px 40px 20px 20px;
  }
}
.ask-box {
  width: 100%;
  display: block;
  margin: 27px 0 73px;
}
@media screen and (min-width: 900px) {
  .ask-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0 46px;
    align-items: flex-start;
    padding: 0 0 0 0;
    margin: 0 auto 0;
    margin-top: -10.6px;
  }
}

@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .ask-wrap:nth-of-type(1) .ask-box {
    margin-top: -5px;
  }
}

.ask-box:nth-of-type(4) {
  margin-top: -2.6px;
}

.ask-wrap:nth-of-type(2) .ask-box {
  gap: 0 45px;
  margin-top: 14.4px;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-wrap:nth-of-type(2) .ask-box {
    margin-top: -11.6px;
  }
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-box {
    margin: -20px 0 -32px;
  }
}

.ask-wrap:nth-of-type(3) .ask-box {
  gap: 0 41px;
  margin-top: -67.6px;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-wrap:nth-of-type(3) .ask-box {
    margin-top: -78.6px;
  }
}

.ask-wrap:nth-of-type(4) .ask-box {
  margin-top: -2.6px;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .ask-wrap:nth-of-type(4) .ask-box {
    margin-top: 26.4px;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-wrap:nth-of-type(4) .ask-box {
    margin-top: -39.6px;
  }
}

@media screen and (min-width: 900px) {
  .ask-wrap .fade-up:nth-of-type(even) .ask-box {
    flex-direction: row-reverse;
    gap: 0 58px;
  }
}

.ask-wrap .fade-up:last-child .ask-box {
  margin-bottom: 0;
}

@media screen and (min-width: 900px) {
  .ask-wrap .fade-up:nth-of-type(even) .ask-detail {
    margin-right: 0;
    margin-left: 68px;
  }
}

@media screen and (min-width: 900px) {
  .ask-wrap .fade-up:nth-of-type(even) .ask-img {
    margin-left: 0;
    margin-right: 60px;
  }
}

@media screen and (max-width: 900px) {
  .ask-img {
    width: 100%;
    margin: auto;
    display: block;
    border-radius: 10px;
  }
}
@media screen and (min-width: 900px) {
  .ask-img {
    width: 48.7%;
    height: auto;
    max-width: 100%;
    flex-shrink: 0;
  }
}

.ask-wrap:nth-of-type(1) .ask-img {
  margin-top: 0;
}

.ask-wrap:nth-of-type(2) .ask-img {
  padding-top: 0;
  width: 50.5%;
  padding-left: 0;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-img {
    width: 100%;
    padding-top: 20px;
    margin-top: 27px;
    padding-left: 1px;
  }
}

.ask-wrap:nth-of-type(3) .ask-img {
  width: 49.5%;
  padding-top: 81.6px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-img {
    width: 100%;
    margin-top: -5px;
  }
}

.ask-wrap:nth-of-type(4) .ask-img {
  width: 50.4%;
  margin-top: -31px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ask-img {
    width: 100%;
    margin-top: 0;
  }
}

.ask-detail {
  border-radius: 10px;
  position: relative;
  text-align: center;
  color: #4B4B4B;
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  .ask-detail {
    margin: 22px 0 0;
  }
}
.ask-detail {
  padding: 26px 0 14px;
}
@media screen and (min-width: 900px) {
  .ask-detail {
    border-width: 4px;
    width: 40%;
    padding: 142px 0 30px;
    flex: 1;
  }
}

.ask-wrap:nth-of-type(2) .ask-detail {
  padding: 95px 0 30px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-detail {
    padding: 20px 0 30px;
    margin-bottom: 6px;
  }
}

.ask-wrap:nth-of-type(3) .ask-detail {
  padding: 97px 0 30px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-detail {
    padding: 33px 0 30px;
  }
}

.ask-wrap:nth-of-type(4) .ask-detail {
  padding: 136px 0 30px;
  margin-bottom: 42px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ask-detail {
    padding: 61px 0 30px;
  }
}

.ask-detail p {
  text-align: left;
  margin-top: -9px;
  line-height: 1.8;
}
@media screen and (max-width: 900px) {
  .ask-detail p {
    font-size: 16px;
    line-height: 1.5;
    margin-top: -7px;
  }
}

@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-detail p {
    margin-top: 24px;
    margin-bottom: -24px;
  }
  .ask-wrap:nth-of-type(3) .ask-detail p {
    margin-top: 24px;
    margin-bottom: 5px;
  }
  .ask-wrap:nth-of-type(4) .ask-detail p {
    margin-top: 24px;
    margin-bottom: -24px;
  }
}
.ask-wrap:nth-of-type(3) .ask-detail p {
  margin-left: 0;
}

.ask-wrap:nth-of-type(2) .ask-detail p.ttl-line3 {
  margin-bottom: 55px;
}

.ask-wrap:nth-of-type(3) .ask-detail p.ttl-line3 {
  margin-bottom: 50px;
}

@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-detail p.ttl-line2 {
    margin-top: 0;
  }
}
.ask-wrap:nth-of-type(2) .ask-detail p.ttl-line2 span,
.ask-wrap:nth-of-type(3) .ask-detail p.ttl-line2 span,
.ask-wrap:nth-of-type(4) .ask-detail p.ttl-line2 span {
  color: #F25872;
  font-size: 35px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-detail p.ttl-line2 span,
  .ask-wrap:nth-of-type(3) .ask-detail p.ttl-line2 span,
  .ask-wrap:nth-of-type(4) .ask-detail p.ttl-line2 span {
    font-size: 20px;
  }
}

.ask-wrap:nth-of-type(3) .ask-detail p.ttl-line3 {
  margin-bottom: -7px;
}

.ask-detail::before {
  content: "";
  background: url("../img/ico-airyugakusoudan.png") no-repeat center/158px auto #fff;
  top: -7.2%;
  left: -3%;
  right: 0;
  margin: auto;
  display: block;
  width: 153px;
  height: 153px;
  position: absolute;
  padding: 0 30px;
}

.ask-wrap:nth-of-type(2) .ask-detail::before {
  left: -9%;
  top: -16.2%;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-detail::before {
    top: -1%;
    left: -7px;
    top: -0.2%;
  }
}

.ask-wrap:nth-of-type(3) .ask-detail::before {
  left: -2%;
  top: -3.4%;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-detail::before {
    left: -8px;
  }
}

.ask-wrap:nth-of-type(4) .ask-detail::before {
  left: -8%;
  top: -7.8%;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ask-detail::before {
    top: 0px;
    left: -8px;
  }
}

@media screen and (max-width: 900px) {
  .ask-detail::before {
    background-size: 92px auto;
    top: -25px;
    width: 23px;
    height: 89px;
    left: -10px;
  }
}
.ask-detail .ttl {
  font-size: 27px;
  color: #4B4B4B;
  margin: 8px 0 17px;
}

.ask-detail .ttl b {
  font-size: 1.7rem;
  font-weight: 900;
  line-height: 1.5;
  color: #F25872;
}

.ttl-image {
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 900px) {
  .ttl-image {
    width: 85.6%;
    margin: 37px auto 0;
  }
}

.ask-wrap:nth-of-type(2) .ttl-image {
  width: 100%;
  padding-top: 14px;
  margin-bottom: -29px;
  padding-left: 0;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ttl-image {
    width: 100%;
    padding-top: 6px;
  }
}

.ask-wrap:nth-of-type(3) .ttl-image {
  width: 60%;
  margin: 0;
  padding-top: 90px;
  padding-left: 4px;
  margin: 0 auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-wrap:nth-of-type(3) .ttl-image {
    width: 100%;
  }
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ttl-image {
    margin: 0 auto;
    width: 75%;
    padding-top: 20px;
  }
}

.ask-wrap:nth-of-type(4) .ttl-image {
  width: 100%;
  margin-bottom: -25px;
  padding-left: 3px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ttl-image {
    width: 100%;
    margin: 0;
  }
}

.ttl-image img {
  display: block;
  margin: 0 auto;
  height: auto;
}

@media screen and (max-width: 900px) {
  .ask-detail .ttl {
    margin-bottom: 12px;
    line-height: 1.8;
  }
  .ask-detail .ttl b {
    font-size: 6cqw;
    line-height: 1.7;
  }
}
/* 使用イメージ
---------------------------------------------------------------------------*/
.using-img {
  background: url("../img/bg-img.jpg") no-repeat 0 0/cover;
}

.using-img-inner {
  padding: 0 0 90px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(13px) brightness(1.16);
  -webkit-backdrop-filter: blur(13px) brightness(1.16);
}

@media screen and (max-width: 900px) {
  .using-img-inner {
    padding: 0 0 48px;
  }
}
.using-img-ttl {
  padding: 103px 0 33px;
  background: url("../img/ttl-bg-img.svg") no-repeat bottom/contain;
  margin: 0 0 17px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .using-img-ttl {
    padding: 43px 0 13px;
  }
}

.using-img-ttl img {
  width: 35.8vw;
}
@media screen and (max-width: 900px) {
  .using-img-ttl img {
    width: 90%;
  }
}

.video-wrap {
  margin: auto;
  display: block;
  border-radius: 40px;
  overflow: hidden;
  width: 410px;
  position: relative;
}

video {
  width: 410px;
  margin: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  /* 角を完全に隠す */
  -webkit-mask-img: radial-gradient(circle, rgb(0, 0, 0) 98%, rgba(0, 0, 0, 0) 100%);
  mask-img: radial-gradient(circle, rgb(0, 0, 0) 98%, rgba(0, 0, 0, 0) 100%);
}

.video-wrap::after {
  content: "❚❚"; /* 一時停止アイコン */
  font-size: 40px;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none; /* マウス操作を透過 */
}

.video-wrap:hover::after {
  opacity: 1;
}

.video-wrap.paused::after {
  opacity: 0; /* 一時停止中は非表示 */
}

video:hover {
  cursor: pointer;
}

@media screen and (max-width: 900px) {
  .video-wrap {
    width: 100%;
  }
  video {
    width: 88%;
    margin: auto;
    border-radius: 20px;
  }
}
/* できること
---------------------------------------------------------------------------*/
.possible {
  background: #FFF9CD;
  padding-bottom: 20px;
  margin-top: -133px;
}
@media screen and (max-width: 900px) {
  .possible {
    padding-bottom: 42px;
  }
}

.possible .ttl-possible-area {
  background-color: #F25872;
  color: #fff;
  text-align: center;
  position: relative;
  padding: 130px 65px 25px;
  margin-bottom: 38px;
}
@media screen and (min-width: 900px) {
  .possible .ttl-possible-area {
    padding: 130px 0 59px;
  }
}
@media screen and (max-width: 900px) {
  .possible .ttl-possible-area {
    padding: 21px 0 23px;
  }
}

.possible .ttl-possible-area::before {
  content: "";
  position: absolute;
  margin: auto;
  left: -10px;
  right: 0;
  bottom: -46px;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #F25872 transparent transparent transparent;
  border-width: 48px 50px 0px 50px;
}
@media screen and (max-width: 900px) {
  .possible .ttl-possible-area::before {
    content: "";
    position: absolute;
    margin: auto;
    left: -4px;
    right: 0;
    bottom: -16px;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #F25872 transparent transparent transparent;
    border-width: 33px 30px 0px 30px;
  }
}

.possible .ttl-possible-area .ttl-possible {
  text-align: center;
  margin-bottom: 7px;
}
@media screen and (min-width: 900px) {
  .possible .ttl-possible-area .ttl-possible {
    width: 58.3vw;
    display: block;
    position: relative;
    margin: 0 auto 35px;
  }
}
@media screen and (max-width: 900px) {
  .possible .ttl-possible-area .ttl-possible {
    padding: 0 65px;
  }
}

.possible-catch {
  font-size: 20px;
  font-weight: bold;
  margin-top: -12px;
  padding-right: 8px;
}

.possible .ttl-possible-area .ttl-possible::before {
  content: "";
  position: absolute;
  left: -48.1%;
  bottom: -352%;
  display: block;
  /* ここがポイント：幅を画面に合わせて可変にする */
  width: clamp(220px, 40vw, 756px);
  /* 高さは比率で決める（688/756 ≒ 0.91） */
  aspect-ratio: 756/688;
  height: auto;
  background: url("../img/ico-user04.png") no-repeat left top;
  background-size: contain;
}
@media screen and (min-width: 1500px) and (max-width: 1770px) {
  .possible .ttl-possible-area .ttl-possible::before {
    bottom: -376%;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .possible .ttl-possible-area .ttl-possible::before {
    left: -46.3%;
    bottom: -415%;
  }
}

@media screen and (max-width: 900px) {
  .possible .ttl-possible-area .ttl-possible::before {
    bottom: 45%;
    left: -2%;
    width: 33%;
    height: 105px;
  }
}
@media screen and (max-width: 900px) {
  .possible .ttl-possible-area p {
    line-height: 1.5;
    font-size: 14px;
    margin: -4.8px;
    /* letter-spacing: 0em; */
    letter-spacing: 0;
    margin-left: 5px;
  }
}

.possible-item {
  padding-left: 0;
}
@media screen and (min-width: 900px) {
  .possible-item {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2.4vw;
    margin: 190px 0 0;
    padding-left: 0;
  }
}

.possible-item li {
  position: relative;
  border-radius: 20px;
  background: #fff;
  color: #4B4B4B;
  padding: 94px 34px 67px;
  margin-bottom: 24px;
  box-shadow: 0 6px 26px rgba(0, 0, 0, 0.16);
  font-weight: 900;
  box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .possible-item li {
    width: calc((100% - 5vw) / 3);
    margin-bottom: 73px;
    text-align: center;
    padding: 94px 36px 63px;
    max-height: 320px;
  }
}
@media screen and (max-width: 900px) {
  .possible-item li {
    border-radius: 10px;
    padding: 16px 17px 7px 100px;
    margin-bottom: 20px;
  }
}

.possible-item li:nth-child(2) {
  padding: 94px 31px 63px;
}

/* 3つ目 */
.possible-item li:nth-child(3) {
  padding: 94px 39px 63px;
}

/* 4つ目 */
.possible-item li:nth-child(4) {
  padding: 91px 36px 63px;
}

/* 5つ目 */
.possible-item li:nth-child(5) {
  padding: 91px 39px 63px;
}

/* 6つ目 */
.possible-item li:nth-child(6) {
  padding: 91px 39px 63px;
}

@media screen and (max-width: 900px) {
  .possible-item li:nth-child(2) {
    padding: 15px 15px 3px 100px;
  }
  .possible-item li:nth-child(3) {
    padding: 18px 7px 6px 100px;
  }
  .possible-item li:nth-child(4) {
    padding: 15px 15px 5px 100px;
  }
  .possible-item li:nth-child(5) {
    padding: 15px 18px 7px 100px;
  }
  .possible-item li:nth-child(6) {
    padding: 15px 16px 8px 100px;
  }
}
.possible-item img {
  display: block;
  position: absolute;
  width: 70px;
  left: 20px;
}

.possible-item li:nth-child(2) img {
  left: -16px;
}
@media screen and (max-width: 900px) {
  .possible-item li:nth-child(2) img {
    left: 20px;
    margin-top: 19px;
  }
}

.possible-item li:nth-child(5) img {
  left: -16px;
}
@media screen and (max-width: 900px) {
  .possible-item li:nth-child(5) img {
    left: 20px;
  }
}

@media screen and (min-width: 900px) {
  .possible-item img {
    width: 119px;
    top: -63px;
    left: 0;
    right: 0;
    margin: auto;
  }
  /* 4つ目 */
  .possible-item li:nth-child(4) img {
    top: -59px;
  }
  /* 5つ目 */
  .possible-item li:nth-child(5) img {
    top: -59px;
  }
  /* 6つ目 */
  .possible-item li:nth-child(6) img {
    top: -57px;
    left: -1%;
  }
}
.possible-item .heading {
  font-size: 30px;
  font-weight: 900;
  margin-bottom: 22px;
  color: #F25872;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .possible-item .heading {
    font-size: 20px;
  }
}

.possible-item p {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 12px;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .possible-item p {
    max-width: 1108px;
    font-size: 13px;
  }
}

@media screen and (max-width: 900px) {
  .possible-item img {
    top: 0;
    bottom: 0;
    margin: auto;
    margin-top: 22px;
    width: 65px;
  }
  .possible-item .heading {
    font-size: 20px;
    margin-bottom: -9px;
  }
  .possible-item p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
  }
}
/* about
---------------------------------------------------------------------------*/
.about {
  padding: 48px 0 0;
}

@media screen and (max-width: 900px) {
  .about {
    padding: 43px 0 0;
  }
}
.ttl-about {
  font-size: 23px;
  font-weight: 900;
  color: #ADCC08;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .ttl-about {
    font-size: 16px;
  }
}

.about-item {
  max-width: 840px;
  margin: 28px auto 76px;
}
@media screen and (max-width: 900px) {
  .about-item {
    width: 100%;
    margin: 23px 0 56px;
  }
}

.ttl-about small {
  display: inline-block;
  color: #fff;
  font-weight: 900;
  text-align: center;
  font-size: 23px;
  background-color: #F25872;
  border-radius: 100px;
  padding: 6px 53px;
}

.ttl-about img {
  width: 37vw;
  vertical-align: -4.3vw;
  margin: 23px 14px 0 0;
}

@media screen and (max-width: 900px) {
  .ttl-about small {
    padding: 6px 33px;
    line-height: 1;
    font-weight: 400;
    font-size: 20px;
  }
  .ttl-about img {
    width: 64vw;
    vertical-align: -6.3vw;
    margin: 16px 6px 0 0;
  }
}
.about-item li {
  border: 2px solid #ADCC08;
  border-radius: 20px;
  margin-bottom: 31px;
  color: #ADCC08;
  background-color: #EAF4FE;
  padding: 45px 30px 41px 316px;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 900;
}

.about-item li:nth-child(1) {
  background-img: url("../img/img-management01.jpg");
  background-repeat: no-repeat;
  background-size: auto 100%;
}

.about-item li:nth-child(2) {
  background-img: url("../img/img-management02.jpg");
  background-repeat: no-repeat;
  background-size: auto 100%;
}

.about-item li:nth-child(3) {
  background-img: url("../img/img-management03.jpg");
  background-repeat: no-repeat;
  background-size: auto 100%;
}

@media screen and (max-width: 900px) {
  .about-item li {
    font-size: 3.5cqw;
    padding: 32px 0 32px 30vw;
    margin-bottom: 19px;
  }
  .about-item li:nth-child(1) {
    background-img: url("../img/img-management01-sp.jpg");
  }
  .about-item li:nth-child(2) {
    background-img: url("../img/img-management02-sp.jpg");
  }
  .about-item li:nth-child(3) {
    background-img: url("../img/img-management03-sp.jpg");
  }
}
.about-item li b {
  background-color: #FFF06D;
}

.annotation {
  border-top: 2px solid #ADCC08;
  border-bottom: 2px solid #ADCC08;
  padding: 24px 0;
}
@media screen and (max-width: 900px) {
  .annotation {
    padding: 30px 20px;
  }
}

.annotation-logo {
  display: block;
  margin: auto;
  width: 152px;
}

.annotation-txt {
  margin: 20px 0 11px;
  font-size: 16px;
  line-height: 1.6;
}

.caution p {
  font-size: 12px;
}

@media screen and (min-width: 900px) {
  .annotation {
    display: grid;
    grid-template-columns: 17% auto;
    margin: 0 0 91px;
  }
  .annotation-logo {
    grid-area: 1/1/2/2;
    width: 157px;
    padding: 0 13px;
  }
  .annotation-txt {
    grid-area: 1/2/2/3;
    font-size: 1.3vw;
    font-weight: 900;
    line-height: 1.6;
    padding: 31px 0;
    letter-spacing: 1.5px;
  }
  .caution {
    grid-area: 2/1/3/3;
    font-size: 11.2px;
    line-height: 1.5;
    padding-top: 2px;
  }
  .caution p {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 900px) {
  .address {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2%;
  }
}

.address-img {
  text-align: center;
  color: #ADCC08;
  font-size: 19px;
}
@media screen and (min-width: 900px) {
  .address-img {
    width: 36%;
    font-size: 20px;
    text-align: right;
    padding: 10px 20px;
    box-sizing: border-box;
    line-height: 1.1;
  }
}

.address-img img {
  display: block;
  margin: 0 0 27px;
}
@media screen and (max-width: 900px) {
  .address-img img {
    margin: 30px auto 27px;
    width: 311px;
  }
}

.address-img b {
  font-weight: 900;
  font-size: 12cqw;
  line-height: 1.2;
  text-decoration: none;
}

@media screen and (min-width: 900px) {
  .address-img b {
    font-size: 43px;
  }
}
.address-txt {
  border-radius: 20px;
  background: #CFE2FF;
  margin: 10px;
  padding: 26px 10px 1px;
}
@media screen and (min-width: 900px) {
  .address-txt {
    width: 61%;
    display: flex;
    flex-wrap: wrap;
    padding: 42px 10px 42px 42px;
    box-sizing: border-box;
    font-size: 12.5px;
    gap: 0 20px;
    color: #4B4B4B;
    margin: 0;
  }
}

@media screen and (max-width: 900px) {
  .address-txt dd {
    line-height: 1.2;
    margin-bottom: 17px;
  }
}

@media screen and (min-width: 900px) {
  .address-txt dt {
    width: 9%;
    text-align: justify;
    -moz-text-align-last: justify;
         text-align-last: justify;
  }
  .address-txt dd {
    width: 86%;
  }
}
/* 
---------------------------------------------------------------------------*/
/* ご利用の流れ
---------------------------------------------- */
.flow {
  padding: 163px 0 117px;
}

.flow .inner {
  max-width: 1102px;
}

.flow-ttl {
  margin-bottom: 1px;
}

.flow-list {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 89px;
}
@media screen and (max-width: 900px) {
  .flow-list {
    margin-top: 36px;
  }
}

.flow-item + .flow-item {
  margin-top: 25px;
}
@media screen and (max-width: 900px) {
  .flow-item + .flow-item {
    margin-top: 9px;
  }
}

/* 枠カード（赤枠の箱） */
.flow-card {
  border: 4px solid #F36D84;
  border-radius: 19.5px;
  display: grid;
  grid-template-columns: 120px 288px 60%;
  align-items: center;
  gap: 0;
  padding: 10px 100px 17px 16px;
  max-height: 158px;
}

/* 2つ目 */
.flow-item:nth-child(2) .flow-card {
  padding: 10px 39px 17px 16px;
}

/* 3つ目 */
.flow-item:nth-child(3) .flow-card {
  padding: 8px 100px 17px 16px;
}

/* 4つ目 */
.flow-item:nth-child(4) .flow-card {
  padding: 10px 100px 17px 16px;
}

/* 左のSTEP SVG */
.flow-step img {
  display: block;
  width: 90px; /* ←カンプのSTEP画像に合わせて調整 */
  height: auto;
}
@media screen and (max-width: 900px) {
  .flow-step img {
    width: 60px;
  }
}

/* 見出し（赤文字） */
.flow-heading {
  margin: 0;
  color: #F25872;
  font-weight: 900;
  font-size: 30px;
  line-height: 1.2;
  margin-left: 18px;
  margin-top: 3px;
}

/* 2つ目 */
.flow-item:nth-child(2) .flow-heading {
  margin-left: 18px;
  margin-top: 17px;
}
@media screen and (max-width: 900px) {
  .flow-item:nth-child(2) .flow-heading {
    margin-left: 6px;
    margin-top: -11px;
  }
}

/* 3つ目 */
.flow-item:nth-child(3) .flow-heading {
  margin-left: 18px;
  margin-top: 12px;
}
@media screen and (max-width: 900px) {
  .flow-item:nth-child(3) .flow-heading {
    margin-left: 6px;
    margin-top: -11px;
  }
}

/* 4つ目 */
.flow-item:nth-child(4) .flow-heading {
  margin-left: 18px;
  margin-top: 12px;
}
@media screen and (max-width: 900px) {
  .flow-item:nth-child(4) .flow-heading {
    margin-left: 6px;
    margin-top: -11px;
  }
}

/* 本文 */
.flow-text {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  color: #4B4B4B;
  margin-left: 34px;
  font-weight: bold;
  padding-top: 8px;
}

.flow-arrow {
  width: 0;
  height: 0;
  margin: 0px auto 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 38px solid #F36D84;
}
@media screen and (max-width: 900px) {
  .flow-arrow {
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 20px solid #F36D84;
  }
}

/* 最後は矢印不要 */
.flow-item:last-child .flow-arrow {
  display: none;
}

@media screen and (max-width: 900px) {
  .flow {
    padding: 36px 0;
  }
  .flow-card {
    grid-template-columns: 90px 1fr;
    grid-template-areas: "step head" "step text";
    align-items: start;
    gap: 8px 5px;
    padding: 10px 13px 12px 10px;
    border-radius: 20px;
    border: 2px solid #F36D84;
  }
  .flow-step {
    grid-area: step;
  }
  .flow-heading {
    grid-area: head;
    font-size: 20px;
    margin-left: 6px;
    margin-top: 12px;
  }
  .flow-text {
    grid-area: text;
    font-size: 14px;
    margin-left: 6px;
    margin-top: -7px;
    line-height: 1.7;
    padding-right: 35px;
  }
  .flow-item:nth-child(2) .flow-text {
    margin-top: -5px;
    padding-right: 0;
  }
  .flow-item:nth-child(3) .flow-text {
    margin-top: -5px;
    padding-right: 0;
  }
  .flow-item:nth-child(4) .flow-text {
    margin-top: -5px;
    padding-right: 0;
  }
}
@media screen and (max-width: 900px) {
  .flow-item:nth-child(2) .flow-card {
    padding: 32px 16px 19px 10px;
  }
  .flow-item:nth-child(3) .flow-card {
    padding: 32px 16px 19px 10px;
  }
  .flow-item:nth-child(4) .flow-card {
    padding: 32px 16px 19px 10px;
  }
}
/* =========================================================
   Zenkenとは？（運営元）
========================================================= */
.zenken-about {
  background: #f6f6f6;
  padding: 92px 0 110px;
}

@media screen and (max-width: 900px) {
  .zenken-about {
    padding: 48px 0 56px;
  }
}
.zenken-about__head {
  text-align: center;
  margin-bottom: 59px;
}

@media screen and (max-width: 900px) {
  .zenken-about__head {
    margin-bottom: 39px;
  }
}
.zenken-logo {
  width: 43.7%;
  display: block;
  padding-left: 126px;
}
@media screen and (max-width: 900px) {
  .zenken-logo {
    padding-left: 0;
    width: 67.7%;
    padding: -11px 1px;
    margin-left: 31px;
  }
}

.zenken-about__kicker {
  font-size: 36px;
  font-weight: 900;
  color: #4B4B4B;
  margin-bottom: 38px;
  margin-top: -8px;
  padding-right: 8px;
}

@media screen and (max-width: 900px) {
  .zenken-about__kicker {
    font-size: 24px;
    margin-bottom: 18px;
    padding-right: 0;
  }
}
.zenken-about__title {
  display: flex;
  align-items: baseline;
  line-height: 1;
  margin: 0 auto;
  justify-content: center;
}

.zenken-about__dot {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #adcc08;
  display: inline-block;
  transform: translateY(-2px);
}

.zenken-about__zenken {
  font-size: 64px;
  font-weight: 900;
  color: #6a6a6a;
  letter-spacing: 0.5px;
}

.zenken-about__q {
  font-size: 28px;
  font-weight: 900;
  color: #2e2e2e;
}

@media screen and (max-width: 900px) {
  .zenken-about__zenken {
    font-size: 44px;
  }
  .zenken-about__q {
    font-size: 20px;
  }
  .zenken-about__dot {
    width: 12px;
    height: 12px;
  }
}
.zenken-about__lead {
  margin: 0 auto;
  font-size: 20px;
  line-height: 1.5;
  color: #1c1c1c;
  margin-top: 55px;
  font-weight: bold;
  padding-right: 8px;
}

@media screen and (max-width: 900px) {
  .zenken-about__lead {
    text-align: left;
    font-size: 16px;
    line-height: 1.7;
    padding: 0 0px 0 10px;
    margin-top: 46px;
  }
}
.zenken-about__grid {
  display: flex;
  gap: 41px;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 143px;
}

@media screen and (max-width: 900px) {
  .zenken-about__grid {
    display: block;
    padding: 0 8px;
  }
}
.zenken-about__item {
  width: calc((100% - 68px) / 3);
  margin-bottom: 46px;
}

@media screen and (max-width: 900px) {
  .zenken-about__item {
    width: 100%;
    margin-bottom: 36px;
  }
  .zenken-about__item:last-child {
    margin-bottom: 0;
  }
}
.zenken-about__figure {
  margin: 0 0 20px;
  overflow: hidden;
}

.zenken-about__figure img {
  width: 100%;
  height: auto;
  display: block;
}

.zenken-about__text {
  font-size: 16px;
  line-height: 1.8;
  color: #4B4B4B;
  margin: 0;
  font-weight: bold;
}
@media screen and (max-width: 900px) {
  .zenken-about__text {
    padding: 0 12px;
    font-size: 16px;
    line-height: 1.7;
  }
}

.zenken-about__em {
  color: #f25872; /* カンプの赤寄せ */
  font-weight: 900;
}

@media screen and (max-width: 900px) {
  .ask-catch .ask-head-icon {
    display: none;
  }
  .ask-head {
    padding: 0 0 0 33px;
  }
  .ask-wrap:nth-of-type(3) .ask-head {
    padding: 0 0 0 20px;
  }
  .ask-wrap:nth-of-type(4) .ask-head {
    padding: 0;
  }
}
/* ask-img が picture になっても同じ見た目にする */
.ask-img {
  display: block;
}

/* picture内の画像を幅にフィットさせる */
.ask-img img {
  width: 100%;
  height: auto;
  display: block;
}

/* 既存の .ask-img ルールがあるならそのまま使ってOK
   ただし pictureに width が効くようにする */
@media screen and (max-width: 900px) {
  .ask-img {
    width: 100%;
    margin: auto;
    border-radius: 10px;
    overflow: hidden;
    padding-top: 20px;
  }
}
@media screen and (min-width: 900px) {
  .ask-img {
    width: 49.5%;
    max-width: 100%;
    flex-shrink: 0;
    margin-top: -19px;
  }
}
.ask-img-discription {
  font-size: 14px;
  width: 50%;
  text-align: end;
  margin-top: 8px;
  margin-left: -10px;
}
@media screen and (max-width: 900px) {
  .ask-img-discription {
    font-size: 13px;
    text-align: center;
    margin-top: 7px;
  }
}

/* SP：縦積み時の並び順を統一 */
@media screen and (max-width: 900px) {
  .ask-box {
    display: flex;
    flex-direction: column;
    margin: -3px 0 73px;
  }
  /* 画像は常に先頭 */
  .ask-box .ask-img {
    order: 1;
    padding-top: 28px;
  }
  /* SP注釈は画像の次 */
  .ask-box .ask-img-discription {
    order: 2;
    width: 100%;
    margin-left: 0;
  }
  /* テキストは最後 */
  .ask-box .ask-detail {
    order: 3;
    padding-top: 33px;
  }
}
@media screen and (max-width: 900px) {
  .flow-title {
    padding: 0 56px;
  }
}
.possible-item p.possible-text {
  font-size: 14px;
  margin-top: 0;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .possible-item p.possible-text {
    font-size: 12px;
  }
}

/* ask-bottom-image：画像ブロックを“コーディング版”に差し替え */
.ask-bottom-image {
  margin-top: 45px;
  width: 100%;
  margin-left: -4px;
  background: transparent;
  height: auto;
}

@media screen and (max-width: 900px) {
  .ask-bottom-image {
    margin-left: 0;
  }
}
/* 本体 */
.support-hours {
  background: #FFFDF0;
  border-radius: 12px;
  padding: 14px 16px 35px 45px;
}

/* 見出し（時計アイコン+文字） */
.support-hours__title {
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #ADCC08;
  font-weight: 900;
  font-size: 26px;
  line-height: 1.2;
}

.support-hours__clock {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: block;
  padding-left: 3px;
  padding-top: 5px;
}

@media screen and (max-width: 900px) {
  .support-hours__clock {
    width: 24px;
    height: 24px;
    flex: 0 0 18px;
    padding-left: 0;
    padding-top: 3px;
  }
}
.support-hours__clock::before,
.support-hours__clock::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #ADCC08;
  transform-origin: left center;
  border-radius: 999px;
}

/* 長針 */
.support-hours__clock::before {
  width: 8px;
  height: 2px;
  transform: translate(-1px, -1px) rotate(320deg);
}

/* 短針 */
.support-hours__clock::after {
  width: 6px;
  height: 2px;
  transform: translate(-1px, -1px) rotate(250deg);
}

/* 2カラム（PC）→ 縦積み（SP） */
.support-hours__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
}

@media screen and (max-width: 900px) {
  .support-hours__grid {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
/* 表（dl） */
.support-hours__list {
  margin: 0;
  padding: 0;
}

.support-hours__row {
  display: grid;
  grid-template-columns: 130px 1fr; /* 左：項目名 / 右：詳細 */
  gap: 10px;
  padding: 7px 0;
  border-bottom: 2px dotted #ADCC08;
}

.support-hours__list:not(.right) .support-hours__row:first-child {
  padding: 12px 0;
}
@media screen and (max-width: 900px) {
  .support-hours__list:not(.right) .support-hours__row:first-child {
    padding: 10px 0 5px;
  }
}

.support-hours__list.right .support-hours__row:first-child {
  padding: 12px 0;
}
@media screen and (max-width: 900px) {
  .support-hours__list.right .support-hours__row:first-child {
    padding: 0 0 6px;
  }
}

.support-hours__list.right .support-hours__row {
  gap: 20px;
}
@media screen and (max-width: 900px) {
  .support-hours__list.right .support-hours__row {
    gap: 4px;
  }
}

.support-hours__row:last-child {
  border-bottom: none;
}

.support-hours__row dt {
  margin: 0;
  font-weight: 900;
  color: #F25872;
  font-size: 18px;
}
@media screen and (max-width: 900px) {
  .support-hours__row dt {
    font-size: 16px;
    font-weight: bold;
  }
}

.support-hours__row dd {
  margin: 0;
  color: #4B4B4B;
  font-weight: 900;
  white-space: nowrap; /* 1行に寄せたい場合 */
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 18px;
}
@media screen and (max-width: 900px) {
  .support-hours__row dd {
    font-size: 16px;
  }
}

/* 長い文章（ベトナム語など）は折り返したいならここだけ解除 */
.support-hours__row dd {
  white-space: normal;
}

@media screen and (max-width: 900px) {
  .support-hours {
    padding: 8px 16px 14px;
    border-radius: 10px;
  }
  .support-hours__title {
    font-size: 16px;
    margin-bottom: 12px;
    gap: 5px;
  }
  .support-hours__row {
    grid-template-columns: 120px 1fr;
    gap: 4px;
    padding: 8px 0;
    padding: 3px 0 5px;
  }
  .support-hours__row dd {
    font-size: 16px;
    line-height: 1.4;
    font-weight: bold;
  }
  /* 7行目：ベトナム語（左の7番目） */
  .support-hours__list:not(.right) .support-hours__row:nth-child(7) dd {
    line-height: 1.9;
    margin-top: -2px;
  }
  /* 9行目：ネパール語（右の2番目） */
  .support-hours__list.right .support-hours__row:nth-child(2) dd {
    line-height: 1.9;
    margin-top: -1px;
  }
  /* 11行目：インドネシア語（右の4番目） */
  .support-hours__list.right .support-hours__row:nth-child(4) dd {
    line-height: 1.9;
    margin-top: -2px;
  }
  /* 12行目：ミャンマー語（右の5番目） */
  .support-hours__list.right .support-hours__row:nth-child(5) dd {
    line-height: 1.9;
    margin-top: -3px;
  }
  .support-hours__list.right .support-hours__row {
    padding: 3px 0 5px;
  }
  /* 7行目（左の7番目） */
  .support-hours__list:not(.right) .support-hours__row:nth-child(7) {
    padding: 5.5px 0 3px;
    margin-top: -3px;
  }
  /* 9行目（右の2番目） */
  .support-hours__list.right .support-hours__row:nth-child(2) {
    padding: 2.5px 0 1px;
  }
  /* 11行目（右の4番目） */
  .support-hours__list.right .support-hours__row:nth-child(4) {
    padding: 2.5px 0 3px;
  }
  /* 12行目（右の5番目） */
  .support-hours__list.right .support-hours__row:nth-child(5) {
    padding: 3.5px 0 3px;
  }
}
/* ============================
   ask-title — 上書き修正（末尾へ追加）
   ============================ */
/* 親を相対配置にして疑似要素の基準を安定化 */
.ask-title {
  position: relative;
  z-index: 0;
  text-align: center;
  max-width: 1386px;
  width: 100%;
  margin: 90px auto 150px;
}
@media screen and (max-width: 900px) {
  .ask-title {
    margin: 6px auto 12px;
  }
}

/* 内部ラッパーをインラインブロックにして中央揃えを確実に */
.ask-title__inner {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding: 0 48px; /* 左右の疑似装飾分の余白（必要に応じ微調整） */
  z-index: 2; /* 疑似要素より前面に出す */
  text-align: center;
  box-sizing: border-box;
  width: auto;
  max-width: calc(100% - 96px); /* 余白を考慮してはみ出し防止 */
}

/* PC 用の左右装飾（背景ロゴ等） — テキストの左右外側に出す */
.ask-title__inner::before,
.ask-title__inner::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}

/* 左装飾 */
.ask-title__inner::before {
  left: -29.2%;
  width: 212px;
  height: 272px;
  background: url("../img/service-lp-logo.png") no-repeat center/contain;
  top: 28.5%;
}

/* 右装飾 */
.ask-title__inner::after {
  right: -40%;
  width: 373px;
  height: 435px;
  background: url("../img/man-icon.png") no-repeat center/contain;
  top: 54%;
}

/* バッジ群（上段）を確実に中央寄せに */
.ask-title__badges {
  display: flex;
  gap: 26px;
  justify-content: center;
  align-items: center;
  margin-bottom: 6px;
  z-index: 3;
}
@media screen and (max-width: 900px) {
  .ask-title__badges {
    gap: 10px;
    margin-bottom: 1px;
  }
}

/* 個別バッジの見た目調整（必要に応じ微調整） */
.ask-title__badge {
  display: inline;
  padding: 0 21px 0;
  border: 4px solid #F25872;
  background: #fff;
  font-weight: 900;
  font-size: 53px;
  color: #F25872;
  max-height: 73px;
}
@media screen and (max-width: 900px) {
  .ask-title__badge {
    padding: 0 23px 0px;
    letter-spacing: 0;
    border: 3px solid #F25872;
  }
}

.ask-title__badge span {
  padding-bottom: 1px;
}

.ask-title__badge:nth-child(2) {
  padding: 0px 27px 0;
}
@media screen and (max-width: 900px) {
  .ask-title__badge:nth-child(2) {
    padding: 0px 23px 0;
  }
}

/* 本文テキスト（中央） */
.ask-title__text {
  display: block;
  font-size: 54px;
  line-height: 1.2;
  z-index: 3;
  margin: 0 auto;
  white-space: normal;
  font-weight: 900;
  margin-top: 15px;
}
@media screen and (max-width: 900px) {
  .ask-title__text {
    font-size: 24px;
    margin-top: 13px;
  }
}

/* note のサイズ */
.ask-title__note {
  display: block;
  font-size: 14px;
  margin-top: 28px;
  text-align: right;
  font-weight: 400;
  padding-left: 397px;
}
@media screen and (max-width: 900px) {
  .ask-title__note {
    font-size: 13px;
    text-align: left;
    margin-left: -21px;
    margin-top: 19px;
    padding-left: 0;
  }
}

.ask-title__pc-head {
  display: block;
  justify-items: center;
  gap: 9px;
  width: 100%;
  margin-bottom: 13.5px;
  padding-left: 28px;
}

/* SP で LifeCare のサイズが大きすぎると崩れるので控えめに */
.ask-title__pc-care {
  font-size: 53px; /* 必要なら 26→36 のように調整 */
  color: #ADCC08;
  margin: 0 6px;
  font-weight: 900;
  margin-left: 8px;
  margin-right: 8px;
}

.ask-title__pc-zenken,
.ask-title__pc-life {
  font-size: 24px;
  font-weight: 900;
}

.ask-title__pc-zenken {
  color: #ADCC08;
  font-weight: 900;
  font-size: 41px;
}

.ask-title__pc-nara {
  font-size: 35px;
  font-weight: 900;
}

/* ===== SP（<=900px）での確実な切替 ===== */
@media screen and (max-width: 900px) {
  /* 消す（古い疑似要素を確実に無効化） */
  .ask-title__inner::before,
  .ask-title__inner::after {
    content: none !important;
    display: none !important;
    opacity: 0;
    visibility: hidden;
  }
  .ask-title__inner {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0;
    padding: 12px 0;
    max-width: 100%;
  }
  .ask-title__sp-head {
    display: grid !important;
    justify-items: center;
    gap: 9px;
    width: 100%;
    margin-bottom: 13.5px;
  }
  /* SP で LifeCare のサイズが大きすぎると崩れるので控えめに */
  .ask-title__sp-care {
    font-size: 36px; /* 必要なら 26→36 のように調整 */
    color: #ADCC08;
    margin: 0 6px;
  }
  .ask-title__sp-zenken,
  .ask-title__sp-life {
    font-size: 24px;
    font-weight: 900;
  }
  .ask-title__sp-zenken {
    color: #ADCC08;
    font-weight: 900;
  }
  .ask-title__sp-nara {
    font-size: 18px;
    font-weight: 900;
  }
}
/* ask-head を装飾アイコン付きに切替える（ファイル末尾に追加） */
.ask-head {
  /* 既存のスタイルはなるべく残す（必要に応じ微調整） */
  background: #ADCC08;
  color: #fff;
  font-size: 34px;
  font-weight: 900;
  border-radius: 44px;
  padding: 22px 20px 29px 62px;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left;
  width: 72.8%;
  position: relative; /* ::before/::after を基準にする */
  box-sizing: border-box;
}

.ask-wrap:nth-of-type(2) .ask-head {
  width: 72.9%;
  margin-left: 0;
  padding: 23px 20px 26px 62px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-head {
    padding: 16px 0 17px 18px;
  }
}

.ask-wrap:nth-of-type(3) .ask-head {
  padding: 23px 20px 29px 58px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-head {
    padding: 17px 0 17px 18px;
  }
}

.ask-wrap:nth-of-type(4) .ask-head {
  margin-left: 0;
  margin-top: 44px;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ask-head {
    padding: 17px 1px 14px 18px;
    margin-top: 0;
  }
}

.ask-head::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -28px; /* 矢印の外側に出す位置 */
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent #ADCC08 transparent transparent;
  border-width: 18px 28px 18px 0;
  pointer-events: none;
}

/* 装飾アイコン（画像） — ::after に背景画像を当てる */
/* 2つ目 */
/* 3つ目 */
/* 4つ目 */
/* SP（小画面）の調整 */
@media screen and (max-width: 900px) {
  .ask-head {
    margin: 0;
    border-radius: 20px;
    font-size: 15px;
    padding: 16px 0 17px 18px;
    max-width: 238px;
    min-height: 76px;
    width: auto;
    display: flex;
    align-items: center;
  }
  .ask-head::before {
    left: auto;
    right: -28px; /* 矢印を右側に出したい場合は調整（元の挙動に合わせて） */
    border-color: transparent transparent transparent #ADCC08;
    border-width: 18px 28px 18px 0;
  }
}
.flow-item:nth-child(3) {
  margin-top: 22px;
}

.ask-wrap:nth-of-type(odd) .ask-catch {
  justify-content: flex-end;
}
@media screen and (max-width: 900px) {
  .ask-wrap:nth-of-type(odd) .ask-catch {
    justify-content: center;
  }
}

.ask-wrap:nth-of-type(even) .ask-catch {
  justify-content: flex-start;
}

.ttl-image {
  text-align: center;
  font-weight: 900;
  color: #F25872;
  line-height: 1.2;
}

/* 1行目 */
.ttl-line1 {
  font-size: 27px;
  color: #4B4B4B;
  margin-bottom: -5px;
}

.ask-detail p.ttl-line1 {
  text-align: center;
}

/* 共通：下線風 */
.ttl-line2,
.ttl-line3 {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 6px;
}

.ttl-line2,
.ttl-line3 {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 6px;
}

.ask-detail p.ttl-line-bottom-text {
  line-height: 1.85;
}
@media screen and (max-width: 900px) {
  .ask-detail p.ttl-line-bottom-text {
    line-height: 1.5;
  }
}

@media screen and (max-width: 900px) {
  .ask-detail p.ttl-line2 {
    font-size: 24px;
    margin-top: 4px;
  }
  .ask-detail p.ttl-line3 {
    font-size: 20px;
    padding: 0;
    margin-top: 4px;
    margin-bottom: 37px;
  }
  .ask-detail p.ttl-line-bottom-text {
    text-align: left;
    font-size: 14px;
    padding-bottom: 40px;
    line-height: 1.7;
    font-weight: 500;
    padding: 0px 5px;
  }
}
/* 黄色の下線（マーカー風） */
.ttl-line2::after,
.ttl-line3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px; /* 下線の位置調整 */
  width: 100%;
  height: 25px;
  background: #FFF59C;
  z-index: -1;
}

/* 2行目 */
.ttl-line2 {
  font-size: 47px;
  margin-bottom: -2px;
}

/* 3行目 */
.ttl-line3 {
  font-size: 35px;
  margin-bottom: 49px;
}

@media screen and (max-width: 900px) {
  .support-hours__row dd:nth-child(7),
  .support-hours__row dd:nth-child(9),
  .support-hours__row dd:nth-child(11),
  .support-hours__row dd:nth-child(12) dd {
    line-height: 1.3;
  }
  .ttl-line1 {
    font-size: 18px;
  }
  .ttl-line2 {
    font-size: 28px;
  }
  .ttl-line3 {
    font-size: 22px;
  }
  .ttl-line2::after,
  .ttl-line3::after {
    height: 11px;
    bottom: 3px;
  }
  .ask-wrap:nth-of-type(2) .ask-detail p.ttl-line3 {
    margin-top: 7px;
    margin-bottom: 33px;
  }
  .ask-wrap:nth-of-type(3) .ask-detail p.ttl-line3 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .ask-wrap:nth-of-type(4) .ask-detail p.ttl-line3 {
    margin-top: 7px;
    margin-bottom: 0;
  }
}
img.ask-title__sp-logo.sp {
  width: 43%;
  margin-left: 8px;
}

.fade-in {
  opacity: 0;
  transform: translateY(40px); /* 下から */
  transition: opacity 1s ease, transform 1s ease;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

.ttl-possible {
  text-align: center;
  font-weight: 900;
  line-height: 1.4;
}

/* 1行目 */
.ttl-possible__main {
  display: block;
  font-size: 53px;
  margin-bottom: 18px;
}

/* Zenken LifeCare が */
.ttl-possible__white {
  color: #FFF;
  margin-left: -8px;
}
@media screen and (max-width: 900px) {
  .ttl-possible__white {
    margin-left: 0;
  }
}

/* 支援できること */
.ttl-possible__yellow {
  color: #FFF59C;
  margin-left: -9px;
}
@media screen and (max-width: 900px) {
  .ttl-possible__yellow {
    font-size: 24px;
    margin-left: 0;
  }
}

/* 2〜3行目 */
.ttl-possible__sub {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #FFF;
  line-height: 1.8;
}

.flow-title {
  text-align: center;
  font-size: 53px;
  font-weight: 900;
  line-height: 1.2;
  margin: 0 auto 40px;
  padding-right: 10px;
}
@media screen and (max-width: 900px) {
  .flow-title {
    padding: 0;
    margin: 0 auto 42px;
  }
}

/* Zenken LifeCare */
.flow-title__gray {
  color: #4B4B4B;
}
@media screen and (max-width: 900px) {
  .flow-title__gray {
    font-size: 19px;
  }
}

/* ご利用の流れ */
.flow-title__pink {
  color: #F25872;
}
@media screen and (max-width: 900px) {
  .flow-title__pink {
    font-size: 24px;
  }
}

.flow-step {
  text-align: center;
}

/* STEP番号 */
.flow-step-number {
  display: block;
  font-size: 20px;
  font-weight: 900;
  color: #ADCC08;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
}
@media screen and (max-width: 900px) {
  .flow-step-number {
    font-size: 16px;
  }
}

/* 画像 */
.flow-step img {
  display: block;
  margin: 0 auto;
  width: 96px; /* 既存サイズ */
}
@media screen and (max-width: 900px) {
  .flow-step img {
    width: 59px;
  }
}

/* ===================================================
   文字サイズ：1920をMAXとして、900まで徐々に縮小
   追加はファイル末尾に置く（上書き用）
=================================================== */
/* ask 見出し（34px → 15pxくらい） */
.ask-head {
  font-size: clamp(15px, 2.1vw, 34px);
}

/* possible 見出し（30px → 20px） */
.possible-item .heading {
  font-size: clamp(20px, 1.7vw, 30px);
}

/* possible 本文（16px → 14px） */
.possible-item p {
  font-size: clamp(14px, 1.05vw, 16px);
}

/* support-hours タイトル（26px → 16px） */
.support-hours__title {
  font-size: clamp(16px, 1.6vw, 26px);
}

/* support-hours 行（18px → 16px） */
.support-hours__row dt,
.support-hours__row dd {
  font-size: clamp(16px, 1.15vw, 18px);
}

/* flow セクションタイトル（53px → 24px） */
.flow-title {
  font-size: clamp(24px, 2.8vw, 53px);
}

/* flow 見出し（30px → 20px） */
.flow-heading {
  font-size: clamp(20px, 1.7vw, 30px);
}

/* flow 本文（16px → 14px） */
.flow-text {
  font-size: clamp(14px, 1.05vw, 16px);
}

/* Zenkenとは？の大見出し（36px → 24px） */
.zenken-about__kicker {
  font-size: clamp(24px, 2vw, 36px);
}

/* ask-title（もし使ってるなら） */
.ask-title__text {
  font-size: clamp(24px, 2.9vw, 54px);
}

.ask-title__badge {
  font-size: clamp(21px, 2.8vw, 53px);
}

/* =========================================
   ask-wrap(このブロック) 文字だけ もう一回りダウン
   1920をMAXとして、900まで滑らかに縮む
========================================= */
/* =========================================
   1920pxは現状維持
   900pxまで徐々に文字を縮める（MAXは既存値）
========================================= */
/* ttl-line1 27px → 1920では27px固定 */
.ttl-line1 {
  font-size: clamp(18px, 1.4vw, 27px);
}

/* ttl-line2 47px → 1920では47px固定 */
.ttl-line2 {
  font-size: clamp(28px, 2.45vw, 47px);
}

/* ttl-line3 35px → 1920では35px固定 */
.ttl-line3 {
  font-size: clamp(22px, 1.9vw, 35px);
}

/* 説明文（たぶん16px） */
.ask-detail p.ttl-line-bottom-text {
  font-size: clamp(14px, 0.9vw, 16px);
}

/* support-hours タイトル 26px */
.support-hours__title {
  font-size: clamp(16px, 1.35vw, 26px);
}

/* support-hours 行 18px */
.support-hours__row dt,
.support-hours__row dd {
  font-size: clamp(16px, 1vw, 18px);
}

/* =========================================
   possibleセクション
   1920pxは現状維持（MAX固定）
   900pxまで徐々に縮小
========================================= */
/* メインタイトル 53px固定 */
.ttl-possible__main {
  font-size: clamp(28px, 2.8vw, 53px);
}
@media screen and (max-width: 900px) {
  .ttl-possible__main {
    font-size: 19px;
    line-height: 1.3;
    margin-bottom: 13px;
  }
}

/* サブキャッチ 20px固定 */
.possible-catch {
  font-size: clamp(15px, 1.05vw, 20px);
}

/* 各カードの見出し 30px固定 */
.possible-item .heading {
  font-size: clamp(20px, 1.7vw, 30px);
}

/* 本文 16px固定 */
.possible-item p {
  font-size: clamp(14px, 1vw, 16px);
}

/* 注意書き 14px固定 */
.possible-text {
  font-size: clamp(12px, 0.85vw, 14px);
}

@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-box {
    margin-top: -46.6px;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .ask-detail::before {
    /* 1920pxでは 153px 固定、ノートで徐々に縮む */
    width: clamp(110px, 8vw, 153px);
    height: clamp(110px, 8vw, 153px);
    /* 背景画像も同じく縮小（1920で 158px） */
    background-size: clamp(110px, 8.2vw, 158px) auto;
    /* padding も固定だと圧迫するので連動（最大 30px は維持） */
    padding: 0 clamp(16px, 1.6vw, 30px);
    top: 0.8%;
  }
  .ask-wrap:nth-of-type(3) .ask-detail::before {
    top: 10%;
  }
  .ask-wrap:nth-of-type(4) .ask-detail::before {
    top: 2%;
  }
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  /* 左装飾 */
  .ask-title__inner::before {
    width: clamp(140px, 13vw, 212px);
    height: auto;
    aspect-ratio: 212/272;
    left: -25%;
  }
  /* 右装飾 */
  .ask-title__inner::after {
    width: clamp(220px, 25vw, 373px);
    height: auto;
    aspect-ratio: 373/435;
    right: -45%;
  }
  .down-arrow-wrap {
    top: 600px;
  }
  .ask-title__note {
    padding-left: 0;
  }
  .concern-title {
    width: 900px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .mv .inner {
    padding: 0 10px 0 90px;
  }
  .mv-subcatch {
    width: 60%;
  }
  .mv-image {
    top: 17vw;
    left: 15%;
    width: 70%;
  }
  .mv-checkpoint {
    margin-top: -40px;
  }
  .mv-catch {
    margin: 0 auto 250px 0;
    width: 60%;
  }
  .concern-txt01 {
    max-width: 37.1%;
    left: 30%;
    top: 200px;
  }
  .concern-txt02 {
    top: 200px;
  }
  .concern-txt03 {
    top: 200px;
  }
  .ask-head {
    padding-right: 200px;
    max-width: 635px;
    width: auto;
  }
  .ask-wrap:nth-of-type(3) .ask-head {
    padding-right: 400px;
    width: auto;
  }
  .ask-wrap:nth-of-type(4) .ask-head {
    padding-right: 400px;
    width: auto;
  }
  .possible .ttl-possible-area .ttl-possible::before {
    bottom: -35.3%;
    left: -5.8%;
    width: 50%;
    height: 287px;
  }
}
/* =========================
   SPの吹き出し矢印を復活（末尾に追加）
   奇数：左 / 偶数：右
========================= */
@media screen and (max-width: 900px) {
  /* まずデフォ（奇数＝左向き矢印） */
  .ask-head::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -13px;
    right: auto;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent #ADCC08 transparent transparent; /* 左側に出る矢印（右向き三角） */
    border-width: 26px 45px 36px 0;
    z-index: -1; /* 前に出す */
  }
  /* 偶数だけ右向き矢印にする */
  .ask-wrap:nth-of-type(even) .ask-head::before {
    left: auto;
    right: -13px;
    border-color: transparent transparent transparent #ADCC08; /* 右側に出る矢印（左向き三角） */
    border-width: 26px 0 36px 45px;
    z-index: -1;
  }
}
span.ask-title__sp-lead {
  font-weight: 900;
}

.support-hours__row {
  border-bottom: none;
  background-image: url("../img/border-green.png");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 2px; /* ←画像の高さに合わせて調整 */
}

@media screen and (max-width: 900px) {
  .support-hours__row {
    background-image: url("../img/border-green-sp.png");
    background-size: auto 2px; /* SP画像の高さに合わせて */
  }
}
/* 最後の行は線を消す（いまの挙動維持） */
.support-hours__row:last-child {
  background-image: none;
}

/* --- 基本（行全体の下に画像をはみ出して表示） --- */
.support-hours__row {
  position: relative; /* 疑似要素の基準にする */
  border-bottom: none; /* 元の点線を消す */
}

/* はみ出す量（必要ならここを調整） */
:root {
  --row-overhang: 16px; /* 左右それぞれ16pxはみ出す */
  --line-height: 2px; /* 画像の見た目高さ（画像に合わせて） */
}

/* 疑似要素で横いっぱい＋はみ出し */
.support-hours__row::after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--row-overhang)); /* 左側にはみ出す */
  right: calc(-1 * var(--row-overhang)); /* 右側にはみ出す */
  bottom: 0;
  height: var(--line-height);
  background-image: url("../img/border-green.png");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 556px 2px;
  pointer-events: none;
  z-index: 1; /* 必要なら調整（テキストより下にしたければ 0 に） */
}

/* 最後の行だけ線を消す（既存仕様を維持） */
/* ---------------- SP 切替（画面狭い場合はSP画像にする） ---------------- */
@media (max-width: 900px) {
  :root {
    --row-overhang: 8px; /* SPでははみ出しを少し小さくする等 */
  }
  .support-hours__row::after {
    background-image: url("../img/border-green-sp.png");
    background-size: auto var(--line-height); /* SP画像の高さに合わせて調整 */
  }
}
/* ---------- ask-catch を上下中央揃えにする（追加：ファイル末尾へ） ---------- */
@media (min-width: 900px) {
  /* ask-box（画像＋テキストの行）を縦方向中央揃えにする */
  .ask-box {
    display: flex; /* 既に flex の場合もあるが明示 */
    align-items: center; /* ここで縦中央に揃える */
  }
  /* ask-catch（吹き出し＋アイコンを包む行）自体も中央揃えを確実に */
  .ask-catch {
    display: flex;
    align-items: center;
  }
  /* 吹き出しの上余白をリセットして中央に寄せる */
  .ask-head {
    margin-top: 0 !important;
    align-self: center; /* 念のため、個別の要素も中央に */
  }
  /* 装飾画像 (::after) を吹き出しの中央に合わせる（アイコンが上下ズレていたら） */
  /*
    ask-detail の大きな padding（現状レイアウトを作るために多数設定されている）
    が原因で上下中央に見えないことがあるため、ここで高さ調整を素直に行う。
    必要に応じ nth-of-type ごとの微調整を後述します。
  */
  .ask-detail {
    /* デフォルトの縦スペースを抑えて、中身を中央に揃えやすくする */
    display: flex;
    flex-direction: column;
    justify-content: center; /* ask-detail 内のコンテンツも中央寄せ */
  }
}
/* モバイルは既存のスタイルを優先したい場合は上書きしない（変更不要） */
/* ---------- ask-catch--nodeco 用（装飾を無効化して横並びにする） ---------- */
.ask-catch--nodeco {
  display: flex;
  align-items: center; /* 垂直中央寄せ */
  justify-content: flex-start;
}

/* 既存の吹き出し／装飾疑似要素をこのブロックだけ強制無効化 */
/* 既存の吹き出し／装飾疑似要素をこのブロックだけ強制無効化 */
/* ask-head の余白をノーマライズ（既存スタイルの影響を抑える） */
/* 装飾画像（picture）の見た目 */
.ask-deco {
  display: block;
  width: 300px; /* PC基準の幅（調整可） */
  height: auto;
  flex-shrink: 0; /* 画像が縮まらないようにする */
}

/* 見出しサイズの調整（必要なら） */
/* --- レスポンシブ：SP は縦並びに切り替え --- */
@media (max-width: 900px) {
  .ask-catch--nodeco {
    display: flex;
    flex-direction: row; /* 画像上、テキスト下に */
  }
  .ask-deco {
    width: 30%;
    max-width: 320px; /* SPでの最大幅指定 */
    margin-left: -5px;
    width: 115px;
    height: 113px;
  }
  .ask-catch--nodeco .ask-head {
    width: auto;
    font-size: clamp(14px, 4.5cqw, 18px);
  }
}
/* 2つ目 */
@media (max-width: 900px) {
  .ask-wrap:nth-of-type(2) .ask-deco img {
    margin-left: 0;
  }
}

/* 3つ目 */
.ask-wrap:nth-of-type(3) .ask-deco img {
  margin-left: 15px;
}
@media (max-width: 900px) {
  .ask-wrap:nth-of-type(3) .ask-deco img {
    margin-left: 0;
  }
}

.ask-wrap:nth-of-type(4) .ask-deco img {
  margin-left: 9px;
}
@media (max-width: 900px) {
  .ask-wrap:nth-of-type(4) .ask-deco img {
    margin-left: 0;
    margin-top: 11px;
  }
}

/* 2つ目 */
/* 3つ目 */
@media (max-width: 900px) {
  /* 共通（1つ目） */
  /* 2つ目 */
  .ask-wrap:nth-of-type(2) .ask-deco {
    width: 113px;
    height: 122px;
  }
  /* 3つ目 */
  .ask-wrap:nth-of-type(3) .ask-deco {
    width: 108px;
    height: 128px;
    padding-left: 4px;
  }
  /* 4つ目 */
  .ask-wrap:nth-of-type(4) .ask-deco {
    width: 120px;
    height: 107px;
    padding-right: 4px;
  }
}
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.support-hours__list_text {
  font-size: clamp(16px, 1vw, 18px);
  width: 70%;
  text-align: left;
  margin-left: 170px;
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .support-hours__list_text {
    margin-left: 100px;
  }
}
@media (max-width: 900px) {
  .support-hours__list_text {
    width: 100%;
    margin-left: 0;
  }
}

.possible-item li:nth-child(3) .heading {
  font-size: clamp(20px, 1.7vw, 27px);
}
@media screen and (min-width: 901px) and (max-width: 1440px) {
  .possible-item li:nth-child(3) .heading {
    font-size: clamp(20px, 0.7vw, 27px);
  }
}

.support-hours__row {
  background-image: none !important;
}

/* 親を基準にする */
.support-hours {
  position: relative;
}

/* 行ごとの下線を疑似要素で作る */
.support-hours__row {
  position: relative;
  border-bottom: none; /* 念のため */
}

/* 破線（PC） */
.support-hours__row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px; /* 画像の高さに合わせる */
  background-image: url("../img/border-green.png");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 556px 2px; /* ★重要：画像サイズを固定 */
  pointer-events: none;
}

/* 最後の行は消す */
.support-hours__row:last-child::after {
  display: none;
}

/* SP */
@media (max-width: 900px) {
  .support-hours__row::after {
    background-image: url("../img/border-green-sp.png");
    background-size: 300px 4px;
  }
}