
/**
 * 5.0 Alignment
 * ----------------------------------------------------------------------------
 */

.alignleft {
	float: left;
	margin: 5px 20px 5px 0;
}

.alignright {
	float: right;
	margin: 5px 0 5px 20px;
}

.aligncenter {
	display: block;
	margin: 5px auto;
}

img.alignnone {
	margin: 5px 0;
}


/* CSS Document */
:root {
  --kakugo: "Zen Kaku Gothic New", sans-serif;
  --mincho: "Zen Old Mincho", sans-serif;
  --font16: clamp(0.875rem, 1.82vw, 1rem);
  --font18: clamp(1.0625rem, 2.21vw, 1.125rem);
  --font20: clamp(1.125rem, 2.08vw, 1.25rem);
  --font22: clamp(1.25rem, 2.6vw, 1.375rem);
  --font24: clamp(1rem, 2.08vw, 1.5rem);
  --font28: clamp(1.375rem, 2.86vw, 1.75rem);
  --font32: clamp(1.5rem, 3.12vw, 2rem);
  --font40: clamp(1.75rem, 3.65vw, 2.5rem);
  --font48: clamp(2rem, 4.17vw, 3rem);
  --font64: clamp(3rem, 6.25vw, 4rem);
  --font72: clamp(4rem, 8.34vw, 4.5rem);
  --font96: clamp(4.5rem, 9.38vw, 6rem);
  --space16: clamp(0.5rem, 1.04vw, 1rem);
  --space24: clamp(0.75rem, 1.56vw, 1.5rem);
  --space32: clamp(1rem, 2.08vw, 2rem);
  --space48: clamp(1.5rem, 3.12vw, 3rem);
  --space64: clamp(2rem, 4.17vw, 4rem);
  --space96: clamp(3rem, 6.25vw, 6rem);
  --space128: clamp(4rem, 8.34vw, 8rem);
  --space192: clamp(6rem, 12.51vw, 12rem);
}

* {
  padding: 0;
  margin: 0;
  border-collapse: collapse;
  border: 0;
  box-sizing: border-box;
  word-wrap: break-word;
  table-layout: fixed;
  list-style: none;
  -webkit-overflow-scrolling: touch;
  appearance: none;
  -webkit-appearance: none;
  list-style: none;
}

body {
  color: #222;
  font-family: -apple-system, BlinkMacSystemFont, Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans", "Noto Sans CJK JP", "モトヤLシーダ3等幅", MotoyaLCedar, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8rem;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05rem;
  display: block;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Firefox は grayscale でほぼ同等 */
}

h1 {
  font-family: var(--kakugo);
  font-weight: 700;
  line-height: 1.8rem;
}

h2 {
  padding-top: 10px;
  padding-bottom: 10px;
  font-family: var(--kakugo);
  font-weight: 700;
  padding-left: 15px;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
}

img.map,
map area {
  outline: none;
}

figure {
  padding: 20px;
}

i {
  font-size: 30px;
}

strong {
  font-weight: 600;
}

a img {
  border: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /*タップ時の影をなくす*/
}

a:link,
a:visited {
  text-decoration: none;
  color: #222;
}

a.bluebtn,
.bluebtn {
  background: #3a5b9b;
  color: white;
  padding: 12px 48px;
  margin: 24px auto;
  border-radius: 5px;
  display: block;
  max-width: 420px;
}

.material-icons {
  vertical-align: middle;
}

.icon_32px {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}

.icon_24px {
  width: 3224pxpx;
  height: 24px;
  object-fit: contain;
  display: inline-block;
  vertical-align: middle;
}

.header_inner {
  max-width: 1280px;
  padding: 16px 24px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: auto;
}

.header_inner .logo {
  flex: 1 1 50%;
  text-align: left;
  padding-top: 12px;
}

.header_inner .headmenu {
  margin: auto;
  padding: 0;
  flex: 0 0 50%;
}

.header_inner .headmenu ul {
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  flex-direction: column;
  margin: auto;
}

@media (max-width: 767px) {
  .header_inner .headmenu {
    display: none;
  }

  .header_inner .logo {
    width: 100%;
    text-align: left;
    padding-top: 0;
  }
}

.headmenu .link_en {
  text-align: right;
}

a.sp_link_en {
  display: none;
}

@media (max-width: 767px) {
  a.sp_link_en {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 84px;
    padding: 6px;
    background-color: white;
    border-left: 1px solid rgba(59, 91, 153, 1);
    border-bottom: 1px solid rgba(59, 91, 153, 1);
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    color: rgba(59, 91, 153, 1);
  }
}

.wbr {
  display: inline-block;
}

.headmenu .link_en img {
  width: 70px;
}

.headmenu .link_call {
  text-align: right;
}

.headmenu .link_reserve {
  text-align: right;
}

.headmenu .link_reserve img,
.headmenu .link_call img {
  width: 240px;
}

.headmenu a {
  display: block;
  width: 100%;
  height: 100%;
}

footer {
  background: rgba(0, 45, 90, 1);
  text-align: center;
  color: #fff;
  width: 100%;
  margin: auto;
}

@media (width < 767px) {
  footer {
    font-size: 0.9rem;
    padding-bottom: 0;
    margin-bottom: 60px;
  }
}

footer a:link,
footer a:visited {
  display: inline-block;
  color: #fff;
}

footer li {
  text-align: left;
  line-height: 1.6rem;
}

.footer_heading1 {
  font-family: "BIZ UDGothic", sans-serif;
  text-align: left;
  color: #0d2e57;
  padding: 0;
  margin: 0;
  line-height: 1.6rem;
  font-size: 1.3rem;
}

.footer_heading2 {
  font-family: "BIZ UDGothic", sans-serif;
  font-size: 0.8rem;
  opacity: 0.7;
  padding: 0;
  margin: 0;
  text-align: left;
  color: white;
  margin-top: 24px;
  margin-bottom: 16px;
}

.footer_title {
  background: #fafafa;
}

.footer_inner {
  padding: 16px 24px;
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 767px) {
  .footer_inner {
    flex-direction: column;
    width: 100%;
    gap: 32px;
    padding: 32px 0;
  }
}

.footer_left {
  flex: 0 0 50%;
}

@media (max-width: 767px) {
  .footer_left {
    flex: 100%;
  }
}

.footer_right {
  flex: 0 0 50%;
}

@media (max-width: 767px) {
  .footer_right {
    flex: 100%;
  }
}

.footer_clinic_name {
  font-family: "BIZ UDGothic", sans-serif;
  font-size: 1.4rem;
  opacity: 0.7;
  padding: 0;
  margin: 0;
  text-align: left;
  color: #0d2e57;
  font-weight: 600;
}

.footer_clinic_location {
  font-family: "BIZ UDGothic", sans-serif;
  font-size: 0.9rem;
  opacity: 0.7;
  padding: 0;
  margin: 0;
  text-align: left;
  color: #0d2e57bc;
}

.maingrid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
}

@media (max-width: 767px) {
  .maingrid {
    display: flex;
    flex-direction: column;
  }
}

.maingrid-area1 {
  grid-area: 2 / 2 / 3 / 4;
}

.menugrid {
  display: table;
  width: 100%;
}

.group {
  display: flex;
  gap: 24px;
}

@media (max-width: 767px) {
  .group {
    flex-direction: column;
  }
}

.group img {
  max-width: 240px;
}

.menugrid>* {
  text-align: left;
  padding: 8px 0;
  vertical-align: top;
}

.twitter-share-button {
  vertical-align: middle;
}

.fb-like {
  vertical-align: middle;
}

.medicaluser a {
  padding: 6px 0;
}

.medicaluser img {
  max-width: 240px;
  width: 95%;
}

blockquote {
  margin: 40px;
  padding: 2em 1em;
  position: relative;
  text-align: center;
  font-size: 1.4rem;
  line-height: 2.4rem;
  border: 3px double #222;
  border-collapse: separate;
  background-color: #fafafa;
}

blockquote:before {
  content: "“";
  font-size: 6rem;
  line-height: 1em;
  font-family: sans-serif;
  color: #222;
  position: absolute;
  left: 0;
  top: 0;
}

blockquote:after {
  content: "”";
  font-size: 6rem;
  line-height: 0em;
  font-family: "ＭＳ Ｐゴシック", sans-serif;
  color: #222;
  position: absolute;
  right: 0;
  bottom: 0;
}

.container {
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.flex_container {
  width: 100%;
  max-width: 1400px;
  display: flex;
  margin: auto;
  flex-direction: row;
  background-color: #fff;
}

.flex_container>*:nth-child(1) {
  width: auto;
}

.flex_container>*:nth-child(2) {
  width: 35%;
  padding: 24px;
}

.pagemenu_group {
  position: sticky;
  top: 24px;
}

.pagemenu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  border-top: 2px solid rgba(59, 91, 153, 1);
}

