/*============================================================= #kids =============================================================*/
#mainImg { background-image: url(../img/kids/bg_main01.png); }

#mainImg .tit { position: relative; }

#mainImg .tit:after, #mainImg .tit:before { content: ''; position: absolute; }

#mainImg .tit:before { background: url(../img/kids/ico_main01.png) no-repeat center; background-size: contain; width: 69px; height: 50px; left: -63px; top: -44px; }

#mainImg .tit:after { background: url(../img/kids/ico_main02.png) no-repeat center; background-size: contain; width: 73px; height: 48px; right: -66px; bottom: -50px; }

@media all and (max-width: 599px) { #mainImg { background-image: url(../img/kids/bg_main01_sp.png); }
  #mainImg .tit { width: 205px; } }

@media all and (min-width: 600px) { #mainImg .tit:before { width: 144px; height: 105px; left: -177px; top: -5px; }
  #mainImg .tit:after { width: 153px; height: 101px; right: -181px; bottom: auto; top: -4px; } }

#kids .head01 .secTit { color: #A9D159; font-size: 2.2rem; font-weight: 700; line-height: 1.5; text-align: center; margin-bottom: 20px; }

#kids .head02 .secTit span { font-size: 3.2rem; position: relative; display: inline-block; -webkit-transform: translateY(6px); -ms-transform: translateY(6px); transform: translateY(6px); }

#kids .head02 .secTit span:before { content: ''; background: url(../img/kids/ico_merit04.png) no-repeat center; background-size: contain; width: 43px; height: 18px; position: absolute; top: -4px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

#kids .list01 { font-size: 1.3rem; }

#kids .list01 .item { overflow: hidden; }

#kids .list01 .item .img { width: calc(50% - 7px); float: left; margin-right: 15px; margin-bottom: 5px; }

#kids .list01 .item .head { font-size: 1.5rem; font-weight: bold; margin-bottom: 5px; }

#kids .list01 .item + .item { margin-top: 25px; clear: both; }

#kids .box01 { margin: 0 15px; position: relative; z-index: 2; border-radius: 16px; padding: 20px 17px; border: 3px solid #A9D159; background: #FFF; }

#kids .box01 .head01 .secTit { font-size: 1.7rem; margin-bottom: 20px; }

@media all and (min-width: 600px) { #kids .head01 .secTit { font-size: 2.8rem; margin-bottom: 40px; }
  #kids .head02 .secTit span { font-size: 4.8rem; -webkit-transform: translateY(6px); -ms-transform: translateY(6px); transform: translateY(6px); }
  #kids .head02 .secTit span:before { width: 66px; height: 27px; top: -12px; }
  #kids .box01 { margin: 0; border-radius: 16px; padding: 48px 50px 50px; border: 4px solid #A9D159; }
  #kids .box01 .head01 .secTit { font-size: 2.8rem; margin-bottom: 20px; }
  #kids .list01 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 35px; font-size: 1.5rem; }
  #kids .list01 .item { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; overflow: visible; }
  #kids .list01 .item .img { width: 100%; float: none; margin: 0; }
  #kids .list01 .item .head { font-size: 2.0rem; margin-bottom: 5px; margin: 20px 0 10px; }
  #kids .list01 .item .txt { font-size: 1.5rem; }
  #kids .list01 .item + .item { margin-top: 0; } }

/* #intro
================================================ */
#intro { font-size: 1.4rem; padding-bottom: 45px; }

#intro .boxIntro .txtarea .txt + #intro .boxIntro .txtarea .txt { margin-top: 15px; }

#intro .boxIntro .txtarea .point { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 15px; margin: 15px 0; }

#intro .boxIntro .txtarea .point .item { background: #F6FAEE; border-radius: 4px; padding: 15px; width: 100%; font-size: 1.4rem; }

#intro .boxIntro .txtarea .point .head { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: nowrap; flex-wrap: nowrap; gap: 6px; font-weight: bold; letter-spacing: 0; line-height: 1.5; }

#intro .boxIntro .txtarea .point .head span { font-family: "M PLUS Rounded 1c"; letter-spacing: 0; display: inline-block; border-radius: 50%; width: 26px; line-height: 26px; background: #A9D159; font-size: 1.3rem; color: #fff; text-align: center; font-weight: bold; }

#intro .boxIntro .txtarea .point .txt { margin-top: 8px; line-height: 2; }

#intro .boxIntro .img { margin-bottom: 50px; position: relative; }

#intro .boxIntro .img:before { content: ''; background: url(../img/kids/ico_intro01.png) no-repeat center; background-size: contain; width: 96px; height: 143px; position: absolute; right: -7px; bottom: -39px; }

@media all and (min-width: 600px) { #intro { font-size: 1.5rem;padding-bottom: 90px; }
  #intro .boxIntro { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 50px; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
  #intro .boxIntro .txtarea { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
  #intro .boxIntro .txtarea .txt + #intro .boxIntro .txtarea .txt { margin-top: 15px; }
  #intro .boxIntro .txtarea .point { margin: 30px 0; gap: 20px; }
  #intro .boxIntro .txtarea .point .item { border-radius: 8px; padding: 20px 30px; font-size: 1.5rem; letter-spacing: 0; }
  #intro .boxIntro .txtarea .point .item .head { gap: 10px; }
  #intro .boxIntro .txtarea .point .item .head span { width: 36px; line-height: 36px; font-size: 1.6rem; }
  #intro .boxIntro .txtarea .point .item .txt { margin-top: 10px; }
  #intro .boxIntro .img { width: 500px; margin-top: 0; }
  #intro .boxIntro .img:before { width: 160px; height: 238px; right: -19px; bottom: -78px; } }

/* #treat
================================================ */
#treat { margin-top: 90px; position: relative; }

#treat:before { content: ''; display: block; background: #F6FAEE; width: 100%; height: calc(100% - 58px); position: absolute; bottom: 0; left: 0; z-index: -1; }

#treat:after { content: ''; background: url(../img/kids/ico_treat01.png) no-repeat center; background-size: contain; width: 72px; height: 110px; position: absolute; top: -67px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); z-index: -1; }

@media all and (min-width: 600px) { #treat { margin: 60px -60px 0; }
  #treat:before { height: calc(100% - 325px); }
  #treat:after { display: none; }
  #treat .list .item:nth-of-type(1) { position: relative; }
  #treat .list .item:nth-of-type(1):after { content: ''; background: url(../img/kids/ico_treat01.png) no-repeat center; background-size: cover; width: 114px; height: 165px; position: absolute; top: -119px; right: 0; z-index: 1; }
  #treat .list .item:nth-of-type(1) .img { position: relative; z-index: 2; } }

/* #merit
================================================ */
#merit { font-size: 1.4rem; background: #F6FAEE; padding: 45px 0; }

#merit .boxMerit { margin-top: 25px; }

#merit .boxMerit .txtarea .head { font-size: 1.8rem; line-height: 1.5; text-align: center; font-weight: 700; margin: 13px 0 10px; }

#merit .boxMerit .txtarea .txt { padding: 0 15px; }

#merit .boxMerit .img { position: relative; text-align: center; }

#merit .boxMerit .img img { max-width: 245px; }

#merit .boxMerit .img:before { content: ''; background-size: contain; background-repeat: no-repeat; position: absolute; bottom: 0; }

#merit .boxMerit:nth-of-type(1) .img:before { background-image: url(../img/kids/ico_merit01.png); width: 127px; height: 91px; left: 15px; }

#merit .boxMerit:nth-of-type(2) .img:before { background-image: url(../img/kids/ico_merit02.png); width: 125px; height: 106px; right: 15px; }

#merit .boxMerit:nth-of-type(3) .img:before { background-image: url(../img/kids/ico_merit03.png); width: 94px; height: 120px; left: 15px; }

@media all and (max-width: 599px) { #merit .secTit { letter-spacing: 0; } }

@media all and (min-width: 600px) { #merit { margin: 0 -60px; padding: 90px 0 100px; font-size: 1.5rem; }
  #merit .boxMerit { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 59px; }
  #merit .boxMerit + .boxMerit { margin-top: 10px; }
  #merit .boxMerit .txtarea { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
  #merit .boxMerit .txtarea .head { font-size: 2.4rem; margin: 0 0 15px; text-align-last: left; }
  #merit .boxMerit .txtarea .txt { padding: 0; }
  #merit .boxMerit .img { width: 490px; }
  #merit .boxMerit .img img { max-width: 100%; }
  #merit .boxMerit:nth-of-type(1) .img:before { width: 245px; height: 182px; left: -50px; }
  #merit .boxMerit:nth-of-type(2) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  #merit .boxMerit:nth-of-type(2) .img:before { width: 251px; height: 213px; right: -44px; }
  #merit .boxMerit:nth-of-type(3) .img:before { background-image: url(../img/kids/ico_merit03.png); width: 189px; height: 240px; left: -50px; } }

/* #flow
================================================ */
#flow { font-size: 1.4rem; margin-top: 45px; }

#flow .flowList { margin-top: 20px; }

#flow .flowList .item { padding: 40px 20px 20px; border: 3px solid #A9D159; border-radius: 16px; position: relative; }

#flow .flowList .item .ico { position: absolute; left: -3px; top: -3px; background: #FFB5BA; color: #fff; padding: 3px 14px; font-size: 1.7rem; border-radius: 8px 0 2px 0; font-weight: 700; }

#flow .flowList .item:nth-of-type(4n + 2) .ico { background: #F2A541; }

#flow .flowList .item:nth-of-type(4n + 3) .ico { background: #8DD9F2; }

#flow .flowList .item:nth-of-type(4n + 4) .ico { background: #A9D159; }

#flow .flowList .item .box > * + * { margin-top: 15px; }

#flow .flowList .item .box .img { text-align: center; }

#flow .flowList .item .box .img img { max-width: 218px; }

#flow .flowList .item + .item { margin-top: 25px; }

#flow .flowList .item + .item:before { content: ''; width: 0; height: 0; border-style: solid; border-width: 14px 9px 0 9px; border-color: #A9D159 transparent transparent transparent; position: absolute; top: -23px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

#flow .patternList { margin-bottom: 20px; }

#flow .patternList .patternItem { margin-top: 20px; }

#flow .patternList .patternItem > * + * { margin-top: 15px; }

#flow .patternList .patternItem:nth-of-type(3n + 2) .in span { background: #F2A541; }

#flow .patternList .patternItem:nth-of-type(3n + 3) .in span { background: #A9D159; }

#flow .patternList .patternItem .in { display: inline-block; position: relative; }

#flow .patternList .patternItem .in span { position: absolute; border-radius: 50%; width: 28px; line-height: 28px; background: #FFB5BA; color: #fff; font-size: 1.4rem; text-align: center; left: -8px; top: -8px; }

#flow .patternList .patternItem .img { text-align: center; }

#flow .patternList .patternItem .img img { max-width: 218px; }

#flow .patternList .patternItem .head { font-size: 1.5rem; font-weight: 700; }

#flow .patternList .patternItem .head + .txt { margin-top: 5px; }

#flow .btn { margin-top: 25px; max-width: 315px; }

@media all and (min-width: 600px) { #flow { font-size: 1.5rem; margin-top: 70px; }
  #flow .flowList { margin-top: 30px; }
  #flow .flowList .item { padding: 62px 50px 50px; border-radius: 16px; }
  #flow .flowList .item .ico { padding: 5px 0; width: 110px; text-align: center; font-size: 2.0rem; border-radius: 16px 0 4px 0; }
  #flow .flowList .item .box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 30px; }
  #flow .flowList .item .box > * + * { margin-top: 0; }
  #flow .flowList .item .box .img { width: 310px; }
  #flow .flowList .item .box .img img { max-width: none; }
  #flow .flowList .item .box .txtarea { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
  #flow .flowList .item + .item { margin-top: 40px; }
  #flow .flowList .item + .item:before { border-width: 22px 13px 0 13px; border-color: #A9D159 transparent transparent transparent; top: -33px; }
  #flow .patternList { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 35px; margin-bottom: 25px; }
  #flow .patternList .patternItem { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; margin-top: 0; }
  #flow .patternList .patternItem > * + * { margin-top: 0; }
  #flow .patternList .patternItem .in span { width: 40px; line-height: 40px; font-size: 1.6rem; left: -5px; top: -5px; }
  #flow .patternList .patternItem .img img { max-width: none; }
  #flow .patternList .patternItem .head { font-size: 2.0rem; margin-top: 20px; line-height: 1.5; }
  #flow .patternList .patternItem .head + .txt { margin-top: 10px; }
  #flow .btn { margin-top: 40px; max-width: none; width: 380px; background-position: right 32px top 50%; } }

/* #prevention
================================================ */
#prevention { font-size: 1.4rem; background: #F6FAEE; padding: 45px 0 0; margin-top: 45px; position: relative; }

#prevention .secHead .secTit { margin-bottom: 20px; }

#prevention .boxIntro .txtarea .txt + #prevention .boxIntro .txtarea .txt { margin-top: 15px; }

#prevention .boxIntro .txtarea .head { font-size: 1.8rem; font-weight: 700; margin-bottom: 10px; }

#prevention .boxIntro .img { margin-top: 20px; }

#prevention .box { position: relative; padding-top: 90px; }

#prevention .box:after { content: ''; background: url(../img/kids/ico_prevention01.png) no-repeat center; background-size: cover; width: 129px; height: 86px; position: absolute; top: 33px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); z-index: 1; }

@media all and (min-width: 600px) { #prevention { font-size: 1.5rem; margin: 90px -60px 0; padding-top: 90px; }
  #prevention .boxIntro { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 50px; }
  #prevention .boxIntro .txtarea { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
  #prevention .boxIntro .txtarea .head { font-size: 2.4rem; margin-bottom: 15px; }
  #prevention .boxIntro .txtarea .txt + #prevention .boxIntro .txtarea .txt { margin-top: 15px; }
  #prevention .boxIntro .img { width: 500px; margin-top: 0; }
  #prevention .box { padding-top: 60px; }
  #prevention .box:after { display: none; }
  #prevention .box .list { position: relative; }
  #prevention .box .list:before { content: ''; background: url(../img/kids/ico_prevention02.png) no-repeat center; background-size: cover; width: 676px; height: 191px; position: absolute; top: -127px; left: 140px; z-index: 0; }
  #prevention .box .list .img { position: relative; z-index: 2; } }

/* #faq
================================================ */
#faq { margin-top: 45px; }

@media all and (min-width: 600px) { #faq { margin-top: 60px; } }

/* #faq02
================================================ */
#faq02 { background: #F6FAEE; padding: 45px 0; }

@media all and (min-width: 600px) { #faq02 { margin: 0 -60px; padding-top: 60px; padding-bottom: 90px; } }

/* .faqBox
================================================ */
#kids .faqBox { margin-top: 20px; }

#kids .faqBox .tit, #kids .faqBox .txtBox { position: relative; }

#kids .faqBox .tit:before, #kids .faqBox .txtBox:before { display: block; color: #fff; font-size: 2.2rem; font-family: "M PLUS Rounded 1c", sans-serif; width: 40px; height: 40px; line-height: 40px; text-align: center; font-weight: 500; border-radius: 50%; position: absolute; left: 15px; }

#kids .faqBox .tit { cursor: pointer; font-weight: bold; font-size: 1.5rem; line-height: 1.5; margin-bottom: 10px; padding: 14px 45px 11px 65px; background: #fff; border: 3px solid #a9d159; border-radius: 10px; }

#kids .faqBox .tit.is_active .btn span:nth-of-type(2) { opacity: 0; -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

#kids .faqBox .tit:before { content: "Q"; background: #a9d159; top: 0; bottom: 0; margin: auto; }

#kids .faqBox .tit .btn { display: block; width: 25px; height: 25px; position: absolute; top: 0; bottom: 0; right: 16px; margin: auto; }

#kids .faqBox .tit .btn span { display: block; width: 100%; height: 3px; background: #a9d159; position: absolute; border-radius: 5px; top: 0; bottom: 0; left: 0; right: 0; margin: auto; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#kids .faqBox .tit .btn span:nth-of-type(2) { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

#kids .faqBox .sub { font-size: 1.4rem; margin-bottom: 15px; font-weight: 700; }

#kids .faqBox .txtBox { padding: 14px 0 18px 67px; }

#kids .faqBox .txtBox:before { content: "A"; background: #f2a541; top: 5px; left: 17px; }

#kids .faqBox .txtBox .answer { font-weight: bold; font-size: 1.4rem; line-height: 1.5; margin-bottom: 7px; }

#kids .faqBox .txtBox .txt { font-weight: 300; }

@media all and (min-width: 600px) { #kids .faqBox { margin-top: 40px; }
  #kids .faqBox .tit { font-size: 1.8rem; padding: 19px 60px 19px 81px; }
  #kids .faqBox .tit:before { left: 26px; }
  #kids .faqBox .tit .btn { right: 26px; }
  #kids .faqBox .sub { font-size: 1.6rem; }
  #kids .faqBox .txtBox { padding: 18px 0 32px 84px; }
  #kids .faqBox .txtBox:before { top: 10px; left: 29px; }
  #kids .faqBox .txtBox .answer { font-size: 1.6rem; } }

/* #deduction
================================================ */
#kids #deduction { padding: 34px 0 45px; }

#kids #deduction .head { margin-bottom: 14px; }

#kids #deduction .head .secTit { margin-bottom: 10px; }

#kids #deduction .target { padding: 20px 20px 10px; margin-bottom: 14px; background: #fffded; border-radius: 16px; }

#kids #deduction .target .subTit { color: #a9d159; font-weight: bold; font-size: 1.7rem; line-height: 1.5; padding: 0 0 0 32px; margin-bottom: 13px; background: url("../img/implant/ico_medal01.png") no-repeat left top; background-size: 23px; }

#kids #deduction .target .tit { font-weight: bold; font-size: 1.5rem; line-height: 1.5; padding: 0 0 0 12px; position: relative; }

#kids #deduction .target .tit:before { content: ""; display: block; width: 7px; height: 7px; border-radius: 50%; background: #a9d159; position: absolute; top: 8px; left: 0; margin: auto; }

#kids #deduction .target .txt { padding: 0 0 8px; border-bottom: 1px dashed #d3d1c4; }

#kids #deduction .target .txt:last-of-type { border-bottom: none; }

#kids #deduction .target .txt + .tit { margin-top: 10px; }

#kids #deduction .txt { font-weight: 300; line-height: 2; }

#kids #deduction .btn { width: auto; margin-top: 20px; }

@media all and (min-width: 600px) { #kids #deduction { padding: 80px 0 90px; }
  #kids #deduction .inner { max-width: 940px; }
  #kids #deduction .head { margin-bottom: 32px; }
  #kids #deduction .head .secTit { margin-bottom: 32px; }
  #kids #deduction .target { padding: 36px 50px 18px; margin-bottom: 34px; }
  #kids #deduction .target .subTit { font-size: 2rem; margin-bottom: 24px; }
  #kids #deduction .target .tit { font-size: 1.6rem; padding: 0 0 0 18px; margin-bottom: 9px; }
  #kids #deduction .target .tit:before { width: 9px; height: 9px; top: 9px; }
  #kids #deduction .target .txt { padding: 0 0 17px; }
  #kids #deduction .target .txt + .tit { margin-top: 20px; }
  #kids #deduction .btn { max-width: 430px; margin-top: 35px; } }

/* #price
================================================ */
#price { margin-top: 45px; }

#price .data { margin-top: 20px; border-right: 1px solid #f6faee; border-left: 1px solid #f6faee; }

#price .data .total th { background: #fff5a7; }

#price .data .total td { border-color: #fff5a7; }

#price .data th, #price .data td { display: block; width: 100%; font-size: 1.4rem; }

#price .data th { font-weight: 300; text-align: center; vertical-align: middle; padding: 9px; background: #e7f2d0; }

#price .data th .min { font-size: 1.3rem; }

#price .data td { text-align: right; font-weight: bold; padding: 10px 13px 9px; background: #fff; border-bottom: 1px solid #f6faee; }

#price .data td .light { display: block; font-weight: 100; margin-top: 5px; }

#price .data .sub { padding: 0; overflow: hidden; display: -webkit-box; display: -ms-flexbox; display: flex; }

#price .data .sub .child { width: 50%; padding: 9px 12px; }

#price .data .sub .child:nth-of-type(1) { text-align: left; }

#price .data .sub .child:nth-of-type(2) { font-weight: bold; }

#price .note { font-weight: 100; margin: 5px; }

@media all and (min-width: 600px) { #price { margin-top: 60px; }
  #price .data { border-left: 0; }
  #price .data tr:first-of-type th { border-top: 2px solid  #e7f2d0; }
  #price .data tr:last-of-type th { border-bottom: 2px solid #e7f2d0; }
  #price .data th { border-bottom: 2px solid #fff; }
  #price .head { margin-bottom: 34px; }
  #price .subTit { margin: 30px 0; }
  #price .data + .subTit { margin-top: 32px; }
  #price .data .total th { border-bottom-color: #fff5a7 !important; }
  #price .data .total td { border-color: #f6faee; }
  #price .data th, #price .data td { display: table-cell; width: auto; font-size: 1.5rem; border-bottom-width: 1px; }
  #price .data th { width: 350px; text-align: left; padding: 15px 30px; }
  #price .data th .min { font-size: 1.4rem; letter-spacing: 0; margin: 0 -.5em; display: inline-block; }
  #price .data td { padding: 15px 27px; border-top: 2px solid #f6faee; }
  #price .data .sub { border-top-width: 1px !important; border-bottom: 1px solid #f6faee !important; }
  #price .data .sub .child { padding: 15px 30px; }
  #price .data .sub .child:nth-of-type(1) { border-right: 1px solid #e7f2d0; } }
