@charset "UTF-8";
/*******************************************/
/* Page                                    */
/*******************************************/
main p {
  font-size: 1.6rem;
  line-height: 3.4rem; }
  @media print, screen and (min-width: 768px) {
    main p {
      font-size: 1.8rem;
      line-height: 4.0rem; } }
main section:last-of-type > div {
  margin-bottom: 0; }

.pageWrap-title {
  background: #8a7a73;
  margin-top: 72px;
  width: 100%;
  height: 80px;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .pageWrap-title {
      margin-top: 120px;
      height: 160px; } }
  .pageWrap-title::after {
    background: url("../img/cmn/stripe.svg") no-repeat center center/771px 145px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: 480px;
    width: 771px;
    height: 145px; }
  .pageWrap-title .pageCrm {
    display: none; }
    @media print, screen and (min-width: 768px) {
      .pageWrap-title .pageCrm {
        display: block;
        position: absolute;
        bottom: 12px;
        left: 50%;
        margin-left: -480px;
        width: 960px; } }
    @media print, screen and (min-width: 1200px) {
      .pageWrap-title .pageCrm {
        margin-left: -600px;
        width: 1200px; } }
    .pageWrap-title .pageCrm ol {
      font-size: 0; }
      .pageWrap-title .pageCrm ol li {
        display: inline-block;
        font-size: 1.4rem; }
        .pageWrap-title .pageCrm ol li::after {
          content: "/";
          color: #fff;
          display: inline-block;
          margin: 0 12px; }
        .pageWrap-title .pageCrm ol li:last-of-type::after {
          display: none; }
        .pageWrap-title .pageCrm ol li a {
          color: #fff; }
  .pageWrap-title h1 {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.0rem;
    margin: 0 auto;
    width: calc(100% - 32px);
    height: 100%; }
    @media print, screen and (min-width: 768px) {
      .pageWrap-title h1 {
        font-size: 2.4rem;
        letter-spacing: 2px;
        width: 960px; } }
    @media print, screen and (min-width: 1200px) {
      .pageWrap-title h1 {
        width: 1200px; } }

.pageWrap {
  background: url("../img/page/page_01.jpg") repeat-x center top; }
  .pageWrap .pageWrap-inr {
    margin: 0 auto;
    padding: 40px 0;
    position: relative;
    width: calc(100% - 32px); }
    @media print, screen and (min-width: 768px) {
      .pageWrap .pageWrap-inr {
        padding: 112px 0;
        width: 960px; } }

/* 見出し */
.pageH2 {
  font-size: 2.4rem;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  line-height: 3.0rem;
  text-align: center;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 768px) {
    .pageH2 {
      font-size: 3.6rem;
      font-weight: normal;
      line-height: 4.6rem;
      margin-bottom: 112px; } }
  .pageH2 br {
    display: none; }
    @media print, screen and (min-width: 768px) {
      .pageH2 br {
        display: block; } }

.pageH3 {
  background: url("../img/cmn/icon_h3.svg") no-repeat center top/26px 26px;
  font-size: 2.0rem;
  line-height: 3.0rem;
  margin-bottom: 32px;
  padding-top: 40px;
  text-align: center; }
  @media print, screen and (min-width: 768px) {
    .pageH3 {
      font-size: 2.6rem;
      font-weight: bold;
      line-height: 3.8rem;
      margin-bottom: 56px;
      padding-top: 48px; } }

.pageH4 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.8rem;
  margin-bottom: 1em;
  padding-left: 28px;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .pageH4 {
      font-size: 2.2rem;
      line-height: 3.2rem; } }
  .pageH4::before {
    background: #e1916e;
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    height: 18px; }

.pageH5 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  margin-bottom: 0.6em; }

/* コラム */
.pageColumn {
  background: #f0e6e1;
  padding: 24px; }
  @media print, screen and (min-width: 768px) {
    .pageColumn {
      padding: 72px 80px; } }
  .pageColumn .pageData {
    padding: 16px; }

.pageColumn-narrow {
  background: #f0e6e1;
  margin-left: auto;
  margin-right: auto;
  padding: 24px;
  width: calc(100% - 48px); }
  @media print, screen and (min-width: 768px) {
    .pageColumn-narrow {
      padding: 56px 64px;
      width: calc(100% - 160px); } }
  .pageColumn-narrow .pageData {
    padding: 12px 16px; }
    .pageColumn-narrow .pageData p {
      font-size: 1.4rem;
      line-height: 2.8rem; }