.pagemenu>* {
  padding: 12px;
}

.pagemenu li {
  border-bottom: 1px solid #cccccc;
}

.pagemenu li.current {
  background-color: #cddae7;
}

.pagemenu a {
  display: block;
  width: 100%;
  height: 100%;
}

.pagemenu_title {
  padding: 6px;
  font-size: 18px;
  color: rgba(59, 91, 153, 1);
}

.inner {
  width: 100%;
  margin: auto;
  max-width: 1180px;
  text-align: center;
  position: relative;
  padding: 0 var(--space48);
}

.wrapper {
  width: 100%;
  margin: auto;
  text-align: center;
  position: relative;
  padding: var(--space64) 0;
}

.paper {
  width: 100%;
  margin: auto;
  max-width: 1280px;
  text-align: center;
  position: relative;
  padding: 36px;
  background: #fff;
}

@media (max-width: 767px) {
  .paper {
    padding: 24px;
  }
}

.paper_pad0 {
  width: 100%;
  margin: auto;
  max-width: 1400px;
  text-align: center;
  position: relative;
  padding: 0;
  background: #fff;
}

.breadcrumb {
  display: block;
  width: 100%;
  text-align: left;
  padding: 20px;
}

.content {
  width: 100%;
  margin: auto;
}

.content table {
  table-layout: fixed;
  width: 100%;
}

.content th {
  border-bottom: 2px solid rgba(0, 89, 175, 1);
  padding: 5px;
}

.content td {
  border-bottom: 1px solid rgba(0, 89, 175, 1);
  padding: 5px;
}

.content td:last-child {
  text-align: right;
}

.pageheader {
  margin: auto;
  display: block;
  text-align: center;
  overflow: hidden;
  width: 100%;
  position: relative;
  text-align: left;
  text-align: center;
}

.pageheader h1 {
  position: absolute;
  display: block;
  top: 50px;
  left: 50px;
  font-size: 2.4rem;
  line-height: 3rem;
  font-family: "Arbutus Slab", serif;
  background-color: rgba(255, 255, 255, 0.3);
  background-image: url(images/stripe04.png);
  color: rgba(0, 45, 90, 1);
  text-align: left;
  padding: 20px;
}

.pageheader h1 span {
  font-size: 1rem;
  display: block;
  line-height: 1.8rem;
}

.table {
  width: 100%;
  display: table;
}

.table>* {
  display: table-cell;
  vertical-align: top;
}

