@import url("https://fonts.googleapis.com/css2?family=Cabin+Sketch&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
/*----------------------------------------------------*/
/* element reset
------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, a, input {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, ol, dl {
  list-style: none;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  font-size: inherit;
  font: 100%;
}

th, td, img {
  border: 0;
}

caption, th {
  text-align: left;
}

img, a img {
  background: transparent;
}

address {
  font-style: normal;
}

hr {
  display: none;
}

input, select {
  vertical-align: middle;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*----------------------------------------------------*/
/* link
------------------------------------------------------*/
a:link {
  color: #534A31;
  text-decoration: none;
}

a:visited {
  color: #534A31;
  text-decoration: none;
}

a:hover {
  color: #534A31;
  text-decoration: none;
}

a:active {
  color: #534A31;
  text-decoration: none;
}

a:hover img,
input[type=image]:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}

a[href*="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: initial;
  }
}

/*----------------------------------------------------*/
/* base
------------------------------------------------------*/
html {
  font-size: 62.5%;
  overflow: auto;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6041666667vw;
  }
}

body {
  color: #534A31;
  font-family: "Zen Maru Gothic", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 2rem;
  overflow: hidden;
  min-width: 1240px;
}

p {
  line-height: 1.8;
  letter-spacing: 0.03em;
}

dt, dd, li, th, td, address {
  line-height: 1.8;
  letter-spacing: 0.03em;
}

h2, h3, h4 {
  letter-spacing: 0.03em;
}

p, dt, dd, li, th, td, input, textarea, address {
  font-size: 100%;
}

img {
  vertical-align: bottom;
  height: auto;
  max-width: 100%;
}

a[href*="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 1240px) {
  a[href*="tel:"] {
    pointer-events: initial;
  }
}

.sp {
  display: none !important;
}

@media screen and (max-width: 1240px) {
  body {
    font-size: 1.666vw;
    min-width: initial;
  }
}
@media screen and (max-width: 767px) {
  body, html {
    min-width: 0;
  }
  body {
    font-size: 1.4rem;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block !important;
  }
  img {
    max-width: 100%;
  }
}
/* hd
------------------------------------------------------*/
#h1title {
  background: url("/kids/lib/img/alignment/bg_h1.png") center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1692px) {
  #h1title {
    background: url("/kids/lib/img/alignment/bg_h1.png") center center no-repeat;
    background-size: auto 100%;
  }
}
@media screen and (max-width: 767px) {
  #h1title {
    background: url("/kids/lib/img/alignment/bg_h1_sp.png") center center no-repeat;
    background-size: contain;
  }
  #h1title h1 {
    width: 9em;
  }
}