.columnItem-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.8rem;
  margin-bottom: 0.4em;
  padding-left: 28px;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .columnItem-title {
      font-size: 2.2rem;
      line-height: 3.2rem;
      margin-bottom: 1em; } }
  .columnItem-title::before {
    background: #e1916e;
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    height: 18px; }

.columnItem-txt {
  font-size: 1.6rem;
  line-height: 3.6rem; }

/* 囲み */
.pageData {
  border: 1px solid #8a7a73;
  padding: 20px 24px; }
  @media print, screen and (min-width: 768px) {
    .pageData {
      padding: 32px 40px; } }
  .pageData p {
    font-size: 1.6rem;
    line-height: 3.6rem; }
  .pageData dl dt {
    background: #8a7a73;
    color: #fff;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 12px;
    padding: 8px 16px 6px; }
  .pageData dl dd {
    font-size: 1.6rem;
    line-height: 3.6rem; }
  .pageData ul.ul-disc li {
    font-size: 1.5rem;
    line-height: 2.5rem;
    margin-bottom: 0.6rem; }

/* box */
/* item */
/* アコーディオン */
.pageAccordion {
  border-bottom: 1px solid #aaa; }
  .pageAccordion dt {
    background: #fff url(../img/cmn/nav_01.svg) no-repeat;
    background-size: 15px 8px;
    background-position: right 32px center;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    cursor: pointer;
    display: block;
    font-weight: bold;
    padding: 12px;
    width: 100%; }
    @media print, screen and (min-width: 768px) {
      .pageAccordion dt {
        cursor: inherit;
        padding: 24px; } }
    .pageAccordion dt p {
      position: relative;
      padding-left: 36px;
      line-height: 2.4rem; }
      @media print, screen and (min-width: 768px) {
        .pageAccordion dt p {
          line-height: 3.2rem; } }
      .pageAccordion dt p span {
        background: #000;
        border-radius: 4px;
        color: #fff;
        font-weight: bold;
        line-height: 28px;
        text-align: center;
        width: 28px;
        height: 28px;
        position: absolute;
        top: 0;
        left: 0; }
  .pageAccordion dd {
    background: #f0e6e1;
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    display: none;
    padding: 12px;
    width: 100%; }
    @media print, screen and (min-width: 768px) {
      .pageAccordion dd {
        display: block !important;
        padding: 24px; } }
    .pageAccordion dd p {
      line-height: 2.8rem;
      position: relative;
      padding-left: 36px; }
      @media print, screen and (min-width: 768px) {
        .pageAccordion dd p {
          line-height: 3.2rem; } }
      .pageAccordion dd p span {
        background: #e1916e;
        border-radius: 4px;
        color: #fff;
        font-weight: bold;
        line-height: 28px;
        text-align: center;
        width: 28px;
        height: 28px;
        position: absolute;
        top: 0;
        left: 0; }

/* 星評価 */
.pageDl-rating {
  border: 1px solid #ccc;
  position: relative;
  text-align: center;
  height: 59px; }
  .pageDl-rating dt {
    background: #f5f5f5;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-size: 1.4rem;
    line-height: 28px;
    width: 33.333%;
    position: absolute;
    top: 0px; }
    .pageDl-rating dt:nth-of-type(1) {
      left: 0; }
    .pageDl-rating dt:nth-of-type(2) {
      left: 33.333%; }
    .pageDl-rating dt:nth-of-type(3) {
      border-right: none;
      left: 66.666%; }
  .pageDl-rating dd {
    border-right: 1px solid #ccc;
    font-size: 1.4rem;
    line-height: 28px;
    text-align: center;
    width: 33.333%;
    position: absolute;
    top: 29px; }
    .pageDl-rating dd:nth-of-type(1) {
      left: 0; }
    .pageDl-rating dd:nth-of-type(2) {
      left: 33.333%; }
    .pageDl-rating dd:nth-of-type(3) {
      border-right: none;
      left: 66.666%; }

/* テーブル */
/* エラーページ */
.error-Box {
  text-align: center;
  margin: 80px 0; }

/* アクセスページ */
@media print, screen and (min-width: 768px) {
  .accBlock {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; } }
.accBlock dl {
  border-bottom: 1px solid #d5d0ce;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .accBlock dl {
      border-bottom: none;
      display: block;
      margin-bottom: 0;
      padding-bottom: 0;
      width: 288px; } }
  .accBlock dl dt {
    padding: 40px 0 0;
    text-align: center;
    width: 80px; }
    @media print, screen and (min-width: 768px) {
      .accBlock dl dt {
        padding: 52px 0 14px;
        border-bottom: 1px solid #d5d0ce;
        width: 100%; } }
    .accBlock dl dt.dt-train {
      background: url("../img/cmn/icon_train.svg") no-repeat center top/54px 29px; }
    .accBlock dl dt.dt-bus {
      background: url("../img/cmn/icon_bus.svg") no-repeat center top/65px 29px; }
    .accBlock dl dt.dt-car {
      background: url("../img/cmn/icon_car.svg") no-repeat center top/41px 29px; }
  .accBlock dl dd {
    font-size: 1.4rem;
    line-height: 2.8rem;
    width: calc(100% - 96px); }
    @media print, screen and (min-width: 768px) {
      .accBlock dl dd {
        font-size: 1.5rem;
        line-height: 3.2rem;
        padding: 14px 0 0;
        text-align: center;
        width: 100%; } }

