@charset 'UTF-8';

/* cmn_header */
@media screen and (min-width: 768px) {
  .cmn_header {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .cmn_header h1 {
    margin: 4.8rem 0;
  }
}
@media screen and (max-width: 767px) {
  /* sp only */
  .cmn_header {
    position: relative;
  }
  .cmn_header nav {
    padding: 0 calc(26 / 375 * 100vw);
    position: absolute;
    top: calc(100% - 2.5rem);
    left: 0;
    right: 0;
    margin: auto;
  }
}
.cmn_header nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
}
@media screen and (min-width: 768px) {
  .cmn_header nav ul {
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
}
.cmn_header nav a {
  padding: 0.2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 10em;
  min-height: 5rem;
  border: solid 1px rgb(11, 16, 87);
  border-radius: 5px;
  box-sizing: border-box;
  font-family: var(--NotoSerifJP);
  font-size: 2rem;
  font-weight: bold;
  font-feature-settings: "palt";
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-indent: 0.2em;
  text-align: center;
  color: rgb(11, 16, 87);
  background-color: rgb(227, 234, 243);
}
@media screen and (min-width: 768px) {
  .cmn_header nav a {
    min-width: 34rem;
    min-height: 5.6rem;
    font-size: 2.2rem;
  }
}
/*  lead  */
#lead {
  padding-top: 11rem;
}
#lead .desc p {
  margin: 0;
  font-size: 1.9rem;
  line-height: 2.1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  #lead .desc p {
    text-align: center;
  }
}
#lead .cmn_button {
  padding: 6.6rem 0;
}
@media screen and (min-width: 768px) {
  #lead .cmn_button {
    padding: 7rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#lead .cmn_button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: solid 2px rgb(253, 179, 108);
  border-radius: 10px;
  box-sizing: border-box;
  letter-spacing: calc(1.55 / 31 * 1em);
  text-align: start;
  color: rgb(250, 164, 50);
  background-color: rgb(254, 238, 218);
}
#lead .cmn_button a:first-of-type {
  color: rgb(116, 196, 118);
  border-color: rgb(141, 208, 141);
  background-color: rgb(221, 242, 216);
}
#lead .cmn_button a:not(:last-of-type) {
  margin-bottom: calc(2rem * 18 / 14);
}
@media screen and (min-width: 768px) {
  #lead .cmn_button a {
    padding: 0 1.6rem 0 2.8rem;
    margin: 0 calc(28 / 1200 * 100%);
    display: flex;
    flex-basis: calc(355 / 1200 * 100%);
    min-width: 0;
    min-height: calc(120 / 25 * 1em);
    font-size: min(25 / 1280 * 100vw, 2.5rem);
    line-height: 1.32;
  }
  #lead .cmn_button a:first-of-type {
    margin-left: 0;
  }
  #lead .cmn_button a:last-of-type {
    margin-right: 0;
  }
  #lead .cmn_button a:not(:last-of-type) {
    margin-bottom: 0;
  }
}
#lead .cmn_button a::after {
  flex-shrink: 0;
  width: calc(17 / 25 * 1em);
  height: calc(36 / 25 * 1em);
  background: url(../images/ico_arrow_og.svg) no-repeat 50% 50% / contain;
}
#lead .cmn_button a:first-of-type::after {
  background-image: url(../images/ico_arrow_gr.svg);
}

/*  .cmn_section  */
.cmn_section {
  padding: 6.8rem calc((50vw - 50%) / 2);
  margin: 0 calc((50% - 50vw) / 2) 13.6rem calc((50% - 50vw) / 2);
  border-radius: 50px;
  background-color: rgb(255, 255, 255);
}
@media screen and (min-width: 768px) {
  .cmn_section {
    padding: 6.8rem min(50vw - 50%, 16rem);
    margin: 0 max(50% - 50vw, -16rem) 13.6rem max(50% - 50vw, -16rem);
  }
}
.cmn_section .description {
  padding-top: 5.4rem;
}
.cmn_section .description p {
  margin: 0;
  font-size: 1.7rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .cmn_section .description p {
    text-align: center;
  }
}
.cmn_section > section {
  padding-top: 12rem;
}
.cmn_section > section:last-of-type {
  padding-bottom: 5.2rem;
}
.cmn_section h3 {
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.5rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  color: rgb(247, 79, 124);
}
.cmn_section h3 + .desc {
  padding-top: 4rem;
}
.cmn_section .desc p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .cmn_section .desc p {
    text-align: center;
  }
}
.cmn_section section section .desc p {
  line-height: 1.9;
  text-align: start;
}
.cmn_section ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.cmn_section h4 {
  padding-bottom: 0.6rem;
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: rgb(11, 16, 87);
  border-bottom: solid 1px rgb(11, 16, 87, 0.5);
  position: relative;
}
.cmn_section h4::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 13.6rem;
  height: 4px;
  background-color: rgb(11, 16, 87);
}
.cmn_section .image {
  text-align: center;
}

