@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/
/*==================================================
　breakpoint
===================================================*/
@media screen and (min-width: 600px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
@media screen and (max-width: 599px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*==================================================
　カラー指定
===================================================*/
/*==================================================
　Loading指定
===================================================*/
#splash {
  position: fixed;
  top: -75px;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background: #F2F4F3;
  color: #48795F;
  text-align: center;
  display: none;
}
/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width: 40px;
}
/*==================================================
　　ベース・打ち消し
===================================================*/
*, *:before, *:after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
.main {
  background-color: transparent;
}
address {
  font-style: normal;
  line-height: inherit;
  letter-spacing: 0.1em;
}
ol, ul {
  padding-left: 0;
  list-style: none;
}
ul li ul {
  margin: 0 0 0 1em;
  padding: 0;
}
dl {
  margin-bottom: 0 !important;
}
dl dd {
  margin-left: 0 !important;
}
a {
  color: #48795F;
  background-color: transparent;
  text-decoration: none;
  transition: 0.3s all;
}
a:hover {
  color: #444;
  opacity: 0.6;
}
small {
  font-size: 80%;
}
table tr, table th, table td {
  background-color: transparent !important;
}
table th {
  color: #48795F;
}
.grecaptcha-badge {
  visibility: hidden;
}
/*==================================================
　フォントレイアウト
===================================================*/
.font_sm {
  font-size: 0.9em;
}
.color_gr {
  color: #48795F;
}
.color_base {
  color: #444;
}
.boldText {
  font-weight: 700;
}
.markTitle {
  font-size: 1.1em;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.markTitle::before {
  content: "■";
  color: #48795F;
  margin-right: 0.3em;
  display: inline-block;
}
.darkYellowMarker {
  background: linear-gradient(transparent 40%, #fdf1ae 0%);
}
.redMarker {
  background: linear-gradient(transparent 40%, #fcd9ca 0%);
}
.greenMarker {
  background: linear-gradient(transparent 40%, #e2efe2 0%);
}
.yellowMarker {
  background: linear-gradient(transparent 40%, #fdf1ae 0%);
}
/*==================================================
　大枠・内枠・全幅表示
===================================================*/
.page .wrap {
  width: 100%;
  max-width: 1160px;
}
.page .main {
  padding: 0 30px;
  border: none;
}
.inner_lg {
  max-width: 1250px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (max-width: 599px) {
  .inner_lg {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.inner_md {
  max-width: 880px;
  margin: 0 auto;
}
.inner_sm {
  max-width: 680px;
  margin: 0 auto;
}
.wideBg {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
  vertical-align: middle;
}
/*==================================================
　レイアウト
===================================================*/
/* グリッド
------------------------------------------ */
.grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.grid2_1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3em;
}
@media screen and (max-width: 599px) {
  .grid2_1 {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.grid3_1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em;
}
@media screen and (max-width: 599px) {
  .grid3_1 {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.grid4_1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em;
}
@media screen and (max-width: 599px) {
  .grid4_1 {
    grid-template-columns: 1fr;
  }
}
.grid4_2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em;
}
@media screen and (max-width: 599px) {
  .grid4_2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }
}
/* flex
------------------------------------------ */
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 599px) {
  .flex {
    display: block;
  }
}
.reFlex {
  flex-direction: row-reverse;
}
/* textBox
------------------------------------------ */
.textBox p, .textBox dt, .textBox dd, .textBox li {
  text-align: justify;
}
.textBox p:last-child, .textBox dt:last-child, .textBox dd:last-child, .textBox li:last-child {
  margin-bottom: 0;
}
/* image幅
------------------------------------------ */
@media screen and (max-width: 599px) {
  .wid80_sp {
    width: 80%;
    margin: 0 auto 1em;
  }
}
.wid90 {
  width: 90%;
  margin: 0 auto 1em;
}
@media screen and (max-width: 599px) {
  .wid90_sp {
    width: 90%;
    margin: 0 auto;
  }
}
.wid90_sp .shadowImg {
  margin-bottom: 1em;
}
/* margin/padding
------------------------------------------ */
.mTop_4 {
  margin-top: 4em;
}
.mTop_3 {
  margin-top: 3em;
}
.mTop_2 {
  margin-top: 2em;
}
.mBtm_5 {
  margin-bottom: 5em;
}
.mBtm_4 {
  margin-bottom: 4em;
}
.mBtm_3 {
  margin-bottom: 3em;
}
.mBtm_2 {
  margin-bottom: 2em;
}
.mBtm_1 {
  margin-bottom: 1em;
}
.mBtm_0 {
  margin-bottom: 0 !important;
}
.pTop_0 {
  padding-top: 0;
}
.pBtm_0 {
  padding-bottom: 0 !important;
}
.pBtm_2 {
  padding-bottom: 2em !important;
}
/* フローチャート
------------------------------------------ */
.flowChart {
  counter-reset: ttl-number;
}
.flowChart .flowChartItem {
  margin-bottom: 3em;
}
.flowChart .flowChartItem:last-child {
  margin-bottom: 0;
}
.flowChart .flowChartItem .flowChartTitle {
  counter-increment: ttl-number 1;
  color: #48795F;
  font-size: 1.4em;
  font-weight: 700;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .flowChart .flowChartItem .flowChartTitle {
    font-size: 1.1em;
    line-height: 1.4;
  }
}
.flowChart .flowChartItem .flowChartTitle::before {
  content: "0" counter(ttl-number);
  display: block;
  font-weight: normal;
  font-size: 1em;
  letter-spacing: normal;
  width: 55px;
  height: 55px;
  background: #E2EFE2;
  color: #48795F;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin-right: 1em;
}
.flowChart .flowChartItem:nth-child(n + 11) .flowChartTitle::before {
  content: "" counter(ttl-number);
}
/*
.tmj-beauty_flowWrap {
    .flowChartItem {
        margin-bottom: 0;
    }

    .flowChartTitle {
        font-size: 1.1em !important;
        text-align: center;
        display: block !important;

        &::before {
            font-size: 1.2em;
            margin: 0 auto .5em !important;
        }
    }
}
*/
/*==================================================
　症例ページタブ
===================================================*/
/* タブの表示・非表示 */
[data-tab-content] {
  display: none;
  opacity: 0;
}
[data-tab-content].active {
  display: block;
  opacity: 1;
  transition: 0.3s;
}
.caseTabNote {
  text-align: center;
  color: #48795F;
  margin-top: 3em;
  margin-bottom: 2em;
}
.tabsNavList {
  padding: 0 0 0 5em;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1em;
}
.tabsNavList .tabsItem a {
  display: block;
  border: 1px solid #48795F;
  /*
			max-width: 200px;
			width: 100%;
*/
  text-align: center;
  padding: 10px;
  transition: inherit;
  font-size: 0.9em;
}
@media screen and (max-width: 599px) {
  .tabsNavList .tabsItem a {
    max-width: 100%;
  }
}
.tabsNavList .tabsItem a:hover {
  opacity: 1;
}
.tabsNavList .tabsItem a.active {
  background-color: #48795F;
  color: #FFF;
  position: relative;
}
.tabsNavList .tabsItem a.active::after {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(-0.2449vw + -7.08163px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(0.2449vw + 7.08163px) calc(0.12245vw + 4.54082px) 0;
  border-color: #48795F transparent transparent;
}
.tabs__content.active {
  animation: fadeIn 0.7s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
  }
}
/*=================================================
　ボタン
===================================================*/
/* デフォルトボタン
------------------------------------------ */
.btnDefault a {
  position: relative;
  display: block;
  line-height: 60px;
  max-width: 360px;
  width: 100%;
  text-align: center;
  background: #48795F;
  color: #FFF;
  letter-spacing: 0.1em;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  .btnDefault a {
    max-width: 320px;
  }
}
.btnDefault a::before {
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg);
}
/* トップページ症例ボタン
------------------------------------------ */
.btnCase {
  display: block;
  padding: 10px;
  max-width: 220px;
  width: 100%;
  text-align: center;
  background: #48795F;
  color: #FFF;
  letter-spacing: 0.1em;
  margin: 0 auto 1rem;
}
.btnCase::before, .btnCase::after {
  transition: 0.3s ease;
}
/*================================
装飾
=================================*/
/* 三角形共通のスタイル
------------------------------------------ */
.triangle {
  position: relative;
}
.triangle::before {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  position: absolute;
  left: 0;
}
/* 上三角形
------------------------------------------ */
.triangleTop::before {
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 15px solid #48795F;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
/* 右三角形
------------------------------------------ */
.triangleRight::before {
  border-bottom: 8px solid transparent;
  border-left: 13px solid #48795F;
  border-top: 8px solid transparent;
  top: 5px;
}
/* 下三角形
------------------------------------------ */
.triangleBottom::before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 13px solid #48795F;
  top: 8px;
}
/*=================================================
PCヘッダー/ナビメニュー
===================================================*/
/*------　PCヘッダー -------*/
.header-container-in {
  padding: 15px;
}
.header-container-in .header {
  width: 22%;
  max-width: 260px;
}
.header-container-in.wrap {
  position: relative;
  max-width: 1400px;
}
.header-container-in.wrap .logo-header img {
  min-height: 80px;
}
.header-container-in.hlt-top-menu .logo-header, .header-container-in.wrap .logo-header img {
  max-height: inherit;
  min-height: inherit;
}
ul.topNaviBnr {
  display: grid;
  grid-template-columns: 300px 300px;
  gap: 1em;
  position: absolute;
  top: 0;
  right: 0;
  padding-right: 40px;
}
@media screen and (max-width: 1023px) {
  .header-container-in.wrap {
    display: none;
  }
}
/*------　PCナビメニュー -------*/
.pcNavWrap {
  width: 75%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.pcNavWrap ul.pcNavList {
  width: 65%;
  display: flex;
  justify-content: flex-end;
}
.pcNavWrap ul.pcNavList > li {
  padding: 0 1.6em;
  font-size: clamp(0.8rem, 1.1vw, 1rem);
}
.pcNavWrap ul.pcNaviBnr {
  width: 35%;
  display: flex;
}
.pcNavWrap ul.pcNaviBnr li {
  line-height: 0;
}
.pcNavWrap ul.pcNaviBnr li:first-child {
  margin-right: 1.2em;
}
/*------　PCドロップダウンメニュー -------*/
.pcNavWrap .pcNavItem {
  position: relative;
}
.pcNavWrap .pcNavItem a {
  color: inherit;
  transition: opacity 0.3s ease;
}
.pcNavWrap .pcNavItem:last-child {
  margin-right: 0;
}
.pcNavWrap .pcNavItem .pcSubNavList {
  position: absolute;
  z-index: 100;
  left: calc(50% - 330px);
  top: 44px;
  width: 660px;
  margin-left: 0;
  padding: 1.2em 2em;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s, transform 0.5s;
  background-color: #48795F;
}
.pcNavWrap .pcNavItem .pcSubNavList a {
  color: #FFF;
}
.pcNavWrap .pcNavItem .pcSubNavList.open {
  opacity: 100;
  visibility: visible;
  transform: translateY(0px);
}
.pcNavWrap .pcNavItem .pcSubNavList .pcSubNavItem {
  padding: 0.3em 0;
}
.pcNavWrap .pcNavItem .pcSubNavList .pcSubNavItem a::before {
  content: "ー";
  display: inline-block;
  margin-right: 0.5em;
}
/*=================================================
モバイルヘッダー/ナビメニュー
===================================================*/
@media screen and (max-width: 1023px) {
  /*------　モバイルヘッダー上部-------*/
  /*------　モバイルヘッダー-------*/
  /*------　モバイルサイトロゴ ー-------*/
  body:where(.mblt-header-mobile-buttons, .mblt-header-and-footer-mobile-buttons) {
    margin-top: 76px;
  }
  .mobile-header-menu-buttons {
    display: block;
  }
  img.site-logo-image {
    /*1023px以下でPCとの共通ロゴを消す*/
    visibility: hidden;
  }
  .logo-menu-button.menu-button {
    /*1023px以下でモバイル用のロゴ表示*/
    background: url(/wp-content/uploads/2023/10/green_logo_sp.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: auto;
    margin-left: inherit;
    min-width: 180px;
    height: 56px;
  }
}
.navi-access-button {
  width: 58px !important;
  height: 54px;
  position: absolute;
  top: 12px;
  right: 78px;
}
/*------　ハンバーガーボタン -------*/
.navi-menu-button.menu-button, .navi-menu-close-button.menu-close-button {
  position: absolute;
  right: 10px;
  top: 12px;
}
.mobile-menu-buttons {
  align-items: center;
  padding: 10px;
}
.mobile-menu-buttons > li {
  padding-top: 0;
}
.mobile-menu-buttons .menu-caption {
  font-size: 10px;
  text-align: center;
  opacity: 0.8;
  display: block;
  margin-top: -3px;
  letter-spacing: 0.1em;
}
.navi-menu-button, .navi-menu-close-button {
  width: 58px !important;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #48795F;
}
.navi-menu-close-button.menu-close-button {
  display: flex;
  align-items: center;
  justify-content: center;
}
.navi-menu-icon .fa, .navi-menu-close-button .fa {
  color: #FFF;
  font-size: 24px;
}
.navi-menu-icon .fa {
  margin-bottom: 2px;
}
.navi-menu-caption {
  color: #FFF;
}
/*------　スライドメニュー -------*/
.menu-content {
  max-width: 85%;
}
.navi-menu-content {
  left: auto;
  right: 0;
  transform: translateX(105%);
  padding: 0 3em;
  background-color: #EDEFEE;
}
@media screen and (max-width: 599px) {
  .navi-menu-content {
    padding: 0 1em;
  }
}
.mobileNavWrap {
  margin-top: 60px;
  margin-bottom: 60px;
}
.mobileNavWrap ul {
  margin-left: 0;
}
.mobileNavWrap ul .grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}
.mobileNavLogo {
  max-width: 200px;
  margin: 0 auto;
}
/*=================================================
ナビリスト共通（モバイルナビメニュー・フッターナビメニュー）
===================================================*/
.navWrap .navList > li {
  margin-bottom: 1rem;
  padding-left: 28px;
  font-weight: 700;
}
.navWrap .navList > li a {
  color: inherit;
}
.navWrap .navList .navChild {
  margin-top: 0.5rem;
}
.navWrap .navList .navChild li {
  font-weight: normal;
  margin-bottom: 0.5rem;
}
.navWrap .navList .navChild li a {
  color: #48795F;
  font-size: 14px;
  font-size: 0.875rem;
}
.navWrap .navList .navChild li a::before {
  content: "ー";
  display: inline-block;
  margin-right: 0.5em;
}
/*=================================================
　フッター（共通）
===================================================*/
.footer-bottom {
  display: none;
}
.footer {
  background: #EDEFEE;
  margin-top: 0;
  padding: 0;
}
.footer .footerContents {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3em 2em 0;
}
@media screen and (max-width: 599px) {
  .footer .footerContents {
    padding-left: 1.4em;
    padding-right: 1.4em;
  }
}
.footerNavWrap {
  margin-bottom: 3em;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 0 3em;
}
.footerNavWrap .footerNav > li {
  margin-bottom: 1rem;
  padding-left: 28px;
  font-weight: 700;
}
.footerNavWrap .footerNav > li a {
  color: inherit;
}
.footerNavWrap .footerNav > li .footerNavChild {
  margin-top: 0.5rem;
  margin-left: 0;
}
.footerNavWrap .footerNav > li .footerNavChild li {
  font-weight: normal;
  margin-bottom: 0.5rem;
  color: #48795F;
}
.footerNavWrap .footerNav > li .footerNavChild li a {
  font-size: 14px;
  font-size: 0.875rem;
}
.footerNavWrap .footerNav > li .footerNavChild li a::before {
  content: "ー";
  display: inline-block;
  margin-right: 0.5em;
}
.footerBottomWrap {
  background-color: white;
}
@media screen and (max-width: 599px) {
  .footerBottomWrap {
    padding-bottom: 66px !important;
  }
}
.footerBottomWrap.wideBg {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.footerBottomWrap .footerBottomTop {
  padding: 2em 0;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .footerBottomWrap .footerBottomTop {
    padding: 1.2em 0;
  }
}
.footerBottomWrap .footerBottomTop .footerLogo {
  max-width: 240px;
  width: 25%;
}
@media screen and (max-width: 599px) {
  .footerBottomWrap .footerBottomTop .footerLogo {
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
  }
}
.footerBottomWrap .footerBottomTop .footerBnr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  place-items: center;
}
.footerBottomWrap .footerBottomTop .footerBnr li {
  line-height: 0;
}
@media screen and (max-width: 599px) {
  .footerBottomWrap .footerBottomTop .footerBnr li img {
    height: 72px;
  }
}
@media screen and (max-width: 599px) {
  .footerBottomWrap .footerBottomTop .footerBnr {
    width: 100%;
    margin-bottom: 1.4em;
  }
}
.footerBottomWrap .footerBottomFoot {
  background-color: #48795F;
}
.footerBottomWrap .footerBottomFoot .copyright {
  color: #FFF;
  margin-top: 0;
  padding: 0.2em;
  font-size: 80%;
  text-align: center;
}
/*=================================================
　メインビジュアル
===================================================*/
.mvWrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/*------　トップメインビジュアル -------*/
#slider {
  width: 94%;
  max-width: 1600px;
  margin-left: auto;
  height: 640px !important;
}
@media screen and (max-width: 959px) {
  #slider {
    height: 480px !important;
  }
}
@media screen and (max-width: 599px) {
  #slider {
    width: 100%;
    height: 520px !important;
    margin-left: 0;
  }
}
.mvwrapper {
  position: relative;
}
.mvwrapper .mv_catch {
  width: 60%;
  max-width: 620px;
  margin-left: 8%;
}
@media screen and (max-width: 599px) {
  .mvwrapper .mv_catch {
    max-width: 400px;
    width: 100%;
    margin-left: 0;
  }
}
.mvwrapper::before {
  content: "";
  background-color: #F2F4F3;
  display: block;
  width: 100%;
  height: 500px;
  position: absolute;
  bottom: -300px;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .mvwrapper::before {
    display: none;
  }
}
.vegas-wrapper {
  display: flex;
  align-items: center;
}
.vegas-overlay {
  opacity: 0.5;
  background: url(/wp-content/uploads/2023/09/mv-bg_green_dot_230919.png) center center !important;
}
.vegas-slide-inner {
  background-position: center top !important;
}
/*------　下層メインビジュアル -------*/
.lowerHeaderMv {
  background: url(/wp-content/uploads/2023/11/lower_mv_pc_231127-scaled.jpg) no-repeat center center;
  background-size: cover;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #ddd;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lowerHeaderMv .inner {
  padding: 0 1em;
}
@media screen and (max-width: 959px) {
  .lowerHeaderMv {
    min-height: 240px;
  }
}
@media screen and (max-width: 599px) {
  .lowerHeaderMv {
    background: url(/wp-content/uploads/2023/11/lower_mv_sp_231127.jpg) no-repeat center center;
    background-size: cover;
    min-height: 200px;
  }
}
.lowerHeaderMv .headerTitle {
  max-width: 520px;
  line-height: 0;
}
@media screen and (max-width: 959px) {
  .lowerHeaderMv .headerTitle {
    max-width: 480px;
  }
}
/*=================================================
　 固定ページ指定
===================================================*/
/* 固定ページ_枠指定
------------------------------------------ */
.page .date-tags {
  display: none;
}
.page .content, .entry-content {
  margin-top: 0;
}
.contentWrap {
  padding: 5em 0;
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .contentWrap {
    padding: 3em 0;
  }
}
.blockWrap {
  margin-bottom: 5em;
}
@media screen and (max-width: 599px) {
  .blockWrap {
    margin-bottom: 3em;
  }
}
.blockWrap:last-child {
  margin-bottom: 0 !important;
}
.blockWrap .blockItem {
  margin-bottom: 8em;
}
/* 固定ページ_タイトル類
------------------------------------------ */
.page .article {
  margin-bottom: 0 !important;
}
.page h1.entry-title {
  display: none;
}
.page .article h3 {
  border: none;
  line-height: 1.6;
}
.page .article h2 {
  padding: 0 !important;
  text-align: center;
  background-color: transparent !important;
}
.page .article h4 {
  text-align: center;
}
.secTitle {
  max-width: 480px !important;
  margin: 0 auto 2em !important;
}
@media screen and (max-width: 599px) {
  .secTitle {
    margin-bottom: 1.8em !important;
  }
}
.subTitle {
  padding: 0 !important;
}
.borderBox .leadText {
  max-width: 540px;
  margin: 0 auto 1em;
}
.subBgTitle {
  color: #48795F;
  background: #E2EFE2;
  letter-spacing: 0.1em;
  font-size: 1.4em !important;
  min-height: 90px;
  display: grid;
  place-items: center center;
  padding: 0.8em 1em !important;
  margin-bottom: 2em !important;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .subBgTitle {
    font-size: 1.2em !important;
    margin-bottom: 1em !important;
    padding: 0.8em 0.5em !important;
    letter-spacing: inherit;
  }
}
.subBgTitle span.num {
  display: block;
  font-size: 0.7em;
  font-weight: 700;
  margin-bottom: 5px;
  color: #888;
}
.smBgTitle {
  min-height: 60px;
  margin-bottom: 1em !important;
}
.smBgTitle .color_base {
  font-weight: normal !important;
}
.smTitle {
  max-width: 280px !important;
  margin-left: 0 !important;
  margin-bottom: 1em !important;
  margin-right: auto !important;
  padding: 0 !important;
}
.boxTitle {
  color: #48795F;
  text-align: center;
  font-weight: 700;
  font-size: 1.4em;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 599px) {
  .boxTitle {
    font-size: 1.2em !important;
  }
}
.boderTitle {
  border-top: 1px solid #707070 !important;
  border-bottom: 1px solid #707070 !important;
  color: #48795F;
  padding: 1em 0.5em !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 1.4em !important;
  font-size: 1.1em !important;
}
.readTitle {
  line-height: 1.6 !important;
}
.listBoxWrap {
  background-color: #FFF;
  padding: 1.4em;
}
.listBoxWrap.grid2_1 {
  gap: 2em;
}
.listBoxWrap .listBoxTitle {
  font-size: 1.2em;
  text-align: left;
  color: #48795F;
  font-weight: 700;
  position: relative;
  padding-left: 2.2em;
  margin-bottom: 0.5em;
}
.listBoxWrap .listBoxTitle::before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(/wp-content/uploads/2023/11/icon_check.png) no-repeat;
  background-size: cover;
  width: 28px;
  height: 24px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
/* ページ内リンク
------------------------------------------ */
.pageLinkWrap {
  padding: 0 0 3em;
}
.pageLinkWrap .pageLinkList {
  justify-content: center;
  gap: 2em;
}
@media screen and (max-width: 959px) {
  .pageLinkWrap .pageLinkList {
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
}
.pageLinkWrap .pageLinkList li a {
  position: relative;
  border-top: 1px solid #48795F;
  border-bottom: 1px solid #48795F;
  text-align: center;
  display: block;
  padding: 18px 5px 20px;
}
@media screen and (max-width: 599px) {
  .pageLinkWrap .pageLinkList li a {
    font-size: 0.9em;
  }
}
.pageLinkWrap .pageLinkList li a::before {
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-top: 1px solid #48795F;
  border-right: 1px solid #48795F;
  transform: rotate(135deg);
}
/* chartBox（背景うす緑のbox）
------------------------------------------ */
.chartBox {
  background-color: #E2EFE2;
  padding: 3em;
}
@media screen and (max-width: 599px) {
  .chartBox {
    padding: 2em 1.4em !important;
  }
}
/* borderBox（線で囲まれたbox）
------------------------------------------ */
.borderBox {
  border: 1px solid #48795F;
  padding: 3em !important;
}
@media screen and (max-width: 599px) {
  .borderBox {
    padding: 2em 1.4em !important;
  }
}
.borderBox .secTitle {
  margin-bottom: 1em !important;
}
/* checkBox（チェックリスト付きbox）
------------------------------------------ */
.checkBoxWrap {
  position: relative;
  background: #F2F4F3;
  padding: 3em 2em;
}
@media screen and (max-width: 599px) {
  .checkBoxWrap {
    padding: 2em 1.2em;
  }
}
.checkBoxWrap.excMark::before {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(/wp-content/uploads/2023/11/exclamationMark.png) no-repeat;
  background-size: contain;
  top: -10%;
  right: 10%;
  width: 100px;
  height: 170px;
}
@media screen and (max-width: 599px) {
  .checkBoxWrap.excMark::before {
    top: -5%;
    right: 5%;
    width: 50px;
    height: 90px;
  }
}
.checkBoxWrap ul.checkList {
  background: #FFF;
  padding: 2em 3em 3em;
}
@media screen and (max-width: 599px) {
  .checkBoxWrap ul.checkList {
    padding: 1em 1.2em 2em;
  }
}
.checkBoxWrap ul.checkList li {
  max-width: 680px;
  margin: 0 auto;
  padding: 1em 0 1em 2.2em;
  font-size: 1.1em;
  border-bottom: 1px solid #48795F;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 599px) {
  .checkBoxWrap ul.checkList li {
    font-size: 1em;
  }
}
.checkBoxWrap ul.checkList li::before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(/wp-content/uploads/2023/11/icon_check.png) no-repeat;
  background-size: cover;
  width: 28px;
  height: 24px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 599px) {
  .checkBoxWrap ul.checkList li::before {
    width: 22px;
    height: 18px;
  }
}
.checkBoxWrap .btmBox {
  margin: 1em 1em 0;
}
/* pointBox（左上に装飾があるbox）
------------------------------------------ */
.pointBoxWrap {
  position: relative;
  max-width: 900px;
  margin: 0 auto 5em;
  padding: 2em 3em;
  border: 12px solid #E2EFE2;
}
@media screen and (max-width: 599px) {
  .pointBoxWrap {
    padding: 2em 1.2em;
  }
}
.pointBoxWrap::before {
  content: "";
  position: absolute;
  background: url(/wp-content/uploads/2023/11/gradation_triangle.png) no-repeat;
  background-size: cover;
  width: 80px;
  height: 80px;
  top: -12px;
  left: -12px;
}
.pointBoxWrap .grid2_1 {
  grid-template-columns: 1fr 40%;
}
@media screen and (max-width: 599px) {
  .pointBoxWrap .grid2_1 {
    grid-template-columns: 1fr !important;
  }
}
.pointBoxTitle {
  text-align: center;
  color: #48795F;
  font-size: 1.2em;
  border-bottom: 1px solid #48795F;
  padding-bottom: 0.5em;
  margin-bottom: 1.2em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  .pointBoxTitle {
    line-height: 1.6;
  }
}
.ps-scrollbar-y-rail {
  top: 0px;
  height: 180px;
  right: 0px;
  background: transparent !important;
  right: 0px !important;
  width: 4px !important;
  opacity: 1;
}
/* surpriseBox（上部のびっくりマークがあるbox）
------------------------------------------ */
.surpriseBox {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  padding: 3em 3em 2em;
  border: 8px solid #FDF1AE;
  background-color: #FFF;
}
@media screen and (max-width: 599px) {
  .surpriseBox {
    padding: 3em 1.2em 2em;
  }
}
.surpriseBox::before {
  content: "";
  position: absolute;
  background: url(/wp-content/uploads/2024/08/surprise-mark.png) no-repeat;
  background-size: cover;
  width: 75px;
  height: 75px;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 599px) {
  .surpriseBox::before {
    width: 60px;
    height: 60px;
  }
}
.surpriseBox .pointBoxTitle {
  font-size: 1.4em;
}
@media screen and (max-width: 599px) {
  .surpriseBox .pointBoxTitle {
    font-size: 1.2em;
  }
}
/* riskBox（注意事項box）
------------------------------------------ */
.riskBoxWrap {
  border: 1px solid #48795F;
  padding: 2em 4em !important;
  background: #fff;
}
@media screen and (max-width: 599px) {
  .riskBoxWrap {
    padding: 2em 1em !important;
  }
}
.riskBoxWrap .boxTitle {
  font-size: 1.2em !important;
}
.noteBox {
  background: #F2F4F3;
  padding: 2em 2em 3em;
}
.sm_pointBoxWrap {
  padding: 1em 1.4em;
  border: 8px solid #E2EDEF;
}
.sm_pointBoxWrap p:last-child {
  margin-bottom: 0;
}
/* shadowImg（写真にうす緑影）
------------------------------------------ */
.shadowImg {
  box-shadow: 12px 12px 0 #E2EFE2;
}
.shadowImg_white {
  box-shadow: 12px 12px 0 #FFF;
}
/*=================================================
　アコーディオン
===================================================*/
.article ul, .article ol {
  padding-left: 0;
}
.article ul, .article ol, .article ul li, .article ol li {
  margin: 0;
}
/* アコーディオン共通スタイル
------------------------------------------ */
/*アコーディオンタイトル*/
.btnCase {
  position: relative;
  /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  transition: all 0.3s ease;
}
/*アイコンの＋と×*/
.btnCase::before, .btnCase::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 2px;
  background-color: #FFF;
}
.btnCase::before {
  top: 48%;
  right: 15px;
  transform: rotate(0deg);
}
.btnCase::after {
  top: 48%;
  right: 15px;
  transform: rotate(90deg);
}
.btnCase.close::before {
  transform: rotate(45deg);
}
.btnCase.close::after {
  transform: rotate(-45deg);
}
.caseAccordion .box, .recruitAccordion .box {
  display: none;
  border: 1px solid #48795F;
}
/* 症例アコーディオン指定
------------------------------------------ */
.caseList dt {
  color: #48795F;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.caseList dd {
  margin-bottom: 1.4em;
}
.caseList dd:last-child {
  margin-bottom: 0;
}
.caseList dd.caseImg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
}
@media screen and (max-width: 599px) {
  .caseList dd.caseImg {
    grid-template-columns: 1fr;
  }
}
.caseAccordion {
  margin-bottom: 5em !important;
}
.caseAccordion:last-child {
  margin-bottom: 0 !important;
}
/*====================================================
　複数画像を並列に見せる（バナー）スライダースタイル
=====================================================*/
.bnrAreaWrap {
  background: #E2EFE2;
  padding: 3em 0;
}
@media screen and (max-width: 599px) {
  .bnrAreaWrap {
    padding: 1.6em 0;
  }
}
.bnrSlider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto !important;
}
.bnrSlider img {
  width: 100%;
  height: auto;
  /*スライダー内の画像を横幅100%に*/
}
.bnrSlider {
  opacity: 0;
  transition: opacity 0.3s linear;
}
.bnrSlider.slick-initialized {
  opacity: 1;
}
.bnrSlider .slick-slide {
  margin: 0 10px;
}
.bnrSlider .slickPrev, .bnrSlider .slickNext {
  position: absolute;
  /*絶対配置にする*/
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #92bbaf;
  /*矢印の色*/
  border-right: 2px solid #92bbaf;
  /*矢印の色*/
  height: 15px;
  width: 15px;
}
.bnrSlider .slickPrev {
  left: -3%;
  transform: rotate(-135deg);
}
.bnrSlider .slickNext {
  right: -3%;
  transform: rotate(45deg);
}
.bnrSlider .slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
  bottom: -40px;
}
.bnrSlider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}
.bnrSlider .slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  height: 8px;
  /*ドットボタンのサイズ*/
  display: block;
  /*ドットボタンのサイズ*/
  border-radius: 50%;
  background: #E2EFE2;
  /*ドットボタンの色*/
}
.bnrSlider .slick-dots .slick-active button {
  background: #48795F;
  /*ドットボタンの現在地表示の色*/
}
/*====================================================
　流れるスライダースタイル
=====================================================*/
.flowSliderWrap.wideBg {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.flowSliderWrap .sliderBox {
  opacity: 0;
  transition: opacity 0.3s linear;
}
.flowSliderWrap .sliderBox.slick-initialized {
  opacity: 1;
}
.flowSliderWrap .sliderBox img {
  width: 100%;
  /*スライダー内の画像を横幅100%に*/
  height: auto;
}
.flowSliderWrap .sliderBox .slick-slide {
  margin: 0 10px;
  /*スライド左右の余白調整*/
}
/*====================================================
　フェードインスタイル
=====================================================*/
.fade {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transition: 0.8s;
}
.fade-in {
  transform: translate(0, 60px);
}
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}
/*====================================================
　カレンダーinfo
=====================================================*/
.calendarBox {
  border: 1px solid #48795F;
  padding: 20px;
  background: #FFF;
}
.calendarBox .xo-event-calendar table.xo-month, .calendarBox .xo-event-calendar table.xo-month th, .calendarBox .xo-event-calendar table.xo-month td {
  border: none !important;
}
.calendarBox .xo-event-calendar table.xo-month .calendar-caption {
  font-size: 1.2em;
}
.calendarBox .xo-event-calendar table.xo-month .month-week table {
  border: 0;
  margin: 0;
  padding: 0;
}
.calendarBox .xo-event-calendar table.xo-month .month-dayname td div {
  padding: 0;
  text-align: center;
  font-size: 1em;
  line-height: 2.6;
}
@media screen and (max-width: 599px) {
  .calendarBox .xo-event-calendar table.xo-month .month-dayname td div {
    font-size: 1.2em;
  }
}
.calendarBox .xo-event-calendar table.xo-month .month-dayname td div table.xo-month .month-week {
  line-height: 2.6;
}
.calendarBox .xo-event-calendar table.xo-month .month-dayname-space {
  height: 2.6em;
  line-height: 2.6;
}
.calendarBox .xo-event-calendar table.xo-month .month-event-space {
  height: 0;
}
.calendarBox .xo-event-calendar table.xo-month > thead th {
  background: #F2F4F3 !important;
}
.calendarBox .xo-event-calendar .today {
  color: #48795F !important;
}
.calendarBox .holiday-all {
  color: #FFF;
}
.calendarBox .holiday-titles {
  margin-top: 20px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.6em;
  display: -webkit-flex;
  display: flex;
}
.calendarBox .holiday-titles p {
  margin: 0 1em 0 0 !important;
  position: relative;
  padding: 0 0 0 3em !important;
  font-size: 0.8em;
}
.calendarBox .holiday-titles p span {
  border: none !important;
  display: block;
  width: 2em;
  height: 1.2em;
  position: absolute;
  left: 0;
  top: 0.2em;
  padding: 0 !important;
  margin: 0 !important;
}
/*==================================================
　トップページ
===================================================*/
/* TOP_ニュース
------------------------------------------ */
.top_newsWrap {
  width: 86%;
  min-height: 160px;
  margin: -80px auto 0;
  padding: 2em 4em;
  background-color: #FFF;
}
@media screen and (max-width: 959px) {
  .top_newsWrap {
    width: 100%;
    margin-top: 0;
    padding: 2em 0;
  }
}
.top_newsWrap .top_newsInner {
  width: 100%;
}
.top_newsWrap .top_newsInner .newsInfoList {
  margin-bottom: 0.8em !important;
  font-size: 0.9em;
  border-bottom: 1px solid #909090;
  padding-bottom: 0.8em;
}
.top_newsWrap .top_newsInner .newsInfoList.flex {
  justify-content: flex-start;
}
@media screen and (max-width: 599px) {
  .top_newsWrap .top_newsInner .newsInfoList {
    border: none;
    padding-bottom: 0;
  }
}
.top_newsWrap .top_newsInner .newsInfoList .newsInfoListDay {
  font-weight: 700;
  margin-right: 1.6em;
}
@media screen and (max-width: 599px) {
  .top_newsWrap .top_newsInner .newsInfoList .newsInfoListTitle {
    margin-left: 0;
  }
}
.moreBtn {
  margin-top: 1em;
  text-align: right;
}
.moreBtn a {
  font-size: 0.9em;
  display: inline-flex;
  align-items: center;
}
.moreBtn a .circleBtn {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #48795F;
  border-radius: 50%;
  margin-left: 1em;
}
.moreBtn a .circleBtn::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 15px;
  width: 20px;
  height: 6px;
  border-bottom: solid 1px #FFF;
  border-right: solid 1px #FFF;
  transform: skew(45deg);
}
/* TOP_インフォメーション
------------------------------------------ */
.top_infoWrap {
  background-color: #F2F4F3;
}
.top_infoWrap .grid2_1 {
  gap: 3em;
}
@media screen and (max-width: 599px) {
  .top_infoWrap .grid2_1 {
    gap: 0;
  }
}
/* TOP_専門誌に掲載されました
------------------------------------------ */
.top_featuredNoticeWrap .checkBoxWrap h2.secTitle {
  margin-bottom: 1.2em !important;
}
.top_featuredNoticeWrap .checkBoxWrap .grid2_1 {
  grid-template-columns: 220px 1fr;
}
@media screen and (max-width: 599px) {
  .top_featuredNoticeWrap .checkBoxWrap .grid2_1 {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 599px) {
  .top_featuredNoticeWrap .checkBoxWrap .grid2_1 .imgBox {
    max-width: 180px;
    margin: 0 auto;
  }
}
.top_featuredNoticeWrap .checkBoxWrap .grid2_1 .textBox .boderTitle {
  color: #3C3E3D;
  text-align: center;
}
/* TOP_リード文（あいさつ）
------------------------------------------ */
.top_leadWrap {
  padding-top: 6em;
}
@media screen and (max-width: 599px) {
  .top_leadWrap {
    padding-top: 4em;
  }
}
@media screen and (max-width: 599px) {
  .top_leadWrap h2.secTitle {
    margin-bottom: 1.4em !important;
  }
}
.recommendWrap {
  padding: 3em 0;
}
/* TOP_治療の特徴
------------------------------------------ */
.top_featureWrap h2.secTitle {
  margin-bottom: 3em !important;
}
.top_featureWrap .blockWrap {
  margin-bottom: 140px;
}
@media screen and (max-width: 599px) {
  .top_featureWrap .blockWrap {
    margin-bottom: 100px;
  }
}
.top_featureWrap .blockWrap .blockItem {
  margin-top: 100px;
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .top_featureWrap .blockWrap .blockItem {
    margin-top: 70px;
  }
}
.top_featureWrap .blockWrap .blockItem h4.itemTitle {
  border: none;
  padding: 0;
}
@media screen and (max-width: 599px) {
  .top_featureWrap .blockWrap .blockItem h4.itemTitle {
    margin-bottom: 1.4em;
  }
}
.top_featureWrap .top_feature_01 .blockItem_02 {
  margin-bottom: 3em !important;
}
.top_featureWrap .top_feature_01 .blockItem_02 .icon {
  max-width: 260px;
}
@media screen and (max-width: 599px) {
  .top_featureWrap .top_feature_01 .blockItem_02 .icon {
    margin: 0 auto;
  }
}
/* TOP_自費診療のおすすめ
------------------------------------------ */
.recommendTestWrap {
  background: linear-gradient(rgba(226, 239, 226, 0.3), rgba(251, 251, 217, 0.3));
}
@media screen and (max-width: 599px) {
  .recommendTestWrap .recommendTitle {
    margin-bottom: 120px;
  }
}
.recommendTestWrap .recommendContents {
  position: relative;
}
.recommendTestWrap .recommendMessage {
  width: 52%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 959px) {
  .recommendTestWrap .recommendMessage {
    width: 65%;
  }
}
@media screen and (max-width: 599px) {
  .recommendTestWrap .recommendMessage {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .recommendTestWrap .recommendMessage .leadText {
    max-width: 90%;
    margin-bottom: -1em;
  }
}
.recommendTestWrap .recommendMessage .textBox {
  box-shadow: 4px 4px 6px rgba(226, 239, 226, 0.3);
  background: #FFF;
  padding: 3em 2.4em;
}
@media screen and (max-width: 599px) {
  .recommendTestWrap .recommendMessage .textBox {
    padding: 2em 1.4em;
  }
}
.recommendTestWrap .bgImgBox {
  position: absolute;
  right: 0;
  top: 100px;
  width: 65%;
  height: 540px;
  background: url(https://green-shika.info/wp-content/uploads/2024/01/recommend_bg.jpg) no-repeat center/cover;
}
@media screen and (max-width: 599px) {
  .recommendTestWrap .bgImgBox {
    top: -100px;
    width: 85%;
    height: 240px;
  }
}
/*------　TOP_case -------*/
.caseWrap {
  counter-reset: ttl-number;
}
.caseWrap .caseListTitle {
  counter-increment: ttl-number 1;
  padding: 0;
  margin-bottom: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1em;
  font-size: 1.6em;
}
.caseWrap .caseListTitle::before, .caseWrap .caseListTitle::after {
  content: "";
  flex-grow: 1;
  border-top: 1px dotted #48795F;
}
.caseWrap .caseListTitle::before {
  margin-right: 2em;
}
.caseWrap .caseListTitle::after {
  margin-left: 2em;
}
@media screen and (max-width: 599px) {
  .caseWrap .caseListTitle {
    font-size: 1.2em;
  }
  .caseWrap .caseListTitle::before {
    margin-right: 1.2em;
  }
  .caseWrap .caseListTitle::after {
    margin-left: 1.2em;
  }
}
.caseWrap .caseListTitle span {
  color: #48795F;
  display: block;
  text-align: center;
}
.caseWrap .caseListTitle span::before {
  content: "Case 0" counter(ttl-number);
  display: block;
  font-weight: normal;
  font-size: 0.8em;
  letter-spacing: normal;
  margin-bottom: 0.5em;
}
.caseWrap .imgItem {
  margin-bottom: 2em;
}
@media screen and (max-width: 599px) {
  .caseWrap .imgItem {
    width: 100%;
  }
}
.caseWrap .box {
  border: 1px solid #48795F;
}
.caseWrap .caseList {
  max-width: 680px;
  margin: 0 auto;
  padding: 2em 1.4em !important;
}
.caseWrap .recruitAccordion {
  margin-bottom: 5em;
}
@media screen and (max-width: 599px) {
  .caseWrap .recruitAccordion {
    margin-bottom: 3em;
  }
}
.caseWrap .recruitAccordion:last-child {
  margin-bottom: 0;
}
/* TOP_診療案内
------------------------------------------ */
.top_serviceWrap {
  background: #E2EFE2;
}
.top_serviceWrap a {
  color: inherit;
}
.top_serviceWrap ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1em;
}
@media screen and (max-width: 599px) {
  .top_serviceWrap ul {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
}
.top_serviceWrap ul li {
  background: #FFF;
}
.top_serviceWrap ul li a {
  position: relative;
  background: #FFF;
  display: grid;
  place-items: center;
  min-height: 300px;
  padding: 1.4em 0.5em;
}
.top_serviceWrap ul li a:before {
  content: "";
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  border-top: 2.5em solid transparent;
  border-right: 2.5em solid #48795F;
}
@media screen and (max-width: 599px) {
  .top_serviceWrap ul li a:before {
    border-top: 1.5em solid transparent;
    border-right: 1.5em solid #48795F;
  }
}
@media screen and (max-width: 599px) {
  .top_serviceWrap ul li a {
    min-height: 200px;
  }
}
.top_serviceWrap ul li a p {
  text-align: center;
  margin-bottom: 0;
  margin-top: -25px;
}
@media screen and (max-width: 599px) {
  .top_serviceWrap ul li a p {
    font-size: 0.8em;
    margin-top: 0;
  }
}
.top_serviceWrap .top_caseBnrWrap {
  max-width: 680px;
  margin: 5em auto 0;
}
@media screen and (max-width: 599px) {
  .top_serviceWrap .top_caseBnrWrap {
    margin-top: 2em;
  }
}
/* TOP_ブログ
------------------------------------------ */
/*------　ログ全体レイアウト -------*/
.irebaBlogWrap, .top_blogWrap {
  background: #F2F4F3;
}
.irebaBlogWrap .tabInner, .top_blogWrap .tabInner {
  background: #FFF;
  padding: 3em 3em 2em;
}
@media screen and (max-width: 599px) {
  .irebaBlogWrap .tabInner, .top_blogWrap .tabInner {
    padding: 2em 1em;
  }
}
.irebaBlogWrap .tabInner .blogList, .top_blogWrap .tabInner .blogList {
  grid-template-columns: 150px 1fr;
  gap: 2em;
  margin-bottom: 3em;
}
@media screen and (max-width: 599px) {
  .irebaBlogWrap .tabInner .blogList, .top_blogWrap .tabInner .blogList {
    grid-template-columns: 100px 1fr;
    gap: 2em 1em;
  }
}
.irebaBlogWrap .tabInner .blogList .thumbnailArea, .top_blogWrap .tabInner .blogList .thumbnailArea {
  display: inline-flex;
  justify-content: center;
}
.irebaBlogWrap .tabInner .blogList .thumbnailArea img, .top_blogWrap .tabInner .blogList .thumbnailArea img {
  width: 150px;
  height: 150px;
  object-fit: cover;
}
@media screen and (max-width: 599px) {
  .irebaBlogWrap .tabInner .blogList .thumbnailArea img, .top_blogWrap .tabInner .blogList .thumbnailArea img {
    width: 100px;
    height: 100px;
  }
}
/*------　タブリスト -------*/
ul.tabList {
  display: flex;
  flex-wrap: wrap;
}
ul.tabList li.tabItem {
  width: 25%;
}
@media screen and (max-width: 959px) {
  ul.tabList li.tabItem {
    width: 50%;
  }
}
ul.tabList li.tabItem a {
  display: block;
  text-align: center;
  background: #EAEAEA;
  color: inherit;
  padding: 15px 10px;
}
@media screen and (max-width: 599px) {
  ul.tabList li.tabItem a {
    font-size: 0.9em;
  }
}
ul.tabList li.tabItem a:hover {
  opacity: 1;
}
ul.tabList li.tabItem.active a {
  background: #FFF;
}
/*------　タブエリア -------*/
.area {
  display: none;
  opacity: 0;
}
.area.is-active {
  display: block;
  animation-name: displayAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.titleArea .title {
  text-align: justify;
  line-height: 1.6;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 599px) {
  .titleArea .title {
    font-size: 0.9em;
  }
}
.titleArea .day {
  font-size: 0.9em;
  margin-bottom: 0.5em;
  font-weight: 700;
}
.titleArea .cat span {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.titleArea .cat a {
  display: inline-block;
  border-radius: 3px;
  font-size: 12px;
  background-color: #E2EFE2;
  padding: 2px 6px;
}
/* TOP_footインフォ
------------------------------------------ */
.top_footInfoWrap .blockWrap {
  margin-bottom: 3em;
}
.top_footInfoWrap .infoCalendar .calendars.xo-months {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3em;
}
@media screen and (max-width: 599px) {
  .top_footInfoWrap .infoCalendar .calendars.xo-months {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.top_footInfoWrap .infoDetail.grid2_1 {
  gap: 3em;
}
.top_footInfoWrap .infoDetail .btnDefault a {
  margin-right: auto;
  margin-left: 0;
}
@media screen and (max-width: 599px) {
  .top_footInfoWrap .infoDetail .btnDefault a {
    margin: 0 auto;
  }
}
/*================================
下層ページ　共通レイアウト
=================================*/
.readContentWrap .inner {
  max-width: 680px;
  margin: 0 auto;
}
/* バンドタイトル
------------------------------------------ */
.bandWrap {
  min-height: 160px;
  display: grid;
  place-items: center;
  margin-bottom: 0;
  padding: 2em;
}
.bandWrap picture {
  max-width: 680px;
  margin: 0 auto;
}
.bandWrap p {
  text-align: center;
  font-size: 1.6em;
  padding: 1.6em;
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .bandWrap p {
    font-size: 1.2em;
    padding: 1.2em 1em;
  }
}
.bandWrap.band_01 {
  background: #48795F;
}
.bandWrap.band_02 {
  background: #E2EFE2;
}
.bandWrap.band_03 {
  background: #E2EDEF;
}
/* よくある質問共通
------------------------------------------ */
.lower_faqyWrap {
  background-color: #F2F4F3;
}
.wpsm_panel {
  border-radius: 0 !important;
}
h4.wpsm_panel-title {
  border: none !important;
  text-align: left !important;
  padding: 0 !important;
}
.wpsm_panel + .wpsm_panel {
  margin-top: 10px !important;
}
.page #lower_faq .wpsm_panel-default {
  border: 1px solid #48795F !important;
}
.page #lower_faq .wpsm_panel-default .ac_title_class {
  line-height: 1.6;
}
.page #lower_faq .wpsm_panel-body {
  width: 95%;
  margin: 0 auto;
  border-top: 1px solid #48795F !important;
}
@media screen and (max-width: 599px) {
  .page #lower_faq .wpsm_panel-body {
    width: 90%;
    padding-left: 0;
    padding-right: 0;
  }
}
/* 治療の流れ（フロー）共通
------------------------------------------ */
.lower_flowWrap .grid2_1 {
  grid-template-columns: 1fr 300px;
}
@media screen and (max-width: 959px) {
  .lower_flowWrap .grid2_1 {
    grid-template-columns: 1fr 280px;
  }
}
@media screen and (max-width: 599px) {
  .lower_flowWrap .grid2_1 {
    grid-template-columns: 1fr;
  }
}
.lower_flowWrap .flowChartItem {
  background-color: #F2F4F3;
  padding: 2em 3em;
  margin-bottom: 4em;
  position: relative;
}
@media screen and (max-width: 599px) {
  .lower_flowWrap .flowChartItem {
    padding: 2em 1em;
  }
}
.lower_flowWrap .flowChartItem::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  bottom: -45px;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #48795F transparent transparent transparent;
}
.lower_flowWrap .flowChartItem:last-child::before {
  display: none;
}
@media screen and (max-width: 599px) {
  .lower_flowWrap .imgItem {
    width: 90%;
    margin: 0 auto;
  }
}
/* 虫歯・歯周病フロー共通
------------------------------------------ */
/*------ PC4つ並び／SP２つ並び -------*/
.flowLayout_4 {
  display: flex;
  justify-content: space-around;
}
@media screen and (max-width: 599px) {
  .flowLayout_4 {
    display: block;
  }
}
.flowLayout_4 li {
  width: 19%;
}
@media screen and (max-width: 599px) {
  .flowLayout_4 li {
    width: 100%;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 599px) {
  .flowLayout_4 li .iconImage {
    width: 120px;
    margin: 0;
    margin-right: 2em;
    line-height: 0;
  }
}
.flowLayout_4 li:nth-child(even) {
  width: 2%;
  padding-top: 6.5%;
}
@media screen and (max-width: 599px) {
  .flowLayout_4 li:nth-child(even) {
    display: block;
    width: 6% !important;
    padding-top: 1em;
    margin: 0 auto;
  }
}
.flowLayout_4 li:nth-child(even) img {
  transform: rotate(-90deg);
}
@media screen and (max-width: 599px) {
  .flowLayout_4 li:nth-child(even) img {
    transform: rotate(0deg);
  }
}
@media screen and (max-width: 599px) {
  .flowLayout_4 li .textBox {
    width: 60%;
  }
}
/*------ PC2つ並び／SP1つ並び -------*/
.flowLayout_2 li {
  margin-bottom: 1em !important;
}
.flowLayout_2 li:last-child {
  margin-bottom: 0 !important;
}
.flowLayout_2 li dl dt {
  font-weight: 700;
  margin-bottom: 0.5em;
  color: #48795F;
}
.flowLayout_2 li dl dd {
  margin-bottom: 1.6em;
}
.flowLayout_2 .grid2_1 {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 3em;
}
@media screen and (max-width: 599px) {
  .flowLayout_2 .grid2_1 {
    grid-template-columns: 1fr !important;
    gap: 1em;
  }
}
/* 料金表3列（2列）
------------------------------------------ */
.priceWrap p.note {
  text-align: right;
}
.priceWrap .blockWrap:last-of-type {
  margin-bottom: 1em !important;
}
.priceWrap .blockWrap .subBgTitle {
  margin-bottom: 0 !important;
}
.priceWrap .blockWrap > dl {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 1.6em 0;
  border-bottom: 1px solid #48795F;
}
.priceWrap .blockWrap > dl:first-child {
  padding-top: 0 !important;
}
.priceWrap .blockWrap > dl:last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 599px) {
  .priceWrap .blockWrap > dl {
    display: block;
  }
}
.priceWrap .blockWrap > dl > dd {
  width: 65%;
}
@media screen and (max-width: 599px) {
  .priceWrap .blockWrap > dl > dd {
    width: 100%;
    margin-bottom: 1em;
  }
}
.priceWrap .blockWrap > dl > dd dl.text dt {
  font-size: 1.2em;
  font-weight: 700;
}
.priceWrap .blockWrap > dl > dd dl.text dt::before {
  content: "■";
  color: #48795F;
  margin-right: 0.3em;
  display: inline-block;
}
.priceWrap .blockWrap > dl > dd.priceBox {
  width: 30%;
  padding: 10px;
  background: #F2F4F3;
  color: #48795F;
  font-size: 1.2em;
  font-weight: 700;
  min-height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .priceWrap .blockWrap > dl > dd.priceBox {
    width: 90%;
    margin: 0 auto !important;
    min-height: 65px;
  }
}
/* 比較表共通
------------------------------------------ */
.comparisonChartWrap .chartList.grid2_1 {
  gap: 1em;
}
.comparisonChartWrap .chartList.grid3_1 {
  gap: 1em;
}
.comparisonChartWrap .chartListTitle {
  background-color: #949695;
  color: #FFF;
  text-align: center;
  margin-bottom: 0;
  letter-spacing: 0.1em;
}
.comparisonChartWrap .chartListTitle.pointTitle {
  background-color: #48795F;
}
.comparisonChartWrap .chartTable dl {
  border-top: 5px solid #FFF;
  display: flex;
  flex-wrap: nowrap;
}
.comparisonChartWrap .chartTable dt {
  background-color: #E2EFE2 !important;
  color: #48795F;
  width: 25%;
  font-size: 0.9em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 0.5em;
}
@media screen and (max-width: 959px) {
  .comparisonChartWrap .chartTable dt {
    width: 15%;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 599px) {
  .comparisonChartWrap .chartTable dt {
    width: 15%;
  }
}
.comparisonChartWrap .chartTable dd {
  background-color: #F2F4F3 !important;
  width: 75%;
  padding: 1em;
}
@media screen and (max-width: 959px) {
  .comparisonChartWrap .chartTable dd {
    width: 85%;
  }
}
.comparisonChartWrap .chartTable dd .imgItem {
  width: 90%;
  max-width: 240px;
  margin: 0 auto;
}
.comparisonChartWrap .chartTable dd > p {
  margin-bottom: 0;
  text-align: justify;
}
.comparisonChartWrap .chartTable dd ul li::before {
  content: "・";
}
[class^="chartBlock_"] {
  display: grid;
}
/* テーブル共通（採用情報・アクセス）
------------------------------------------ */
.baseTable tr {
  border-bottom: 1px solid #E2EFE2;
}
.baseTable th, .baseTable td {
  border: none !important;
  font-size: 1em;
  padding: 25px 20px;
}
@media screen and (max-width: 599px) {
  .baseTable th, .baseTable td {
    font-size: 0.9em;
    padding: 20px 10px;
  }
}
.baseTable th {
  width: 20%;
  vertical-align: top;
  text-align: left;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 599px) {
  .baseTable th {
    width: 25%;
  }
}
.baseTable td {
  padding-right: 0;
}
/* 外部リンクアイコン
------------------------------------------ */
.extLink a::after {
  content: "";
  font-family: "FontAwesome";
  font-weight: 900;
  margin-left: 8px;
}
/*------ センターテキストー-------*/
.centerText p {
  text-align: center;
}
@media screen and (max-width: 599px) {
  .centerText p {
    text-align: justify;
  }
}
.payIcon {
  max-width: 400px;
  margin: 2em auto;
}
.payWrap .checkBoxWrap {
  max-width: 880px;
  margin: 0 auto 3em;
}
.payWrap .checkBoxWrap::before {
  display: none;
}
.payWrap .extLink {
  text-align: right;
}
.payWrap .extLink span {
  display: block;
}
.borderBox_gr {
  max-width: 880px;
  margin: 0 auto;
}
.borderBox_gr .border_grTitle {
  background-color: #ddd;
  letter-spacing: 0.1em;
  font-size: 1.2em;
  text-align: center;
  padding: 0.8em;
  font-weight: 700;
}
.borderBox_gr .textBox {
  padding: 2em;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 599px) {
  .borderBox_gr .textBox {
    padding: 2em 1.2em;
  }
}
/*===========================================
　下層ページ　個別レイアウト
============================================*/
/* 施設基準
------------------------------------------ */
.shisetsukijunWrap h3.subBgTitle {
  font-size: 1em !important;
  padding: 0.8em 1em !important;
  text-align: left;
}
.shisetsukijunWrap h4.itemTitle {
  font-size: 1em;
  margin-bottom: 2em;
}
.shisetsukijunWrap dl dt {
  font-weight: 700;
  position: relative;
  padding-left: 30px;
  margin-bottom: 1em;
}
.shisetsukijunWrap dl dt::before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(/wp-content/uploads/2023/11/icon_check.png) no-repeat;
  background-size: cover;
  width: 22px;
  height: 18px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.shisetsukijunWrap dl dd:not(:last-child) {
  margin-bottom: 2em;
}
/* はじめての方へ
------------------------------------------ */
.first_featureWrap .subBgTitle {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 1em !important;
}
.first_garreryWrap ul li .itemImg {
  margin-bottom: 0.5em;
  line-height: 0;
}
@media screen and (max-width: 599px) {
  .first_garreryWrap ul li p {
    text-align: center;
  }
}
.first_garreryWrap .viewBox iframe {
  display: block;
  margin: 0 auto 2em;
}
/* 顎関節・審美
------------------------------------------ */
.tmj-beauty_flowWrap .flowChartList {
  gap: 3em;
}
.tmj-beauty_aboutWrap .blockWrap .bgBox {
  background-color: #F2F4F3;
  padding: 2em;
}
@media screen and (max-width: 599px) {
  .tmj-beauty_aboutWrap .blockWrap .bgBox {
    padding: 1.4em;
  }
}
.tmj-beauty_aboutWrap .blockWrap .bgBox.textBox p:first-child {
  border-bottom: 1px dotted #707070;
  padding-bottom: 1em;
}
.tmj-beauty_aboutWrap .blockWrap ul.grid2_1 {
  gap: 0;
}
@media screen and (max-width: 599px) {
  .tmj-beauty_aboutWrap .blockWrap ul.grid2_1 {
    gap: 1em;
  }
}
.tmj-beauty_konponWrap .bandWrap {
  margin-bottom: 3em !important;
}
@media screen and (max-width: 599px) {
  .tmj-beauty_konponWrap .bandWrap {
    margin-bottom: 2em !important;
  }
}
.tmj-beauty_professionalWrap {
  background: #F2F4F3;
}
.tmj-beauty_recommend {
  padding-bottom: 8em;
}
@media screen and (max-width: 599px) {
  .tmj-beauty_recommend {
    padding-bottom: 5em;
  }
}
/* プロフェッショナル・スタッフ
------------------------------------------ */
.professional_flowWrap .flowChartList {
  gap: 3em;
}
.professional_flowWrap .flowChartList .sm_pointBoxWrap dt {
  color: #48795F;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.greetingWrap.grid2_1 {
  grid-template-columns: 1fr 400px;
}
@media screen and (max-width: 959px) {
  .greetingWrap.grid2_1 {
    grid-template-columns: 1fr 340px;
  }
}
@media screen and (max-width: 599px) {
  .greetingWrap.grid2_1 {
    grid-template-columns: 1fr;
  }
}
.professional_memberWrap .blockWrap .blockItem {
  margin-bottom: 5em;
}
@media screen and (max-width: 599px) {
  .professional_memberWrap .blockWrap .blockItem {
    gap: 3em;
  }
}
/*------ プロフェッショナル_略歴ー-------*/
.profileWrap {
  background: #F2F4F3;
  width: 100%;
  padding: 30px 5%;
}
.profileWrap .plofStyle {
  margin-bottom: 30px !important;
}
.profileWrap .plofStyle:last-child {
  margin-bottom: 0 !important;
}
.profileWrap .plofStyle dt {
  margin-bottom: 0.5em;
  font-size: 1.1em;
  color: #48795F;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 599px) {
  .profileWrap .plofStyle dt {
    font-size: 1em;
  }
}
.profileWrap .plofStyle dd {
  border-left: 1px solid #48795F;
  padding-left: 1em;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 599px) {
  .profileWrap .plofStyle dd {
    line-height: 1.6;
  }
}
.profileWrap .plofStyle dd a {
  color: #444;
}
.profileWrap .plofStyle dd a::after {
  content: "";
  font-family: "FontAwesome";
  font-weight: 900;
  margin-left: 8px;
}
.profileWrap .plofStyle dd ul li {
  padding-left: 1em;
  position: relative;
  margin-bottom: 0.5em;
}
.profileWrap .plofStyle dd ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
/*------ ドクター写真 ー-------*/
@media screen and (max-width: 599px) {
  .doctorImg {
    margin-right: 10%;
  }
}
/* 虫歯・歯周病
------------------------------------------ */
.mushiba_pointBox dl dt, .shisyubyo_checkBox dl dt {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.mushiba_flow .iconImage {
  max-width: 160px;
  margin: 0 auto;
}
.treatment_flow .iconImage, .shisyubyo_flow .iconImage {
  max-width: 200px;
  margin: 0 auto;
}
.shisyubyo_kensa h4 {
  font-size: 1.1em;
}
.shisyubyo_kensa .iconImage {
  max-width: 120px;
  line-height: 0;
  margin: 0 auto 1em;
}
@media screen and (max-width: 599px) {
  .shisyubyo_kensa .iconImage {
    max-width: 160px;
  }
}
.shisyubyo_checkBox .boxTitle {
  border-top: 1px solid #48795F;
  border-bottom: 1px solid #48795F;
  padding: 0.5em 1em;
}
.konkanFlow {
  padding: 2em;
}
@media screen and (max-width: 599px) {
  .konkanFlow {
    padding: 2em 1.2em;
  }
}
.konkanFlow .subTitle {
  border-bottom: 1px solid #ddd !important;
  padding-bottom: 0.5em !important;
  text-align: center;
  margin-bottom: 2em;
}
.konkanFlow ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em 3em;
}
@media screen and (max-width: 959px) {
  .konkanFlow ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .konkanFlow ul {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.konkanFlow ul li {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 599px) {
  .konkanFlow ul li {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .konkanFlow ul li .iconImage {
    max-width: 150px;
    margin: 0 auto;
  }
}
.konkanFlow ul li:nth-child(even) {
  display: none;
}
@media screen and (max-width: 599px) {
  .konkanFlow ul li:nth-child(even) {
    display: block;
    width: 6% !important;
    padding-top: 0.5em;
    margin: 0 auto 0.5em !important;
  }
}
.konkanFlow ul li dl dt {
  font-weight: 700;
  color: #48795F;
}
.shisyubyo_kensa {
  margin-bottom: 5em;
}
.shisyubyo_kensa ul.grid3_1 {
  gap: 1em;
}
.shisyubyo_kensa ul.grid3_1 li {
  border: 6px solid #E2EDEF !important;
  padding: 2em 1.4em !important;
}
.shisyubyo_kensa ul.grid3_1 li .tetxBox p {
  margin-bottom: 0;
}
.general.pointBoxWrap {
  margin-bottom: 0;
}
/* インプラント
------------------------------------------ */
@media screen and (max-width: 599px) {
  .implant_promiseWrap .grid2_1 {
    gap: 1em;
  }
}
@media screen and (max-width: 599px) {
  .implant_promiseWrap .imgItem {
    width: 90%;
    margin: 0 auto;
  }
}
.implant_chartWrap .grid3_1 {
  gap: 1em;
}
/* 矯正歯科
------------------------------------------ */
.orthodontics_onayamiWrap {
  background: #F2F4F3;
  padding: 3em;
}
@media screen and (max-width: 599px) {
  .orthodontics_onayamiWrap {
    padding: 2em 1em;
  }
}
.orthodontics_onayamiWrap ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1em;
}
@media screen and (max-width: 959px) {
  .orthodontics_onayamiWrap ul {
    width: 85%;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .orthodontics_onayamiWrap ul {
    width: 100%;
  }
}
.orthodontics_onayamiWrap ul p {
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 599px) {
  .orthodontics_onayamiWrap ul p {
    font-size: 0.8em;
  }
}
.orthodontics_childWrap .menuList .imgItem, .orthodontics_adultWrap .menuList .imgItem {
  width: 90%;
  margin: 0 auto 1em;
}
/* セラミック
------------------------------------------ */
/*
.ireba_caseWrap,
.ceramic_caseWrap {
	.caseList {
		background-color: $bg-light-green;
		padding: 1.4em !important;

		dt {
			margin-bottom: 0;
		}
	}
}
*/
.ceramic_priceWrap .priceBox.ask {
  color: #F09A0C !important;
}
/* 入れ歯
------------------------------------------ */
.ireba_causeWrap {
  background-color: #E2EFE2;
}
.ireba_causeWrap .blockWrap {
  background: #FFF;
  padding: 3em;
}
@media screen and (max-width: 599px) {
  .ireba_causeWrap .blockWrap {
    padding: 2em 1em;
  }
}
.ireba_causeWrap .blockWrap .blockItem {
  margin-bottom: 3em;
}
.ireba_causeWrap .blockWrap .blockItem:last-child {
  margin-bottom: 0;
}
.ireba_causeWrap .blockWrap .blockItem .subBgTitle {
  place-items: center flex-start;
  background-color: #F2F4F3;
  color: #48795F;
  text-align: left !important;
  margin-bottom: 1em !important;
  font-size: 1.2em !important;
  padding: 0.8em 1em !important;
  min-height: 70px;
}
@media screen and (max-width: 599px) {
  .ireba_causeWrap .blockWrap .blockItem .subBgTitle {
    font-size: 1.1em !important;
  }
}
.ireba_causeWrap .blockWrap .blockItem .textBox {
  padding: 0 0.5em;
}
.lowerPostWrap {
  background-color: #F2F4F3;
  padding: 3em 0;
}
.lowerPostWrap .secTitle {
  color: #48795F;
}
.ireba_worksWrap .caseListTitle span::before {
  content: "Works 0" counter(ttl-number);
}
.ireba_chart01 .grid2_1 {
  gap: 0;
}
.ireba_chart01 .ownIrebaBox, .ireba_chart01 .insIrebaBox {
  padding: 2em;
}
@media screen and (max-width: 599px) {
  .ireba_chart01 .ownIrebaBox, .ireba_chart01 .insIrebaBox {
    padding: 2em 1.4em;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
.ireba_chart01 .ownIrebaBox h3, .ireba_chart01 .insIrebaBox h3 {
  padding: 0;
}
.ireba_chart01 .ownIrebaBox ul, .ireba_chart01 .insIrebaBox ul {
  background: #FFF;
  padding: 1.4em;
}
@media screen and (max-width: 599px) {
  .ireba_chart01 .ownIrebaBox ul, .ireba_chart01 .insIrebaBox ul {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.ireba_chart01 .ownIrebaBox ul li, .ireba_chart01 .insIrebaBox ul li {
  padding-bottom: 0.5em;
  font-size: 1.1em;
}
@media screen and (max-width: 599px) {
  .ireba_chart01 .ownIrebaBox ul li, .ireba_chart01 .insIrebaBox ul li {
    font-size: 1em;
  }
}
.ireba_chart01 .ownIrebaBox ul li:last-child, .ireba_chart01 .insIrebaBox ul li:last-child {
  padding-bottom: 0;
}
.ireba_chart01 .ownIrebaBox ul li:before, .ireba_chart01 .insIrebaBox ul li:before {
  content: "・";
}
.ireba_chart01 .ownIrebaBox {
  background-color: #E2EFE2;
}
.ireba_chart01 .insIrebaBox {
  background-color: #F2F4F3;
}
/* ホワイトニング
------------------------------------------ */
.whitening_ctaWrap .pointBoxWrap {
  margin-top: 2em;
}
.whitening_chartWrap {
  background-color: #F2F4F3;
}
.whitening_chartWrap.comparisonChartWrap .chartTable dl {
  border-top: 5px solid #F2F4F3;
}
.whitening_chartWrap.comparisonChartWrap .chartTable dd {
  background-color: #FFF !important;
}
/* 予防歯科
------------------------------------------ */
.prevention_professionalWrap {
  background-color: #E2EFE2;
  margin-bottom: 5em;
}
@media screen and (max-width: 599px) {
  .prevention_professionalWrap {
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 599px) {
  .prevention_professionalWrap .secTitle {
    margin-bottom: 1em !important;
  }
}
@media screen and (max-width: 599px) {
  .prevention_careWrap .blockWrap.grid3_1 {
    gap: 2em;
  }
}
.prevention_checkBox {
  background-color: #E2EDEF;
}
/* 採用情報
------------------------------------------ */
.recruit_wantedWrap {
  max-width: 880px;
  margin: 0 auto 5em;
  padding: 2em 1.4em;
  background-color: #F2F4F3;
}
@media screen and (max-width: 599px) {
  .recruit_wantedWrap {
    margin-bottom: 3em;
  }
}
.recruit_wantedWrap .wantedTitle {
  color: #48795F;
  text-align: center;
  font-size: 1.2em;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
}
.recruit_wantedWrap p:last-child {
  margin-bottom: 0;
}
.recruit_interviewWrap ul.recruitAccordion li {
  margin-bottom: 2em;
}
.recruit_interviewWrap ul.recruitAccordion li:last-child {
  margin-bottom: 0;
}
.recruit_interviewWrap ul.recruitAccordion li:nth-child(odd) .accordionTitle {
  background-color: #FFF;
  border: 1px solid #48795F;
}
.recruit_interviewWrap ul.recruitAccordion li:nth-child(odd) .accordionTitle .titleName {
  background-color: #E2EFE2;
}
.recruit_interviewWrap ul.recruitAccordion li:nth-child(even) .accordionTitle {
  background-color: #E2EFE2;
  border: 1px solid #E2EFE2;
}
.recruit_interviewWrap ul.recruitAccordion li:nth-child(even) .accordionTitle .titleName {
  background-color: #FFF;
}
.recruit_interviewWrap ul.recruitAccordion li .accordionTitle {
  max-width: 100%;
  color: #48795F;
  padding: 25px 30px;
  display: grid;
  gap: 1.6em;
  grid-template-columns: 200px 1fr;
  align-items: center;
  text-align: left;
  margin-bottom: 0;
}
@media screen and (max-width: 599px) {
  .recruit_interviewWrap ul.recruitAccordion li .accordionTitle {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.recruit_interviewWrap ul.recruitAccordion li .accordionTitle .titleName {
  color: #48795F;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
  letter-spacing: 0.1em;
  font-size: 1.1em;
  border-radius: 50px;
  padding: 5px;
  line-height: 1.6;
}
.recruit_interviewWrap ul.recruitAccordion li .accordionTitle .titleName span {
  display: block;
  font-weight: normal;
}
@media screen and (max-width: 599px) {
  .recruit_interviewWrap ul.recruitAccordion li .accordionTitle .titleName span {
    display: inline-block;
    margin-left: 1em;
  }
}
.recruit_interviewWrap ul.recruitAccordion li .accordionTitle .leadTxt {
  margin-bottom: 0;
}
.recruit_interviewWrap ul.recruitAccordion li .accordionTitle.btnCase::before, .recruit_interviewWrap ul.recruitAccordion li .accordionTitle.btnCase::after {
  background-color: #48795F;
  right: 30px;
}
@media screen and (max-width: 599px) {
  .recruit_interviewWrap ul.recruitAccordion li .accordionTitle.btnCase::before, .recruit_interviewWrap ul.recruitAccordion li .accordionTitle.btnCase::after {
    top: inherit;
    bottom: 25px;
    right: 20px;
  }
}
.recruit_interviewWrap ul.recruitAccordion li .box {
  border: none !important;
}
.recruit_interviewWrap ul.recruitAccordion li .box .textBox {
  padding: 2em 4em;
}
@media screen and (max-width: 599px) {
  .recruit_interviewWrap ul.recruitAccordion li .box .textBox {
    padding: 2em 1em;
  }
}
@media screen and (max-width: 599px) {
  .recruit_jobDescriptionWrap .baseTable tr {
    display: flex;
    flex-wrap: wrap;
  }
  .recruit_jobDescriptionWrap .baseTable th, .recruit_jobDescriptionWrap .baseTable td {
    width: 100%;
  }
  .recruit_jobDescriptionWrap .baseTable th {
    padding: 20px 10px 5px;
  }
  .recruit_jobDescriptionWrap .baseTable td {
    padding: 0 10px 20px;
  }
}
.recruit_entryWrap {
  padding-bottom: 0;
}
.recruit_entryWrap .wpcf7-submit {
  background-color: #FFF;
  border: 2px solid #48795F;
  color: #48795F;
  font-size: 1.2em;
  padding: 20px;
  transition: 0.3s;
  border-radius: 0;
}
.recruit_entryWrap .wpcf7-submit:hover {
  color: #FFF;
  background-color: #48795F;
}
.recruit_entryWrap .wpcf7-textarea, .recruit_entryWrap .wpcf7-select, .recruit_entryWrap .wpcf7-text {
  background-color: #F2F4F3;
  border: none;
  min-height: 70px;
}
.recruit_entryWrap dl dt {
  display: flex;
  align-items: center;
  padding-bottom: 0.5em;
}
.recruit_entryWrap dl dt::before {
  content: "■";
  display: inline-block;
  padding-right: 0.2em;
  color: #48795F;
}
.recruit_entryWrap dl dt p {
  margin-bottom: 0;
}
.recruit_entryWrap dl dt p span {
  background: #48795F;
  color: #FFF;
  font-size: 0.8em;
  padding: 3px 10px;
  border-radius: 2px;
  margin-left: 0.8em;
}
.recruit_entryWrap dl dd p {
  margin-bottom: 2em;
}
/* アクセス・診療情報
------------------------------------------ */
.access_detailWrap {
  padding-top: 2em;
}
.access_mapWrap {
  background-color: #F2F4F3;
}
@media screen and (max-width: 599px) {
  .access_mapWrap .mapWrap.grid2_1 {
    gap: 3em;
  }
}
.access_mapWrap .mapWrap .gmapWrap iframe {
  width: 100%;
  aspect-ratio: 1.6;
}
.access_infoWrap {
  padding-bottom: 0;
}
@media screen and (max-width: 599px) {
  .access_infoWrap .infoDetail.grid2_1 {
    gap: 1em;
  }
}
/*==================================================
　トップへ戻るボタン
===================================================*/
#go-to-top {
  display: none !important;
}
#page-top_pc {
  display: block !important;
  max-width: 80px;
  position: fixed;
  right: 2%;
  bottom: 120px;
  z-index: 2;
  opacity: 0;
  transform: translateY(100px);
}
/*　上に上がる動き　*/
#page-top_pc.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#page-top_pc.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
.fixdBtnWrap {
  display: none;
}
/*==================================================
　投稿ページ
===================================================*/
/* アーカイブ・投稿ページ_共通
------------------------------------------ */
.archive .wrap, .single-post .wrap {
  width: 100%;
  max-width: 1400px;
}
.archive .content-in.wrap, .single-post .content-in.wrap {
  max-width: 1256px;
}
.archive .breadcrumb-home .sp, .single-post .breadcrumb-home .sp {
  display: inline;
}
.archive h3.related-entry-card-title, .single-post h3.related-entry-card-title {
  color: #48795F;
}
.cat-link {
  background-color: #E2EFE2;
  color: #48795F;
}
.tag-link, .comment-reply-link {
  background-color: #48795F;
  color: #F2F4F3;
  border: none;
}
/* 投稿ページ
------------------------------------------ */
.single-post .post h1.entry-title {
  padding: 1rem 0;
  margin: 2rem 0 1.2em;
  line-height: 1.6;
  text-align: justify;
  color: #48795F;
  border-bottom: 1px solid #48795F;
}
.single-post .post h2.wp-block-heading {
  margin: 3rem 0 1.2rem;
  background-color: #F2F4F3;
  line-height: 1.6;
  padding: 20px 25px;
  font-size: 1.2em;
  border-bottom: solid 3px #48795F;
  color: #48795F;
  display: grid;
  place-items: center flex-start;
}
@media screen and (max-width: 599px) {
  .single-post .post h2.wp-block-heading {
    padding: 15px 20px;
    min-height: 80px;
  }
}
.single-post .post h3.wp-block-heading {
  margin: 2rem 0 1rem;
  border-left: 5px solid #48795F;
  border-top: none;
  border-bottom: none;
  border-right: none;
  padding: 10px 20px;
  line-height: 1.6;
  font-size: 1.2em;
}
.single-post .post h4.wp-block-heading {
  border-top: none;
  border-bottom: 2px solid #48795F;
  color: #48795F;
  font-size: 1.1em;
  padding: 10px 15px;
}
.single-post .post h5.wp-block-heading {
  background-color: #F2F4F3;
  font-size: 1.1em;
  border-bottom: none;
  padding: 15px;
}
.single-post .post h6.wp-block-heading {
  font-size: 1em;
}
.single-post .post .entry-content p {
  text-align: justify;
}
.single-post h2.related-entry-heading {
  border-bottom: 1px solid #48795F;
  line-height: 1;
}
.single-post h2.related-entry-heading .related-entry-main-heading {
  display: inline-block;
  background-color: #48795F;
  padding: 0.5em 1em;
  color: #FFF;
  font-size: 0.8em;
  font-weight: normal;
}
/* 投稿個別display_none
------------------------------------------ */
.postid-3772 .eye-catch-wrap, .postid-3822 .eye-catch-wrap {
  display: none;
}
/* アーカイブページ
------------------------------------------ */
.archive .main {
  padding-top: 0;
}
@media screen and (max-width: 599px) {
  .archive .main {
    padding-top: 1em;
  }
}
.archive .archive-title {
  display: none;
}
.archive .archive-title img {
  display: blockc;
}
.archive .eye-catch-wrap {
  display: none;
}
@media screen and (max-width: 599px) {
  .category-page-content {
    margin-bottom: 1em;
  }
}
.category-page-content .archiveTitle {
  max-width: 380px;
  line-height: 0;
}
@media screen and (max-width: 599px) {
  .category-page-content .archiveTitle {
    max-width: 280px;
  }
}
.or-postWrap .or-postList {
  display: flex;
  gap: 2em;
  margin-bottom: 3em;
}
@media screen and (max-width: 599px) {
  .or-postWrap .or-postList {
    display: block;
  }
}
.or-postWrap .or-postList .or-postThum {
  width: 35%;
}
@media screen and (max-width: 599px) {
  .or-postWrap .or-postList .or-postThum {
    width: 100%;
    display: block;
    margin: 0 auto 1em;
  }
}
.info-list {
  padding: 0;
}
.info-list.is-style-frame-border {
  border: none;
}
.sidebar h2.wp-block-heading, .sidebar h3.widget-sidebar-title {
  font-size: 1.2em;
  color: #48795F;
  background-color: #F2F4F3;
}
.sidebar .info-list-item {
  border-bottom: 1px dashed #48795F;
}
.sidebar .info-list-item .info-list-item-date {
  display: none;
}
.wp-block-group-is-layout-flow .wp-block-latest-posts__list li, .wp-block-group-is-layout-flow .wp-block-categories li {
  border-bottom: 1px dotted #48795F;
}
.archive h1.archive-title, .archive h2.entry-card-title {
  color: #48795F;
}
.recommendPostBox {
  position: relative;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding: 1em 2em;
  border: 2px solid #48795F;
  background: #F2F4F3;
}
@media screen and (max-width: 599px) {
  .recommendPostBox {
    padding: 1.4em 1em;
  }
}
.recommendPostBox::before {
  position: absolute;
  font-size: 1.1em;
  top: -40px;
  left: -2px;
  height: 40px;
  line-height: 40px;
  padding: 0 20px;
  content: "こちらの記事もご覧ください";
  color: #FDF1AE;
  font-weight: 700;
  background: #48795F;
}
.lower_priceWrap .itemTitle, .shisetsukijunWrap .itemTitle {
  text-align: left !important;
  border-top: none;
  border-bottom: none;
  display: block;
  color: #48795F;
  border-left: 10px solid #48795F;
  padding: 20px !important;
  padding-left: 1em !important;
  min-height: auto;
  background: #F2F4F3;
  font-size: 1.2em;
  margin-top: 3em;
}
@media screen and (max-width: 599px) {
  .lower_priceWrap .itemTitle, .shisetsukijunWrap .itemTitle {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 599px) {
  .lower_priceWrap.priceWrap .blockWrap > dl > dd dl.text dt, .shisetsukijunWrap.priceWrap .blockWrap > dl > dd dl.text dt {
    font-size: 1em;
  }
}
.lower_priceWrap.priceWrap .priceBox.ask, .shisetsukijunWrap.priceWrap .priceBox.ask {
  color: #F09A0C !important;
}
.label-box .label-box-label {
  color: #48795F;
}
.label-box .label-box-content {
  border-color: #48795F;
  border-width: 1px !important;
}
div.speech-balloon {
  border-color: #48795F;
}
div.speech-balloon::before {
  border-right-color: #48795F;
}
.speech-icon img {
  border: #48795F 1px solid;
}
.bnrWrap {
  max-width: 800px;
  width: 100%;
  margin: 3em auto 0;
}
/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {
  /* アレイアウト調整（大枠）
------------------------------------------ */
  /* grid順番変更
------------------------------------------ */
  /* スマホ画面下部固定ボタン
------------------------------------------ */
  /* トップへ戻るボタン
------------------------------------------ */
  .page .main {
    padding: 0 15px;
  }
  .order_1 {
    order: 1;
  }
  .order_2 {
    order: 2;
  }
  .fixdBtnWrap {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    z-index: 9999;
  }
  .fixdBtnWrap ul {
    display: flex;
    flex-wrap: nowrap;
    line-height: 0;
  }
  #page-top_pc {
    display: none !important;
  }
}