/*インプラント治療　メリット　デメリット*/
.correctDl-merit {
  display: table; }
  .correctDl-merit dt {
    color: #e1916e;
    font-size: 1.8rem;
    padding-bottom: 12px;
    line-height: 2.6rem;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .correctDl-merit dt {
        font-size: 2.0rem;
        line-height: 3.2rem;
        padding-bottom: 24px; } }
    .correctDl-merit dt span {
      padding-left: 30px; }
    .correctDl-merit dt::before {
      background: #e1916e;
      content: "＋";
      border-radius: 100%;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1em;
      position: absolute;
      top: 2px;
      left: 0;
      width: 20px;
      height: 20px; }
      @media print, screen and (min-width: 768px) {
        .correctDl-merit dt::before {
          top: 4px;
          width: 22px;
          height: 22px; } }
  .correctDl-merit dd {
    padding-bottom: 2.2em;
    line-height: 2.8rem; }

.correctDl-demerit {
  display: table; }
  .correctDl-demerit dt {
    color: #50afbf;
    font-size: 1.8rem;
    padding-bottom: 12px;
    line-height: 2.6rem;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .correctDl-demerit dt {
        font-size: 2.0rem;
        line-height: 3.2rem;
        padding-bottom: 24px; } }
    .correctDl-demerit dt span {
      padding-left: 30px; }
    .correctDl-demerit dt::before {
      background: #50afbf;
      content: "-";
      border-radius: 100%;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1em;
      position: absolute;
      top: 2px;
      left: 0;
      width: 20px;
      height: 20px; }
      @media print, screen and (min-width: 768px) {
        .correctDl-demerit dt::before {
          top: 4px;
          width: 22px;
          height: 22px; } }
  .correctDl-demerit dd {
    /*        border-bottom: solid 1px #ccc;*/
    padding-bottom: 1em;
    line-height: 2.8rem; }

/*矯正歯科ページ　20221219*/
.table-border-ortho {
  width: 100%; }
  .table-border-ortho caption {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2.4rem;
    text-align: left;
    margin-bottom: 0.6em; }
  .table-border-ortho th {
    background: #f4f7f9;
    border: 1px solid #aaa;
    font-weight: normal;
    line-height: 2.4rem;
    text-align: left;
    padding: 12px;
    vertical-align: middle; }
  .table-border-ortho td {
    background: #fff;
    border: 1px solid #aaa;
    padding: 12px;
    line-height: 2.4rem;
    text-align: left;
    vertical-align: middle; }

/*矯正ページ　費用*/
.table-cost {
  width: 100%;
  /*font-size: 1.8rem;*/ }
  .table-cost th {
    font-weight: bold;
    line-height: 3.6rem;
    text-align: left;
    vertical-align: top;
    width: 70px; }
  .table-cost td {
    line-height: 3.6rem;
    text-align: left;
    vertical-align: middle;
    width: calc(100% - 70px); }

/* リンク */
#prevent, #denture, #kids, #whitening, #gakukansetsusyo, #crown, #caries, #implant, #surgery, #ct, #saisei, #barrierfree, #policy, #implant1, #implant2, #implant3, #implant_option, #implant_kanpu, #implant_loan, #straumann, #ostem, #priceimp {
  padding-top: 72px;
  margin-top: -72px; }
  @media print, screen and (min-width: 768px) {
    #prevent, #denture, #kids, #whitening, #gakukansetsusyo, #crown, #caries, #implant, #surgery, #ct, #saisei, #barrierfree, #policy, #implant1, #implant2, #implant3, #implant_option, #implant_kanpu, #implant_loan, #straumann, #ostem, #priceimp {
      padding-top: 140px;
      margin-top: -140px; } }

/*# sourceMappingURL=page.css.map */