/* mv_under
------------------------------------------------------*/
#mv_under {
  background: url("/kids/lib/img/alignment/bg_symptom_01.jpg") center top no-repeat;
  background-size: contain;
  margin-bottom: 45px;
  position: relative;
}
#mv_under .inner {
  margin: 0 auto;
  max-width: 1200px;
  padding-top: 48%;
}
#mv_under ul li {
  align-content: center;
  background: url("/kids/lib/img/cmn/bg_balloon.png") center center no-repeat;
  background-size: contain;
  display: inline-grid;
  line-height: 1.5;
  min-height: 238px;
  min-width: 238px;
  position: absolute;
  text-align: center;
  z-index: 3;
}
#mv_under ul li:first-child {
  left: 1%;
  top: 21%; /*200*/
}
#mv_under ul li:nth-child(2) {
  left: 17%;
  top: 41%; /*370*/
}
#mv_under ul li:nth-child(3) {
  left: 40%;
  top: 45%; /*410*/
}
#mv_under ul li:nth-child(4) {
  left: 62%;
  top: 41%;
}
#mv_under ul li:nth-child(5) {
  right: 1%;
  top: 21%;
}
#mv_under p {
  display: block;
  position: relative;
  text-align: center;
}
#mv_under p > span {
  background: url("/kids/lib/img/alignment/bg_symptom_02.png") center center no-repeat;
  background-size: contain;
  color: #fff;
  display: inline-block;
  font-size: 3.2rem;
  font-weight: 500;
  padding: 1.3em 3.5em;
}
@media screen and (max-width: 1260px) {
  #mv_under .inner {
    max-width: initial;
  }
}
@media screen and (max-width: 1240px) {
  #mv_under ul li {
    height: 19.8vw;
    min-height: initial;
    min-width: initial;
    width: 19.8vw;
  }
  #mv_under ul li:first-child {
    top: 19%;
  }
  #mv_under ul li:nth-child(2) {
    top: 39%;
  }
  #mv_under ul li:nth-child(3) {
    top: 43%;
  }
  #mv_under ul li:nth-child(4) {
    top: 39%;
  }
  #mv_under ul li:nth-child(5) {
    top: 19%;
  }
  #mv_under p > span {
    font-size: 2.66vw;
  }
}
@media screen and (max-width: 767px) {
  #mv_under {
    background: url("/kids/lib/img/alignment/bg_symptom_01_sp.png") center top no-repeat;
    background-size: 100% auto;
    margin-bottom: 4rem;
  }
  #mv_under .inner {
    padding-top: 44rem;
  }
  #mv_under ul li {
    font-size: 1.2rem;
    height: 13rem;
    width: 13rem;
  }
  #mv_under ul li:first-child {
    left: -1rem;
    top: 14rem;
  }
  #mv_under ul li:nth-child(2) {
    left: 3rem;
    top: 24rem;
  }
  #mv_under ul li:nth-child(3) {
    left: 12rem;
    top: 31rem;
  }
  #mv_under ul li:nth-child(4) {
    left: auto;
    right: 3rem;
    top: 24rem;
  }
  #mv_under ul li:nth-child(5) {
    right: -0.5rem;
    top: 14rem;
  }
  #mv_under p {
    line-height: 1.4;
    margin: 0 2rem;
  }
  #mv_under p > span {
    background: url("/kids/lib/img/alignment/bg_symptom_02.png") center center no-repeat;
    background-size: contain;
    display: block;
    font-size: 1.6rem;
    padding: 1.4em 1em;
  }
  #mv_under p > span span {
    display: block;
  }
}

/* qa
------------------------------------------------------*/
.note {
  background: url("/kids/lib/img/alignment/bg_note.gif") repeat;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .note {
    background: url("/kids/lib/img/alignment/bg_note.gif") repeat;
    background-size: 71.5px auto;
    padding-bottom: 4rem;
  }
}