.flex {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.card {
  overflow: hidden;
  background-color: #fff;
  padding: 0px;
  vertical-align: top;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  margin-top: 0;
  /*box-shadow: 0px 2px 2px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 2px 2px rgba(0,0,0,0.2);*/
  max-width: 1200px;
  /*border-top: 1px solid #3962B5;*/
}

.card h1,
.page_title {
  font-family: var(--kakugo);
  position: relative;
  margin: 42px 0;
  line-height: 2rem;
  font-size: 1.4rem;
  color: rgba(17, 92, 167, 1);
  text-align: center;
  font-weight: 700;
}

.card h1::after,
.page_title::after {
  content: "";
  border-bottom: 3px solid #b3ce68;
  display: block;
  width: 70px;
  margin: auto;
  text-align: center;
  margin-top: 16px;
}

.card h2,
.section_title {
  padding: 0;
  font-size: 28px;
  margin-top: 30px;
  margin-bottom: 15px;
  vertical-align: middle;
  line-height: 150%;
  color: rgba(17, 92, 167, 1);
  text-align: center;
}

.card h2,
.section_title span {
  font-size: 1.125rem;
}

.card h3,
.section_subtitle {
  font-size: var(--font22);
  background-color: #eee;
  margin: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: var(--space24) var(--space48);
  display: block;
  width: fit-content;
}

.section_box {
  padding: var(--space64) 0;
}

.card h4 {
  font-size: 1.4rem;
  display: block;
  line-height: 2rem;
  margin-top: 30px;
  margin-bottom: 15px;
  padding: 5;
}

.card h4:before {
  content: "";
  display: inline-block;
  border: 2px solid rgba(170, 201, 230, 1);
  border-radius: 20px;
  width: 20px;
  height: 20px;
  line-height: 2rem;
  vertical-align: middle;
  margin-right: 15px;
}

.card h5 {
  font-size: 1.2rem;
  border-left: 2px solid #2d86d5;
  margin-top: 30px;
  margin-bottom: 15px;
  display: block;
}

.card figure img {
  margin: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  display: block;
}

.card ul li {
  list-style: square inside;
  font-weight: 600;
  padding: 15px;
  border-bottom: 2px dashed rgba(255, 255, 255, 1);
}

.card ul li:last-child {
  border: 0;
}

.card ul {
  margin: 40px;
  margin: 15px;
  background-color: #eef2f4;
}

.eyecatch {
  width: 300px;
  height: 300px;
  display: block;
  background-size: cover;
  background-position: center;
  margin: 0;
  padding: 0;
  text-align: center;
}

.eyecatch span {
  font-size: 1.8rem;
  font-weight: 100;
  text-align: center;
  display: block;
  width: 280px;
  height: 280px;
  border-radius: 140px;
  font-family: var(--kakugo);
  overflow: hidden;
  margin: auto;
  color: #3c7621;
  padding: 0;
  padding-top: 40%;
}

.overview {
  display: block;
  overflow: hidden;
  padding: 20px;
}

a.readmore {
  background-color: #0e4b1a;
  color: #fff;
  padding: 10px;
  width: 100%;
  display: block;
  text-align: right;
  margin-top: 20px;
  font-size: 1rem;
  position: absolute;
  bottom: 0;
}

.news {
  background-image: url(images/denim_gray.png);
  background-repeat: repeat;
  width: 100%;
}

.news strong {
  background-color: rgba(222, 251, 61, 0.3);
  font-weight: 500;
}

.menubar {
  border-bottom: 1px solid rgba(230, 230, 230, 1);
}

.menubar_sp {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 6px;
  z-index: 100;
}

.menubar_sp select {
  width: 100%;
  height: 100%;
  appearance: none;
  border-radius: 0;
  font-size: 1rem;
  background: transparent;
  color: white;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.center {
  text-align: center !important;
}

.pad0 {
  padding: 0;
}

.pad12 {
  padding: 12px;
}

.pad24 {
  padding: 24px;
}

.pad36 {
  padding: 35px;
}

.pad48 {
  padding: 48px;
}

.mar0 {
  margin: 0;
}

.mar12 {
  margin: 12px;
}

.mar24 {
  margin: 24px;
}

.mar36 {
  margin: 36px;
}

.mar48 {
  margin: 48px;
}

.wp-site-blocks,
body>.wp-block-group {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  width: 100%;
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* 幅広（Wide）ブロック */
.alignwide {
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-left: auto;
  margin-right: auto;
}

/* 全幅（Full）ブロック */
/* .alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: calc(50% - 50svw);
  margin-right: calc(50% - 50svw);
  へんな隙間でる
} */
.alignfull {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  max-width: 100vw;
}

/*ドロップダウンメニュー*/
.menubar .inner {
  padding: 16px 0;
}

/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu {
  margin: 0px;
  /* メニューバー外側の余白(ゼロ) */
  padding: 0px 0px 0px 15px;
  /* メニューバー内側の余白(左に15px) */
  background-color: #fff;
  /* バーの背景色(濃い赤色) */
  position: relative;
  z-index: 20;
}

/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu li {
  width: 200px;
  /* メニュー項目の横幅(125px) */
  display: inline-block;
  /* ★横並びに配置する */
  list-style-type: none;
  /* ★リストの先頭記号を消す */
  position: relative;
  /* ★サブメニュー表示の基準位置にする */
  color: #3a5b9b !important;
}

ul.ddmenu a {
  background-color: rgba(255, 255, 255, 1);
  color: #3a5b9b;
  /* メニュー項目の文字色(白色) */
  line-height: 40px;
  /* メニュー項目のリンクの高さ(40px) */
  text-align: center;
  /* メインメニューの文字列の配置(中央寄せ) */
  text-decoration: none;
  /* メニュー項目の装飾(下線を消す) */
  font-weight: bold;
  /* 太字にする */
  display: block;
  /* ★項目内全域をリンク可能にする */
}

ul.ddmenu a:hover {
  background-color: #3a5b9b
    /* サブメニュー項目にマウスが載ったときの背景色(淡い黄色) */
    color: rgba(255, 255, 255, 1);
  /* サブメニュー項目にマウスが載ったときの文字色(濃い緑色) */
}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */
/* ※サブメニューが2階層以上ある場合の記述 */
/* ---------------------------------- */
ul.ddmenu li:hover>ul {
  display: block;
  /* ★マウスポインタが載っている項目の内部にあるリストを表示する */
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.ddmenu ul {
  margin: 0px;
  /* ★サブメニュー外側の余白(ゼロ) */
  padding: 0px;
  /* ★サブメニュー内側の余白(ゼロ) */
  display: none;
  /* ★標準では非表示にする */
  position: absolute;
  /* ★絶対配置にする */
  background-color: rgba(50, 50, 95, 0.2);
  border: 1px solid rgba(50, 50, 95, 0.2);
}

/* ------------------------ */
/* ▼サブメニュー項目の装飾 */
/* ------------------------ */
ul.ddmenu ul li {
  width: 240px;
  /* サブメニュー1項目の横幅(135px) */
  border-bottom: 1px solid rgba(50, 50, 95, 1);
  /* 項目上側の枠線(ピンク色で1pxの実線) */
}

ul.ddmenu ul li a {
  line-height: 35px;
  /* サブメニュー1項目の高さ(35px) */
  text-align: left;
  /* 文字列の配置(左寄せ) */
  padding-left: 5px;
  /* 文字列前方の余白(5px) */
  font-weight: normal;
  /* 太字にはしない */
}

ul.ddmenu ul li a:hover {
  background-color: rgba(50, 50, 95, 1);
  /* サブメニュー項目にマウスが載ったときの背景色(淡い黄色) */
  color: rgba(245, 245, 245, 1);
  /* サブメニュー項目にマウスが載ったときの文字色(濃い緑色) */
}

/* -------------------------------------------------------- */
/* ▼サブメニューの内側にあるサブメニュー(孫メニュー)の装飾 */
/* ※サブメニューの中のサブメニューは「下」ではなく「横(右)」に表示します。 */
/* -------------------------------------------------------- */
ul.ddmenu ul ul {
  margin: 0px;
  /* ★サブメニュー外側の余白(ゼロ) */
  padding: 0px;
  /* ★サブメニュー内側の余白(ゼロ) */
  display: none;
  /* ★標準では非表示にする */
  position: absolute;
  /* ★絶対配置にする */
  top: 0;
  /* 1pxだけ上方向にずらす(※上に1pxの枠線を引いている場合) */
  left: 100%;
  /* ★基準位置からの距離を親ボックスの幅100％にする */
}

.gotomenu {
  display: none;
}

.show {
  display: block;
}

.hidden {
  display: block;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  width: 30px;
  height: 30px;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 3px;
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  top: 13px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(14px) rotate(-45deg);
  transform: translateY(14px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-14px) rotate(45deg);
  transform: translateY(-14px) rotate(45deg);
}

.banners {
  max-width: 1260px;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px auto;
}

.banners>* {
  padding: 12px 0;
  margin: 6px;
}

@media screen and (max-width:767px) {
  body {
    font-size: 17px;
    line-height: 1.7rem;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .table {
    display: block;
    width: 100%;
  }

  .table>* {
    display: block;
    width: 100%;
  }

  .flex {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .flex>* {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .card {
    margin-bottom: 0;
    margin-top: 0;
  }

  footer h1 {
    font-size: 15px;
  }

  footer h2 {
    font-family: "UD新ゴNT M";
    font-size: 0.8rem;
    opacity: 0.5;
    padding: 0;
    margin: 0;
    margin-bottom: 8px;
    margin-top: 12px;
    text-align: left;
  }

  .menugrid {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .menugrid>* {
    width: 100%;
    padding: 5px 0;
  }

  .gotomenu {
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 45, 90, 0.85);
    color: white;
    display: flex;
    text-align: center;
    vertical-align: middle;
    z-index: 20;
    justify-content: space-between;
    align-items: stretch;
    height: 64px;
    overflow: hidden;
    padding: 16px;
    padding-bottom: 24px;
  }

  .gotomenu a {
    color: white;
    font-size: 1.1rem;
    display: block;
    padding: 0;
  }

  .gotomenu>*:nth-child(1) {
    flex-basis: 10vw;
    padding: 0;
  }

  .gotomenu>*:nth-child(2) {
    padding: 0;
  }

  .gotomenu>*:nth-child(3) {
    flex-basis: 10vw;
    padding: 0;
  }

  .gotomenu .material-icons {
    margin-right: 8px;
    font-size: 32px;
  }

  #spmenu_panel {
    background-color: rgba(0, 45, 90, 0.85);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 64px;
    width: 100%;
    z-index: 19;
    overflow: auto;
    transition: all 0.4s;
  }

  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    overflow: hidden;
  }

  .show {
    display: block;
  }

  .hidden {
    display: none;
  }

  .banners {
    max-width: 1280px;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 20px;
  }

  .banners>* {
    padding: 12px 0;
    margin: 6px;
  }

  .flex_container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    margin: auto;
    flex-direction: column;
    background-color: #fff;
  }

  .flex_container>*:nth-child(1) {
    width: 100%;
  }

  .flex_container>*:nth-child(2) {
    width: 100%;
    padding: 24px;
  }
}

.dr-timetable {
  border-collapse: collapse;
  width: 90% !important;
  max-width: 330px;
}

.dr-timetable td {
  padding: 8px;
  border: 1px solid rgba(0, 89, 175, 1);
}

.dr-timetable td:nth-child(1) {
  width: 50px;
  text-align: center;
}

.dr-timetable td:nth-child(2) {
  text-align: left;
}

/*---------------------
ページ下部関連記事
-----------------------*/
.related h2 {
  font-family: serif;
  font-weight: 300;
  text-align: center;
}

.related_list {
  display: flex;
  gap: var(--space32);
}

.related_list .wp-block-column {
  position: relative;
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.1);
  background: #f2f4f5;

}


.related_list .wp-block-cover {
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

.related_list .wp-block-cover__inner-container {
  width: fit-content;
}

.related_list img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-width: none !important;
}

.related_list h3 {
  border: unset !important;
  width: unset !important;
  text-align: center !important;
  font-family: serif !important;
  font-weight: 300 !important;
  padding: 16px !important;
  margin: 0 !important;
  font-size: var(--font24) !important;
  line-height: 160% !important;

}

.related_list h3::before,
.related_list h3::after {
  content: none !important;
  display: none !important;
}

.related_list a {
  z-index: 1;
  color: inherit;
  text-decoration: none;
  font-weight: 300;
}

.related_list a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

.related_list p {
  font-family: serif;
  font-weight: 300;
  padding: 16px;
  margin: 0;
  font-size: var(--font20);
  line-height: 160%;
  text-align: left;
}

a.link::before {
  content: '';
  background-image: url(/images/icon_link.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}
@charset "UTF-8";

/* CSS Document */
.colona img {
  max-width: 640px;
  margin: auto;
  width: 100%;
}

.topgallery {
  background: url(images/interiors/1.webp);
  background-size: cover;
  background-position: center;
  height: 640px;
  width: 100%;
  transition: all 1s;
  position: relative;
}

.topgallery a {
  display: block;
  position: absolute;
  right: 0px;
  top: 3rem;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 1.6rem;
  padding: 2rem 1.5rem;
  font-family: "Bree Serif", serif;
}

.topgallery a i {
  margin-left: 20px;
}

.topgallery .socialproof {
  display: flex;
  color: white;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: 40px;
  max-width: 1024px;
  background-color: rgba(58, 90, 155, 0.9);
  font-size: 1.8rem;
  padding: 1.2rem 0;
  font-family: var(--mincho);
  width: 96%;
}

@media (max-width: 767px) {
  .topgallery .socialproof {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.topgallery .socialproof>* {
  flex: 1 1 calc((100% - (48px * 2)) / 3);
  gap: 10px;
  display: flex;
  flex-direction: column;
  padding: 0 0;
  border-left: 1px solid white;
}

@media (max-width: 767px) {
  .topgallery .socialproof>* {
    border: 0;
  }
}

.topgallery .socialproof>*:nth-child(1) {
  border-left: 0;
}

@media (max-width: 767px) {
  .topgallery .socialproof>*:nth-child(1) {
    flex: 1 1 100%;
    border-bottom: 1px solid white;
    padding-bottom: 1rem;
  }

  .topgallery .socialproof>*:nth-child(2) {
    flex: 1 1 50%;
    border: 0;
    padding-top: 1rem;
  }

  .topgallery .socialproof>*:nth-child(3) {
    flex: 1 1 50%;
    border-left: 1px solid white;
    padding-top: 1rem;
  }
}

.topgallery .socialproof h3 {
  color: white;
  font-size: 1.4rem;
  text-align: center;
  line-height: 100%;
}

@media (max-width: 767px) {
  .topgallery .socialproof h3 {
    font-size: 1rem;
  }
}

.topgallery .socialproof p {
  color: white;
  font-size: 2.9rem;
  text-align: center;
  line-height: 100%;
}

@media (max-width: 767px) {
  .topgallery .socialproof p {
    font-size: 2rem;
  }
}

.topgallery .socialproof span {
  color: white;
  font-size: 1.0rem;
  text-align: center;
  font-family: var(--kakugo);
  line-height: 100%;
}

@media (max-width: 767px) {
  .topgallery .socialproof span {
    font-size: 0.9rem;
  }
}

.topgallery .socialproof figure {
  display: grid;
  place-content: center;
  padding: 0;
}

.topgallery .socialproof figure img {
  width: 112px
}

.topgallery .socialproof>* {
  display: flex;
  flex-direction: column;
}

.topcard {
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s linear;
  z-index: 1;
  position: relative;
}

.topcard:hover {
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.4);
  transform: scale(1.02);
  z-index: 10;
}

.yoyaku a {
  background-color: rgba(255, 103, 2, 1);
  font-size: 1rem;
  color: #fff;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.card {
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  display: block;
  width: 100%;
}

.card h2 {
  display: block;
  background-color: #00052b;
  color: #fff;
  margin: 0;
  padding: 0;
}

section h2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  position: relative;
  padding: 20px 0 12px 0;
  line-height: 2rem;
  font-size: 1.6rem;
  color: rgba(17, 92, 167, 1);
  text-align: center;
}

section h2:after {
  content: "";
  border-bottom: 3px solid #b3ce68;
  display: block;
  width: 70px;
  margin: auto;
  text-align: center;
  margin-top: 16px;
}



/*---------------------
 PICK UP 
-----------------------*/
.pickup {
  background-color: #d2dfeb;
  padding: 1rem;
}

.pickup_banner {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.16);
  display: block;
  width: 100%;
  height: auto;
  max-width: 760px;
  margin: var(--space64) auto;
}

/* ============================
   わたしたちについて
   =============================*/
.top_philosophy {
  padding: 64px 0;
  color: #353f52;
  font-family: var(--kakugo);
  font-weight: 700;
  background-image: url(images/top_philosophy_bg.png);
  text-align: center;
  font-size: var(--font20);
  line-height: var(--font40);
}

.top_philosophy .flex {
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

.top_philosophy .flex>* {
  width: 50%;
  text-align: center;
  padding: 24px;
}

.top_philosophy .flex img {
  height: auto;
  width: 100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .top_philosophy .flex>* {
    width: 100%;
    text-align: center;
    padding: 12px;
  }

  .top_philosophy .flex img {
    height: auto;
    width: 100%;
  }

  .top_philosophy .inner {
    padding: 0;
  }
}

/* ============================
   医療法人Zion 理念
   =============================*/
.top_philosophy2026 {
  padding: 3rem 1rem 4rem 1rem;
  font-family: var(--mincho);
  text-align: center;
  margin: 0 auto;
  background-color: #fafafa;
}

.top_philosophy2026_lead {
  padding: 1rem 1.2rem;
  margin-bottom: 30px;
}

/* チェックボックス制御 */
.toggle_input {
  display: none !important;
}

/* フレーム本体 (閉じている初期状態) */
.top_philosophy2026_frame {
  display: grid !important;
  grid-template-rows: 250px !important;
  overflow: hidden !important;
  background: #fff;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 3.4rem;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  transition: grid-template-rows 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}

.philosophy_inner {
  min-height: 0;
}

.gradient_overlay {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 150px;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0) 0%, #fafafa 50%);
  margin: -150px auto 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.4s;
}

.toggle_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  cursor: pointer;
  margin-top: -80px;
  position: relative;
  z-index: 3;
}

.btn_text_open, .btn_text_close {
  font-weight: bold;
  color: #444;
  font-size: 15px;
}

.btn_text_close {
  display: none;
}

.arrow {
  width: 12px;
  height: 12px;
  border-right: 2px solid #444;
  border-bottom: 2px solid #444;
  transform: rotate(45deg);
  margin-top: 10px;
  transition: transform 0.4s;
}

/* --- チェックが入った時の状態変化 --- */
#philosophy_toggle:checked~.top_philosophy2026_frame {
  grid-template-rows: 1fr !important;
  padding-bottom: 40px !important;
}

#philosophy_toggle:checked~.gradient_overlay {
  opacity: 0 !important;
  visibility: hidden !important;
}

#philosophy_toggle:checked~.toggle_label .btn_text_open {
  display: none !important;
}

