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

#mainImg .tit:before { top: -8px; left: -42px; width: 80px; height: 23px; background-image: url(../img/clinic/txt_mainimg01.png); }

@media all and (min-width: 600px) { #mainImg { background-image: url(../img/clinic/mainimg01_pc.png); }
  #mainImg .tit:before { top: -28px; left: -44px; width: 106px; height: 30px; } }

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

#intro .lead { margin-bottom: 24px; text-align: center; }

#intro .lead span { color: #7cbc00; }

#intro .areaImg { margin-bottom: 24px; }

#intro .areaImg .img { margin-top: 12px; }

@media all and (min-width: 600px) { #intro .inner { padding-top: 68px; padding-bottom: 2px; }
  #intro .lead { margin-bottom: 34px; }
  #intro .txt { font-size: 1.5rem; letter-spacing: .06em; }
  #intro .areaImg { margin-bottom: 70px; }
  #intro .areaImg .img { margin-top: 34px; }
  #intro .areaImg .imgWrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #intro .areaImg .imgWrap .img { width: calc(50% - 10px); margin-top: 20px; } }

/* .free
------------------------------------- */
.free { position: relative; margin: 30px 0 50px; background: url(../img/esthetic/bg_price01_sp.png) no-repeat center/cover; }

.free:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 78px; background: #fff; }

.free .inner { padding-bottom: 40px; }

.free .areaBox { position: relative; background: #fff; box-shadow: 0px 3px 10px 0px rgba(4, 0, 0, 0.2); border-radius: 10px; }

@media all and (min-width: 600px) { .free .areaBox { box-shadow: 0px 6px 20px 0px rgba(4, 0, 0, 0.3); } }

.free .areaBox .label { position: absolute; top: -17px; right: -5px; 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; width: 90px; height: 90px; padding-top: 4px; background: linear-gradient(134deg, #21bc80, #31b8a2); border: 2px solid #fff; border-radius: 100%; text-align: center; color: #fff; font-size: 1rem; line-height: 1.4; box-sizing: border-box; }

.free .areaBox .detail { padding: 18px 20px 30px; text-align: center; }

.free .areaBox .detail .sub { position: relative; display: inline-block; font-size: 1.8rem; font-weight: 500; line-height: 1.8; color: #7cbc00; }

.free .areaBox .detail .sub:before { content: ""; position: absolute; top: -12px; left: -54px; width: 91px; height: 19px; background: url(../img/clinic/txt_free01.png) no-repeat center/cover; }

.free .areaBox .detail .txt { padding-top: 6px; }

@media all and (min-width: 600px) { .free { margin-bottom: 160px; background: transparent; }
  .free:before { top: 100px; height: 344px; background: url(../img/esthetic/bg_price01_pc.png) no-repeat center/cover; -webkit-transform: translateX(-200px); -ms-transform: translateX(-200px); transform: translateX(-200px); }
  .free .inner { padding-bottom: 40px; }
  .free .areaBox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; width: 100%; margin: 0; }
  .free .areaBox .label { top: -26px; right: -14px; width: 120px; height: 120px; padding-top: 4px; font-size: 1.4rem; }
  .free .areaBox .img { max-width: 540px; min-width: 540px; }
  .free .areaBox .detail { padding: 84px 50px 0 68px; text-align: left; }
  .free .areaBox .detail .sub { font-size: 2.6rem; }
  .free .areaBox .detail .sub:before { top: -20px; left: -18px; }
  .free .areaBox .detail .txt { margin-top: 6px; font-size: 1.5rem; } }

/* #equipment
------------------------------------- */
#equipment { background-color: #edf3e0; }

#equipment .inner { padding-top: 46px; padding-bottom: 52px; }

#equipment .lead { margin-bottom: 20px; letter-spacing: .07em; }

#equipment .lead span { color: #7cbc00; }

#equipment .list .item + .item { margin-top: 24px; }

#equipment .list .item .img { margin-bottom: 16px; }

#equipment .list .item .btn { margin: 14px 20px 0; }

#equipment .list .item .areaImg { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 12px; }

#equipment .list .item .areaImg .img { max-width: 100px; min-width: 100px; }

#equipment .list .item .areaImg .img img { border-radius: 50%; }

#equipment .list .item .areaImg .areaTxt { margin-top: -10px; box-sizing: border-box; }

#equipment .list .item .areaImg .areaTxt .sub { margin-bottom: 4px; color: #7cbc00; font-weight: 500; font-size: 1.6rem; }

#equipment .bnr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 20px; }

#equipment .bnr a { display: block; max-width: 345px; box-shadow: 0 2px 10px 2px rgba(2, 4, 0, 0.15); }

#equipment .bnr a img { -webkit-backface-visibility: hidden; backface-visibility: hidden; }

#equipment .option { position: relative; margin-top: 20px; padding: 24px 20px; box-sizing: border-box; background: #fff; }

#equipment .option:before { content: ""; position: absolute; top: 6px; left: 6px; width: calc(100% - 14px); height: calc(100% - 14px); border: 1px solid #f1f1f1; }

#equipment .option .areaImg + .areaImg { margin-top: 24px; }

#equipment .option .areaTxt { margin-top: 14px; }

#equipment .option .areaTxt .sub { color: #7cbc00; font-weight: 500; font-size: 1.6rem; }

@media all and (min-width: 600px) { #equipment .inner { padding-top: 94px; padding-bottom: 110px; }
  #equipment .lead { margin-bottom: 20px; text-align: center; }
  #equipment .list .item { overflow: hidden; }
  #equipment .list .item + .item { margin-top: 34px; }
  #equipment .list .item:nth-of-type(even) .tit { float: left; }
  #equipment .list .item:nth-of-type(even) .img { float: right; }
  #equipment .list .item:nth-of-type(even) .txt { padding: 0 40px 30px 0; }
  #equipment .list .item:nth-of-type(2) { margin-right: -20px; margin-left: -20px; padding: 0 20px; }
  #equipment .list .item .tit { float: right; padding-top: 10px; width: 506px; }
  #equipment .list .item .img { float: left; width: 540px; margin-bottom: 0; padding-top: 24px; }
  #equipment .list .item .txt { line-height: 1.9; overflow: hidden; padding: 0 0 0 40px; font-size: 1.5rem; }
  #equipment .list .item .btn { margin: 6px 0 0; }
  #equipment .list .item .btn a { height: 60px; }
  #equipment .list .item .areaImg { margin-top: -28px; }
  #equipment .list .item .areaImg .img { max-width: 180px; min-width: 180px; }
  #equipment .list .item .areaImg .areaTxt { margin-top: 26px; }
  #equipment .list .item .areaImg .areaTxt .sub { font-size: 1.8rem; }
  #equipment .bnr { display: block; max-width: 300px; margin: 0 0 12px; }
  #equipment .bnr a { max-width: none; box-shadow: 0 2px 10px 2px rgba(2, 4, 0, 0.15); }
  #equipment .option { margin-top: 40px; padding: 40px 50px 50px; }
  #equipment .option .areaImg { display: -webkit-box; display: -ms-flexbox; display: flex; }
  #equipment .option .areaImg + .areaImg { margin-top: 30px; }
  #equipment .option .areaImg .img { max-width: 350px; min-width: 350px; }
  #equipment .option .areaTxt { margin-top: 2px; padding-left: 30px; box-sizing: border-box; }
  #equipment .option .areaTxt .sub { margin-bottom: 8px; font-size: 1.8rem; }
  #equipment .option .areaTxt .txt { font-size: 1.5rem; } }

/* #toul
------------------------------------- */
#toul .inner { padding-top: 44px; padding-bottom: 58px; }

#toul .lead { text-align: center; }

#toul .lead span { color: #7cbc00; }

#toul .list { padding-top: 30px; }

#toul .list .item + .item { margin-top: 24px; }

#toul .list .item .txt { margin-top: 6px; font-weight: 500; font-size: 1.6rem; text-align: center; letter-spacing: .02em; }

@media all and (min-width: 600px) { #toul .inner { padding-top: 86px; padding-bottom: 94px; }
  #toul .list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding-top: 38px; }
  #toul .list .item { width: calc(33.3% - 14px); }
  #toul .list .item + .item { margin-top: 0; }
  #toul .list .item .txt { margin-top: 18px; font-size: 1.8rem; } }
