/* =====点線=== */

.border_body{
  position: absolute;
	overflow: visible;
  width: 34.1rem;
  height: 1rem;
	top: 1.8rem;
	left: 0rem;
}

.border_body:last-of-type{
  left: unset;
  right: 0;
}

.border_body line{
  fill: none;
  stroke: var(--winered2);
  stroke-width: .8rem;
  stroke-linecap: round;
  stroke-dasharray: 0, 16;
}


/* =========kindergarten_header======== */

.kindergarten_pink_area {
  background-color: #E6ABC4;
  margin: 0 auto;
  padding-top: 8rem;
}

.kindergarten_pink_frame {
  width: 95.8rem;
  margin: 0 auto;
  padding: 0 0 4.6rem;
}

.kindergarten_frame_inner {
  height: 9.7rem;
  position: relative;
}

.kindergarten_header_title {
  font-family: Zen Maru Gothic;
  font-size: 3rem;
  font-weight: bold;
  line-height: calc(44 / 30);
  color: #FFFFFF;
  text-align: center;
  width: fit-content;
  /* position: absolute; */
  padding: 1.5rem 0 0;
  /* top: 3.139rem;
  left: 31.4rem; */
  margin: 0 auto;
}

.kindergarten_header_text {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: Zen Maru Gothic;
  line-height: calc(50 / 16);
  width: 95.8rem;
  margin: 0 auto;
  color: #FFFFFF;
}

/* ====position item 画像群====== */

.kindergarten_cross {
  position: absolute;
  width: 2.764rem;
  height: 3.109rem;
  top: 0;
  left: 21.521rem;
  object-fit: contain;
}

.kindergarten_dot_1 {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: .2rem;
  left: 4.8rem;
  object-fit: contain;
}

.kindergarten_dot_2 {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: 5.539rem;
  left: 12.6rem;
  object-fit: contain;
}

.kindergarten_dot_4 {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: 10.167rem;
  right: 17.385rem;
  object-fit: contain;
}

.kindergarten_cross_2 {
  position: absolute;
  width: 2.764rem;
  height: 3.109rem;
  top: 4.695rem;
  right: 12.292rem;
  object-fit: contain;
  transform: rotate(45deg);
}

.kindergarten_dot_3 {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: 1.519rem;
  right: 22.885rem;
  object-fit: contain;
}

.kindergarten_dot_4 {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  top: 4.695rem;
  right: 1.185rem;
  object-fit: contain;
}

/* ===bottom_wave画像切り替え==== */

.bottom_wave {
  vertical-align: bottom;
}

.bottom_wave_sp {
  display: none;
}


/* ========================common========= */

html {
  scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%
}

.kindergarten_cream_area {
  text-align: center;
  background-color: #FBFBE2;
  padding: 9.1rem 0 7rem;
}

.kindergarten {
  width: 98rem;
  margin: 0 auto;
}

/* ====表の下 にじいろたまご の外枠になりますsub_main==== */

.sub_main {
  text-align: center;
  background-color: #FBFBE2;
  padding-bottom: 16rem;
}

.sub_main_inner {
  max-width: 98rem;
  margin: 0 auto;
}


/* ============================jump================= */

.kindergarten_jump {
  display: flex;
  justify-content: center;
  gap: 5rem;
}

.kindergarten_jump_a {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: Zen Maru Gothic;
  line-height: calc(36 / 16);
  background-color: #8C4F53;
  border-radius: 1rem;
  color: #FFFFFF;
  padding: .6rem 2.3rem;
}

/* =============================angel========= */

.angel_detail {
  margin: 5.3rem 0 0;
}

/* ======================angel_h2 */

.angel_h2 {
  position: relative;
  font-size: 3rem;
  font-family: Zen Maru Gothic;
  font-weight: bold;
  line-height: calc(44 /30);
  color: #8C4F53;
  margin: 14.1rem 0 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}


/* ===================angel_h3 */

.angel_h3_money {
  font-size: 3rem;
  line-height: calc(44 / 30);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  text-align: left;
  border-bottom: .4rem solid #E6E6CC;
  display: block;
  margin-right: auto;
  max-width: 9rem;
  white-space: nowrap;
}