#philosophy_toggle:checked~.toggle_label .btn_text_close {
  display: block !important;
}

#philosophy_toggle:checked~.toggle_label .arrow {
  transform: rotate(-135deg) !important;
  margin-top: 15px !important;
}

#philosophy_toggle:checked~.toggle_label {
  margin-top: -80px !important;
}

.top_philosophy2026 h4 {
  padding: 40px 0 20px 0;
  font-size: 1.7rem;
  line-height: 2.6rem;
}

.top_philosophy2026 h5 {
  padding: 40px 0 24px 0;
  font-size: 1.3rem;
}

.top_philosophy2026 p {
  line-height: 180%;
}

.top_philosophy2026 ul {
  max-width: 640px;
  margin: auto;
  list-style: none;
  padding: 0;
}

.top_philosophy2026_sign {
  text-align: center;
  display: block;
  padding: 64px 0;
}

@media (max-width: 767px) {
  .top_philosophy2026 h4 {
    font-size: 1.4rem;
  }

  .top_philosophy2026_frame {
    padding: 0 1.5rem;
  }
}

/*---------------------
あおいボタン
-----------------------*/
a.bluebtn,
.bluebtn {
  background: #3a5b9b;
  color: white;
  padding: 12px 48px;
  margin: 24px auto;
  border-radius: 5px;
  display: block;
  max-width: 420px;
}

/*---------------------
治療メニュー
-----------------------*/
.top_treatment {
  background-image: url(/images/top/top_treatment_bg.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 72px auto;
}

.treatment-grid {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  width: 100%;
  gap: 64px;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 860px;
  margin: 64px auto;
  position: relative;
}

.treatment-grid>* {
  width: 100%;
}

.treatment-grid>*:nth-child(odd) {
  position: relative;
  margin-left: -5vw;
}

.treatment-grid>*:nth-child(even) {
  position: relative;
  margin-right: -5vw;
}

@media (max-width: 767px) {

  .treatment-grid>*:nth-child(odd),
  .treatment-grid>*:nth-child(even) {
    margin-left: auto;
    margin-right: auto;
  }
}

.treatment-grid a {
  display: flex;
  gap: 0;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}

@media (max-width: 767px) {
  .treatment-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
  }
}

.treatment-grid a:hover {
  opacity: 0.8;
  border: 1px solid #3A5B9B;
}

.treatment-grid a>*:nth-child(1) {
  flex: 0 1 35%;
}

.treatment-grid a>*:nth-child(2) {
  flex: 1 1 65%;
}

.treatment-grid h3 {
  border-bottom: 1px solid #3A5B9B;
  padding: 0 0 32px 32px;
  color: #3A5B9B;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.6;
  display: flex;
  gap: 16px;
  align-items: center;
}

@media (max-width: 767px) {
  .treatment-grid h3 {
    padding: 16px;
    font-size: 1.3rem;
    text-align: center;
    width: 70%;
    margin: auto;
    justify-content: center;
  }
}

.treatment-grid h3 span {
  background-color: #3A5B9B;
  color: white;
  border-radius: 999px;
  display: grid;
  place-content: center;
  font-size: 1.2rem;
  width: 2rem;
  height: 2rem;
  padding: 16px;
  aspect-ratio: 1 / 1;
}

.treatment-grid p {
  text-align: left;
  padding: 32px 0 0 32px;
}

@media (max-width: 767px) {
  .treatment-grid p {
    text-align: center;
    padding: 16px;
  }
}

.treatment-grid figure {
  padding: 0;
  margin: 0;
}

.treatment-grid figure img {
  width: 100%;
  max-width: 360px;
}

.banner-grid {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  gap: 24px;
  max-width: 1240px;
  margin: 64px auto;
}

.banner-grid>* {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  flex-shrink: 1;
  flex-grow: 1;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  background-color: white;
  width: 33%;
}

.banner-grid>*>* {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  color: #666667;
  font-size: 0.9rem;
  line-height: 1.2rem;
}

.banner-grid p {
  padding: 3px;
}

.banner-grid img {
  width: 100%;
}

@media (max-width: 767px) {
  .treatment-grid>* {
    width: 100%;
    min-width: 160px;
    margin: 4px 3px;
  }

  .treatment-grid>* img {
    width: 100%;
    max-width: 280px;
  }
}

.treatment-grid>*:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}

.treatment-grid>*:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.treatment-grid>*:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.w100 {
  width: 100%;
}

.w32 {
  width: 32%;
}

.w49 {
  width: 49%;
}

.w69 {
  width: 69%;
}

.w29 {
  width: 29%;
}

.width1 {
  width: 240px;
}