#qa {
  text-align: center;
}
#qa .inner {
  position: relative;
}
#qa .inner:before {
  background: url("/kids/lib/img/alignment/qa_04.png") no-repeat;
  background-size: 100% auto;
  bottom: -200px;
  content: "";
  height: 332px;
  left: 0;
  position: absolute;
  width: 120px;
}
#qa .inner:after {
  background: url("/kids/lib/img/alignment/qa_05.png") no-repeat;
  background-size: 100% auto;
  bottom: -200px;
  content: "";
  height: 338px;
  position: absolute;
  right: 0;
  width: 114px;
}
#qa h2 {
  display: inline-block;
  padding: 0 80px 0 115px;
  position: relative;
  line-height: 1.5;
}
#qa h2:before {
  background: url("/kids/lib/img/alignment/qa_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 124px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 82px;
}
#qa h2:after {
  background: url("/kids/lib/img/alignment/qa_02.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 84px;
  position: absolute;
  right: 0;
  top: -10px;
  width: 58px;
}
#qa ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 150px;
}
#qa ul li {
  background: url("/kids/lib/img/alignment/bg_qa_01.png") center center no-repeat;
  background-size: contain;
  color: #fff;
  padding: 0.8em 0 1.5em;
  position: relative;
  width: 18.3%;
}
#qa ul li dt {
  background: #B05A9B;
  font-family: "Cabin Sketch", cursive;
  font-size: 2.4rem;
  font-weight: normal;
  display: block;
  margin: 0 5% 0.5em;
}
#qa ul li dd {
  line-height: 1.5;
}
#qa ul li:after {
  background: url("/kids/lib/img/alignment/qa_03.png") no-repeat;
  background-size: contain;
  bottom: -136px;
  content: "";
  height: 126px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 78px;
  z-index: 3;
}
#qa ul li:first-child, #qa ul li:nth-child(2), #qa ul li:nth-child(3) {
  padding: 0.7em 0 1.8em;
}
#qa ul li:first-child:after, #qa ul li:nth-child(2):after {
  transform: translateX(-20%) rotate(-45deg);
}
#qa ul li:nth-child(4):after, #qa ul li:nth-child(5):after {
  transform: translateX(-80%) rotate(45deg);
}
#qa .consult {
  display: inline-block;
  font-size: 3rem;
  font-weight: 500;
  padding: 0.5em 3em;
  position: relative;
}
#qa .consult:before {
  background: url("/kids/lib/img/alignment/bg_brackets_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 70px;
  left: 0;
  position: absolute;
  top: 0;
  width: 66px;
}
#qa .consult:after {
  background: url("/kids/lib/img/alignment/bg_brackets_02.png") no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  height: 63px;
  position: absolute;
  right: 0;
  width: 65px;
}
@media screen and (max-width: 1240px) {
  #qa {
    padding: 0 1em;
  }
  #qa .inner:before {
    bottom: -16.66vw;
    height: 27.66vw;
    width: 10vw;
  }
  #qa .inner:after {
    bottom: -16.66vw;
    height: 28.16vw;
    width: 9.5vw;
  }
  #qa h2:before {
    height: 10.33vw;
    width: 6.83vw;
  }
  #qa h2:after {
    height: 7vw;
    width: 4.83vw;
  }
  #qa ul li dt {
    font-size: 2vw;
  }
  #qa ul li:after {
    bottom: -11.33vw;
    height: 10.5vw;
    width: 6.5vw;
  }
  #qa .consult {
    font-size: 2.333vw;
  }
}
@media screen and (max-width: 767px) {
  #qa .inner:before {
    bottom: -2rem;
    left: -1rem;
  }
  #qa .inner:after {
    bottom: -2rem;
    right: -1rem;
  }
  #qa h2 {
    margin-bottom: 1.5em;
    padding: 0 4rem 0 5.8rem;
  }
  #qa ul {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 7.5rem;
  }
  #qa ul li {
    letter-spacing: normal;
    width: 32%;
  }
  #qa ul li dt {
    font-size: 1.2rem;
  }
  #qa ul li dd {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  #qa ul li:first-child:after, #qa ul li:nth-child(2):after, #qa ul li:nth-child(3):after {
    display: none;
  }
  #qa ul li:nth-child(2) {
    margin: 0 2%;
  }
  #qa ul li:nth-child(4) {
    margin-right: 2%;
  }
  #qa ul li:nth-child(4):after, #qa ul li:nth-child(5):after {
    transform: translateX(-50%) rotate(0deg);
  }
  #qa .consult {
    font-size: 1.3rem;
    padding: 0.5em 2em;
  }
  #qa .consult:before {
    height: 3.5rem;
    top: -1rem;
    width: 3.3rem;
  }
  #qa .consult:after {
    bottom: -1rem;
    height: 3.15rem;
    width: 3.25rem;
  }
}