.angel_h3_holiday {
  font-size: 3rem;
  line-height: calc(44 / 30);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  border-bottom: .4rem solid #E6E6CC;
  display: block;
  margin-right: auto;
  max-width: 15rem;
  margin: 2.8rem 0 0;
  white-space: nowrap;
  width: fit-content;
}

.angel_h3_kindergarten {
  font-size: 3rem;
  line-height: calc(44 / 30);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  text-align: left;
  border-bottom: .4rem solid #E6E6CC;
  display: block;
  margin-right: auto;
  max-width: 27rem;
  margin: 4.2rem 0 0;
  white-space: nowrap;
  width: fit-content;
}


/* =====================angel_h4 */

.angel_subtitle {
  font-size: 2.3rem;
  line-height: calc(50 / 23);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  max-width: 95.8rem;
  margin: 2.8rem 0 0;
  text-align: left;
  width: fit-content;
}

.angel_h4_unhighlighted {
  font-size: 2.3rem;
  line-height: calc(50 / 23);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  max-width: 95.8rem;
  margin: 3rem 0 0;
  text-align: left;
}

.angel_p {
  font-size: 1.6rem;
  line-height: calc(50 / 16);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  margin: 2.3rem 0 0;
  text-align: left;
}

.angel_text {
  font-size: 1.6rem;
  line-height: calc(50 / 16);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  text-align: left;
  margin-top: 4.8rem;
}

/* ===================angel_img 画像=== */

.angel_img {
  display: flex;
  justify-content: space-between;
  margin-top: 4.5rem;
}

.up_side_img,
.under_side_img {
  display: flex;
  gap: 6.5rem;
}

.img_myself {
  width: 18.8rem;
  height: 18.8rem;
  object-fit: cover;
  border-radius: 1.2rem;
  vertical-align: bottom;
}

.shifted_img {
  margin-top: 9.4rem;
  width: 18.8rem;
  height: 18.8rem;
  object-fit: cover;
  border-radius: 1.2rem;
  vertical-align: bottom;
}

/* =============================table 1/3 */

.angel_table {
  width: 86.9rem;
  margin: 5.1rem 0 0;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  font-size: 1.6rem;
  font-weight: 500;
  color: #8C4F53;
  line-height: calc(24 / 16);
  text-align: center;
  vertical-align: middle;
  font-family: Zen Maru Gothic;
}

.angel_th {
  font-weight: 500;
  background-color: #CDDF99;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
  /* height: 6.63rem; */
  box-sizing: border-box;
  padding: 2.3rem 0;
}

.angel_td {
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  font-size: 1.6rem;
  line-height: calc(24 / 16);
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  font-family: Zen Maru Gothic;
  box-sizing: border-box;
  width: 21.725rem;
  padding: 2.3rem 0;
}

.angel_td:first-child {
  padding: .8rem 0;
}

.angel_table_sp {
  display: none;
}

/* ====================smile にこにこひろば */


.smile_h2 {
  position: relative;
  font-size: 3rem;
  font-family: Zen Maru Gothic;
  font-weight: bold;
  line-height: calc(44 /30);
  color: #8C4F53;
  margin: 12.9rem 0 0;
  text-align: center;
  width: 100%; 
  overflow: hidden;
  white-space: nowrap;
}

.smile_subtitle {
  font-size: 2.3rem;
  line-height: calc(50 / 23);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  width: 95.8rem;
  margin: 2.8rem auto 0;
  text-align: left;
}

.smile_new_line {
  font-size: 2.3rem;
  line-height: calc(50 / 23);
  font-family: Zen Maru Gothic;
  font-weight: bold;
}

.smile_text {
  font-size: 1.6rem;
  line-height: calc(50 / 16);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  text-align: left;
  margin-top: 2.9rem;
}

/* ================================event教えて！聖母ママ！ */

.mom_event {
  margin: 3.2rem 0 0;
  display: flex;
}

.mom_event_img {
  position: relative;
  width: 37.9rem;
  height: 6.5rem;
}

.event_img_ribbon {
  width: 100%;
}

.event_h3 {
  font-size: 3rem;
  font-weight: bold;
  font-family: Zen Maru Gothic;
  color: #FFFFFF;
  position: absolute;
  top: .8rem;
  left: 5.4rem;
}

.event_small {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: Zen Maru Gothic;
  color: #8C4F53;
  line-height: 6.5rem;
}


/* =================================table 2/3 */

