@charset "UTF-8";
/*
* Theme Name: テンプレート01_05
* Author: Iscream Design
* Version: 1.5
* Description:
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-bottom: 1px solid #ddd;
  margin: 0px;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: middle;
}
strong { font-weight: bold;}


body {
  font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #333333;
  min-width: 1054px;
}

a { color: #0f83bf;}
a:hover { color: #80c0e1; text-decoration: none;}

.container { width: 1054px;}

@media only screen and (max-width: 800px) {
  body { min-width: 0px;}
  .container { width: 100%;}
}

/************************************ header_01　左ロゴ・下メニュー*/

.slide_wrap { width: 100%; max-width: 1290px; padding: 0px 15px; margin: auto; padding-top: 60px;}
.slide_wrap .left { width: 30%;}
.slide_wrap .right { width: 65%;}
.slide_contact { display: inline-block;}

.header_01 .under { padding-top: 30px;}
.header_contact li { display: inline-block; text-align: left; vertical-align: middle; margin: 0px 0px 30px 20px;}

@media only screen and (max-width: 800px) {
  .slide_wrap { padding-top: 20px;}
  .slide_wrap .left, .slide_wrap .right { float: none !important; width: 100%;}
  .slide_wrap h1 { padding: 0px 55px;}

  .header_01 .under h1 { padding-right: 55px;}
}