/*  cmn_proc  */
.cmn_proc {
  padding: 0;
  margin: 0 auto;
  list-style: none;
  position: relative;
  z-index: 0;
  max-width: 414px;
}
.cmn_proc li:not(:last-of-type) {
  padding-bottom: 3.4rem;
}
@media screen and (min-width: 768px) {
  .cmn_proc {
    display: flex;
    justify-content: space-between;
    max-width: none;
  }
  .cmn_proc li {
    flex-basis: 21.3rem;
  }
  .cmn_proc li:not(:last-of-type) {
    padding-bottom: 0;
  }
}
.cmn_proc .step {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: calc(1.2 / 16 * 1em);
  white-space: nowrap;
  transform: translateY(100%);
}
@media screen and (min-width: 768px) {
  .cmn_proc .step {
    padding-bottom: 1.4rem;
    text-align: center;
    transform: none;
  }
}
.cmn_proc .step .num {
  padding-left: 0.25em;
  font-size: 2.5rem;
  font-weight: bold;
}
.cmn_proc .term {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 21.4rem;
  aspect-ratio: 1 / 1;
  font-family: var(--NotoSerifJP);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: calc(2.8 / 28 * 1em);
  text-align: center;
  color: rgb(11, 16, 87);
  background-color: rgb(255, 255, 255);
  border: 1.8rem solid;
  border-radius: 50%;
  box-sizing: border-box;
  position: relative;
}
@media screen and (min-width: 768px) {
  .cmn_proc .term {
    margin: 0;
    width: 100%;
    font-size: 2.8rem;
    line-height: 1.3;
  }
}
.cmn_proc li:nth-of-type(1) .term {
  border-color: rgb(216, 208, 218);
}
.cmn_proc li:nth-of-type(2) .term {
  border-color: rgb(190, 179, 197);
}
.cmn_proc li:nth-of-type(3) .term {
  border-color: rgb(165, 152, 178);
}
.cmn_proc li:not(:first-of-type) .term::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 1.8rem + 1.4rem);
  z-index: -10;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 2.6rem solid rgb(11, 16, 87);
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
}
@media screen and (min-width: 768px) {
  .cmn_proc li:not(:first-of-type) .term::before {
    top: 0;
    bottom: 0;
    left: auto;
    right: calc(100% + 1.8rem + 1.4rem);
    border-left: 2.6rem solid rgb(11, 16, 87);
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-right: none;
  }
  .cmn_proc li:not(:first-of-type) .term::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(100% + 1.8rem + 1.4rem + 2.6rem);
    z-index: -10;
    margin: auto;
    width: 40%;
    height: 0.4rem;
    background-color: rgb(11, 16, 87);
  }
}

/*  daycare  */

/*  daycare .description  */
#daycare .description .ch {
  padding-top: 5.4rem;
}

/*  daycare hour  */
#daycare .hour table {
  margin-top: 4.2rem;
  border-collapse: collapse;
  width: 100%;
}
#daycare .hour thead {
  background-color: rgb(204, 204, 204);
}
#daycare .hour thead th {
  padding: 0.8rem 1em;
  font-family: var(--ShipporiMincho);
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  color: rgb(255, 255, 255);
}
#daycare .hour thead th span {
  padding-bottom: 0.25em;
  display: block;
  font-family: var(--NotoSansJP);
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: calc(0.4 / 16 * 1em);
  color: rgb(255, 255, 255);
  font-feature-settings: "palt";
}
#daycare .hour thead th:nth-of-type(2) {
  background-color: rgb(249, 129, 162);
}
#daycare .hour thead th:nth-of-type(3) {
  background-color: rgb(253, 179, 108);
}
#daycare .hour thead th:nth-of-type(4) {
  background-color: rgb(128, 206, 207);
}
#daycare .hour thead th:not(:first-of-type) {
  border-left: solid 1px rgb(255, 255, 255);
}
#daycare .hour tbody tr:not(:first-of-type) {
  border-top: solid 1px rgb(255, 255, 255);
}
#daycare .hour tbody th,
#daycare .hour tbody td {
  padding: 2.73rem 1em;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}
