@charset "utf-8";
/*===========================================================================
all
==========================================================================*/
/*:::::::::::【背景】::::::::::*/
.back {
  padding: 100px 0;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  .back {
    padding: 60px 0;
  }
}
@media (max-width:900px) {
  .back {
    padding: 50px 0;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【横幅】::::::::::*/
.width {
  max-width: 70%;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {
  .width {
    max-width: 80%;
  }
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .width {
    max-width: 90%;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【コンテンツ】::::::::::*/
.contents {
  position: relative;
  /*
  margin: 100px auto 0 auto;
*/
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  .contents {
    /*
    margin: 50px auto 0 auto;
*/
  }
}
@media (max-width:900px) {
  .contents {
    /*
    margin: 50px auto 0 auto;
*/
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*========================================================================
にじいろキッズでできること
========================================================================*/
/*:::::【背景】:::::*/
.features-back {
  background-color: #f0faff;
}
.features-width {
  max-width: 90%;
}
@media (max-width:450px) {
  .features-back {
    padding-top: 0;
  }
}
/*:::::【メインタイトル】:::::*/
@media (max-width:450px) {
  .f-maintitle h3 {
    font-size: 1.4rem;
  }
}
/*:::::【コメント】:::::*/
.f-comment-box {
  position: relative;
  margin-bottom: 50px;
}
/*イメージ*/
.f-comment-box img {
  position: absolute;
  z-index: -1;
}
.f-comment-box .fcb-left {
  top: 0;
  left: 0;
  transform: rotate(30deg);
}
.f-comment-box .fcb-right {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
  width: 250px;
  height: auto;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .f-comment-box .fcb-left {
    width: 250px;
    height: auto;
  }
  .f-comment-box .fcb-right {
    width: 200px;
    height: auto;
  }
}
@media (max-width:600px) {
  .f-comment-box .fcb-left {
    width: 200px;
    height: auto;
  }
  .f-comment-box .fcb-right {
    width: 150px;
    height: auto;
  }
}
@media (max-width:450px) {
  .f-comment-box .fcb-right {
    width: 180px;
    height: auto;
  }
}
@media (max-width: 400px) {}
/*コメント*/
.f-comment {
  width: 70%;
  text-align: center;
  margin: 0 auto;
  padding: 100px 0;
  line-height: 2;
}
.f-comment span {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #00B3FF;
  font-size: 1.5rem;
  font-style: italic;
}
@media (min-height:1366px) { /*ipad pro*/
  .f-comment {
    width: 75%;
  }
}
@media (max-width:900px) {
  .f-comment {
    width: 80%;
    margin: 50px auto;
  }
}
@media (max-width:600px) {
  .f-comment {
    width: 90%;
  }
}
@media (max-width:450px) {
  .f-comment {
    text-align: justify;
  }
  .f-comment span {
    font-size: 1.4rem;
  }
}
@media (max-width: 400px) {
  .f-comment span {
    font-size: 1.2rem;
  }
}
/*:::::【グリッド】:::::*/
.f-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2%;
}
.card { /*同じ長さで揃える*/
  display: grid;
  grid-template-rows: auto 1fr; /* 上：画像、下：dl（高さ揃え） */
  height: 100%;
}
.t-grid li dl { /*同じ長さで揃える*/
  display: block;
}
.f-grid img {
  width: 100%;
}
.f-grid dl {
  padding-top: 10px;
  padding-bottom: 20px;
  background-image: url("../image/color/green-3.png");
  background-repeat: repeat;
  background-size: contain;
}
.f-grid dt {
  color: #00A756;
  font-size: 1.4rem;
  margin-bottom: 10px;
  text-align: center;
}
.f-grid dd {
  line-height: 1.4;
}
.f-grid dd ul {
  padding: 0 1em 0 1.5em;
}
.f-grid dd ul li {
  list-style-type: disc;
  list-style-position: outside;
  margin-bottom: 0.6em;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .f-grid dt {
    font-size: 1.2rem;
  }
}
@media (max-width:600px) {
  .f-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*========================================================================
対象者
========================================================================*/
/*:::::【背景】:::::*/
.target-back {
  background-color: #eefffa;
}
.target-width {
  max-width: 90%;
}
@media (max-width:450px) {
  .target-back {
    padding-top: 0;
  }
}
/*:::::【グリッド】:::::*/
.t-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2%;
  align-items: stretch;
}
.card { /*同じ長さで揃える*/
  display: grid;
  grid-template-rows: auto 1fr; /* 上：画像、下：dl（高さ揃え） */
  height: 100%;
}
.t-grid li dl { /*同じ長さで揃える*/
  display: block;
}
.t-grid img {
  width: 100%;
  display: block;
  margin-bottom: 20px;
  border-radius: 50%;
}
.t-grid dl {
  padding-top: 10px;
  padding-bottom: 20px;
  background-image: url("../image/color/yellow-01.png");
  background-repeat: repeat;
  background-size: contain;
}
.t-grid dt {
  color: #FFA600;
  font-size: 1.4rem;
  margin-bottom: 10px;
  text-align: center;
}
.t-grid dd {
  line-height: 1.4;
}
.t-grid dd ul {
  padding: 0 1em 0 1.5em;
}
.t-grid dd ul li {
  list-style-type: disc;
  list-style-position: outside;
  margin-bottom: 0.6em;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .t-grid dt {
    font-size: 1.2rem;
  }
}
@media (max-width:600px) {
  .t-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*========================================================================
相談事例
========================================================================*/
/*:::::【背景】:::::*/
.case-back {
  background-color: #f0faff;
}
/*:::::【イメージ】:::::*/
.cbi-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  height: auto;
  transform: scaleX(-1);
}
.cbi-right {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: scaleY(-1);
  width: 80%;
  height: auto;
}
/*:::::【コメント】:::::*/
.c-comment {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-comment p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  position: relative;
  width: 70%;
  padding: 1em;
  background: #d4ffe8; /* 吹き出しの背景色 */
  border-radius: 10px;
  line-height: 1.8;
  box-shadow: 0 4px 2px rgba(0, 0, 0, 0.15); /* ← 吹き出しの影 */
}
/* 右側に吹き出しの三角形 */
.c-comment p::after {
  content: "";
  position: absolute;
  bottom: 30%;
  right: -38px;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left-color: #d4ffe8; /* 吹き出し本体と同じ色 */
  z-index: 1;
}
/* 吹き出しのしっぽの影（下に配置） */
.c-comment p::before {
  content: "";
  position: absolute;
  bottom: 25%;
  right: -41px; /* ← 本体より少し右にずらして影感を出す */
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left-color: rgba(0, 0, 0, 0.1); /* 影の色 */
  z-index: 0;
}
.c-comment .img-box {
  width: 25%;
}
.img-box img {
  width: 100%;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .c-comment p {
    width: 75%;
  }
  /* 右側に吹き出しの三角形 */
  .c-comment p::after {
    bottom: 36%;
  }
  /* 吹き出しのしっぽの影（下に配置） */
  .c-comment p::before {
    bottom: 32%;
  }
  .c-comment .img-box {
    width: 20%;
  }
}
@media (max-width:900px) {
  /* 右側に吹き出しの三角形 */
  .c-comment p::after {
    bottom: 36%;
  }
  /* 吹き出しのしっぽの影（下に配置） */
  .c-comment p::before {
    bottom: 32%;
  }
}
@media (max-width:600px) {
  /* 吹き出しのしっぽの影（下に配置） */
  .c-comment p::before {
    bottom: 34%;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::【アコーディオン】:::::*/
.c-contents {
  margin-top: 30px;
}
/*:::::【アコーディオン】:::::*/
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 100%;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  border: 1px solid #0052D1;
  background-image: url("../image/color/blue-03.png");
  background-size: cover;
}
/*アコーディオンタイトル*/
.accordion-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all .5s ease;
  color: #002F6C;
}
/*アイコンの＋と×*/
.accordion-title::before, .accordion-title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #0026B8;
}
.accordion-title::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}
.accordion-title::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.accordion-title.close::before {
  transform: rotate(45deg);
}
.accordion-title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-box {
  display: none; /*はじめは非表示*/
  background-image: url("../image/color/blue-02.png");
  background-size: cover;
  box-shadow: 1px 1px 4px #a2a5bc;
  margin: 0 3% 3% 3%;
  padding: 3%;
}
.accordion-box span {
  display: block;
  margin-top: 20px;
}
/*========================================================================
相談の流れ
========================================================================*/
/*:::::【オーバーレイ】:::::*/
.step-overlay {
  position: relative;
  /*padding: 100px 0;*/
}
.step-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  z-index: 2;
}
/*:::::【】:::::*/
.step-back {
  background-image: url("../image/business/step-back.jpg");
  background-repeat: repeat;
}
/*:::::【】:::::*/
.s-list {
  padding: 100px 0;
}
@media (max-width:600px) {}
/*:::::【ステップ　li】:::::*/
.step {
  background-image: url("../image/color/green-3.png");
  background-repeat: repeat;
  background-size: cover;
  border-radius: 999px;
  display: flex; /* 横並びにする */
  align-items: center; /* 垂直中央に揃える */
  /* gap: 10px;*/ /* バッジとテキストの間隔 */
}
@media (max-width:600px) {
  .step {
    background-image: none;
  }
}
/*:::::【テキスト】:::::*/
.step p {
  font-size: 1.2rem;
  padding: 20px;
  padding-left: 10px;
}
@media (max-width:900px) {
  .step p {
    padding-left: 0;
  }
}
@media (max-width:600px) {
  .step p {
    font-size: 16px;
    background-image: url("../image/color/green-3.png");
    background-repeat: repeat;
    background-size: cover;
    border-radius: 10px;
    padding: 20px;
  }
}
/*:::::【矢印】:::::*/
.double-arrow {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 50px auto;
}
.double-arrow::before, .double-arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 20px;
  border-bottom: 3px solid orange;
  border-right: 3px solid orange;
  transform: rotate(45deg);
}
.double-arrow::before {
  top: -10px;
}
/*:::::【ステップバッジ】:::::*/
.step-badge {
  width: 130px;
  height: 130px;
  background-color: #ffd481; /* 明るいオレンジ系 */
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  left: 0;
  font-family: 'Arial', sans-serif;
  flex-shrink: 0;
}
.step-border {
  position: relative;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 2px dashed white;
}
.step-label {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 16px;
  color: #5a3716; /* 茶色 */
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  text-transform: lowercase;
}
.step-number {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -60%);
  font-size: 2.5rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  color: #5a3716; /* 茶色 */
}
@media (max-width:900px) {
  .step-badge {
    width: 100px;
    height: 100px;
    top: -60px;
  }
  .step-border {
    width: 85px;
    height: 85px;
  }
  .step-label {
    top: 0;
  }
}
@media (max-width:600px) {
  .step-badge {
    position: absolute;
    width: 85px;
    height: 85px;
    top: -70px;
  }
  .step-border {
    width: 75px;
    height: 75px;
  }
  .step-number {
    font-size: 2rem;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}