/* global
------------------------------------- */
#mainImg { background-image: url(../img/price/mainimg01_sp.png); }

#mainImg .tit:before { top: -8px; width: 52.5px; height: 17px; background-image: url(../img/price/txt_mainimg01.png); }

@media all and (min-width: 600px) { #mainImg { background-image: url(../img/price/mainimg01_pc.png); }
  #mainImg .tit:before { top: -16px; left: -48px; width: 74px; height: 24px; } }

/* #adult & #children
------------------------------------- */
#adult .sub, #children .sub, #straightening .sub, #loan .sub { margin-top: 6px; padding: 12px 0; box-sizing: border-box; background: #7cbc00; color: #fff; font-weight: 600; font-size: 1.5rem; text-align: center; }

#adult .sub.is-space, #children .sub.is-space, #straightening .sub.is-space, #loan .sub.is-space { margin-top: 30px; }

#adult .table, #children .table, #straightening .table, #loan .table { border: 1px solid #d9d9d9; }

#adult .table.is-follow, #children .table.is-follow, #straightening .table.is-follow, #loan .table.is-follow { margin-top: 13px; }

#adult .table + .sub, #children .table + .sub, #straightening .table + .sub, #loan .table + .sub { margin-top: 30px; }

#adult .table th, #adult .table td, #children .table th, #children .table td, #straightening .table th, #straightening .table td, #loan .table th, #loan .table td { display: block; }

#adult .table th, #children .table th, #straightening .table th, #loan .table th { line-height: 2; padding: 10px 0; background: #edf3e0; font-weight: 600; text-align: center; }

#adult .table th.is-border, #children .table th.is-border, #straightening .table th.is-border, #loan .table th.is-border { border-bottom: 1px solid #b6b5b5; }

#adult .table td, #children .table td, #straightening .table td, #loan .table td { padding: 14px 20px; text-align: right; }

#adult .tableInvisa, #children .tableInvisa, #straightening .tableInvisa, #loan .tableInvisa { border-right: 1px solid #d9d9d9; border-left: 1px solid #d9d9d9; border-top: 1px solid #d9d9d9; }

#adult .tableInvisa + .sub, #children .tableInvisa + .sub, #straightening .tableInvisa + .sub, #loan .tableInvisa + .sub { margin-top: 30px; }

#adult .tableInvisa th, #adult .tableInvisa td, #children .tableInvisa th, #children .tableInvisa td, #straightening .tableInvisa th, #straightening .tableInvisa td, #loan .tableInvisa th, #loan .tableInvisa td { display: block; }

#adult .tableInvisa .head, #children .tableInvisa .head, #straightening .tableInvisa .head, #loan .tableInvisa .head { line-height: 2; padding: 10px 0; background: #edf3e0; font-weight: 600; text-align: center; }

#adult .tableInvisa td, #children .tableInvisa td, #straightening .tableInvisa td, #loan .tableInvisa td { padding: 14px 20px; text-align: right; border-bottom: 1px solid #d9d9d9; }

#adult .note, #children .note, #straightening .note, #loan .note { line-height: 1.9; position: relative; margin-top: 16px; padding-left: 16px; }

#adult .note span, #children .note span, #straightening .note span, #loan .note span { position: absolute; top: 0; left: 0; }

#adult .note.is-no-space, #children .note.is-no-space, #straightening .note.is-no-space, #loan .note.is-no-space { margin-top: 0; }

#adult .note a, #children .note a, #straightening .note a, #loan .note a { color: #7cbc00; }

#adult .noteList01, #children .noteList01, #straightening .noteList01, #loan .noteList01 { margin-top: 16px; }

#adult .noteList01 dt, #children .noteList01 dt, #straightening .noteList01 dt, #loan .noteList01 dt { position: relative; margin-bottom: 5px; padding-left: 1.06em; line-height: 1.6; font-size: 1.5rem; font-weight: 500; }

#adult .noteList01 dt:before, #children .noteList01 dt:before, #straightening .noteList01 dt:before, #loan .noteList01 dt:before { content: ''; display: block; position: absolute; top: 7px; left: 0; width: 12px; height: 12px; border-radius: 6px; background-color: #7cbc00; }

#adult .noteList01 .note, #children .noteList01 .note, #straightening .noteList01 .note, #loan .noteList01 .note { margin-top: 0; }

@media all and (min-width: 600px) { #adult .sub, #children .sub, #straightening .sub, #loan .sub { margin-top: 16px; padding: 14px 0; font-size: 2rem; }
  #adult .sub.is-space, #children .sub.is-space, #straightening .sub.is-space, #loan .sub.is-space { margin-top: 60px; }
  #adult .table.is-follow, #children .table.is-follow, #straightening .table.is-follow, #loan .table.is-follow { margin-top: 22px; }
  #adult .table + .sub, #children .table + .sub, #straightening .table + .sub, #loan .table + .sub { margin-top: 60px; }
  #adult .table th, #adult .table td, #children .table th, #children .table td, #straightening .table th, #straightening .table td, #loan .table th, #loan .table td { display: table-cell; padding: 16px 0; font-size: 1.5rem; border-bottom: 1px solid #b6b5b5; }
  #adult .table th, #children .table th, #straightening .table th, #loan .table th { width: 550px; }
  #adult .table th.is-border, #children .table th.is-border, #straightening .table th.is-border, #loan .table th.is-border { padding: 11px 0; }
  #adult .table td, #children .table td, #straightening .table td, #loan .table td { padding: 16px 30px; }
  #adult .tableInvisa + .sub, #children .tableInvisa + .sub, #straightening .tableInvisa + .sub, #loan .tableInvisa + .sub { margin-top: 60px; }
  #adult .tableInvisa th, #adult .tableInvisa td, #children .tableInvisa th, #children .tableInvisa td, #straightening .tableInvisa th, #straightening .tableInvisa td, #loan .tableInvisa th, #loan .tableInvisa td { display: table-cell; padding: 16px 0; font-size: 1.5rem; vertical-align: middle; border-left: 1px solid #d9d9d9; }
  #adult .tableInvisa th, #children .tableInvisa th, #straightening .tableInvisa th, #loan .tableInvisa th { line-height: 2; padding: 10px 0; background: #edf3e0; font-weight: 600; text-align: center; border-bottom: 1px solid #b6b5b5; }
  #adult .tableInvisa .head, #children .tableInvisa .head, #straightening .tableInvisa .head, #loan .tableInvisa .head { width: 350px; }
  #adult .tableInvisa .left, #children .tableInvisa .left, #straightening .tableInvisa .left, #loan .tableInvisa .left { text-align: left; }
  #adult .tableInvisa td, #children .tableInvisa td, #straightening .tableInvisa td, #loan .tableInvisa td { padding: 16px 30px; }
  #adult .noteList01, #children .noteList01, #straightening .noteList01, #loan .noteList01 { margin: 34px 6px 0; }
  #adult .noteList01 dt, #children .noteList01 dt, #straightening .noteList01 dt, #loan .noteList01 dt { margin-bottom: 8px; font-size: 1.7rem; }
  #adult .noteList01 dt:before, #children .noteList01 dt:before, #straightening .noteList01 dt:before, #loan .noteList01 dt:before { top: 7px; width: 14px; height: 14px; border-radius: 7px; }
  #adult .noteList01 .note, #children .noteList01 .note, #straightening .noteList01 .note, #loan .noteList01 .note { margin: 0; }
  #adult .note, #children .note, #straightening .note, #loan .note { margin: 34px 6px 0; padding-left: 16px; } }

/* #adult ------------------------------------- */
#adult .inner { padding-top: 18px; }

@media all and (min-width: 600px) { #adult { padding-top: 50px; } }

/* #straightening ------------------------------------- */
#straightening .inner { padding-top: 40px; }

@media all and (min-width: 600px) { #straightening .inner { padding-top: 96px; } }

/* #children ------------------------------------- */
#children .inner { padding-top: 40px; padding-bottom: 44px; }

@media all and (min-width: 600px) { #children .inner { padding-top: 96px; padding-bottom: 94px; } }

/* #deduction ------------------------------------- */
#deduction { background-color: #e1f3ec; }

#deduction .inner { padding-top: 44px; padding-bottom: 44px; }

#deduction .txtArea .txt + .txt { margin-top: 25px; }

@media all and (min-width: 600px) { #deduction .inner { padding-top: 96px; padding-bottom: 94px; }
  #deduction .txtArea .txt + .txt { margin-top: 32px; } }

/* #case #calculation ------------------------------------- */
#case .txtBox, #calculation .txtBox { margin: 15px 0; padding: 22px 20px 30px; box-sizing: border-box; border-radius: 10px; background: #fff; box-shadow: 0px 4px 15px 0px rgba(4, 0, 0, 0.1), inset 0px 0px 0px 14px rgba(241, 241, 241, 0.004); }

#case .txtBox + .txtBox, #calculation .txtBox + .txtBox { margin-top: 24px; }

#case .txtBox .list .item, #calculation .txtBox .list .item { line-height: 1.5; position: relative; margin-bottom: 6px; padding: 0 0 6px 14px; border-bottom: 1px dashed #cccbcb; }

#case .txtBox .list .item:before, #calculation .txtBox .list .item:before { content: ""; position: absolute; top: 8px; left: 0; width: 5px; height: 5px; background: #7cbc00; border-radius: 50%; }

#case .txtBox .box, #calculation .txtBox .box { margin-top: 20px; padding: 10px; border-radius: 7px; background-color: #eef5df; font-weight: 500; }

#case .txtBox .box.is-green, #calculation .txtBox .box.is-green { background-color: #e9f4e9; }

#case .txtBox .box .is-small, #calculation .txtBox .box .is-small { font-size: 1.2rem; }

#case .txtBox .box .c-color-green, #calculation .txtBox .box .c-color-green { color: #249729; }

#case .txtBox .box .c-color-subgreen, #calculation .txtBox .box .c-color-subgreen { color: #7cbc00; }

#case .txtBox .note, #calculation .txtBox .note { margin-top: 5px; color: #b6b5b5; font-size: 1.2rem; text-align: left; }

@media all and (min-width: 600px) { #case .txtBox, #calculation .txtBox { margin: 35px 0 30px; padding: 40px 54px 43px; border-radius: 22px; }
  #case .txtBox + .txtBox, #calculation .txtBox + .txtBox { margin-top: 28px; }
  #case .txtBox .tit, #calculation .txtBox .tit { font-size: 1.8rem; line-height: 1.5; }
  #case .txtBox .list .item, #calculation .txtBox .list .item { margin-bottom: 10px; padding: 0 0 10px 14px; font-size: 1.5rem; }
  #case .txtBox .list .item:before, #calculation .txtBox .list .item:before { top: 9px; }
  #case .txtBox .box, #calculation .txtBox .box { margin-top: 30px; padding: 10px; border-radius: 7px; }
  #case .txtBox .box .is-small, #calculation .txtBox .box .is-small { font-size: 1.5rem; line-height: 1.5; }
  #case .txtBox .box .c-color-green, #case .txtBox .box .c-color-subgreen, #calculation .txtBox .box .c-color-green, #calculation .txtBox .box .c-color-subgreen { font-size: 1.8rem; }
  #case .txtBox .note, #calculation .txtBox .note { margin-top: 10px; font-size: 1.4rem; text-align: right; } }

/* #case ------------------------------------- */
#case .txtBox .box { position: relative; padding: 10px 15px 10px 47px; }

#case .txtBox .box:before { position: absolute; content: ""; top: 16px; left: 17px; width: 17px; height: 15px; background: url(../img/price/ico_arw.png) no-repeat; background-size: contain; }

@media all and (min-width: 600px) { #case .txtBox .box { padding: 20px 20px 25px 73px; }
  #case .txtBox .box:before { top: 30px; left: 28px; width: 25px; height: 20px; } }

/* #calculation ------------------------------------- */
#calculation .txtBox { text-align: center; }

#calculation .txtBox .box { position: relative; padding: 10px 15px; }

#calculation .txtBox .box:before { position: absolute; content: ""; bottom: -25px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 20px; height: 15px; background-repeat: no-repeat; background-size: contain; }

#calculation .txtBox .box.is-green { font-size: 1.6rem; line-height: 1.5; }

#calculation .txtBox .box.is-green:before { -webkit-transform: rotate(90deg) translateX(-50%); -ms-transform: rotate(90deg) translateX(-50%); transform: rotate(90deg) translateX(-50%); left: 47%; bottom: -33px; background-image: url(../img/price/ico_equal.png); }

#calculation .txtBox .box:nth-child(2):before { height: 10px; left: -13px; top: 50%; background-image: url(../img/price/ico_minus.png); }

#calculation .txtBox .box:nth-child(n+2) { width: 40%; margin-left: 30px; }

#calculation .set .box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 15px; }

#calculation .set .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 20px; }

#calculation .set .flex .box { width: 30%; line-height: 1.5; font-size: 1.3rem; box-sizing: border-box; height: 95px; text-align: left; }

#calculation .set .flex .box:first-child { width: 65%; }

#calculation .set .flex .box:first-child:before { content: none; }

#calculation .txt { margin-top: 20px; }

#calculation .txt span { color: #7cbc00; }

@media all and (min-width: 600px) { #calculation .txtBox .box:before { bottom: 38%; left: auto; right: -51px; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); width: 25px; height: 15px; }
  #calculation .txtBox .box:nth-child(2):before { height: 10px; left: -52px; margin-right: 55px; }
  #calculation .txtBox .box:nth-child(n+2) { margin-top: 0; }
  #calculation .txtBox .box.is-green:before { -webkit-transform: rotate(0) translateX(0); -ms-transform: rotate(0) translateX(0); transform: rotate(0) translateX(0); left: auto; top: 35px; }
  #calculation .set { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #calculation .set .box { height: 86px; box-sizing: border-box; margin-top: 0; padding: 30px 45px; }
  #calculation .set .box.is-grenn { width: 22%; padding: 15px 45px; font-size: 2rem; line-height: 1.3; }
  #calculation .set .flex { margin-top: 0; }
  #calculation .set .flex .box { margin-right: 50px; width: auto; font-weight: 500; font-size: 1.5rem; height: 86px; }
  #calculation .set .flex .box:first-child { width: auto; }
  #calculation .set .flex .box:last-child { margin-right: 0; }
  #calculation .txt { margin-top: 40px; } }

/* #medical ------------------------------------- */
#medical { padding-top: 20px; }

#medical .item { line-height: 1.5; position: relative; margin-bottom: 6px; padding: 0 0 6px 14px; }

#medical .item:before { content: ""; position: absolute; top: 8px; left: 0; width: 5px; height: 5px; background: #7cbc00; border-radius: 50%; }

#medical .txt { margin-top: 40px; }

#medical .btn { width: 90%; margin: 25px auto 0; }

@media all and (min-width: 600px) { #medical { padding-top: 63px; }
  #medical .item { line-height: 1.5; position: relative; margin-bottom: 0; padding: 0 0 4px 14px; }
  #medical .item:before { content: ""; position: absolute; top: 8px; left: 0; width: 5px; height: 5px; background: #7cbc00; border-radius: 50%; }
  #medical .txt { margin-top: 23px; }
  #medical .btn { width: 370px; margin: 35px auto 0; }
  #medical .btn a { height: 60px; } }

/* 20210302~ #loan ------------------------------------- */
#loan .inner { padding-bottom: 44px; }

#loan .btnWrap { margin: 30px 0; padding: 20px; background-color: #f7f7f7; }

#loan .btnWrap .btn { border-radius: 5px; overflow: hidden; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; }

@media all and (min-width: 600px) { #loan .inner { padding-top: 96px; padding-bottom: 94px; }
  #loan .txt { text-align: center; }
  #loan .btnWrap { margin: 50px 0 60px; padding: 50px 330px; }
  #loan .btnWrap .btn { max-width: 420px; } }