.smile_table {
  width: 86.9rem;
  /* height: 37.3rem; */
  margin: 7rem auto 0;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  font-size: 1.6rem;
  font-family: Zen Maru Gothic;
  font-weight: 500;
  color: #8C4F53;
  line-height: calc(24 / 16);
  text-align: center;
  vertical-align: middle;
  border-right: none;
  /* margin: auto; */
}

.smile_th {
  font-weight: 500;
  background-color: #CDDF99;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 2rem;
}

/* ================Xdと異なるレイアウトになります、tdの最初のタグのテキス部分は
敢て中央揃えにしております smile_first_td================= */

.smile_first_td {
  font-weight: 500;
  border: solid .2rem #8C4F53;
  vertical-align: middle;
  text-align: center;
  width: 21.7rem;
}

.smile_td {
  font-weight: 500;
  border: solid .2rem #8C4F53;
  text-align: left;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 1rem 0 1rem 2rem;
}

.appear_line_pc {
  display: inline-block;
}

.appear_line_sp {
  display: none;
}

/* ===============td レスポンシブで切り替え */

.smile_td_pc {
  display: inline-block;
}

.smile_td_sp {
  display: none;
}

.smile_a {
  color: #8C4F53;
  border-bottom: .1rem solid #8C4F53;
}

/* ============================empty 表==== */

.smile_empty {
  width: 98rem;
  height: 33.9rem;
  /* font-size: 3rem; */
  font-weight: bold;
  font-family: Zen Maru Gothic;
  background-color: #FFFFFF;
  color: #8C4F53;
  text-align: center;
  margin: 0 auto;
  border: .1rem solid #707070;
  /* line-height: 33.9rem; */
}

.empty_frame {
  background-color: #FBFBE2;
  padding-bottom: 14.6rem;
  padding-top: 7rem;
}

/* ===========================rainbow eggs にじいろたまご */

.rainbow_h2 {
  position: relative;
  font-size: 3rem;
  font-weight: bold;
  font-family: Zen Maru Gothic;
  color: #8C4F53;
  width: fit-content;
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
}

.rainbow_subtitle {
  font-size: 2.3rem;
  font-weight: bold;
  line-height: calc(50 /23);
  font-family: Zen Maru Gothic;
  color: #8C4F53;
  margin: 2.8rem 0 0;
  text-align: left;
}

.rainbow_text {
  font-size: 1.6rem;
  line-height: calc(50 / 16);
  font-family: Zen Maru Gothic;
  font-weight: bold;
  color: #8C4F53;
  text-align: left;
  margin-top: 1.4rem;
}

/* ======================table 3/3======= */

.rainbow_table {
  width: 86.9rem;
  /* height: 31.9rem; */
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  margin: 5.1rem 0 0;
  font-size: 1.6rem;
  color: #8C4F53;
  line-height: calc(24 / 16);
  font-family: Zen Maru Gothic;
}

.rainbow_th {
  font-weight: 500;
  background-color: #CDDF99;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 2rem;
}

.rainbow_first_td {
  font-weight: 500;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  text-align: left;
  vertical-align: middle;
  text-align: center;
  box-sizing: border-box;
  width: calc(23.7rem - 2rem);
}

.rainbow_td {
  font-weight: 500;
  border: solid .2rem #8C4F53;
  border-collapse: collapse;
  text-align: left;
  vertical-align: middle;
  padding: 1rem;
}

.new_line_span {
  font-weight: 500;
  display: inline-block;
}

.office {
  display: inline-block;
}