/* merit
------------------------------------------------------*/
#merit {
  background: #E2C5D3 url("/kids/lib/img/cmn/bg_pink_top.png") left top repeat-x;
  margin-bottom: 70px;
}
#merit .btmbg {
  background: url("/kids/lib/img/cmn/bg_pink_btm.png") left bottom repeat-x;
  padding: 90px 0 70px;
}
#merit ul {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  margin-bottom: 3em;
}
#merit ul li {
  background: url("/kids/lib/img/cmn/bg_2clm_mdl.png") repeat-y;
  background-size: 100% auto;
  margin-bottom: 40px;
  padding: 30px 30px 3em;
  position: relative;
  width: 48%;
}
#merit ul li dt {
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  text-align: center;
}
#merit ul li dt > span {
  display: inline-block;
  padding-left: 60px;
  position: relative;
}
#merit ul li dt > span:before {
  background: url("/kids/lib/img/alignment/icon_check.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 32px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}
#merit ul li:before {
  background: url("/kids/lib/img/cmn/bg_2clm_top.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 9px;
  left: 0;
  position: absolute;
  top: -8px;
  width: 100%;
}
#merit ul li:after {
  background: url("/kids/lib/img/cmn/bg_2clm_btm.png") no-repeat;
  background-size: 100% auto;
  bottom: -6px;
  content: "";
  height: 7px;
  left: 0;
  position: absolute;
  width: 100%;
}
#merit ul li:last-child {
  background: url("/kids/lib/img/alignment/bg_boxfull_mdl.png") repeat-y;
  background-size: 100% auto;
  padding-bottom: 4em;
  position: relative;
  width: 100%;
}
#merit ul li:last-child dl {
  position: relative;
}
#merit ul li:last-child dl:after {
  background: url("/kids/lib/img/alignment/merit_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  bottom: -130px;
  content: "";
  height: 312px;
  position: absolute;
  right: 0;
  width: 234px;
  z-index: 5;
}
#merit ul li:last-child dd {
  margin-right: 30%;
}
#merit ul li:last-child:before {
  background: url("/kids/lib/img/alignment/bg_boxfull_top.png") no-repeat;
  background-size: 100% auto;
  height: 18px;
  top: -17px;
}
#merit ul li:last-child:after {
  background: url("/kids/lib/img/alignment/bg_boxfull_btm.png") no-repeat;
  background-size: 100% auto;
  bottom: -11px;
  height: 12px;
}
#merit section {
  background: url("/kids/lib/img/alignment/bg_boxfull_mdl.png") repeat-y;
  background-size: 100% auto;
  margin-bottom: 100px;
  padding: 80px 50px 50px;
  position: relative;
}
#merit section:last-of-type {
  margin-bottom: 0;
}
#merit section:before {
  background: url("/kids/lib/img/alignment/bg_boxfull_top.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 18px;
  left: 0;
  position: absolute;
  top: -17px;
  width: 100%;
}
#merit section:after {
  background: url("/kids/lib/img/alignment/bg_boxfull_btm.png") no-repeat;
  background-size: 100% auto;
  bottom: -11px;
  content: "";
  height: 12px;
  left: 0;
  position: absolute;
  width: 100%;
}
#merit section .cmt {
  background: url("/kids/lib/img/alignment/bg_cmt.png") center center no-repeat;
  background-size: contain;
  font-size: 3rem;
  font-weight: 500;
  left: 40px;
  line-height: 1.5;
  padding: 2em 2em 2.5em;
  position: absolute;
  text-align: center;
  top: 0;
  transform: translateY(-30%);
}
#merit section h3 {
  font-size: 4rem;
  font-weight: 500;
  margin: 0 0 1.5em 26%;
}
#merit section .correct {
  display: flex;
  justify-content: space-between;
}
#merit section .correct .fig {
  width: 50%;
}
#merit section .correct .fig > div {
  margin-bottom: 30px;
}
#merit section .correct .fig dd:first-of-type {
  background: url("/kids/lib/img/alignment/bg_preortho_02.png") center bottom no-repeat;
  margin-bottom: 30px;
  padding-bottom: 70px;
}
#merit section .correct .fig dt {
  background: url("/kids/lib/img/alignment/bg_preortho_01.png") center center no-repeat;
  background-size: contain;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 0.5em;
  padding: 0.1em 3em;
  text-align: center;
}
#merit section .correct .txt {
  width: 45%;
}
#merit section .correct .txt .price {
  background: url("/kids/lib/img/alignment/bg_dotbox_mdl.png") left top repeat-y;
  background-size: 100% auto;
  margin: 2em 0;
  padding: 1.2em 2em;
  position: relative;
}
#merit section .correct .txt .price:before {
  background: url("/kids/lib/img/alignment/bg_dotbox_top.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 10px;
  left: 0;
  position: absolute;
  top: -9px;
  width: 100%;
}
#merit section .correct .txt .price:after {
  background: url("/kids/lib/img/alignment/bg_dotbox_btm.png") no-repeat;
  background-size: 100% auto;
  bottom: -9px;
  content: "";
  height: 10px;
  left: 0;
  position: absolute;
  width: 100%;
}
#merit section .correct .txt dt {
  font-weight: 500;
}
#merit section .correct.preortho .txt {
  position: relative;
}
#merit section .correct.preortho .txt:after {
  background: url("/kids/lib/img/alignment/merit_02.png") no-repeat;
  background-size: 100% auto;
  bottom: -90px;
  content: "";
  height: 378px;
  position: absolute;
  right: 20px;
  width: 208px;
  z-index: 5;
}
@media screen and (max-width: 1240px) {
  #merit .btmbg {
    padding: 90px 1em 70px;
  }
  #merit ul li dt {
    font-size: 2.66vw;
  }
  #merit ul li dt > span {
    padding-left: 5vw;
  }
  #merit ul li dt > span:before {
    height: 2.66vw;
    width: 3.33vw;
  }
  #merit ul li:before {
    height: 0.75vw;
    top: -0.66vw;
  }
  #merit ul li:after {
    bottom: -0.5vw;
    height: 0.58vw;
  }
  #merit ul li:last-child dl:after {
    bottom: -10.83vw;
    height: 26vw;
    width: 19.5vw;
  }
  #merit ul li:last-child:before {
    height: 1.5vw;
    top: -1.41vw;
  }
  #merit ul li:last-child:after {
    bottom: -0.91vw;
    height: 1vw;
  }
  #merit section:before {
    height: 1.5vw;
    top: -1.41vw;
  }
  #merit section:after {
    bottom: -0.91vw;
    height: 1vw;
  }
  #merit section .cmt {
    font-size: 2.5vw;
    left: 3.33vw;
  }
  #merit section h3 {
    font-size: 3.33vw;
  }
  #merit section .correct .fig dd:first-of-type {
    margin-bottom: 2.5vw;
    padding-bottom: 5.83vw;
  }
  #merit section .correct .fig dt {
    font-size: 2vw;
  }
  #merit section .correct .txt .price:before {
    height: 0.83vw;
    top: -0.75vw;
  }
  #merit section .correct .txt .price:after {
    bottom: -0.75vw;
    height: 0.83vw;
  }
  #merit section .correct.preortho .txt:after {
    bottom: -7.5vw;
    height: 31.5vw;
    right: 1.66vw;
    width: 17.33vw;
  }
}
@media screen and (max-width: 767px) {
  #merit .btmbg {
    padding: 4.5rem 2rem 3.5rem;
  }
  #merit ul {
    display: block;
  }
  #merit ul li {
    width: auto;
  }
  #merit ul li dt {
    font-size: 1.6rem;
  }
  #merit ul li dt > span {
    padding-left: 3rem;
  }
  #merit ul li dt > span:before {
    height: 1.6rem;
    width: 2rem;
  }
  #merit ul li dt > span span {
    display: block;
  }
  #merit ul li:last-child dl:after {
    bottom: -9rem;
  }
  #merit ul li:last-child dd {
    margin-right: 0;
  }
  #merit section {
    padding: 5.5rem 2.5rem 2.5rem;
  }
  #merit section .cmt {
    font-size: 1.3rem;
    left: 1.5rem;
    transform: translateY(-50%);
  }
  #merit section h3 {
    font-size: 1.7rem;
    line-height: 1.6;
    margin: 0 0 0.8em 0;
  }
  #merit section .correct {
    display: block;
  }
  #merit section .correct .fig {
    width: auto;
  }
  #merit section .correct .fig > div {
    margin-bottom: 1.5rem;
  }
  #merit section .correct .fig dd:first-of-type {
    margin-bottom: 1.5rem;
    padding-bottom: 6rem;
  }
  #merit section .correct .fig dt {
    font-size: 1.2rem;
  }
  #merit section .correct .txt {
    margin-bottom: 2rem;
    width: auto;
  }
  #merit section .correct .txt .price {
    padding: 1em;
  }
  #merit section .correct .txt .price span {
    font-size: 1rem;
  }
  #merit section .correct .txt .price:after {
    bottom: -0.5rem;
    height: 0.5rem;
  }
}