#daycare .hour tbody th {
  background-color: rgb(237, 233, 237);
}
#daycare .hour tbody td {
  width: calc(342 / 1200 * 100%);
  box-sizing: border-box;
}
#daycare .hour tbody td:nth-of-type(1) {
  background-color: rgb(253, 241, 238);
}
#daycare .hour tbody td:nth-of-type(2) {
  background-color: rgb(253, 247, 238);
}
#daycare .hour tbody td:nth-of-type(3) {
  background-color: rgb(242, 249, 249);
}
@media screen and (max-width: 767px) {
  #daycare .hour table {
    table-layout: fixed;
  }
  #daycare .hour thead th {
    padding: 0.8rem 0;
    font-size: 1.8rem;
  }
  #daycare .hour thead th span {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
  #daycare .hour thead th:first-of-type,
  #daycare .hour tbody th {
    padding-left: 0;
    padding-right: 0;
    width: 1.5em;
  }
  #daycare .hour tbody th {
    min-height: 5em;
  }
  #daycare .hour tbody th span {
    letter-spacing: 0.25em;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
  }
  #daycare .hour tbody td {
    padding: 0.8rem;
  }
}
#daycare .hour .notes {
  padding: 0.4em 0;
  font-size: 1.3rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  #daycare .hour .notes {
    padding: 0.6em 0;
    font-size: 1.6rem;
    line-height: 2.2;
  }
}
#daycare .hour .notes p {
  margin: 0;
  letter-spacing: 0.1em;
}
#daycare .hour .notes p::before {
  content: "\203B";
}

/*  daycare schedule  */
#daycare .schedule table {
  margin-top: 4.2rem;
  border-collapse: collapse;
  width: 100%;
}
#daycare .schedule thead {
  background-color: rgb(204, 204, 204);
}
#daycare .schedule thead th {
  padding: 0.8rem 1em;
  font-family: var(--ShipporiMincho);
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-align: center;
  word-break: keep-all;
  color: rgb(255, 255, 255);
}
#daycare .schedule thead th:nth-of-type(1) {
  background-color: rgb(249, 129, 162);
}
#daycare .schedule thead th:nth-of-type(2) {
  background-color: rgb(253, 179, 108);
}
#daycare .schedule thead th:nth-of-type(3) {
  background-color: rgb(128, 206, 207);
}
#daycare .schedule thead th:not(:first-of-type) {
  border-left: solid 1px rgb(255, 255, 255);
}
#daycare .schedule tbody th,
#daycare .schedule tbody td {
  padding: 2.73rem 1em;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}
#daycare .schedule tbody td:nth-of-type(1) {
  background-color: rgb(253, 241, 238);
}
#daycare .schedule tbody td:nth-of-type(2) {
  background-color: rgb(253, 247, 238);
}
#daycare .schedule tbody td:nth-of-type(3) {
  background-color: rgb(242, 249, 249);
}
@media screen and (max-width: 767px) {
  #daycare .schedule thead th {
    padding: 0.8rem 0;
    font-size: 1.8rem;
  }
  #daycare .schedule thead th span {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
  #daycare .schedule tbody th {
    min-height: 5em;
  }
  #daycare .schedule tbody td {
    padding: 0.8rem;
  }
}