/* 
=========================レスポンシブル！===================== */
@media screen and (max-width:699.98px) {


  /* =====点線=== */

  .border_body{
    width: 6.1rem;
    top: 1.5rem;
  }

  /* =======kindergarten_header===== */

  .kindergarten_pink_frame {
    width: 33.5rem;
    margin: 0 auto;
  }

  .kindergarten_frame_inner {
    position: relative;
  }

  .kindergarten_header_title {
    font-size: 2.5rem;
    line-height: calc(36 / 25);
    color: #FFFFFF;
    text-align: center;
    width: fit-content;
    top: 4.831rem;
    left: 3rem; 
    padding: 4.831rem 0 0;
  }

  .kindergarten_header_text {
    font-size: 1.5rem;
    line-height: calc(40 / 15);
    width: 33.5rem;
    height: 43.2rerm;
    margin: 1.29rem auto 0;
    text-align: left;
  }

  /* ========position item 画像群========== */

  .kindergarten_dot_1 {
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
    top: 1.2rem;
    left: -.7rem;
    object-fit: contain;
  }

  .kindergarten_dot_2 {
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
    top: 3.39rem;
    left: 2.777rem;
    object-fit: contain;
  }

  .kindergarten_cross {
    position: absolute;
    width: 2.76rem;
    height: 3.14rem;
    top: .7rem;
    left: 6.103rem;
    object-fit: contain;
  }

  .kindergarten_dot_3 {
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
    top: 0.7rem;
    right: 0rem;
    object-fit: contain;
  }

  .kindergarten_cross_2 {
    position: absolute;
    width: 2.76rem;
    height: 3.14rem;
    top: 1.4rem;
    right: 3.587rem;
    object-fit: contain;
    transform: rotate(45deg);
  }

  .kindergarten_dot_4 {
    position: absolute;
    width: 1.4rem;
    height: 1.4rem;
    top: 0rem;
    right: 9.212rem;
    object-fit: contain;
  }

  .bottom_wave {
    display: none;
  }

  .bottom_wave_sp {
    vertical-align: bottom;
    display: inline;
  }

  /* =========================common */

  .kindergarten_main {
    padding: 7rem 0 5.6rem;
    max-width: 37.5rem;
  }

  .kindergarten {
    max-width: 35rem;
    margin: 0 auto;
  }

  /* =====表の下にじいろたまごの外枠になりますsub_main===== */

  .sub_main {
    max-width: 37.5rem;
    margin: 0 auto;
    background-color: #FBFBE2;
    padding: 5rem 0 15rem;
  }

  .sub_main_inner {
    width: 35rem;
    margin: 0 auto;
  }

  /* =====================kindergarten_jump ページ内遷移 */

  .kindergarten_jump {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }

  #angel {
    max-width: 33.5rem;
    margin: 0 auto;
  }


   .angel_h2 {
    font-size: 2.5rem;
    font-family: Zen Maru Gothic;
    font-weight: bold;
    line-height: calc(36 / 25);
    margin: 5.5rem 0 0;
  }

  .angel_h3_money {
    font-size: 3rem;
    line-height: calc(44 / 30);
  }

  .angel_h3_holiday {
    font-size: 3rem;
    line-height: calc(44 / 30);
    margin: 3.1 rem 0 0;
  }

  .angel_h3_kindergarten {
    font-size: 3rem;
    line-height: calc(44 / 30);
    margin: 3rem 0 0;

  }

  .angel_h4 {
    font-size: 1.8rem;
    line-height: calc(50 / 18);
    max-width: 33.5rem;
    margin: 3.2rem 0 0;
  }

  .angel_subtitle {
    font-size: 2rem;
    line-height: calc(50 / 20);
  }

  .angel_h4_unhighlighted {
    font-size: 2.3rem;
    line-height: calc(50 / 23);
    max-width: 33.5rem;
    margin: 3rem 0 0;
  }

  .angel_text {
    font-size: 1.6rem;
    line-height: calc(45 / 16);
    text-align: left;
    margin: 3rem 0 0;
  }

  .angel_p {
    font-size: 1.5rem;
    line-height: calc(40 / 15);
    margin: 2.3rem 0 0;
  }

  .angel_detail {
    margin: 4.6rem auto 0;
    max-width: 33.4rem;
  }

  /* =========================angel_img 画像 */

  .angel_img {
    flex-direction: column;
    width: 33.5rem;
    margin: 4.8rem auto 0;
  }

  .up_side_img,
  .under_side_img {
    gap: 4.3rem;
  }

  .img_myself,
  .shifted_img {
    width: 14.6rem;
    height: 14.6rem;
  }

  /* ==================================table_sp 3 / 1 */

  .angel_table_sp {
    font-size: 1.6rem;
    font-weight: 500;
    color: #8C4F53;
    line-height: calc(24 / 16);
    font-family: Zen Maru Gothic;
    margin: 6.1rem 0 0;
  }

  .angel_th_sp {
    background-color: #CDDF99;
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    text-align: center;
    vertical-align: middle;
    height: 6.9rem;
    box-sizing: border-box;
  }

  .angel_table_sp tr:first-child th:first-child {
    border: none;
    background-color: none;
  }

  .angel_td_sp {
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
    width: 11rem;
  }

  .angel_td_color {
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
    width: 11rem;
    height: 6.9rem;
    background-color: #CDDF99;
  }

  .angel_table {
    display: none;
  }

  .angel_table_sp {
    display: inline-block;
  }

  /* ==========================smile にこにこひろば  */

  #smile {
    max-width: 33.5rem;
    margin: 0 auto;
  }

  .smile_h2 {
    font-size: 2.5rem;
    line-height: calc(36 / 25);
    margin: 9rem 0 0;
  }

  .smile_subtitle {
    font-size: 1.8rem;
    line-height: calc(30 / 18);
    width: 32.4rem;
    margin: 3rem 0 0;
    text-align: left;
  }

  .smile_new_line {
    font-size: 1.8rem;
    line-height: calc(30 / 18);
    display: inline-block;
  }

  .smile_text {
    font-size: 1.5rem;
    line-height: calc(35 / 15);
    margin-top: 1.2rem;
    text-align: left;
  }

  /* ==============evet 教えて！聖母ママ！ */


  .mom_event {
    margin: 6.5rem 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .mom_event_img {
    position: relative;
    max-width: 29.7rem;
    height: 5.1rem;
  }

  .event_h3 {
    font-size: 2.5rem;
    top: .8rem;
    left: 3.6rem;
  }

  .event_small {
    line-height: calc(24 / 16);
    margin: .3rem 0 0;
  }

  /* =========================smile_table_sp 2 / 3 */


  .smile_table {
    width: 35rem;
    /* height: 38.5rem; */
    font-size: 1.5rem;
    font-weight: 500;
    line-height: calc(21 / 15);
    font-family: Zen Maru Gothic;
    margin: 6rem auto 0;
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    border-right: none;
  }

  .smile_th {
    font-weight: 500;
    background-color: #CDDF99;
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
    padding: 2rem;
  }

  .smile_first_td {
    font-weight: 500;
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    box-sizing: border-box;
    font-size: 1.6rem;
    vertical-align: middle;
    text-align: center;
    width: calc(9.5rem - 2rem);
  }

  .smile_td {
    font-weight: 500;
    border: solid .2rem #8C4F53;
    border-collapse: collapse;
    font-size: 1.5rem;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
    padding: 1rem;
  }

  .appear_line_pc {
    display: none;
  }

  .appear_line_sp {
    font-weight: 500;
    font-size: 1.5rem;
    text-align: left;
    vertical-align: middle;
    box-sizing: border-box;
    display: inline-block;
  }

  .smile_td_pc {
    display: none;
  }

  .smile_td_sp {
    display: inline-block;
  }

  .smile_td_small {
    font-size: 1.4rem;
  }

  /* ========================empty 表======= */

  .smile_empty {
    max-width: 37.5rem;
    height: 38rem;
  }

  .empty_frame {
    padding-bottom: 0rem;
    max-width: 37.5rem;
  }

  /* ==========================rainbow にじいろたまご */

  #rainbow {
    max-width: 33.5rem;
    margin: 0 auto;
  }

  .rainbow_h2 {
    font-size: 2.5rem;
    line-height: calc(36 / 25);

  }

  .rainbow_subtitle {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: calc(50 /18);
    margin: 3.2rem 0 0;
  }

  .rainbow_text {
    font-size: 1.5rem;
    line-height: calc(45 / 15);
    margin-top: 2rem;
    text-align: left;
  }

  /* ======================rainbow table_sp 3/3== */

  .rainbow_table {
    width: 35rem;
    height: 38.5rem;
    margin: 5rem 0 0;
  }

  .rainbow_th {
    font-weight: 500;
    font-size: 1.5rem;
    line-height: calc(24 / 16);
    padding: 2rem;
  }

  .rainbow_first_td {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: calc(24 / 16);
    width: calc(9.5rem - 2rem);
  }

  .rainbow_td {
    font-size: 1.5rem;
    font-weight: 500;
    font-family: Zen Maru Gothic;
    line-height: calc(21 / 15);
    text-align: left;
    vertical-align: middle;
    padding: 1rem;
  }

  .office {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: calc(19 / 13);
    font-family: Zen Maru Gothic;
    color: #8C4F53;
    display: inline-block;
  }

  .new_line_span {
    font-weight: 500;
    display: inline-block;
  }

}