/*============================================================= implant =============================================================*/
/*! #mainImg
------------------------------------------------- */
#mainImg { background: url("../img/implant/bg_main01_sp.png") center center no-repeat; background-size: cover; }

@media screen and (max-width: 599px) { #mainImg { margin-bottom: 55px !important; }
  #mainImg .mainIn { position: relative; padding: 0 10px; }
  #mainImg .mainIn h1 { color: #262626 !important; padding-top: 20px !important; text-align: left !important; filter: drop-shadow(2px 2px 3px #ffffff); } }

@media screen and (min-width: 600px) { #mainImg { background: url("../img/implant/bg_main01_pc.png") top center no-repeat; height: 500px !important; }
  #mainImg .mainIn { width: 1200px !important; margin: 0 auto !important; position: relative; }
  #mainImg .mainIn .tit { padding-top: 66px !important; font-size: 5.5rem !important; line-height: calc(66.95/55); color: #262626 !important; text-align: left !important; } }

@media screen and (max-width: 599px) {
  #mainImg .mainIn .copy {
     max-width: 304px;
    margin: 30px auto 0;
  }
}

@media screen and (min-width: 600px) {
  #mainImg .mainIn .copy {
    margin: 31px 0 0;
  }
}

/*! #contents 
------------------------------------------------- */
#implantWrapper01,#implantWrapper02{
  margin-bottom: 80px;
}
#implantWrapper01 .tit,#implantWrapper02 .tit{
    font-family: "Noto Serif CJKjp", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Yu Mincho", YuMincho, serif;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.57;
    text-align: center;
    margin-bottom: 40px;
}
#implantWrapper01 .tit:after,#implantWrapper02 .tit:after{
    content: "";
    margin: 15px auto 0;
    position: relative;
    display: block;
    width: 100px;
    height: 0px;
    border-top: 1px solid #1b519e;
}
@media screen and (min-width: 600px){
#implantWrapper01 .tit , #implantWrapper02 .tit{
    font-size: 4.4rem;
    margin-bottom: 40px;
  }
#implantWrapper01 .tit:after,#implantWrapper02 .tit:after{
    margin: 26px auto 0;
}
}

#implantWrapper01 ul,#implantWrapper02 ul{
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
}
#implantWrapper01 ul li,#implantWrapper02 ul li{
  width:100%;
}
@media screen and (min-width: 600px){
#implantWrapper01 ul li,#implantWrapper02 ul li{
  width:30%;
}
}
#implantWrapper01 ul li{
  margin-bottom: 40px;
}
#implantWrapper01 ul li h3{
  display: block;
  background-color: #1B519E;
  padding:10px 5px;
  margin-bottom: 20px;
  color: #FFF;
  text-align: center;
  font-size: 1.9rem;
  line-height: 1.5;
}
#implantWrapper02 ul li{
position: relative;
background-color: #1B519E;
width:258px;
height: 258px;
margin-bottom: 20px;
text-align: center;
color: #FFF;
-webkit-border-radius: 50%;
border-radius: 50%;
}
#implantWrapper02 ul li h3{
  display: block;
  position: absolute;
  left: 0;
  top: 33%;
  width:258px;
  font-family: "Noto Serif CJKjp", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Yu Mincho", YuMincho, serif;
  color: #FFF;
  text-align: center;
  font-size: 2rem;
}
@media screen and (min-width: 600px){
#implantWrapper02 ul li{
width:358px;
height: 358px;
}
#implantWrapper02 ul li h3{
  width:358px;
  font-size: 3rem;
}
}
#implantWrapper01 ul li p.txt{
  font-size: 1.6rem;
  text-align: justify;
}
@media screen and (max-width: 599px) { .pc { display: none !important; } }

@media screen and (min-width: 600px) { .sp { display: none !important; } }

#main { padding: 0 10px; font-size: 1.2rem; line-height: 1.5; }