/*グローバルメニュー*/
.header_01 .gNavi > ul > li { display: inline-block;}
.header_01 .gNavi > ul > li > a { display: block; text-decoration: none; padding: 15px 51px; background: url("images/shared/ico_dot.png") no-repeat left 50%; color: #333;}
.header_01 .gNavi > ul > li:first-child > a { padding-left: 0px; background: none;}
.header_01 .gNavi > ul > li:last-child > a { padding-right: 0px;}
.header_01 .gNavi > ul > li > a:hover { color: #0f83bf;}

/* ドロップダウンメニュー */
.gNavi .dd {
  position: relative;
  z-index: 999999;
}
.gNavi .dd ul {
  width: 110%;
  position: absolute;
  display: none;
  left: -5%;
}
.gNavi .dd ul li a {
  display: block;
  padding: 10px;
  color: #333;font-size: 15px;
  text-align: center;
  text-decoration: none;
  background-color: #FFFFFF;
  background-color: rgba(255,255,255,0.70);
  border-bottom: dotted 1px #8F7958;
}
.gNavi .dd ul li:last-child a { border-bottom: none;}
.gNavi .dd ul li a:hover { background-color: #0f83bf; color: #fff;}

@media only screen and (max-width: 800px) {
  /* ハンバーガーメニュー */
  .humberger {
    background: #0f83bf;
    cursor: pointer;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 10000;
  }
  .humberger span {
    background: #fff;
    position: absolute;
    left: 50%;
    width: 25px;
    height: 2px;
    transform: translateX(-50%);
    transition: 0.4s;
  }
  .humberger span:nth-of-type(1) { top: 15px;}
  .humberger span:nth-of-type(2) { top: 50%; transform: translate(-50%, -50%);}
  .humberger span:nth-of-type(3) { bottom: 15px;}
  .is-open .humberger span:nth-of-type(1) { transform: translate(-50%, 9px) rotate(-45deg);}
  .is-open .humberger span:nth-of-type(2) { opacity: 0;}
  .is-open .humberger span:nth-of-type(3) { transform: translate(-50%, -9px) rotate(45deg);}
  .overlay {
    background: transparent;
    position: fixed;
    pointer-events: none;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 10;
    transition: 0.2s;
  }
  .is-open .overlay {
    background: rgba(0, 0, 0, 0.7);
    pointer-events: auto;
  }

  /* ナビ本体 */
  .sp-navi {
    -webkit-text-size-adjust: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
  }
  .sp-navi a { color: #333;}
  .sp-navi.is-open .sp-navi-inner { transform: translate3d(0, 0, 0);}
  .sp-navi .sp-navi-inner {
    background: #ecf6fe;
    position: fixed;
    top: 0;
    right: 0;
    overflow: scroll;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 50px 0;
    height: 100%;
    width: 270px;
    transition: .5s;
    transform: translate3d(100%, 0, 0);
    z-index: 10;
  }
  .sp-navi .sp-navi-inner .navi-main { margin: 0 0 30px;}
  .sp-navi .sp-navi-inner .navi-main > li {
    border-bottom: 1px solid #ddd;
    position: relative;
  }
  .sp-navi .sp-navi-inner .navi-main > li:before {
    background: #0f83bf;
    content: "";
    height: 3px;
    width: 8px;
    position: absolute;
    left: 10px;
    top: 23px;
  }
  .sp-navi .sp-navi-inner .navi-main > li:first-child { border-top: 1px solid #ddd;}
  .sp-navi .sp-navi-inner .navi-main > li > a {
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2.5px;
    padding: 15px 10px 15px 30px;
    overflow: hidden;
    line-height: 1.3em;
    text-decoration: none;
  }
  .sp-navi .sp-navi-inner .navi-main > li > ul > li { border-top: 1px dashed #ddd; width: 100%;}
  .sp-navi .sp-navi-inner .navi-main > li > ul > li > a {
    display: block;
    font-size: 14px;
    line-height: 1.3em;
    padding: 10px 10px 10px 50px;
    position: relative;
    text-decoration: none;
  }
  .sp-navi .sp-navi-inner .navi-main > li > ul > li > a:before {
    background: #0f83bf;
    content: "";
    height: 1px;
    width: 10px;
    position: absolute;
    left: 26px;
    top: 19px;
  }
  .sp-navi .sp-navi-inner .navi-other { padding: 0 15px;}
}


/************************************ コンテンツ*/
.contents {
  float: left;
  width: 740px;
}
@media only screen and (max-width: 800px) {
  .contents {
    float: none;
    width: auto;
  }
}

/************************************ タイトル*/

.pagettl {
  font-family: "FP-ヒラギノ丸ゴ ProN W4", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 0.1em;
  font-size: 30px;
  line-height: 1.1;
  color: #0f83bf;
  text-align: center;
  background-color: #ecf6fe;
  padding: 60px 0px;
}

.heading_btmline {
  font-family: "FP-ヒラギノ丸ゴ ProN W4", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 0.1em;
  font-size: 25px;
  line-height: 1.4;
  color: #0f83bf;
  border-bottom: solid 1px #ddd;
  padding-bottom: 10px;
}
.heading_middle, .postdata h4 {
  font-family: "FP-ヒラギノ丸ゴ ProN W4", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 0.1em;
  font-size: 20px;
  line-height: 1.4;
  color: #0f83bf;
  margin-bottom: 20px;
}
.heading_leftcircle, .postdata h5 {
  font-family: "FP-ヒラギノ丸ゴ ProN W4", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 0.1em;
  font-size: 16px;
  line-height: 1.4;
  background: url("images/under/h5.png") no-repeat left 0.5em;
  padding-left: 20px;
  margin-bottom: 15px;
}

@media only screen and (max-width: 800px) {
  .pagettl { font-size: 26px; padding: 40px 0px;}

  .heading_btmline { font-size: 23px;}
}


/************************************ サイドバー*/
.rNavi {
  float: right;
  width: 256px;
}

.side_sec01 { border-top: solid 4px #0f83bf;}

.list_circle li { background: url("images/under/h5.png") no-repeat left 0.5em; padding-left: 15px; margin-bottom: 10px; line-height: 1.6;}
.side_sec01 .list_circle li a { color: #333; text-decoration: none;}
.side_sec01 .list_circle li a:hover { text-decoration: underline;}

.category_list a { text-decoration: none; color: #fff;}

@media only screen and (max-width: 800px) {
  .rNavi {
    float: none;
    width: auto;
    max-width: 256px;
    margin: auto;
  }
}

/************************************ フッター */

/************************************ footer_01 */

.footer_01 { border-top: solid 2px #0f83bf; padding-top: 60px;}

.footer_nav li { display: inline-block;}
.footer_nav li:after { content: " | ";}
.footer_nav li:last-Child:after { content: "";}
.footer_nav li a { text-decoration: none; color: #333;}
.footer_nav li a:hover { text-decoration: underline;}

.table_box { border: solid 1px #ddd; border-top: solid 2px #0f83bf; padding: 15px;}
.business-calendar{width:100%;}
.business-calendar .attr0 { color: #333; background:#facccc;}
.business-calendar .attr1 { color: #333; background:#e3f7bd;}
.business-calendar .attr2 { color: #333; background:#ecf6fe;}
.business-calendar { font-size: 16px;}
.business-calendar caption { border: none; padding: 0px 0px 10px;}
.business-calendar th { background-color: #0f83bf; color: #fff;}
.business-calendar td { padding: 8px 3px;}

/************************************ページトップボタン*/
.pagetop_btn {
  position: fixed;
  right: 20px;
  bottom: 0px;
  margin-bottom: 80px;
  /* padding-bottom: 20px; */
  display: none;
  z-index: 999;
}

/************************************テーブル (01_04 追加)*/
.table-bordered {
  border-collapse: collapse;
  border: solid 1px #ddd;
  width: 100%;
}
.table-bordered th, .table-bordered td {
  border: solid 1px #ddd;
  padding: 10px;
  vertical-align: middle;
}
.table-bordered th {
  width: 20%;
  color: #FFFFFF;
  text-align: left;
  background-color: #0f83bf;
}

/************************************テーブルレスポンシブ仕様 (01_04 追加)*/
@media only screen and (max-width: 800px) {
  .sp-listlayout {
    border: none !important;
  }
  .sp-listlayout tr {
    display: block;
  }
  .sp-listlayout th {
    border: none !important;
    display: list-item;
    list-style: none;
    width: 100% !important;
  }
  .sp-listlayout td {
    border: none !important;
    display: list-item;
    list-style: none;
    width: 100% !important;
  }
  .sp-listlayout {
    table-layout: fixed;
  }
  .sp-listlayout * {
    word-wrap: break-word;
  }
}

/************************************アーカイブ関連*************************************/

/************************************詳細はこちらボタン(01_04 追加)*/
/* more-btn */
.more-btn a {
  background-color: #0f83bf;
  font-family: "FP-ヒラギノ丸ゴ ProN W4", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 0.1em;
  font-size: 13px;
  line-height: 1.6;
  color: #FFFFFF;
  padding: 13px 40px 15px;
  text-decoration: none;
  display: inline-block;
  transition: .5s ease;
}
.more-btn a:hover {
  opacity: 0.7;
}

/*WP用 投稿表示*/
.topics_sec article ul { padding-left: 1.5em;}
.topics_sec article ul li { list-style: outside disc;}
.topics_sec article p { margin-bottom: 15px;}
.topics_sec article p:last-Child { margin-bottom: 0px;}

ol { padding-left: 2em;}
ol li { list-style: outside decimal;}


/* スライドショー */
/* .viewer
------------------------- */
.viewer {
  margin: 0 auto;
  width: 100% !important;
  position: relative;
  overflow: hidden;
}
.viewer ul {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.viewer ul li {
  top: 0;
  left: 0;
  width: 100%;
  position: absolute;
}
.viewer ul li img {
  width: 100%;
}


.list_disc { padding-left: 20px;}
.list_disc li { list-style: outside disc;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.postdata p,
.postdata ul,
.postdata ol {
  margin-bottom: 20px;
}
.postdata ul li {
  list-style: disc;
}
.postdata ol li {
  list-style: decimal;
}
.postdata strong{
  font-weight: bold;
}
.postdata em{
  font-style: italic;
}
.postdata a{
  text-decoration: underline;
}
.postdata a:hover{
  text-decoration: none;
}


/************************************ ORIGINAL ***********/

.rob.mg10 { margin: 0px -10px;}
.rob.mg10 .coll-1, .rob.mg10 .coll-2, .rob.mg10 .coll-3, .rob.mg10 .coll-4, .rob.mg10 .coll-5, .rob.mg10 .coll-6, .rob.mg10 .coll-7, .rob.mg10 .coll-8, .rob.mg10 .coll-9, .rob.mg10 .coll-10, .rob.mg10 .coll-11, .rob.mg10 .coll-12 { padding: 0px 10px;}

.iframe_wrap { position: relative; width: 100%; padding-top: 50%;/* 高さ÷幅 */}
.iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.top_art01 .back-white { display: table; width: 100%; padding: 30px 0px;}
.top_art01 .box_inner { display: table-cell; vertical-align: middle;}
.top_art01 .box_inner:nth-child(1) { width: 160px;}
.top_art01 .box_inner:nth-child(3) { width: 195px;}
.top_art01 dl { display: table; width: 100%; margin-bottom: 15px;}
.top_art01 dl:last-child { margin-bottom: 0px;}
.top_art01 dt, .top_art01 dd { display: table-cell; vertical-align: top;}
.top_art01 dt { width: 7em;}

.top_art02 h2 .pos-ab { z-index: -1; left: -70px; top: -25px;}

.hr_blue { border: none; border-bottom: solid 1px #0f83bf;}

.top_art03 a { display: block; text-decoration: none;}
.top_art03 .back-blue02 { background-color: #deeffd !important;}
.top_art03 .bottom-border { border-bottom-color: #fff !important;}
.top_art03 li { background: url("images/shared/ico_dot.png") no-repeat left 0.5em; padding-left: 20px; margin-bottom: 10px;}
.top_art03 .box { box-shadow: 0px 0px 6px rgba(0,0,0,0.15); background: url("images/top_art03_bg.png") no-repeat right bottom;}

.shadow { box-shadow: 0px 0px 6px rgba(0,0,0,0.1);}

.top_art04 .back-white { background: url("images/top_art04_shape.png") no-repeat 47% 50%;}
.top_art04 .back-white a { display: block; text-decoration: none; color: #333;}

.top_art05 .btn_area li { display: inline-block; margin: 0px 15px 10px 0px;}

.top_art06 .category { border-radius: 30px; padding: 3px 15px;}
.top_art06 .category a { text-decoration: none; color: #fff;}
.top_art06 .category a:hover { text-decoration: underline;}

.top_art07 .box { border: solid 4px #bbdded; background: url("images/top_art07_bg.png") no-repeat right bottom; display: table; width: 100%;}
.top_art07 .box_inner { display: table-cell; vertical-align: middle;}
.top_art07 figure.box_inner { width: 492px;}
.top_art07 div.box_inner { padding: 0px 70px;}

.border_box { border: solid 4px #bbdded;}

.selec_dl { display: table; width: 100%;}
.selec_dl dt, .selec_dl dd { display: table-cell; vertical-align: middle;}
.selec_dl dt { width: 4.5em;}
.selec_dl dt span { display: inline-block; padding: 1px 5px; vertical-align: middle;}

.list_check li { background: url("images/under/ico_check.png") no-repeat left 0.5em; padding-left: 23px;}

.arrow_list { display: flex;}
.arrow_list li { width: 30%;}
.arrow_list li.arrow { width: 5%; padding: 10px; align-self: center;}

.price_list { display: table; width: 100%; text-align: center;}
.price_list li { display: table-cell; vertical-align: middle; width: 23%; padding: 10px;}
.price_list li:nth-child(even) { width: 2.6666%; font-size: 40px;}

@media only screen and (max-width: 800px) {
  .top_art01 .back-white, .top_art01 .box_inner { display: block; width: 100% !important;}
  .top_art01 .box_inner:nth-child(2) { padding: 20px;}

  .top_art04 .back-white { background-position: center 50%;}

  .top_art07 .box, .top_art07 .box_inner { display: block; width: 100% !important; max-width: 492px; margin: auto;}
  .top_art07 div.box_inner { padding: 30px;}

  .arrow_list { display: block;}
  .arrow_list li { width: 100% !important;}
  .arrow_list .arrow { transform: rotate(90deg);}

  .price_list {
    display: flex;
    flex-wrap: wrap;
    text-align: left;
  }
  .price_list li { display: block; width: 29%; padding: 0; margin-bottom: 20px; align-items: center; display: flex; font-size: 13px;}
  .price_list li:nth-child(even) {
    line-height: 1;
    width: 2.6666%;
    font-size: 20px;
    margin: 0 5px;
  }
  .price_list li:last-child {
    width: 55%;
    text-align: center;
    justify-content: center;
  }
  .price-txt {
    margin-right: 20px!important;
  }
}

.implant-img {
  height: 334px;
  position: relative;
}
.implant-img img {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (max-width: 800px) {
  .implant-img {
    height: auto;
    display: block;
  }
  .implant-img img {
    position: static;
  }
}

.no-link{
  cursor: pointer;
}



.googleMap {
  overflow: hidden;
  height: 375px;
}

.googleMap iframe {
  width: 100%;
  height: calc(100% + 300px);
  transform: translateY(-150px);
}


.footer_ttlBox {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0 35px;
}
.footer_insta {
  display: block;
  width: fit-content;
  margin-bottom: 30px;
}




.spFixed {
  width: 100%;
  height: 70px;
  box-shadow: 0px 0px 6px rgba(0,0,0,0.16);
  background: #fff;
  display: flex;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100;
}
.spFixed_tel {
  flex: 1;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px 0 9px;
}
.spFixed_tel> span {
  display: block;
  line-height: 1.6;
  font-size: 14px;
}
.spFixed_tel * {
  font-weight: 700;
}
.spFixed_tel img {
  width: 194px;
  max-width: 100%;
}
.spFixed_map {
  width: calc(135 / 375 * 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  gap: 0 8px;
  padding-right: 4px;
  position: relative;
  font-size: 14px;
  font-weight: 700;
}
.spFixed_map::before {
  content: "";
  display: block;
  width: 1px;
  height: 48px;
  background: #DEEDFE;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (min-width: 801px) {
  .spFixed {
    display: none;
  }
}

@media only screen and (max-width: 800px) {
  .footer_01 {
    padding-bottom: 70px;
  }
}


.spFixed_insta {
  position: absolute;
  left: 20px;
  bottom: 20px;
  transform: translateY(-100%);
}

.spFixed_insta a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background: #0D83BF;
  border-radius: 50%;
  box-shadow: 0px 0px 6px rgba(0,0,0,0.16);
  transition: filter 0.3s;
}
.spFixed_insta a:hover {
  filter: brightness(1.1);
}

.spFixed_insta_closed {
  appearance: none;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 0;
  background: #fff url(./images/shared/sp_fixed_closed.svg) center / auto no-repeat;
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: 2;
  box-shadow: 0px 0px 6px rgba(0,0,0,0.16);
}
.spFixed_insta_closed:hover {
  cursor: pointer;
}