/*  daycare .prog  */
#daycare .prog .photo {
  padding-top: 6.6rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.4rem;
}
@media screen and (min-width: 768px) {
  #daycare .prog .photo {
    max-width: 61.4rem;
    gap: 3.4rem;
  }
}
#daycare .prog .photo .image {
  flex-basis: calc((100% - 1.4rem) / 2);
}
@media screen and (min-width: 768px) {
  #daycare .prog .photo .image {
    flex-basis: calc(290 / 614 * 100%);
  }
}
#daycare .prog .photo .image img {
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  #daycare .prog .photo .image img {
    border-radius: 15px;
  }
}
#daycare .prog .cmn_button {
  padding: 6.6rem 0;
}
@media screen and (min-width: 768px) {
  #daycare .prog .cmn_button {
    padding: 7rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#daycare .prog .cmn_button p {
  padding: 1em calc(44 / 20 * 1em);
  margin: 0;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #daycare .prog .cmn_button p {
    font-size: 2rem;
  }
}
#daycare .prog .cmn_button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: solid 3px rgb(141, 208, 141);
  border-radius: 14px;
  box-sizing: border-box;
  letter-spacing: calc(1.55 / 31 * 1em);
  text-align: start;
  color: rgb(116, 196, 118);
  background-color: rgb(221, 242, 216);
}
@media screen and (min-width: 768px) {
  #daycare .prog .cmn_button a {
    padding: 0 2.2rem 0 3.4rem;
    margin: 0;
    display: flex;
    flex-basis: calc(478 / 1200 * 100%);
    min-width: 0;
    min-height: calc(160 / 34 * 1em);
    font-size: min(34 / 1280 * 100vw, 3.4rem);
    line-height: 1.32;
  }
}
#daycare .prog .cmn_button a::after {
  flex-shrink: 0;
  width: calc(17 / 25 * 1em);
  height: calc(36 / 25 * 1em);
  background: url(../images/ico_arrow_gr.svg) no-repeat 50% 50% / contain;
}

/*  daycare .voice */
@media screen and (max-width: 767px) {
  /* sp only */
  #daycare .voice .container {
    position: relative;
  }
  #daycare .voice .icon {
    position: absolute;
    bottom: 100%;
    left: -1.3rem;
  }
}
@media screen and (min-width: 768px) {
  #daycare .voice .container {
    padding: 2.4rem 0;
    margin: 0 auto;
    display: flex;
    max-width: 93.6rem;
  }
  #daycare .voice .container > .icon {
    flex-basis: 16.6rem;
    flex-shrink: 0;
  }
  #daycare .voice .container > ul {
    flex-grow: 1;
  }
}
#daycare .voice .icon .image {
  width: 12.5rem;
}
#daycare .voice .icon .image img {
  width: 100%;
}
#daycare .voice ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
#daycare .voice li {
  padding: 1em 0;
  font-size: 1.6rem;
  line-height: 2.14;
  letter-spacing: 0.1em;
  border-bottom: 2px dotted rgb(11, 16, 87);
}

/*  daycare .flow  */
@media screen and (min-width: 768px) {
  #daycare .flow ol {
    max-width: 90.3rem;
  }
}
#daycare .flow .inq .desc {
  padding: 5rem 0;
}
#daycare .flow .inq .call a {
  padding: 3.2rem 2rem;
  margin: 0 auto;
  display: block;
  max-width: 87.6rem;
  border-radius: 20px;
  background-color: rgb(242, 245, 250);
  box-sizing: border-box;
}
#daycare .flow .inq .call .num {
  font-family: var(--ShipporiMincho);
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1.35px;
  color: rgb(11, 16, 87);
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #daycare .flow .inq .call .num {
    font-size: 4.6rem;
  }
}
#daycare .flow .inq .call .num::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.25em;
  margin-right: 0.25em;
  width: calc(35.5 / 46 * 1em);
  height: calc(46.2 / 46 * 1em);
  background: url(../images/ico_tel_nv.svg) no-repeat 50% 50% / contain;
}
#daycare .flow .inq .call .num span {
  padding-top: 0.5em;
  margin-left: 0.5em;
  display: block;
  font-family: var(--NotoSansJP);
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: calc(1.35 / 18 * 1em);
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  #daycare .flow .inq .call .num span {
    padding-top: 0;
    display: inline-block;
  }
}
#daycare .flow .inq .call .time {
  padding-top: 1.6rem;
  font-family: var(--ShipporiMincho);
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: calc(1.01 / 23 * 1em);
  text-align: center;
}

/*  ot  */

/*  ot .effect  */
#ot .effect .ch {
  margin: 3.8rem auto 0 auto;
  max-width: 949px;
  position: relative;
}
#ot .effect .ch .image:last-of-type {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

/* ot purpose */
@media screen and (max-width: 767px) {
  /* sp only */
  #ot .purpose h3 {
    letter-spacing: 0;
  }
}
#ot .purpose ul {
  padding: 0;

  padding: 1.6rem 0 0 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #ot .purpose ul {
    padding: 5.6rem 0 1.2rem 0;
    margin: 0 auto;
    gap: 1.2rem;
    max-width: 93.6rem;
  }
}
#ot .purpose li {
  padding-left: 0.1em;
  margin-top: 1.6rem;
  flex-basis: 48%;
  display: flex;
  min-height: 8.8rem;
  box-sizing: border-box;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.53;
  letter-spacing: 0.1em;
  text-align: center;
  color: rgb(11, 16, 87);
}
@media screen and (min-width: 768px) {
  #ot .purpose li {
    margin-top: 0;
    flex-basis: calc((100% - 1.2rem * 3) / 4);
    min-height: 11.2rem;
  }
}
#ot .purpose li:not(.etc) {
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  background-color: rgb(242, 245, 250);
}
#ot .purpose li.etc {
  align-items: flex-end;
}