/* feature
------------------------------------------------------*/
#feature {
  background: #DDEFF8 url("/kids/lib/img/cmn/bg_blue_top.png") left top repeat-x;
  margin-bottom: 70px;
}
#feature .inner {
  position: relative;
}
#feature .inner:before {
  background: url("/kids/lib/img/alignment/feature_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 184px;
  left: 0;
  position: absolute;
  top: -210px;
  width: 206px;
}
#feature .inner:after {
  background: url("/kids/lib/img/alignment/feature_02.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 308px;
  position: absolute;
  right: 0;
  top: -140px;
  width: 150px;
}
#feature .btmbg {
  background: url("/kids/lib/img/cmn/bg_blue_btm.png") left bottom repeat-x;
  padding: 90px 0 60px;
  position: relative;
}
#feature h2 {
  margin-bottom: 3em;
}
#feature .difference {
  display: flex;
  justify-content: space-between;
}
#feature .difference section {
  background: url("/kids/lib/img/cmn/bg_2clm_mdl.png") repeat-y;
  background-size: 100% auto;
  text-align: center;
  padding: 1.5em 0.5em 2em;
  position: relative;
  width: 48%;
}
#feature .difference section:before {
  background: url("/kids/lib/img/cmn/bg_2clm_top.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 9px;
  left: 0;
  position: absolute;
  top: -8px;
  width: 100%;
}
#feature .difference section:after {
  background: url("/kids/lib/img/cmn/bg_2clm_btm.png") no-repeat;
  background-size: 100% auto;
  bottom: -6px;
  content: "";
  height: 7px;
  left: 0;
  position: absolute;
  width: 100%;
}
#feature .difference section .age {
  background: url("/kids/lib/img/alignment/bg_age.png") center center no-repeat;
  background-size: contain;
  align-content: center;
  color: #fff;
  display: inline-grid;
  left: 0;
  line-height: 1.5;
  min-height: 170px;
  padding: 0.6em;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
}
#feature .difference section .age span {
  font-size: 3rem;
  font-weight: 700;
  display: block;
}
#feature .difference section h3 {
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1240px) {
  #feature .btmbg {
    padding: 90px 1em 110px;
  }
  #feature .difference section:before {
    height: 0.75vw;
    top: -0.66vw;
  }
  #feature .difference section:after {
    bottom: -0.5vw;
    height: 0.58vw;
  }
  #feature .difference section .age {
    min-height: 14.16vw;
  }
  #feature .difference section .age span {
    font-size: 2.5vw;
  }
  #feature .difference section h3 {
    font-size: 2.66vw;
  }
}
@media screen and (max-width: 767px) {
  #feature .btmbg {
    padding: 4.5rem 2rem 5.5rem;
  }
  #feature .inner:before {
    height: 6.14rem;
    top: -7rem;
    width: 6.86rem;
  }
  #feature .inner:after {
    height: 15.4rem;
    top: -8rem;
    width: 5rem;
  }
  #feature .difference {
    display: block;
  }
  #feature .difference section {
    width: auto;
  }
  #feature .difference section .age {
    min-height: 10rem;
    padding: 0.6em 1em;
  }
  #feature .difference section .age span {
    font-size: 1.6rem;
  }
  #feature .difference section h3 {
    font-size: 1.6rem;
  }
  #feature .difference section:first-of-type {
    margin-bottom: 4rem;
  }
}