.width2 {
  width: 490px;
}

.width1_5 {
  width: 360px;
}

.width3 {
  width: 740px;
}

.top_reason {
  background: #edf6fc;
  z-index: 1;
  position: relative;
  overflow: hidden;
  justify-content: center;
}

@media (max-width: 767px) {
  .top_reason {
    background: #edf6fc;
    z-index: 1;
    position: relative;
  }
}

.top_reason .inner {
  max-width: 1280px;
}

.top_reason h2 {
  padding-top: 64px;
}

.top_reason h3 {
  color: rgba(17, 92, 167, 1);
  padding: 24px 0;
  width: auto;
}

.top_reason p {
  text-align: left;
}

.top_reason .flex {
  justify-content: space-around;
  align-items: stretch;
}

.top_reason .flex>* {
  width: 30%;
  margin: 12px 12px 0 0;
  padding: 20px;
  border-radius: 20px;
}

.top_reason .flex>a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.top_reason img {
  width: 80%;
}

@media (max-width: 767px) {
  .top_reason .flex {
    justify-content: space-between;
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .top_reason .flex>* {
    width: 100%;
    margin: 12px 12px 0 0;
  }

  .top_reason img {
    width: 70%;
    max-width: 240px;
  }
}

a.morebtn {
  background: rgba(17, 92, 167, 1);
  color: #edf6fc;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 18px;
  border-radius: 20px;
  text-align: center;
  display: block;
  width: 120px;
  margin: 10px auto;
}

a.morebtn span {
  margin-bottom: 3px;
}

#top_reason_bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  overflow: hidden;
  padding: 64px 0;
}

#top_reason_inner {
  position: relative;
  top: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}

.frame {
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.reason_bg0 {
  background-image: url(images/top_reason1_bg.webp);
  background-size: cover;
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  background-position: left;
}

.reason_bg1 {
  background-image: url(images/top_reason2_bg.webp);
  background-size: cover;
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  background-position: right;
}

.reason_bg2 {
  background-image: url(images/top_reason3_bg.webp);
  background-size: cover;
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  background-position: center;
}

@keyframes frame_fadeIn {
  0% {
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    background-color: rgba(255, 255, 255, 0);
  }

  100% {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.6);
  }
}

@keyframes frame_fadeOut {
  0% {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.6);
  }

  100% {
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    background-color: rgba(255, 255, 255, 0);
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    filter: blur(40px);
  }

  100% {
    opacity: 1;
    filter: blur(0px);
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    filter: blur(0px);
  }

  100% {
    opacity: 0;
    filter: blur(40px);
  }
}

.gallery-top {
  height: 80%;
  width: 100%;
}

.gallery-thumbs {
  height: 20%;
  box-sizing: border-box;
  padding: 10px 0;
}

.gallery-thumbs .swiper-slide {
  height: 100%;
  opacity: 0.4;
}

.gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}

.banner {
  margin: auto;
  margin-top: 50px;
  margin-bottom: 30px;
}

.banner_dh {
  margin: auto;
  max-width: 800px;
  width: 100%;
  padding-bottom: 24px;
}

.sp.banner_dh {
  padding: 24px;
}

.blog_header {
  background-image: url(images/stripe08.png);
  width: 100%;
  display: block;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 30px;
  padding: 7px;
}

/*---------------------
お知らせ
-----------------------*/
.news {
  background-image: url(images/denim.png);
  margin: auto;
  margin: 64px auto;
  text-align: left;
  max-width: 1240px;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
}

.news .news_stripe {
  background-image: url(images/stripe02.png);
  background-position: left;
  background-repeat: repeat-y;
  padding: 15px;
}

.news .date {
  width: 250px;
  text-align: right;
  padding: 10px;
  padding-right: 30px;
  font-size: 1.2rem;
  border-bottom: 2px dashed #fff;
}

.news .entry {
  width: auto;
  text-align: left;
  padding: 10px;
  border-bottom: 2px dashed #fff;
}

.news .entry h3 {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .grid {
    width: 100%;
  }

  .grid-item {
    background-size: contain;
    margin-top: 15px;
    margin-bottom: 15px;
  }

  .width1 {
    width: 100%;
    height: auto;
  }

  .width2 {
    width: 100%;
    height: auto;
  }

  .news .news_stripe {
    background-image: none;
  }

  .news .date {
    width: 100%;
    text-align: center;
    border-bottom: none;
  }

  .news .entry {
    width: 100%;
    text-align: left;
  }

  .news_header {
    text-align: center;
  }

  .banner-grid {
    flex-direction: column;
    padding: 0 12px;
  }

  .banner-grid>* {
    width: 100%;
    margin: 12px 0;
  }

  .banner-grid p {
    padding: 10px;
  }

  .banner-grid img {
    width: 100%;
  }

  .footer_title h1 {
    font-size: 1.1rem;
  }

  .footer_title h3 {
    font-size: 1rem;
  }
}

.inbound {
  padding: 72px 24px;
  margin: auto;
  background-color: #fafafa;
  display: grid;
  place-content: center;
  width: 100%;
}

.inbound h2 {
  text-align: center;
}

.inbound img {
  width: 100%;
  margin: auto;
}

.inbound_banners {
  display: flex;
  gap: var(--space32);
  justify-content: space-between;
  align-items: stretch;
  max-width: 1024px;
  margin: auto;
  margin-top: 48px;
}

@media (max-width: 767px) {
  .inbound_banners {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}
@charset "UTF-8";

/* CSS Document */

#api__area {
    padding: 32px 0 40px;
    position: relative;
    z-index: 1;
    background: #d4d4d4;
}
.api__after {
    content: "";
    background: rgba(10, 25, 65, 0.9);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    mix-blend-mode: multiply;
}
.api__area-inner {
    max-width: 1218px;
    margin: auto;
    width: calc(100% - 88px);
}
.api__area-achievements {
    display: block;
    width: calc(100% - 32px);
    margin: auto;
    max-width: 1288px;
}
.api__area-box .api__area-achievements {
    display: none;
}
.api__area-achievements img {
    width: 100%;
    height: auto;
}
.api__area-box {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}
.api__area-scale {
    width: 49%;
    max-width: 576px;
}
.api__area-scale-image {
    width: 100%;
    display: block;
    margin-top: 3px;
}
.api__area-scale-image img {
    width: 100%;
    height: auto;
}
a.api__area-scale-btn {
    position: relative;
    display: flex;
    background: #002d5a;
    border: 1px solid #002d5a;
    width: 100%;
    max-width: 332px;
    height: 40px;
    justify-content: center;
    align-items: center;
    margin: 24px auto 0;
    color: #fff;
    text-align: center;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0;
}
a.api__area-scale-btn:hover {
    background: #fff;
    color: #002d5a;
}
a.api__area-scale-btn::after {
    content: "";
    position: absolute;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    width: 6px;
    height: 6px;
    display: block;
    top: 50%;
    right: 24px;
    transform: translate(0, -50%) rotate(45deg) skew(6deg, 6deg);
}
a.api__area-scale-btn:hover::after {
    border-right: 1px solid #002d5a;
    border-top: 1px solid #002d5a;
}

        @media screen and (max-width: 1279px) {
            .mvAddBlockIn {
                max-width: 1016px;
                margin: auto;
                padding: 32px 24px 12px;
            }
            .tab__apitable {
                width: 46%;
            }
            #structure {
                width: 52%;
            }
        }
        @media screen and (max-width: 767px) {
            #api__area {
                padding: 32px 0 64px;
                background: rgba(0, 45, 90, 0.6);
            }
            #mvAddBlock {
                padding-top: 0;
            }
            .mvAddBlockIn {
                padding: 0;
            }
            #structure {
                background: #fff;
                margin: 0 auto 40px;
                border: 1px solid #efa329;
                width: calc(100% - 32px);
                max-width: 393px;
                padding: 16px 8px 32px;
            }
            .structure__right-item:nth-child(4) {
                right: 2px;
                top: -78px;
            }
            .structure__right {
                margin-top: 0;
                max-width: 328px;
            }
            .structure__heading {
                font-size: 21px;
                width: calc(100% - 16px);
                margin: auto;
            }
            .structure__heading::after {
                position: absolute;
                background-size: cover;
                left: -8px;
                bottom: -10px;
                width: 82%;
                height: 15px;
                display: block;
                transform: translate(0, 0);
            }
            .structure__right-item {
                width: 33%;
                font-size: 14px;
                height: 107px;
                max-width: 107px;
            }
            .structure__right-item:nth-child(1) {
                transform: translate(8px, 0);
            }
            .structure__right-item:nth-child(3) {
                transform: translate(-8px, 0);
            }
            .structure__right-num {
                margin-top: 8px;
            }
            .structure__left-heading::after {
                position: absolute;
                background-size: cover;
                left: 50%;
                bottom: -16px;
                width: 100%;
                height: 18px;
                display: block;
                transform: translate(-50%, 0);
            }
            .api__area-achievements {
                display: none;
            }
            .api__area-box .api__area-achievements {
                display: block;
            }
            .api__area-inner {
                width: calc(100% - 32px);
            }
            .api__area-box {
                background: unset;
                padding: 0;
                flex-direction: column;
                gap: 40px;
            }
            .api__area-scale {
                width: 100%;
                padding: 24px 20px 32px;
                background: rgba(255,255,255,0.8);
                order: 3;
            }
        }