/* ot program */
#ot .program dl {
  margin: 0;
}
#ot .program dl > div {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  #ot .program dl > div {
    display: flex;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
  #ot .program dl > div > dt {
    flex-basis: 21.4rem;
    flex-shrink: 0;
    box-sizing: border-box;
  }
  #ot .program dl > div > dd {
    flex-grow: 1;
    box-sizing: border-box;
  }
}
#ot .program dl > div:nth-of-type(odd) {
  color: rgb(9, 79, 148);
}
#ot .program dl > div:nth-of-type(even) {
  color: rgb(247, 79, 124);
}
#ot .program dl dt {
  margin-bottom: 2.4rem;
  border-radius: 11px;
  border: solid 1px;
}
@media screen and (min-width: 768px) {
  #ot .program dl dt {
    margin-bottom: 0;
  }
}
#ot .program dl dt div {
  padding: 0.16em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.64em;
  box-sizing: border-box;
  font-family: var(--NotoSerifJP);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #ot .program dl dt div {
    padding: 0.85em 0;
    font-size: 2.8rem;
  }
}
#ot .program dl dd {
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.76;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #ot .program dl dd {
    font-size: 2.1rem;
  }
}
#ot .program dd ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
#ot .program dd li {
  padding: 1.6rem 1.9rem;
}
@media screen and (min-width: 768px) {
  #ot .program dd li {
    padding: 2.2rem 3.9rem;
  }
}
#ot .program dl > div:nth-of-type(odd) dd li:nth-of-type(odd) {
  background-color: rgb(116, 153, 199, 0.1);
}
#ot .program dl > div:nth-of-type(odd) dd li:nth-of-type(even) {
  background-color: rgb(116, 153, 199, 0.04);
}
#ot .program dl > div:nth-of-type(even) dd li:nth-of-type(odd) {
  background-color: rgb(247, 79, 124, 0.1);
}
#ot .program dl > div:nth-of-type(even) dd li:nth-of-type(even) {
  background-color: rgb(247, 79, 124, 0.04);
}
#ot .program dd li .ex {
  padding-top: 0.3em;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #ot .program dd li .ex {
    padding-top: 0.585em;
    font-size: 1.7rem;
    line-height: 2.17;
  }
}
#ot .program dd li .ex p {
  margin: 0;
  font-family: var(--NotoSansJP);
  font-weight: normal;
  letter-spacing: 0.1em;
  text-align: start;
  color: rgb(0, 0, 0);
}

/*  ot .flow  */
#ot .flow .cmn_button {
  padding: 6.6rem 0;
}
@media screen and (min-width: 768px) {
  #ot .flow .cmn_button {
    padding: 7rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#ot .flow .cmn_button p {
  padding: 1em calc(44 / 20 * 1em);
  margin: 0;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #ot .flow .cmn_button p {
    font-size: 2rem;
  }
}
#ot .flow .cmn_button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: solid 3px rgb(253, 179, 108);
  border-radius: 14px;
  box-sizing: border-box;
  letter-spacing: calc(1.55 / 31 * 1em);
  text-align: start;
  color: rgb(250, 164, 50);
  background-color: rgb(254, 238, 218);
}
@media screen and (min-width: 768px) {
  #ot .flow .cmn_button a {
    padding: 0 2.2rem 0 3.4rem;
    margin: 0;
    order: -10;
    display: flex;
    flex-basis: calc(478 / 1200 * 100%);
    min-width: 0;
    min-height: calc(160 / 34 * 1em);
    font-size: min(34 / 1280 * 100vw, 3.4rem);
    line-height: 1.32;
  }
}
#ot .flow .cmn_button a::after {
  flex-shrink: 0;
  width: calc(17 / 25 * 1em);
  height: calc(36 / 25 * 1em);
  background: url(../images/ico_arrow_og.svg) no-repeat 50% 50% / contain;
}