/* flow
------------------------------------------------------*/
section h2 .frame {
  padding: 0 2em;
}

#flow {
  background: #FAE89A url("/kids/lib/img/cmn/bg_yellow_top.png") left top repeat-x;
  margin-bottom: 70px;
}
#flow .btmbg {
  background: url("/kids/lib/img/cmn/bg_yellow_btm.png") left bottom repeat-x;
  padding: 100px 0 20px;
}
#flow .inner {
  position: relative;
}
#flow .inner:before {
  background: url("/kids/lib/img/alignment/flow_pin_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 284px;
  left: 0;
  position: absolute;
  top: -170px;
  width: 104px;
  z-index: 3;
}
#flow .inner:after {
  background: url("/kids/lib/img/alignment/flow_pin_02.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 288px;
  position: absolute;
  right: 0;
  top: -180px;
  width: 86px;
  z-index: 3;
}
#flow .flow_chart {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5em 0 260px;
  position: relative;
}
#flow .flow_chart:before {
  background: url("/kids/lib/img/alignment/flow_pin_03.png") no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  height: 264px;
  left: 30px;
  position: absolute;
  width: 400px;
  z-index: 3;
}
#flow .flow_chart:after {
  background: url("/kids/lib/img/alignment/flow_pin_04.png") no-repeat;
  background-size: 100% auto;
  bottom: 0;
  content: "";
  height: 382px;
  position: absolute;
  right: 50px;
  width: 512px;
  z-index: 3;
}
#flow .flow_chart section {
  background: url("/kids/lib/img/alignment/bg_flow_btm.png") center bottom no-repeat;
  background-size: 100% auto;
  margin-bottom: 150px;
  position: relative;
  width: 24.6%;
}
#flow .flow_chart section h3 {
  background: url("/kids/lib/img/alignment/bg_flow_h3_01.png") center center no-repeat;
  background-size: contain;
  color: #fff;
  display: block;
  font-size: 2.4rem;
  font-weight: 400;
  left: 50%;
  padding-bottom: 1.2em;
  position: absolute;
  top: -5em;
  text-align: center;
  transform: translateX(-50%);
  width: 85%;
}
#flow .flow_chart section h3 span {
  display: block;
  font-family: "Cabin Sketch", cursive;
  font-size: 8rem;
  font-weight: normal;
  line-height: 1;
  padding-top: 0.2em;
}
#flow .flow_chart section:nth-of-type(2n) h3 {
  background: url("/kids/lib/img/alignment/bg_flow_h3_02.png") center center no-repeat;
  background-size: contain;
}
#flow .flow_chart section:nth-of-type(3n) h3 {
  background: url("/kids/lib/img/alignment/bg_flow_h3_03.png") center center no-repeat;
  background-size: contain;
}
#flow .flow_chart section dd {
  padding: 40px;
}
@media screen and (max-width: 1240px) {
  #flow .btmbg {
    padding: 100px 1em 70px;
  }
  #flow .inner:before {
    height: 23.6vw;
    top: -14.16vw;
    width: 8.66vw;
  }
  #flow .inner:after {
    height: 24vw;
    top: -15vw;
    width: 7.16vw;
  }
  #flow .flow_chart {
    padding: 5em 0 21.6vw;
  }
  #flow .flow_chart:before {
    height: 22vw;
    width: 33.33vw;
  }
  #flow .flow_chart:after {
    height: 31.83vw;
    right: 4.16vw;
    width: 42.66vw;
  }
  #flow .flow_chart section {
    margin-bottom: 12.5vw;
  }
  #flow .flow_chart section h3 {
    font-size: 2vw;
  }
  #flow .flow_chart section h3 span {
    font-size: 6.66vw;
  }
  #flow .flow_chart section dd {
    padding: 3.33vw;
  }
}
@media screen and (max-width: 767px) {
  #flow {
    margin-bottom: 3.5rem;
  }
  #flow .btmbg {
    padding: 5rem 2rem 3.5rem;
  }
  #flow .flow_chart {
    padding: 5rem 0 5rem;
  }
  #flow .flow_chart:before {
    height: 6.6rem;
    left: 1rem;
    width: 10rem;
  }
  #flow .flow_chart:after {
    height: 9.55rem;
    right: 1.25rem;
    width: 12.8rem;
  }
  #flow .flow_chart section {
    margin-bottom: 7rem;
    width: 100%;
  }
  #flow .flow_chart section h3 {
    font-size: 1.3rem;
    padding-bottom: 1em;
    top: -4em;
    width: 95%;
  }
  #flow .flow_chart section h3 span {
    font-size: 3.8rem;
  }
  #flow .flow_chart section dd {
    font-size: 1.2rem;
    padding: 2rem 1.5rem 2rem 2rem;
  }
  #flow .flow_chart section:nth-child(6) h3 {
    letter-spacing: -0.05em;
  }
}