@media screen and (min-width: 600px) { #main { font-size: 1.6rem; line-height: 1.625; } }

@media (min-width: 600px) { #main { padding: 0 0 10px; margin: auto; width: 1200px; } }

#main .mod_tit02 { margin-bottom: 15px; letter-spacing: .08rem; }
#main .mod_tit02 .sub { display: inline-block; margin-left: 10px; font-size: 0.7em; vertical-align: middle; }

@media screen and (min-width: 600px) { #main .mod_tit02 { margin-bottom: 38px; } }

#main .table01 { margin: 0 0 10px 0; width: 100%; border-collapse: collapse; }

@media (min-width: 600px) { #main .table01 { margin: 30px 0 10px 0; } }

#main .table01 th, #main .table01 td { border-collapse: collapse; border: 1px solid #c4c4c5; vertical-align: middle; }

#main .table01 th { padding: 11px; font-size: 1.4rem; line-height: calc(38/28); text-align: center; color: #fff; background: #1b519e; }

@media (min-width: 600px) { #main .table01 th { font-size: 1.9rem; width: 256px; line-height: 2.5; } }

#main .table01 td { padding: 8px 10px; font-size: 1.2rem; }

@media (min-width: 600px) { #main .table01 td { padding: 30px; font-size: 1.6rem; } }

#main .table01 .th01 { height: 50px; vertical-align: middle; box-sizing: border-box; }

@media (max-width: 599px) { #main .table01 .txt03 { display: none; } }

@media (min-width: 600px) { #main .table01 .txt04 { display: none; } }

#main .table01 td.td01 { width: 90px; font-size: 1.4rem; box-sizing: border-box; }

#main .table01 td.td02 { width: 50%; font-size: 1.4rem; box-sizing: border-box; }

@media (min-width: 600px) { #main .table01 .th01 { height: 80px; }
  #main .table01 td.td02 { width: 240px; font-size: 1.9rem; height: 125px; } }

#main .table01 td.price { padding: 10px 13px; font-size: 1.5rem; line-height: 1.2; text-align: right; }

@media (min-width: 600px) { #main .table01 td.price { padding: 30px; font-size: 2.2rem; text-align: left; height: 110px; box-sizing: border-box; width: 590px; } }

#main .txtSmall, #main .table01 td.price .tax { font-size: 1.2rem; }

#main .txtStrong { font-weight: 700; }

@media (min-width: 600px) { #main .table01 td.price .tax, #main .txtSmall { font-size: 1.6rem; } }

#main .txtColor01 { display: block; margin: 10px 0 5px; font-size: 1.2rem; color: #1b519e; }

@media (min-width: 600px) { #main .txtColor01 { margin: 20px 0 5px; font-size: 1.6rem; } }

#main .txt01 { margin-top: 5px; }

#main .txt02 { font-size: 1.2rem; line-height: calc(36/24); }

@media (min-width: 600px) { #main .txt02 { margin-top: 15px; font-size: 1.6rem; } }

@media (min-width: 600px) { #main #bps .table01 th { height: 55px; }
  .bps01 { width: 240px; box-sizing: border-box; }
  .bps02 { width: 480px; box-sizing: border-box; }
  #main #bps .table01 td.bps04 { font-size: 1.9rem; } }

#main .table02 { margin: 0 0 22px 0; width: 100%; border-collapse: collapse; }

#main .table02 .ico01 { background: url(../img/implant/ico02.png) no-repeat center center; background-size: 62px; }

#main .table02 .ico02 { background: url(../img/implant/ico01.png) no-repeat center center; background-size: 71px; }

#main .table02 .ico03 { background: url(../img/implant/ico03.png) no-repeat center center; background-size: 74px; }

@media (min-width: 600px) { #main .table02 { margin: 40px 0 92px 0; } }

#main .table02 th, #main .table02 td { border-collapse: collapse; border: 1px solid #c4c4c5; vertical-align: middle; }

#main .table02 th { padding: 6px; font-size: 1.4rem; line-height: calc(38/28); text-align: center; color: #fff; background: #1b519e; }

@media (min-width: 600px) { #main .table02 th { font-size: 1.9rem; font-weight: 500; padding: 26px 0; } }

#main .table02 td { padding: 8px 10px; font-size: 1.2rem; }

@media (min-width: 600px) { #main .table02 td { padding: 45px 25px 41px 30px; font-size: 1.6rem; } }

#main .table02 .th01 { height: 50px; vertical-align: middle; box-sizing: border-box; }

@media (max-width: 599px) { #main .table02 .txt03 { display: none; } }

@media (min-width: 600px) { #main .table02 .txt04 { display: none; } }

#main .table02 td.td01 { width: 90px; font-size: 1.4rem; box-sizing: border-box; }

#main .table02 td.td02 { width: 50%; font-size: 1.4rem; box-sizing: border-box; }

@media (min-width: 600px) { #main .table02 .th01 { height: 80px; }
  #main .table02 td.td02 { width: 240px; font-size: 1.9rem; height: 125px; } }

#main .table02 td.price { padding: 8px 10px; font-size: 1.5rem; line-height: 1.2; text-align: right; }

@media (min-width: 600px) { #main .table02 td.price { padding: 30px; font-size: 2.2rem; text-align: left; height: 110px; box-sizing: border-box; } }

#main .txtSmall, #main .table02 td.price .tax { font-size: 1.2rem; }

#main .txtStrong { font-weight: 700; }

@media (min-width: 600px) { #main .table02 td.price .tax, #main .txtSmall { font-size: 1.6rem; } }

#main .txtColor01 { display: block; margin: 10px 0 5px; font-size: 1.2rem; color: #1b519e; }

@media (min-width: 600px) { #main .txtColor01 { margin: 20px 0 5px; font-size: 1.6rem; } }

#main .txt01 { margin-top: 5px; }

#main .txt02 { font-size: 1.2rem; line-height: calc(36/24); }

@media (min-width: 600px) { #main .txt02 { margin-top: 15px; font-size: 1.6rem; } }

@media screen and (max-width: 599px) { .bps01 { width: 30%; }
  .bps02 { width: 35%; } }

@media (min-width: 600px) { .bps01 { width: 180px; box-sizing: border-box; }
  .bps02 { width: 510px; box-sizing: border-box; }
  #main .table02 td.bps04 { font-size: 1.9rem; } }

/* mod - contents */
#implantContents > .sub { font-size: 1.5rem; font-family: "Noto Serif CJKjp"; margin: -7px 0 9px; }

#implantContents .topBox { margin-bottom: 17px; }

#implantContents .topBox .img { margin-bottom: 10px; }

#implantContents .meritWrap { background: #eceef0; padding: 25px 15px 15px; margin-bottom: 31px; }

#implantContents .meritWrap > div { background: #fff; padding: 29px 19px 9px; position: relative; }

#implantContents .meritWrap > div h3 { text-align: center; position: absolute; top: -9px; left: 0; right: 0; margin: 0 auto; width: 120px; border: 1px solid #96c6e8; font-size: 1.5rem; font-weight: 500; color: #fff; }

#implantContents .meritWrap > div .list li { margin-bottom: 6px; }

#implantContents .meritWrap > div .list li h4 { position: relative; font-weight: 500; /*padding-left: 15px;*/ margin-bottom: 1px; /*&::before { content: ""; position: absolute; left: 0; top: 2px; width: 11px; height: 11px; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; }*/ }

#implantContents .meritWrap .merit { border: 1px solid #2d8dd0; margin-bottom: 20px; }

#implantContents .meritWrap .merit h3 { -webkit-box-shadow: 0px 0px 0px 2px #2d8dd0; -moz-box-shadow: 0px 0px 0px 2px #2d8dd0; box-shadow: 0px 0px 0px 2px #2d8dd0; background: #2d8dd0; }

#implantContents .meritWrap .merit .list li h4 { /*&::before { background: #1b519e; }*/ color: #1b519e; }

#implantContents .meritWrap .demerit { border: 1px solid #e25052; }

#implantContents .meritWrap .demerit h3 { -webkit-box-shadow: 0px 0px 0px 2px #eb8186; -moz-box-shadow: 0px 0px 0px 2px #eb8186; box-shadow: 0px 0px 0px 2px #eb8186; background: #e25052; border: 1px solid #f5c0c3; }

#implantContents .meritWrap .demerit .list li h4 { /*&::before { background: #e25052; }*/ color: #e25052; }

#implantContents .type { display: flex; flex-wrap: wrap; }

#implantContents .type li { width: 50%; padding: 0 5px; margin-bottom: 22px; }

#implantContents .type li .img { margin-bottom: 12px; }

#implantContents .type li .titWrap { }

#implantContents .type li h3 { font-size: 1.5rem; font-family: "Noto Serif CJKjp"; display: inline-block; color: #1b519e; margin: 0 0 5px; }

#implantContents .type li h3 span { color: #262626; }

#implantContents .mod_box01 { margin: 0 0 20px; padding: 15px 15px 5px; background: #eceef0; }

#implantContents .mod_box01 h3 { position: relative; margin-bottom: 15px; font-size: 1.8rem; font-weight: 600; font-family: "Noto Serif CJKjp"; text-align: center; }

#implantContents .mod_box01 h3::after { position: relative; display: block; margin: auto; content: ""; bottom: -5px; width: 200px; height: 1px; border-top: 2px solid #1b519e; }

#implantContents .mod_box01 .list li { margin-bottom: 10px; }

#implantContents .mod_box01 .list li .img { margin-bottom: 9px; }

#implantContents .mod_box01 .list li h4 { font-family: "Noto Serif CJKjp"; font-size: 1.6rem; margin-bottom: 8px; }

#implantContents .mod_box01 .list li span { color: #1b519e; padding-right: 5px; }

@media screen and (min-width: 600px) { #implantContents > .sub { font-size: 2.3rem; font-family: "Noto Serif CJKjp"; margin: -7px 0 9px; }
  #implantContents .topBox { margin-bottom: 40px; }
  #implantContents .topBox .img { float: right; margin: -38px 0 0 50px; width: auto; }
  #implantContents .topBox .txt { padding-top: 9px; }
  #implantContents .meritWrap { background: #eceef0; padding: 40px 40px 41px; margin-bottom: 91px; }
  #implantContents .meritWrap > div { background: #fff; padding: 57px 29px 9px; position: relative; }
  #implantContents .meritWrap > div h3 { text-align: center; position: absolute; top: -14px; left: 0; right: 0; margin: 0 auto; width: 220px; border: 1px solid #96c6e8; font-size: 1.9rem; font-weight: 500; color: #fff; padding: 6px 0; }
  #implantContents .meritWrap > div .list li { margin-bottom: 14px; }
  #implantContents .meritWrap > div .list li h4 { position: relative; font-weight: 500; margin-bottom: 1px; }
  #implantContents .meritWrap .merit { border: 1px solid #2d8dd0; margin-bottom: 0; float: left; width: 540px; }
  #implantContents .meritWrap .merit h3 { -webkit-box-shadow: 0px 0px 0px 2px #2d8dd0; -moz-box-shadow: 0px 0px 0px 2px #2d8dd0; box-shadow: 0px 0px 0px 2px #2d8dd0; background: #2d8dd0; }
  #implantContents .meritWrap .merit .list li h4 { /*&::before { background: #1b519e; }*/ color: #1b519e; }
  #implantContents .meritWrap .demerit { border: 1px solid #e25052; float: right; width: 540px; }
  #implantContents .meritWrap .demerit h3 { -webkit-box-shadow: 0px 0px 0px 2px #eb8186; -moz-box-shadow: 0px 0px 0px 2px #eb8186; box-shadow: 0px 0px 0px 2px #eb8186; background: #e25052; border: 1px solid #f5c0c3; }
  #implantContents .meritWrap .demerit .list li h4 { /*&::before { background: #e25052; }*/ color: #e25052; }
  #implantContents .type li { float: left; width: 280px; margin: 0 0 0 25px; padding: 0; }
  #implantContents .type li:first-child { margin-left: 0; }
  #implantContents .type li .img { margin-bottom: 24px; }
  #implantContents .type li .titWrap { text-align: center; }
  #implantContents .type li h3 { font-size: 2.3rem; font-family: "Noto Serif CJKjp"; display: inline-block; color: #1b519e; background-image: none; margin: 0 0 8px; }
  #implantContents .type li h3 span { color: #262626; }
  #implantContents .mod_box01 { margin: 46px 0 83px; padding: 36px 40px 7px; background: #eceef0; }
  #implantContents .mod_box01 h3 { position: relative; margin-bottom: 49px; font-size: 3rem; font-weight: 600; font-family: "Noto Serif CJKjp"; text-align: center; }
  #implantContents .mod_box01 h3::after { position: relative; display: block; margin: auto; content: ""; bottom: -5px; width: 560px; height: 1px; border-top: 2px solid #1b519e; }
  #implantContents .mod_box01 .box { background: #fff; padding: 52px 39px; margin: 0 10px 19px; }
  #implantContents .mod_box01 .box h4 { margin-bottom: 17px; font-size: 1.6rem; font-weight: 500; }
  #implantContents .mod_box01 .box h4 span { background: #1b519e; color: #fff; font-size: 1.6rem; padding: 2px 3px 4px; display: inline-block; width: 122px; text-align: center; margin: 0 13px -3px 0; }
  #implantContents .mod_box01 .list li { margin-bottom: 40px; float: left; margin-left: 30px; width: 350px; }
  #implantContents .mod_box01 .list li:nth-child(3n+1) { margin-left: 0; }
  #implantContents .mod_box01 .list li h4 { font-family: "Noto Serif CJKjp"; font-size: 2.3rem; margin-bottom: 13px; }
  #implantContents .mod_box01 .list li span { color: #1b519e; padding-right: 5px; }
  #implantContents .mod_box01 .list li .img { margin-bottom: 15px; } }

#implantList { padding-top: 8px; }

#implantList h2 { margin-bottom: 31px !important; }

#implantList .flow { padding-bottom: 25px; }

#implantList .flow li { margin-bottom: 47px; position: relative; border: 1px solid #c4c4c5; border-top: 2px solid  #1b519e; }
@media (min-width: 600px) { #implantList .flow { margin-top: 50px; margin-bottom: 80px; }
  #implantList .flow li { margin-bottom: 65px; padding-left: 105px; min-height: 250px; height: auto; }
  /* #implantList .flow li.low { min-height: 170px; } */
  #implantList .flow li .pic01 { position: absolute; right: -20px; top: 20px;  } 
  #implantList .flow li .pic01 img { width: calc(100% - 40px); height: auto; } 
}

#implantList .flow li:last-child { margin-bottom: 15px; }

#implantList #main .txt01 { margin: 10px 0 30px; font-size: 1.2rem; }

@media (min-width: 600px) { #implantList #main .pic01 { float: right; width: 350px; }
  #implantList #main .txt01 { margin: 15px 0 20px; font-size: 1.4rem; text-align: center; } }

#implantList .flow li:after { position: absolute; display: block; content: ""; width: 0; height: 0; bottom: -60px; left: calc(50% - 40px); border: 40px solid transparent; border-top: 20px solid #1b519e; }

@media (min-width: 600px) { #implantList .flow li:after { bottom: -75px; left: calc(50% - 50px); border: 50px solid transparent; border-top: 25px solid #1b519e; } }

#implantList .flow li:last-child:after { display: none; }

#implantList .flow li:before { position: absolute; display: block; content: ""; width: 45px; height: 45px; top: -15px; left: 10px; font-family: "Noto Serif CJKjp"; font-size: 2.2rem; line-height: 2; text-align: center; color: #fff; background: #2d8dd0; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; border: 1px solid #fff; box-shadow: 0 0 0 1px #2d8dd0, 0 0 0 2px #2d8dd0; }

@media (min-width: 600px) { #implantList .flow li:before { width: 76px; height: 76px; top: -15px; left: 10px; font-size: 3.466rem; line-height: 2; box-shadow: 0 0 0 1px #2d8dd0, 0 0 0 3px #2d8dd0; } }

#implantList .flow .flow01:before { content: "01"; }

#implantList .flow .flow02:before { content: "02"; }

#implantList .flow .flow03:before { content: "03"; }

#implantList .flow .flow04:before { content: "04"; }

#implantList .flow .flow05:before { content: "05"; }

#implantList .flow .flow06:before { content: "06"; }

#implantList .flow .flow07:before { content: "07"; }

#implantList .flow .tit01 { margin: 15px 15px 0; padding: 0 0 6px; font-family: "Noto Serif CJKjp"; font-size: 1.8rem; font-weight: 600; letter-spacing: .08rem; border-bottom: 1px dashed #a6a6a6; }
#implantList .flow .tit01.wide { margin-top: 48px; }

#implantList .flow .tit02 { margin: 35px 15px 0; padding: 0 0 6px; font-family: "Noto Serif CJKjp"; font-size: 1.8rem; font-weight: 600; letter-spacing: .08rem; border-bottom: 1px dashed #a6a6a6; }
#implantList .flow .txt { margin: 5px 15px 20px; }

@media (min-width: 600px) { #implantList .flow .tit01 { margin: 60px 0 15px; padding: 0 0 10px; width: 715px; font-size: 3.0rem; }
  #implantList .flow .tit01.wide { width: 1060px; }
	#implantList .flow .tit02 { margin: 60px 0 15px; padding: 0 0 10px; width: 1065px; font-size: 3.0rem; }
  #implantList .flow .txt { margin: 15px 0 0; padding: 0; width: 715px; font-size: 1.6rem; } }

#implantList .flow .set { padding: 20px 20px 0; }
#implantList .flow .set:last-child { padding-bottom: 20px; }
#implantList .flow .pic { margin-bottom: 10px; }
#implantList .flow .set .setTit{ margin-bottom: 5px; font-size: 1.4rem; font-weight: bold; }

@media (min-width: 600px) {
	#implantList .flow .set { position: relative; padding: 30px 0; min-height: 180px; }
	#implantList .flow .set:before { content: ""; position: absolute; bottom: 0; left: 0; width: 1065px; border-top: 1px solid #e9e9e9; }
	#implantList .flow .set:last-child { padding-bottom: 60px; }
	#implantList .flow .set:last-child:before { display: none; }
	#implantList .flow .pic { position: absolute; top: 30px; right: 30px; }
	#implantList .flow .set .setTit{ width: 645px; 	margin-bottom: 10px; font-size: 2rem;  }
	#implantList .flow .set .setTxt{ width: 645px; }
}


#implantList .btmSub { background: #eceef0; padding: 14px 19px; margin-bottom: 24px; font-weight: 500; font-size: 1.4rem; color: #1b519e; border: 1px solid #1b519e; }

@media screen and (min-width: 600px) { #implantList .btmSub { background: #eceef0; padding: 14px 19px; margin-bottom: 24px; font-weight: 500; color: #1b519e; border: 1px solid #1b519e; font-size: 1.9rem; margin: 42px 0 90px; text-align: center; } }

#implantList > .box { margin: -8px 0 15px; background: #eceef0; }

#implantList > .box h3 { font-size: 1.6rem; font-family: "Noto Serif CJKjp"; border-bottom: 2px solid #fff; padding: 15px 20px 18px; }

#implantList > .box .list { padding: 8px 10px 15px 20px; }

#implantList > .box .list li { position: relative; padding: 6px 0 0px 18px; }

#implantList > .box .list li::before { position: absolute; top: 11px; left: 0; content: ""; width: 10px; height: 10px; background: #1b519e; }

@media screen and (min-width: 600px) { #implantList > .box { margin: 0 0 0; background: #eceef0; }
  #implantList > .box h3 { font-size: 2.3rem; font-family: "Noto Serif CJKjp"; border-bottom: 0; border-right: 2px solid #fff; padding: 60px 0 63px 50px; float: left; width: 320px; }
  #implantList > .box .list { padding: 29px 0 0 0; float: right; width: 830px; }
  #implantList > .box .list li { position: relative; padding: 7px 0 0px 18px; display: inline-block; min-width: 327px; }
  #implantList > .box .list li::before { position: absolute; top: 13px; left: 0; content: ""; width: 12px; height: 12px; background: #1b519e; } }

#implantList .sub { margin: -6px 0 36px; }

@media screen and (min-width: 600px) { #implantList .sub { margin: 24px 0 101px; } }