span.api-timetable-title {
    display: block;
}
.api-timetable-title {
    font-size: 25px;
    font-weight: 600;
    padding: 14px 8px 0;
    text-align: left;
    line-height: 1;
    color: rgba(53, 87, 130, 1);
}

@media screen and (min-width: 768px) and (max-width: 1361px) {
    .api-timetable-title {
        font-size: 1.84vw;
        padding: 1.03vw 0.589vw 0;
    }
}

@media screen and (max-width: 767px) {
    .api-timetable-title {
        font-size: 19px;
    }
}

/** append **/
@media screen and (min-width: 1024px) {
    #mvAddBlock{
        z-index: 50;
    }
    #topSlider .textArea {
        bottom: 434px;
    }
}
@media screen and (min-width: 1190px) {
    #topSlider .textArea {
        bottom: 406px;
    }
}

/** tab__apitable **/
.tab__apitable {
    width: 47.8%;
    margin-top: 0;
    max-width: 582px;
}
h2.tab__apitable-heading {
    color: #444;
    font-size: 17px;
    font-weight: 400;
    border-bottom: 2px solid #002d5a;
    text-indent: 0.4em;
    margin-bottom: 8px;
    padding: 0;
    letter-spacing: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h2.tab__apitable-heading::after {
    display: none;
}
.tab__apitable-btn {
    display: flex;
    justify-content: flex-start;
    height: 40px;
    align-items: flex-end;
    gap: 0;
    flex-wrap: wrap;
    width: 408px;
    margin: 0;
    padding: 0;
}
.tab__apitable-btn > li {
    width: calc(100% / 3);
    display: flex;
    align-items: center;
    height: 32px;
    justify-content: center;
    border-radius: 8px 8px 0 0;
    line-height: 1;
    font-weight: 400;
    font-size: 15px;
    letter-spacing: 0;
    font-feature-settings: "palt";
    color: #002D5A;
    text-align: center;
    cursor: pointer;
    transition: ease all 0.5s;
}
.tab__apitable-list-main {
    background: #fff;
    color: #002D5A;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-main:hover, .tab__apitable-list-main.tab__active {
    height: 40px;
}
.tab__apitable-btn > li.tab__apitable-list-implant {
    color: #fff;
}
.tab__apitable-list-implant {
    font-size: 14px;
    background: #3a5b9b;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-implant:hover, .tab__apitable-list-implant.tab__active {
    height: 40px;
}
.tab__apitable-btn > li.tab__apitable-list-ortho {
    color: #fff;
}
.tab__apitable-list-ortho {
    font-size: 14px;
    background: #002D5A;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-ortho:hover, .tab__apitable-list-ortho.tab__active {
    height: 40px;
}
.tab__apitable-list-gingival {
    background: #bb7e3a;
    border-bottom: unset;
    font-weight: 500;
}
.tab__apitable-list-gingival:hover, .tab__apitable-list-gingival.tab__active {
    height: 40px;
}
.tab__apitable-area {
    height: auto;
    display: block;
}
.tab__apitable-area > div {
    opacity: 0;
    visibility: hidden;
    height: 0;
}
.tab__apitable-area > div.tab__active {
    opacity: 1;
    visibility: visible;
    height: auto;
}
.api-timetable-first > *:nth-child(n +8) {
    display: none;
}
.tab__pane-main-active,
.tab__pane-implant-active,
.tab__pane-gingival-active,
.tab__pane-ortho-active {
    display: block !important;
    visibility: visible !important;
}

@media screen and (max-width: 767px) {
    .tab__apitable-area {
        height: auto;
    }
    .pr__flex {
        flex-direction: column-reverse;
        gap: 16px;
    }
    .tab__apitable-btn > li {
        font-size: 14px;
        line-height: 1;
        text-align: center;
        letter-spacing: -0.03em;
    }
    h2.tab__apitable-heading {
        padding-bottom: 0;
        border-bottom: 2px solid #fff;
        color: #fff;
        margin-bottom: 20px;
    }
    .tab__apitable-btn {
        height: 48px;
    }
    .tab__apitable-btn > li {
        height: 40px;
    }
    .tab__apitable-list-main:hover, .tab__apitable-list-main.tab__active {
        height: 48px;
    }
    .tab__apitable-list-implant:hover, .tab__apitable-list-implant.tab__active {
        height: 48px;
    }
}

    .api-frame {
        width: 100%;
        margin: 0 auto;
        position: relative;
    }
    .reservable__tab-link01 {
        color: #fff !important;
    }
    .api-timetable {
        padding: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        z-index: 2;
    }

    .api-timetable-table-wrap {
        margin: 0;
        padding: 0;
        width: 408px;
    }

    .api-timetable-title {
        font-size: 25px;
        font-weight: 600;
        padding: 14px 8px 0;
        text-align: left;
        line-height: 1;
        color: rgba(53, 87, 130, 1);
    }

    span.api-timetable-title {
        display: block;
    }

    .api-timetable-table {
        margin: 0 auto;
        width: 100%;
        table-layout: fixed;
    }
    th.api-th-02 {
        width: 10em;
    }
    .api-timetable-table th, .api-timetable-table td {
        text-align: center;
        vertical-align: middle;
        color: #333;
        font-size: 16px;
        line-height: 1.4;
        font-weight: 400;
        border-bottom: 1px solid #fff;
    }

    .api-timetable-table th {
        padding: 0;
        white-space: nowrap;
        font-size: 14px;
    }
    .api-timetable-table tr:nth-child(2) th, .api-timetable-table tr:nth-child(2) td {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .api-timetable-table tr:last-child th, .api-timetable-table tr:last-child td {
        padding-top: 8px;
        border-bottom: none;
    }
    .api-timetable table tr:first-child th:not(:first-child) {
        font-size: 15px;
        padding: 2px 2px 6px;
    }
    .api-timetable-table th span {
        display: inline-block;
        margin-left: -4px;
    }
    .api-timetable-table-inside {
        background: rgba(255,255,255,0.5);
        padding: 4px 8px 12px;
        width: 100%;
        border-radius: 0 0 8px 8px;
    }
    .api-timetable-table td {
        padding: 0;
    }
    .iphone4-only {
        display: none;
    }
    th.api__sat {
        color: #5B9DC9;
    }
    th.api__sun {
        color: #E26FC7;
    }

    /*ポップアップ*/
    .api-timetable-table td span {
        width: 100%;
        display: block;
        padding: 0;
    }

    .fukidashi em {
        font-size: 16px;
        font-style: normal;
        color: #fff;
    }

    .fukidashi {
        display: none;
        width: auto;
        position: absolute;
        top: -60px;
        left: -112px;
        z-index: 10;
        padding: 8px;
        border-radius: 5px;
        background: #002d5a;
        border: 1px solid #fff;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.03em;
        line-height: 1.6;
    }

    .api__cell:has(.popup):hover .fukidashi {
        display: block;
    }

    .api-worktime-text {
        font-size: 14px;
    }

    .api-timetable-table th.api-bluecell {
        background: #3e577f;
    }
    .tab__apitable-btnarea {
        display: flex;
        justify-content: center;
        width: 100%;
        flex-wrap: nowrap;
        gap: 10px;
        margin: 8px 0 0;
        position: relative;
        z-index: 1;
    }
    .api-timetable-table th span.api-weekwhite {
        display: block;
        font-size: 0.8em;
        margin: 2px 0 0;
        border-radius: 3px;
        line-height: 1;
        padding: 0;
    }
    .tab__apitable-btnlink {
        width: 100%;
        background: #fff;
        display: flex;
        height: 28px;
        align-items: center;
        justify-content: center;
        line-height: 1;
        border-radius: 28px;
        padding-top: 1px;
        padding-bottom: 0;
        font-feature-settings: "palt";
        font-size: 15px;
        position: relative;
        border: 1px solid #002d5a;
        color: #002d5a;
        cursor: pointer;
    }
    .tab__apitable-btnlink::after {
        content: "";
        position: absolute;
        transform: translate(0, -50%) rotate(45deg);
        right: 8px;
        top: 50%;
        width: 7px;
        height: 7px;
        border-top: 1px solid #002d5a;
        border-right: 1px solid #002d5a;
    }
    .tab__apitable-btnlink.tab__apilink02 {
        background: #555;
        border: 1px solid #555;
        color: #fff;
    }
    .tab__apitable-btnlink.tab__apilink02::after {
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
    }
    .tab__apitable-btnlink:hover {
        background: #002d5a;
        border: 1px solid #002d5a;
        color: #FFF;
    }
    .tab__apitable-btnlink.tab__apilink02:hover {
        background: #606060;
        border: 1px solid #FFF;
    }
    .tab__apitable-btnlink:hover::after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }
    .api-kyukan {
        text-align: right;
        display: flex;
        color: #333;
        font-weight: 400;
        font-size: 13px;
        justify-content: flex-end;
        align-items: center;
        gap: 3px;
        letter-spacing: 0;
        margin-top: 6px;
    }
    
    .api-kyukan::before {
        content: "";
        background: url(unit/module/api_config/time_main/img/tel.svg) no-repeat;
        width: 10px;
        height: 16px;
        background-size: 100%;
        margin-top: 2px;
    }
    .api__cell {
        width: calc(100% - 8px);
        height: 36px;
        margin: auto;
        display: flex;
        background: #fff;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        font-size: 14px;
        font-family: Meiryo;
        line-height: 1;
        cursor: pointer;
        border: 1px solid #002d5a;
        box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.12);
        padding-top: 1px;
    }
    .api__cell:has(.api__telicon) {
        border: unset;
        box-shadow: unset;
    }
    .api__cell:has(.api__holi) {
        border: unset;
        box-shadow: unset;
        background: #D9D9D9;
    }
    .api__cell:hover {
        background: #f1f9ff;
        cursor: pointer;
    }
    .api__cell:has(.api__holi):hover {
        background: #D9D9D9;
        cursor: unset;
    }
    .api-worktime {
        display: flex;
        align-items: stretch;
        margin: 8px 0 0;
        gap: 32px;
    }
    .api__cell > a, .api__cell span.popup {
        color: #444;
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
        padding-bottom: 0;
    }
    .api-worktime-flex {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 100;
        color: rgba(53, 87, 130, 1);
    }
    img.api__telicon {
        margin-top: 0;
    }
    .api-worktime-white {
        background: #fff;
        display: flex;
        align-items: center;
        height: 26px;
        width: 7em;
        justify-content: center;
    }

    .reserve__timetbl {
        padding: 24px 0 32px;
        background: #eeede3;
    }
    @media screen and (max-width: 767px) {
        .api-timetable-title {
            font-size: 19px;
        }

        .api-worktime-white {
            width: 6em;
            height: 32px;
        }

        .api-worktime {
            gap: 8px;
        }
        th.api__sat {
            color: #2f6d96;
        }
        th.api__sun {
            color: #ba4ba0;
        }
        .api-kyukan,
        .api-worktime,
        .api-worktime-white,
        .api-worktime-text {
            font-size: 13px;
            font-weight: 500;
        }

        .api-kyukan {
            text-align: left;
            padding-left: 0;
            font-size: 12px;
            margin-top: 3px;
            font-weight: 400;
            color: #fff;
            letter-spacing: -0.05em;
        }

        .api-kyukan::before {
            margin-top: 3px;
            background: url(unit/module/api_config/tel-fff.svg) no-repeat;
            background-size: 100%;
        }

        .api-timetable-table th {
            font-size: 13px;
            font-feature-settings: "palt";
            letter-spacing: -0.05em;
        }

        #reservation .api-worktime {
            flex-direction: column;
        }

        #reservation .api-timetable-table th {
            font-size: 13px;
            font-feature-settings: "palt";
            letter-spacing: -0.05em;
        }

        #reservation .api-worktime-white {
            width: 6em;
            height: 32px;
        }
        .api-timetable-table-inside {
            border: 1px solid rgba(204, 204, 204, 0.35);
            border-top: unset;
        }
    }

    /** reservable__tab **/
    .reservable__tab-box {
        position: relative;
        width: calc(100% - 430px);
        padding: 0;
        margin: 0;
    }

    .reservable__tab-flex {
        margin-bottom: 12px;
        border-bottom: 1px solid #fff;
        letter-spacing: 0.03em;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .reservable__tab-title {
        color: rgba(53, 87, 130, 1);
        font-weight: 700;
        font-size: 15px;
        padding-bottom: 8px;
        border-bottom: unset;
        margin-bottom: 0;
    }

    .reservable__tab-days {
        padding-bottom: 8px;
    }

    .reservable__time-list {
        display: flex;
        gap: 5px;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .reservable__time-list li {
        width: calc((100% - 15px) / 4);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
    }

    .reservable__time-list li.reservable__panel-nonarea {
        width: 100%;
        display: block;
    }

    .reservable__time-list li>a {
        display: flex;
        width: 100%;
        padding: 2px 0 0;
        font-size: 14px;
        letter-spacing: 0;
        font-weight: 500;
        line-height: 1;
        text-align: center;
        height: 24px;
        justify-content: center;
        align-items: center;
        background: #fff;
        border: 1px solid #ACBAD1;
        border-radius: 5px;
    }

    .reservable__time-list li>a:hover {
        background: #294168;
        color: #fff;
        opacity: 1;
    }

    .reservable__col {
        display: flex;
        justify-content: space-between;
        width: 100%;
        flex-direction: column;
    }

    @media screen and (min-width: 768px) {
        .reservable__time-list {
            gap: 5px;
        }

        .reservable__tab-flex {
            margin-bottom: 10px;
            border-bottom: 1px solid #fff;
        }

        .reservable__tab-title {
            font-size: 16px;
            padding-bottom: 0;
        }

        .reservable__tab-days {
            padding-bottom: 8px;
        }

        .reservable__col {
            display: flex;
            width: 100%;
            align-items: center;
            justify-content: space-between;
            flex-direction: row;
        }

        .reservable__tab-days {
            display: flex;
            gap: 10px;
        }

        .reservable__time-list li {
            width: calc((100% - 25px) / 6);
        }

        .reservable__time-list li>a {
            padding: 1px 2px 0px;
            font-size: 14px;
        }
    }


    .reservable__tab-title {
        position: relative;
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .reservable__tab-panel01,
    .reservable__tab-panel02,
    .reservable__tab-panel03,
    .reservable__tab-panel04,
    .reservable__tab-panel05,
    .reservable__tab-panel06 {
        display: none;
        visibility: hidden;
    }

    .reservable__tab-panel01.active,
    .reservable__tab-panel02.active,
    .reservable__tab-panel03.active,
    .reservable__tab-panel04.active,
    .reservable__tab-panel05.active,
    .reservable__tab-panel06.active {
        display: flex;
        visibility: visible;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .reservable__before,
    .reservable__after,
    .reservable__link {
        position: static;
        display: block;
        margin: 0;
        font-size: 0.8em;
        color: #fff;
        display: inline-block;
        background: #3e577f;
        border-radius: 3px;
        vertical-align: 2px;
        cursor: pointer;
    }

    .reservable__before:hover,
    .reservable__after:hover,
    .reservable__link:hover {
        background: #294168;
    }

    .reservable__before {
        padding: 5px 5px 4px 8px;
    }

    .reservable__before::before {
        content: "";
        border-right: 7px solid #fff;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        width: auto;
        height: auto;
        margin: 0 5px 0px 0;
        display: inline-block;
    }

    .reservable__after,
    .reservable__link {
        padding: 5px 5px 4px 8px;
    }

    .reservable__after::after,
    .reservable__link::after {
        content: "";
        border-left: 7px solid #fff;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        width: auto;
        height: auto;
        margin: 0 0 0px 5px;
        display: inline-block;
    }

    .reservable__only {
        display: none;
    }

    .reservable__time-list li.reservable__empty {
        width: 100%;
        font-size: 14px;
        text-align: left;
        justify-content: flex-start;
        line-height: 1.4;
    }

    @media screen and (min-width: 768px) {
        .reservable__tab-title>div {
            position: absolute;
            cursor: pointer;
            margin: 0;
            font-size: 0.9em;
            right: 0;
        }

        .reservable__before,
        .reservable__after,
        .reservable__link {
            font-weight: 100;
            vertical-align: 9px;
        }

        .reservable__before {
            padding: 8px 8px 6px 5px;
        }

        .reservable__after,
        .reservable__link {
            padding: 8px 5px 6px 8px;
        }

        .reservable__only {
            display: inline;
        }
    }

.cal-time_in01 {
    position: absolute;
    top: -40px;
    left: 0;
    width: 100%;
    height: 40px;
    background: #002d5a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
    border-radius: 8px;
    letter-spacing: 0;
}
.cal-time_in02 {
    display: block;
    flex-wrap: wrap;
    width: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-y: scroll;
    height: 152px;
    margin-top: 8px;
}
.cal-time_in02:has(.reservable__tab-text) {
    align-items: center;
}
.cal-time_in02 > div {
    border: 1px solid #002d5a;
    background: #fff;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.12);
    height: 32px;
    margin-right: 10px;
    width: auto;
    margin-bottom: 7px;
    border-radius: 8px;
    padding-top: 2px;
    display: flex;
    align-items: center;
    transition: ease all 0s;
}
.cal-time_in02 > div:hover {
    background: #002d5a;
    border: 1px solid #002d5a;
    opacity: 1;
}
.cal-time_in02 > div > a {
    width: 100%;
    height: 100%;
    display: flex;
    padding: 0;
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    align-items: center;
    padding-bottom: 2px;
    justify-content: center;
    color: #333;
    transition: ease all 0s;
}
.cal-time_in02 > div:hover > a {
    color: #fff;
    opacity: 1;
}
.cal-time_ttl-day {
    margin-top: 3px;
    margin-left: 3px;
}
.u__api-br {
    display: none;
}
    .cal-time_in02::-webkit-scrollbar {
      width: 8px;
    }

    .cal-time_in02::-webkit-scrollbar-track {
        background-color: rgba(255,255,255,0.5);
    }
    .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002d5a;
      	border-radius: 8px;
    }
    .board01 .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002d5a;
    }
.arrow-prev,
.arrow-next {
    position: relative;
	display: inline;
	cursor: pointer;
}
.arrow-prev::before,
.arrow-next::before {
    content: '';
    border-top: solid 2px #3e577f;
    width: 12px;
    height: 12px;
    position: absolute;
    top: -8%;
}
.arrow-prev::before {
    border-left: solid 2px #3e577f;
    transform: rotate(-45deg);
}
.arrow-next::before {
    border-right: solid 2px #3e577f;
    transform: rotate(45deg);
}
.cal-time_ttl-day > span {
	font-size: 2rem;
    vertical-align: 0.1em;
}
.in-num {
    margin-top: 24px;
}
.in-num_ttl {
    margin-bottom: 8px;
}
.in-num_in {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 24px;
}
.in-num_in figure {
    width: calc(100% / 3 - 8px);
}
.in-num_in figure:nth-last-of-type(-n+2) {
    margin-top: -16px;
}
.in-num_kome li {
    font-size: 1.4rem;
    line-height: 1.2em;
    padding-left: 24px;
    text-indent: -14px;
}
.reservable__tab-panel01, .reservable__tab-panel02, .reservable__tab-panel03, .reservable__tab-panel04, .reservable__tab-panel05, .reservable__tab-panel06, .reservable__tab-panel07 {
    display: none;
    visibility: hidden;
	width: 100%;
}
.reservable__tab-panel01.active, .reservable__tab-panel02.active, .reservable__tab-panel03.active, .reservable__tab-panel04.active, .reservable__tab-panel05.active, .reservable__tab-panel06.active, .reservable__tab-panel07.active {
    display: block;
    visibility: visible;
}
.reservable__tab-panel-inner {
    display: block;
    width: 100%;
}
.reservable__tab-text {
    display: flex;
    align-items: center;
    line-height: 1.4;
    justify-content: flex-start;
    font-weight: 400;
    text-align: left;
    font-size: 14px;
    padding-right: 8px;
}
.fukidashi {
    display: none;
}
.api-frame .pc {
    display: none;
}
.cal_in .u__pc-only {
    display: none;
}
.cal-tbl_ttl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}
.cal-tbl_ttl > span {
    color: #fff;
    font-size: 15px;
    line-height: 1;
}
.tab__main-return, .tab__implant-return, .tab__gingival-return, .tab__ortho-return {
    display: none;
}
.tab__main-dumy,
.tab__implant-dumy,
.tab__gingival-dumy,
.tab__ortho-dumy,
.tab__main-dumy:hover,
.tab__implant-dumy:hover,
.tab__gingival-dumy:hover,
.tab__ortho-dumy:hover {
    display: none;
    border: 1px solid #fff;
    color: #999;
    background: #ccc;
}
.tab__main-dumy::after,
.tab__implant-dumy::after,
.tab__gingival-dumy::after,
.tab__ortho-dumy::after,
.tab__main-dumy:hover::after,
.tab__implant-dumy:hover::after,
.tab__gingival-dumy:hover::after,
.tab__ortho-dumy:hover::after {
    border-top: 1px solid #999;
    border-right: 1px solid #999;
}

@media screen and (max-width: 767px) {
    .api-timetable {
        padding: 0;
    }
    .api-timetable-table {
        table-layout: fixed;
    }
    .api-timetable table tr:first-child th:not(:first-child) {
        font-size: 15px;
    }
    .api__time-work {
        text-align: center !important;
    }
    .api__work-text {
        display: none !important;
    }
    .cal-time_in01 {
        width: 32%;
    }
    .cal-time_ttl-day {
        width: 100%;
    }
    .arrow-prev::before, .arrow-next::before {
        width: 9px;
        height: 9px;
    }
    .cal-time_in02 {
        width: 62%;
        overflow-y: auto;
        height: auto;
    }
    .cal-time_in02 > div {
        width: 31%;
        padding-top: 3px;
        padding-bottom: 1px;
        margin-right: 2%;
        margin-bottom: 8px;
    }
    .api__cell {
        width: calc(100% - 4px);
    }
}

@media screen and (max-width: 1279px) {
    .reservable__tab-box {
        width: calc(100% - 418px);
    }
    .cal-tbl_ttl {
        gap: 0;
    }
    .cal-tbl_ttl > span {
        font-size: 12px;
    }
    .cal-time_in02 > div > a {
        font-size: 13px;
    }
}
@media screen and (max-width: 1189px) {
    .api-timetable-table-wrap {
        width: 100%;
    }
    .tab__apitable-btn {
        width: 100%;
    }
    .api-timetable {
        flex-direction: column;
        gap: 8px;
    }
    .reservable__tab-panel-inner {
        display: flex;
        gap: 12px;
        align-items: flex-start;
    }
    .cal-time_in01 {
        position: static;
        width: 160px;
    }
    .reservable__tab-box {
        width: 100%;
    }
    .cal-time_in02 {
        height: 36px;
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        margin: 0;
        padding-bottom: 0;
    }
    .cal-time_in02 > div {
        padding-left: 8px;
        padding-right: 8px;
    }
    .tab__apitable-btnlink {
        font-size: 12px;
    }
    .tab__apitable-btnlink::after {
        right: 5px;
    }
    .cal-time_in02 > div > a {
        padding-bottom: 1px;
    }
}
@media screen and (max-width: 1023px) {
    .mvAddBlockIn {
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
    .tab__apitable-btnlink::after {
        right: 12px;
    }
}
@media screen and (max-width: 767px) {
    a.sp_link_en {
        z-index: 999;
    }
    .mvAddBlockIn {
        border: unset;
        width: 100%;
        padding-top: 40px;
        padding-bottom: 0;
    }
    .tab__apitable {
        width: calc(100% - 16px);
        max-width: 393px;
        order: 1;
    }
    .api__area-achievements {
        order: 2;
    }
    .reservable__tab-panel-inner {
        flex-direction: column;
        gap: 8px;
        margin-top: 12px;
    }
    .cal-time_in01 {
        width: 152px;
        height: 32px;
        background: #002d5a;
    }
    .cal-tbl_ttl > span {
        font-size: 15px;
    }
    .cal-time_in02 > div > a {
        font-size: 15px;
    }
    .cal-time_in02 {
        width: 100%;
        max-height: 77px;
        height: auto;
        overflow-y: scroll;
    }
    .tab__apitable-btnarea {
        margin: 32px auto 0;
        flex-direction: row;
        align-items: stretch;
        flex-wrap: wrap;
    }
    .tab__apitable-btnlink {
        font-size: 15px;
        max-width: 250px;
        height: 48px;
        text-align: center;
        line-height: 1;
        padding-top: 0;
    }
    .cal-time_in02 > div > a {
        padding-bottom: 3px;
    }
    .api__cell > a, .api__cell span.popup {
        padding-bottom: 0;
    }
    .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002D5A;
      	border-radius: 8px;
    }
    .board01 .cal-time_in02::-webkit-scrollbar-thumb {
    	background-color: #002D5A;
    }
    .reservable__tab-text {
        color: #fff;
    }
    .tab__apitable-btnlink.tab__apilink02 {
        background: #888;
        border: 1px solid #888;
    }
    .tab__apitable-btnlink:hover {
        background: #fff;
        border: 1px solid #fff;
        color: #002d5a;
    }
    .tab__apitable-btnlink:hover::after {
        border-top: 1px solid #002d5a;
        border-right: 1px solid #002d5a;
    }
    .cal-time_in02 > div:hover {
        background: #fff;
        border: 1px solid #fff;
    }
    .cal-time_in02 > div:hover > a {
        color: #002d5a;
    }
}