/* counseling
------------------------------------------------------*/
#counseling {
  background: #DDEFF8 url("/kids/lib/img/cmn/bg_blue_top.png") left top repeat-x;
  margin-bottom: 70px;
}
#counseling .inner {
  position: relative;
}
#counseling .inner:before {
  background: url("/kids/lib/img/alignment/counseling_02.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 186px;
  left: 0;
  position: absolute;
  top: -140px;
  width: 126px;
}
#counseling .inner:after {
  background: url("/kids/lib/img/alignment/counseling_03.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 214px;
  position: absolute;
  right: 0;
  top: -110px;
  width: 130px;
}
#counseling .btmbg {
  background: url("/kids/lib/img/cmn/bg_blue_btm.png") left bottom repeat-x;
  padding: 90px 0 60px;
  position: relative;
}
#counseling .cslgbox {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
#counseling .cslgbox .fig {
  width: 40.8%;
}
#counseling .cslgbox .txt {
  width: 50%;
}
#counseling .cslgbox .txt p {
  margin-bottom: 2em;
}
#counseling .cslgbox .txt .btn_or a {
  background: #E19638;
  border-radius: 80px;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding: 1.4em 0;
  text-align: center;
}
#counseling .cslgbox .txt .btn_or a span {
  font-size: 3rem;
  font-weight: 500;
  display: block;
  padding-top: 0.5em;
}
@media screen and (max-width: 1240px) {
  #counseling .btmbg {
    padding: 90px 1em 110px;
  }
  #counseling .inner:before {
    height: 15.5vw;
    top: -11.66vw;
    width: 10.5vw;
  }
  #counseling .inner:after {
    height: 17.83vw;
    top: -9.1vw;
    width: 10.83vw;
  }
  #counseling .cslgbox .txt .btn_or a {
    font-size: 1.5vw;
  }
  #counseling .cslgbox .txt .btn_or a span {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  #counseling .btmbg {
    padding: 4.5rem 2rem 5.5rem;
  }
  #counseling .cslgbox {
    display: block;
  }
  #counseling .cslgbox .fig {
    margin-bottom: 1.5em;
    width: auto;
  }
  #counseling .cslgbox .fig img {
    width: 100%;
  }
  #counseling .cslgbox .txt {
    width: auto;
  }
  #counseling .cslgbox .txt .btn_or a {
    font-size: 1.1rem;
  }
  #counseling .cslgbox .txt .btn_or a span {
    font-size: 1.6rem;
  }
}

/*# sourceMappingURL=alignment.css.map */