@charset "utf-8";
/* ===================================================================
  style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
html.fixed,
html.fixed body {
  overflow: hidden;
}

body {
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-family: 游明朝体,Yu Mincho,游明朝,YuMincho,ヒラギノ明朝 Pro W3,Hiragino Mincho Pro,"Noto Serif JP",HG明朝E,MS P明朝,MS 明朝,serif;
  background-color: var(--color_01);
  color: var(--color_base);
  font-size: 1.6rem;
  line-height: var(--line-height_base);
  letter-spacing: var(--letter-spacing_base);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}



/*----------------------------------------------------
  リンク
----------------------------------------------------*/
a:link,
a:visited,
a:hover,
a:active {
  color: var(--color_base);
  text-decoration: none;
  transition: all .5s ease;
}

.link_txt01 {
  color: var(--color_02) !important;
}

.link_txt01:hover {
  opacity: var(--opacity_05);
}

/* -----------------------------------------------------------
  pageTop
----------------------------------------------------------- */

i.fa-solid.fa-chevron-up {
    font-size: 30px;
}
.pageTop {
    position: sticky;
    bottom: 0;
    background: #2e1b01;
    width: 100%;
    text-align: center;
    z-index: 1;
	padding-top: 5px;
}
.pageTop {
    display: none;
}
.pageTop a {
    color: #fff;
	display: block;
}
.footer__logo-wrap {
  position: relative;
  padding-bottom: 25px;
  margin-bottom: 30px;
  border-bottom: 0.5px solid #fff;
}
.footer__logo-wrap .-logo {
  display: inline-block;
  margin-bottom: 35px;
}
.footer__logo-wrap address {
  /*width: 100%;*/
  width: calc(100% - 35px);
}
.footer__logo-wrap address p {
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
.footer__logo-wrap .ig-link {
  position: absolute;
  width: 35px;
  height: 35px;
  bottom: 25px;
  right: 0;
}
.footer__logo-wrap a {
  color: #fff;
}



/* -----------------------------------------------------------
  .txt_deco
----------------------------------------------------------- */
.txt_deco01 {
  text-decoration: underline !important;
}

.txt_deco01:hover {
  text-decoration: none !important;
}

/*----------------------------------------------------
    アニメーション
----------------------------------------------------*/
.anim-box {
  opacity: var(--opacity_0);
}

.anim-box.slidein_r.is-animated {
  animation: slideIn_r 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn_r {
  0% {
    transform: translateX(180px);
    opacity: var(--opacity_0);
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: var(--opacity_1);
  }
}

.anim-box.slidein_l.is-animated {
  animation: slideIn_l 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn_l {
  0% {
    transform: translateX(-180px);
    opacity: var(--opacity_0);
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: var(--opacity_1);
  }
}

.anim-box.fadeup.is-animated {
  animation: fadeUp 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeUp {
  0% {
    transform: translateY(80px);
    opacity: var(--opacity_0);
  }
  80% {
    opacity: var(--opacity_1);
  }
  100% {
    opacity: var(--opacity_1);
    transform: translateY(0);
  }
}

.anim-box.fadedown.is-animated {
  animation: fadeDown 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeDown {
  0% {
    transform: translateY(-80px);
    opacity: var(--opacity_0);
  }
  80% {
    opacity: var(--opacity_1);
  }
  100% {
    opacity: var(--opacity_1);
    transform: translateY(0);
  }
}

.anim-box.zoomin.is-animated {
  animation: zoomIn 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: var(--opacity_0);
  }
  100% {
    opacity: var(--opacity_1);
    transform: scale(1);
  }
}

.anim_txt01 {
  animation: fadeIn 2s ease 1s 1 normal backwards;
}

.anim_txt02 {
  animation: fadeIn 3s ease 1s 1 normal backwards;
}

.anim_txt03 {
  animation: fadeIn 4s ease 1s 1 normal backwards;
}

@keyframes fadeIn {
  from {
    opacity: var(--opacity_0);
    transform: translateX(-150px);
  }
  to {
    opacity: var(--opacity_1);
    transform: translateX(0);
  }
}

/* -----------------------------------------------------------
  .note
----------------------------------------------------------- */
.note {
  display: flex;
}

.note:before {
  content: "※";
  margin-right: 0.1em;
}

/* -----------------------------------------------------------
  .list
----------------------------------------------------------- */
.list {
  line-height: var(--line-height_14);
}

.list > li {
  display: flex;
  margin-top: 0.25em;
}

.list > li:first-of-type {
  margin-top: 0;
}

.list > li:before {
  content: "・";
  margin-right: 0.15em;
  margin-left: -0.05em;
}

/* -----------------------------------------------------------
  .sp_tel
----------------------------------------------------------- */
.sp_tel {
  pointer-events: none;
}

/* -----------------------------------------------------------
  .resp_elt
----------------------------------------------------------- */
.resp_elt01 {
  display: none;
}

/* -----------------------------------------------------------
  .btn
----------------------------------------------------------- */
.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1em;
  position: relative;
  z-index: 0;
}

.btn01 {
  padding: 0.5em 1em;
}

.btn02 {
  padding: 0.5em 1.5em;
}

.btn03 {
  display: inline-flex;
}

/* -----------------------------------------------------------
  .arrow
----------------------------------------------------------- */
.arrow:after {
  background-image: url(../img/common/arrow01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 7px;
  width: 37px;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}

/* -----------------------------------------------------------
  背景色
----------------------------------------------------------- */
.bg_clr01 {
  background-color: transparent !important;
}

.bg_clr01:hover {
  background-color: var(--color_base) !important;
}

/* -----------------------------------------------------------
  ボーダー色
----------------------------------------------------------- */
.brd_clr01 {
  border: 1px solid var(--color_base) !important;
}

.brd_clr01:hover {
  border: 1px solid var(--color_base) !important;
}

/* -----------------------------------------------------------
  フォント色
----------------------------------------------------------- */
.clr01 {
  color: var(--color_base) !important;
}

.clr01:hover {
  color: var(--color_01) !important;
}

/* -----------------------------------------------------------
  フォントウェイト
----------------------------------------------------------- */
.font_w01 {
  font-weight: var(--font-weight_01) !important;
}

.font_w02 {
  font-weight: var(--font-weight_02) !important;
}

.font_w03 {
  font-weight: var(--font-weight_03) !important;
}

.font_w04 {
  font-weight: var(--font-weight_04) !important;
}

.font_w05 {
  font-weight: var(--font-weight_05) !important;
}

.font_w06 {
  font-weight: var(--font-weight_06) !important;
}

.font_w07 {
  font-weight: var(--font-weight_07) !important;
}

.font_w08 {
  font-weight: var(--font-weight_08) !important;
}

.font_w09 {
  font-weight: var(--font-weight_09) !important;
}

.font_w10 {
  font-weight: var(--font-weight_10) !important;
}

.font_w11 {
  font-weight: var(--font-weight_11) !important;
}

.font_w12 {
  font-weight: var(--font-weight_12) !important;
}

.font_w13 {
  font-weight: var(--font-weight_13) !important;
}

.font_w14 {
  font-weight: var(--font-weight_14) !important;
}

/* -----------------------------------------------------------
  高さ
----------------------------------------------------------- */
.hit_100 {
  height: 100%;
}

.hit_01 {
  height: 30px;
}

.hit_02 {
  height: 35px;
}

.hit_03 {
  height: 40px;
}

.hit_04 {
  height: 45px;
}

.hit_05 {
  height: 50px;
}

.hit_06 {
  height: 55px;
}

.hit_07 {
  height: 60px;
}

.hit_08 {
  height: 65px;
}

.hit_09 {
  height: 70px;
}

.hit_10 {
  height: 75px;
}

.hit_11 {
  height: 80px;
}

.hit_12 {
  height: 85px;
}

.hit_13 {
  height: 90px;
}

.hit_14 {
  height: 95px;
}

.hit_15 {
  height: 100px;
}

.hit_16 {
  height: 110px;
}

.hit_17 {
  height: 120px;
}

.hit_18 {
  height: 130px;
}

.hit_19 {
  height: 140px;
}

.hit_20 {
  height: 150px;
}

/* -----------------------------------------------------------
  幅
----------------------------------------------------------- */
.wid_100 {
  width: 100%;
}

.wid_01 {
  width: 100px;
}

.wid_02 {
  width: 120px;
}

.wid_03 {
  width: 130px;
}

.wid_04 {
  width: 140px;
}

.wid_05 {
  width: 150px;
}

.wid_06 {
  width: 160px;
}

.wid_07 {
  width: 170px;
}

.wid_08 {
  width: 180px;
}

.wid_09 {
  width: 190px;
}

.wid_10 {
  width: 200px;
}

.wid_11 {
  width: 210px;
}

.wid_12 {
  width: 220px;
}

.wid_13 {
  width: 230px;
}

.wid_14 {
  width: 240px;
}

.wid_15 {
  width: 250px;
}

.wid_16 {
  width: 260px;
}

.wid_17 {
  width: 270px;
}

.wid_18 {
  width: 280px;
}

.wid_19 {
  width: 290px;
}

.wid_20 {
  width: 300px;
}

.wid_21 {
  width: 310px;
}

.wid_22 {
  width: 320px;
}

.wid_23 {
  width: 330px;
}

.wid_24 {
  width: 340px;
}

.wid_25 {
  width: 350px;
}

/* -----------------------------------------------------------
  .hd
----------------------------------------------------------- */
.hd_01 {
  display: flex;
  flex-direction: column;
  line-height: var(--line-height_10);
  padding-bottom: 15px;
  position: relative;
}

.hd_01:before,
.hd_01:after {
  content: "";
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.hd_01:before {
  background-color: var(--color_02);
  width: 100px;
}

.hd_01:after {
  background-color: var(--color_03);
  width: 35px;
}

.hd_01 .hd_en {
  color: var(--color_05);
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.hd_01 .hd_jp {
  font-size: 2.6rem;
}

.hd_02 {
  font-size: 3.0rem;
  line-height: 1.3;
}
.hd_02.hd_02--center {
  text-align: center;
}

.hd_03 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  letter-spacing: .2em;
}

.hd_03 .hd_en {
  font-size: 1.8rem;
  line-height: var(--line-height_10);
  color: var(--color_05);
  margin: 0 0 10px;
  font-weight: 400;
}
.hd_03 .hd_ja {
  font-size: 4rem;
  font-weight: 600;
}

.hd_04 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: var(--line-height_10);
  padding-bottom: 15px;
  position: relative;
}

.hd_04:before,
.hd_04:after {
  content: "";
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.hd_04:before {
  /* background-color: var(--color_02); */
  width: 100px;
}

.hd_04:after {
  /* background-color: var(--color_03); */
  width: 93px;
  background-image: linear-gradient(90deg, var(--color_03) 0 33%, var(--color_02) 33%);
}

.hd_04 .hd_en {
  color: var(--color_05);
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 12px;
  letter-spacing: .2em;
}

.hd_04 .hd_jp {
  font-size: 3.4rem;
  font-weight: 600;
  letter-spacing: .2em;
}

.hd_05 {
  font-size: 2.6rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: .1em;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color_04);
}

.hd_06 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-align: center;
  padding: 0 20px;
}

.hd_06 .inr {
  padding: 0 0 5px;
  border-bottom: 1px solid var(--color_04);
  display: inline-block;
}

.hd_07 {
  font-size: 2.5rem;
  text-align: center;
  font-weight: 600;
  position: relative;
  z-index: 0;
  display: table;
  padding: 0 0 0 35px;
}

.hd_07:before {
  content: "";
  width: 18px;
  height: 18px;
  background: var(--color_05);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}


.hd_08 {
  font-size: 5rem;
  text-align: center;
  font-weight: 600;
  position: relative;
  z-index: 0;
  display: table;
  padding: 0 0 0 35px;
  padding-left: 0;
}
.hd_08:before {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  top: -10px;
  font-size: 14px;
  letter-spacing: normal;
}
.stomatitis.hd_08:before {
  content:"stomatitis";
}
.wisdom_teeth.hd_08:before {
  content:"wisdom teeth";
}
.tjd.hd_08:before {
  content:"temporomandibular joint disorder";
}
.cyst.hd_08:before {
  content:"tooth root cyst";
}
h1.ttl.hd_08.tjd {
    width: 300px;
}
/* -----------------------------------------------------------
  inner
----------------------------------------------------------- */
.inner {
  max-width: 1400px;
  min-width: 810px;
  width: 100%;
  margin: 0 auto;
}

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding-left: 1vw;
  position: sticky;
  top: 0;
  left: 0;
  transition: all .2s ease;
  z-index: 30;
}

header.is-fixed {
  background-color: var(--color_01);
}

header .site_id {
  display: flex;
  align-items: center;
}

header .logo_symbol,
header .tradename {
  line-height: var(--line-height_00);
}

header .logo_symbol {
  width: 45px;
}

header .logo_txt {
  display: flex;
  align-items: center;
}

header .logo_txt .tradename {
  margin-left: 10px;
  width: 320px;
}

header .logo_txt .en_tradename {
  color: var(--color_04);
  font-size: 1.8rem;
  letter-spacing: var(--letter-spacing_02);
  line-height: var(--line-height_10);
  margin-left: 20px;
}

header .head_rt {
  display: flex;
  align-items: center;
}

header .head_rt .tel_box.active {
  opacity: var(--opacity_0);
  transition: none;
}

header .head_rt .tel_box .tel_number {
  line-height: var(--line-height_10);
}


header .head_rt .tel_box .tel_number a {
  display: flex;
  align-items: baseline;
}

header .head_rt .tel_box .tel_number .tel_ttl {
  font-size: 2.4rem;
  margin-right: 10px;

  @media screen and (max-width: 1180px) {
    /*font-size: 2.0rem;*/
    font-size: 1.8rem;
  }
}

header .head_rt .tel_box .tel_number .tel_num {
  font-size: 3.6rem;

  @media screen and (max-width: 1180px) {
    /*font-size: 2.8rem;*/
    font-size: 2.4rem;
  }
}

header .head_rt .tel_box .recep_time {
  display: flex;
  font-size: 1.2rem;
  letter-spacing: var(--letter-spacing_04);
  margin-top: 5px;
}

header .head_rt .tel_box .recep_time .recep_ttl:after {
  content: "/";
  margin: 0 0.25em;
}

@media screen and (max-width: 1180px) {
  header .head_rt .tel_box .recep_time .recep_hours >span:last-child {
    display: block;
  }
}
@media screen and (max-width: 1080px) {
  header .head_rt .tel_box .recep_time .recep_hours >span:last-child {
    display: inline;
  }
}



@media screen and (min-width: 768px) and (max-width: 1600px) {
/*	header .head_rt .tel_box .tel_number .tel_ttl { font-size: 14px;}
	header .head_rt .tel_box .tel_number .tel_num {font-size: 19px;}
	header .head_rt .tel_box .recep_time { display: block;}
	header .head_rt .tel_box .recep_time p.recep_hours { display: block;}
	header .head_rt .tel_box .recep_time p.recep_hours span {display: block;} */
}




/*----------------------------------------------------
  toggle-panel
----------------------------------------------------*/
#panel-btn {
  background-color: var(--color_03);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  width: 100px;
  margin-left: 30px;
  transform: translateX(0);
  transition: all .5s ease;
  z-index: 10000;
}

#panel-btn:hover {
  background-color: var(--color_02);
}

#panel-btn.active {
  position: fixed;
  top: 0;
  right: 0;
}

#panel-btn-wrap {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin-top: 10px;
  position: relative;
}

#panel-btn-icon {
  background-color: var(--color_01);
  display: block;
  height: 2px;
  width: 40px;
  position: relative;
  transition: .2s;
}

#panel-btn-icon:before,
#panel-btn-icon:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  width: 40px;
  height: 2px;
  margin-left: 0;
  transition: .3s;
}

#panel-btn-icon:before {
  background-color: var(--color_01);
  margin-top: -12px;
}

#panel-btn-icon:after {
  background-color: var(--color_01);
  margin-top: 10px;
}

#panel-btn .close {
  background-color: transparent;
}

#panel-btn .close:before,
#panel-btn .close:after {
  background-color: var(--color_01);
  margin-top: 0;
  width: 40px;
}

#panel-btn .close:before {
  transform: rotate(-45deg);
}

#panel-btn .close:after {
  transform: rotate(-135deg);
}

#panel-btn-text {
  font-size: 1.2rem;
  color: var(--color_01);
  letter-spacing: var(--letter-spacing_02);
  line-height: var(--line-height_10);
  margin-top: 20px;
}

/* .overlay {
  background-color: rgba(0, 0, 0, 0);
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: var(--opacity_0);
  transition: opacity .5s;
}

.overlay.open {
  opacity: var(--opacity_1);
  height: 100vh;
  width: 100%;
} */

/* -----------------------------------------------------------
  .nav_box
----------------------------------------------------------- */
.nav_box {
  background-color: rgba(255, 255, 255, 1);
  filter: blur(1em);
  display: flex;
  flex-direction: row-reverse;
  height: 100%;
  width: 100%;
  overflow-y: auto;
  opacity: var(--opacity_0);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  visibility: hidden;
}

.nav_box.open {
  filter: blur(0);
  visibility: visible;
  opacity: var(--opacity_1);
}

.nav_box .nav_left {
  background-image: url(../img/common/nav_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--padding_04);
  position: relative;
  z-index: 0;
  width: 40vw;
}

.nav_box .nav_left:before {
  background-color: rgba(90, 46, 0, 0.8);
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.nav_box .nav_left .nav_info {
  color: var(--color_01);
}

.nav_box .nav_left .nav_info .tagline {
  font-size: 1.5rem;
  display: block;
  letter-spacing: var(--letter-spacing_03);
  line-height: var(--line-height_13);
}

.nav_box .nav_left .nav_info .address_box .logo_box {
  margin-top: 20px;
}

.nav_box .nav_left .nav_info .address_box .logo_box figure {
  line-height: var(--line-height_00);
}

.nav_box .nav_left .nav_info .address_box .logo_box figure svg {
  width: 310px;
}

.nav_box .nav_left .nav_info .address_box .address {
  margin-top: 20px;
}

.nav_box .nav_left .nav_info .nav_tel {
  margin-top: 30px;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number {
  line-height: var(--line-height_10);
}

.nav_box .nav_left .nav_info .nav_tel .tel_number a {
  color: var(--color_01);
  display: flex;
  align-items: baseline;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number .tel_ttl {
  font-size: 2.4rem;
  margin-right: 10px;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number .tel_num {
  font-size: 3.6rem;
}

.nav_box .nav_left .nav_info .nav_tel .recep_time {
  display: flex;
  font-size: 1.2rem;
  letter-spacing: var(--letter-spacing_04);
  margin-top: 5px;
}

.nav_box .nav_left .nav_info .nav_tel .recep_time .recep_ttl:after {
  content: "/";
  margin: 0 0.25em;
}

.nav_box .nav_right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1 1;
  overflow-y: auto;
  padding: var(--padding_03);
}

.nav_box .nav_right .g_nav .nav:not(:first-of-type) {
  margin-top: 2vw;
}

.nav_box .nav_right .g_nav .nav .menu_ttl {
  font-weight: 700;
}

.nav_box .nav_right .g_nav .nav .menu_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  line-height: var(--line-height_12);
  margin-top: 10px;
  width: calc(100% + 10px);
}

.nav_box .nav_right .g_nav .nav .menu_list li {
  display: flex;
  align-items: center;
  width: calc(100% / 3 - 10px);
}

.nav_box .nav_right .g_nav .nav .menu_list li:before {
  background-color: var(--color_05);
  content: "";
  margin-right: 0.5em;
  height: 1px;
  width: 8px;
}

.nav_box .nav_right .g_nav .nav .parent {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  line-height: var(--line-height_12);
  margin-top: 10px;
  width: calc(100% + 20px);
}

.nav_box .nav_right .g_nav .nav .parent .menu_ttl {
  display: flex;
  align-items: center;
  width: calc(100% / 3 - 20px);
}

.nav_box .nav_right .bnr_box {
  margin-top: 3vw;
}

.nav_box .nav_right .bnr_box ul {
  display: flex;
  gap: 1.5vw;
}

.nav_box a:hover {
  opacity: var(--opacity_05);
}

/* -----------------------------------------------------------
  main
----------------------------------------------------------- */
main {
}

/* -----------------------------------------------------------
  .wrapper
----------------------------------------------------------- */
.wrapper {
}

/* -----------------------------------------------------------
  .container
----------------------------------------------------------- */
.container {
}

/* -----------------------------------------------------------
  .contents
----------------------------------------------------------- */
.contents {
  margin-top: 2.5vw;
}

/* -----------------------------------------------------------
  #conference_sec
----------------------------------------------------------- */
#conference_sec {
  border-bottom: 1px solid #816d51;
  padding: 10vw 15vw;
}

#conference_sec .conference_box {
  display: flex;
  flex-wrap: wrap;
  gap: 2vw;
  width: calc(100% + 2vw);
}

#conference_sec .conference_box figure {
  width: calc(100% / 3 - 2vw);
}

#conference_sec .conference_box figure a {
  display: block;
}

#conference_sec .conference_box figure a:hover {
  opacity: var(--opacity_05);
}

/* -----------------------------------------------------------
  #information_sec
----------------------------------------------------------- */
#information_sec {
  padding: var(--padding_01);
}

#information_sec .info_box {
  display: flex;
  justify-content: space-between;
}

#information_sec .info_box .left_box {
  flex: 1 1;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number {
  line-height: var(--line-height_10);
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number a {
  display: flex;
  align-items: baseline;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_ttl {
  font-size: 3.0rem;
  margin-right: 10px;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_num {
  font-size: 4.6rem;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time {
  margin-top: 30px;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl {
  display: flex;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dt:after {
  content: "/";
  margin-left: 0.5em;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dd {
  flex: 1 1;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dd > ul > li > dl {
  display: flex;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dd > ul > li > dl > dt {
  flex: 0 1 3.75em;
  text-align: right;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dd > ul > li > dl > dd {
  flex: 1 1;
  margin-left: 10px;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li {
  display: flex;
  align-items: center;
  margin-top: 30px;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li:first-of-type {
  margin-top: 0;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li .acc_icn {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: var(--line-height_00);
  margin-right: 30px;
  width: 30px;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li .acc_icn svg path {
  fill: var(--color_02);
}

#information_sec .info_box .left_box .access_box {
  margin-top: 5vw;
}

#information_sec .info_box .right_box {
  margin-left: 3vw;
  width: 635px;
}

#information_sec .info_box .right_box .calendar_box {
  background-color: var(--color_06);
  padding: 50px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in {
  background-color: var(--color_01);
  border: 1px solid var(--color_02);
  padding: 30px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head .arr .arr_icn {
  background-color: var(--color_03);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  width: 30px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head .arr .arr_icn:hover {
  background-color: var(--color_02);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head .arr .arr_icn .svg {
  fill: var(--color_01);
  width: 15px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head .date {
  font-size: 1.8rem;
  font-weight: 700;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_head .date .year {
  margin-left: 0.5em;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body {
  line-height: var(--line-height_10);
  margin-top: 30px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_box {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  width: calc(100% + 2px);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_box .frm {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% / 7 - 2px);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_week {
  font-weight: 700;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day {
  margin-top: 15px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .day {
  aspect-ratio: var(--aspect-ratio_1_1);
  background-color: var(--color_09);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .closed {
  background-color: var(--color_10);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .sat {
  background-color: var(--color_11);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .examine {
  background-color: var(--color_05);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .sun,
#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .hol {
  color: var(--color_07);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_main .calendar_body .cldr_day .other {
  color: var(--color_08);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub {
  margin-top: 30px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam {
  display: flex;
  font-size: 1.5rem;
  line-height: var(--line-height_13);
  margin-top: 10px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam:first-of-type {
  margin-top: 0;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_ttl {
  display: flex;
  flex: 0 1 8em;
  font-weight: 700;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_ttl:before {
  content: "";
  font-weight: normal;
  height: 1.25em;
  width: 1.25em;
  margin-right: 10px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam.exam_weekday .exam_ttl:before {
  background-color: var(--color_05);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam.exam_saturday .exam_ttl:before {
  background-color: var(--color_11);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam.exam_closed .exam_ttl:before {
  background-color: var(--color_10);
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail {
  display: flex;
  flex: 1 1;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail .exam_time {
  display: flex;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail .exam_time span:nth-of-type(2) {
  flex: 1 1;
  margin-left: 10px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail .exam_pm:before {
  content: "/";
  margin: 0 0.75em;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .note {
  font-size: 1.3rem;
  line-height: var(--line-height_13);
  margin-top: 20px;
}

/* -----------------------------------------------------------
	lower main visual
----------------------------------------------------------- */
.lower_mv_wrap {
  position: relative;
  z-index: 0;
  padding: 0 0 1vw;
}
.lower_mv_wrap:after {
  content: "";
  width: 100%;
  height: calc(100% - 6vw);
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  background: var(--color_12);
}
.lower_mv_wrap._recruit:after {
  background: var(--color_13);
}
.lower_mv_wrap .contents {
  margin: 0 0 1vw;
}
.lower_mv_wrap .contents .img_box {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  height: 20vw;
  min-height: 380px;
}
.lower_mv_wrap .img_box .img {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* -----------------------------------------------------------
	lower head box
----------------------------------------------------------- */
.lower_head_box {
  padding: 0 15vw;
  position: relative;
  z-index: 0;
}
.lower_head_box .obj {
  position: absolute;
  z-index: -1;
  width: 100%;
  left: 0;
  overflow: hidden;
  text-align: center;
  pointer-events: none;
}
.lower_head_box .obj .img {
  max-width: initial;
  width: auto;
  height: 100%;
  pointer-events: none;
  opacity: .5;
}

/* -----------------------------------------------------------
  lower information sec
----------------------------------------------------------- */
#lower_info_sec {
  padding: 5vw 15vw 10vw;
  position: relative;
  z-index: 0;
}

#lower_info_sec .bnr_box {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2vw;
}

#lower_info_sec .bnr_box .bnr a:hover {
  opacity: .7;
}

#lower_info_sec .bnr_box .bnr .img {
  width: 100%;
}

#lower_info_sec .obj {
  width: 100%;
  height: 11vw;
  position: absolute;
  z-index: -1;
  top: -5vw;
  left: 0;
  text-align: center;
  overflow: hidden;
}

#lower_info_sec .obj .img {
  max-width: initial;
  width: auto;
  height: 100%;
  opacity: .5;
}

/* -----------------------------------------------------------
	breadcrumb
----------------------------------------------------------- */
.breadcrumb {
  padding: 0 1vw 10px;
  margin: 0 0 -10px;
  font-size: 1.4rem;
  display: flex;
  color: var(--color_03);
  letter-spacing: .3em;
  overflow-x: auto;
  overflow-y: hidden;
}
.breadcrumb .breadcrumb-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.breadcrumb .breadcrumb-item:not(:last-of-type):after {
  content: "＞";
  margin: 0 1vw;
}
.breadcrumb .breadcrumb-item-last {
  color: var(--color_05);
}
#symptom_single .breadcrumb .breadcrumb-item:nth-of-type(2) {
  display: none;
}

/* -----------------------------------------------------------
  component
----------------------------------------------------------- */
/* STEP */
.step_cont_lists {
  margin: 8.5vw 0 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8vw;
}

.step_cont_lists > .list {
  display: grid;
  grid-template-columns: 1fr 50%;
  gap: 2vw;
}

.step_cont_lists > .list .txt_box .ttl_box {
  display: grid;
  grid-template-columns: 127px 1fr;
  gap: 2vw;
  align-items: center;
  margin: 0 0 4vw;
}

.step_cont_lists > .list .txt_box .ttl_box .ttl {
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: .1em;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box {
  height: 127px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--color_04);
  letter-spacing: .2em;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .step_ttl {
  font-size: 2.4rem;
}
.step_cont_lists > .list .txt_box .ttl_box .num_box .num {
  font-size: 4rem;
  font-weight: 400;
}

.step_cont_lists > .list .txt_box p {
  letter-spacing: .1em;
  line-height: var(--line-height_19);
}
.step_cont_lists > .list .txt_box ul {
  letter-spacing: .1em;
  line-height: var(--line-height_19);
}

/* list */
.square_list > .list {
  display: flex;
  align-items: baseline;
  gap: 10px;
  line-height: var(--line-height_18);
}

.square_list > .list:before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  background: var(--color_05);
}

/* row box */
.row_box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  align-items: center;
  gap: 4vw;
}

.row_box + .row_box {
  margin: 5vw 0 0;
}

.row_box .pic_box {
  order: 1;
}

.row_box .pic_box .img {
  width: 100%;
}

.row_box .txt_box {
  order: 2;
}

.row_box._reverse .txt_box {
  order: 1;
}

.row_box._reverse .pic_box {
  order: 2;
}

.row_box .txt_box > .ttl {
  font-size: 2.6rem;
  letter-spacing: .1em;
  color: var(--color_03);
  font-weight: 600;
}

.row_box .txt_box > .txt {
  font-size: 1.8rem;
  line-height: 2.2;
  margin: 1vw 0 0;
}

.row_box .txt_box > .txt .txt_inr + .txt_inr{
  margin: 1vw 0 0;
}

.row_box .txt_box > .txt h5 {
  font-size: 1.8rem;
}

/* -----------------------------------------------------------
  pager
----------------------------------------------------------- */
.pager_num {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
  margin: 10vw 0 0;
}

.pager_num .pager_list .page-numbers {
  padding: 0 26px;
  border-left: 1px solid #000;
  font-size: 1.8rem;
}

.pager_num .pager_list .page-numbers:last-child {
  border-right: 1px solid #000;
}

.pager_num .page-numbers.current {
  color: #F38D00;
}

.pager_num .around_btn {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: .4em;
}

.pager_num .next.page-numbers {
  position: absolute;
  right: 0;
  top: 0;
}

.pager_num .prev.page-numbers {
  position: absolute;
  left: 0;
}

.pager_num .around_btn._next {
  padding: 0 50px 0 0;
}

.pager_num .around_btn._prev {
  padding: 0 0 0 50px;
}

.pager_num .around_btn._prev,
.pager_num .around_btn._next {
  position: relative;
}

.pager_num .around_btn._prev:before,
.pager_num .around_btn._next:before {
  content: "";
  width: 33px;
  height: 5px;
  background: url(../img/common/arrow01.svg) no-repeat center / contain;
  position: absolute;
  top: 0;
}

.pager_num .around_btn._prev:before {
  left: 0;
  transform: scale(-1, 1);
}

.pager_num .around_btn._next:before {
  right: 0;
}

/* -----------------------------------------------------------
  pager prev next
----------------------------------------------------------- */
.pager_prev_next {
  margin: 7vw 0 0;
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 0;
}

.pager_prev_next .around {
  position: absolute;
}

.pager_prev_next .prev {
  left: 0;
  top: 0;
  padding: 0 0 0 50px;
}

.pager_prev_next .next {
  right: 0;
  top: 0;
  padding: 0 50px 0 0;
}

.pager_prev_next .prev:before,
.pager_prev_next .next:before {
  content: "";
  width: 33px;
  height: 5px;
  background: url(../img/common/arrow01.svg) no-repeat center / contain;
  position: absolute;
  top: 5px;
}

.pager_prev_next .prev:before {
  left: 0;
  transform: scale(-1, 1);
}

.pager_prev_next .next:before {
  right: 0;
}

.pager_prev_next .back a {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  background: #fff;
  font-weight: 600;
}

.pager_prev_next .back a:hover {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  background: var(--color_base);
}


/* -----------------------------------------------------------
  footer
----------------------------------------------------------- */
footer .map_box .map iframe {
  filter: sepia(80%);
  height: 450px;
  width: 100%;
}

footer .foot_box {
  background-color: var(--color_02);
  color: var(--color_01);
  padding: var(--padding_02);
}

footer .foot_box a {
  color: var(--color_01);
}

footer .foot_box a:hover {
  opacity: var(--opacity_05);
}

footer .foot_box .upside_box {
  display: flex;
  justify-content: space-between;
}

footer .foot_box .upside_box .left_box {
  margin-right: 5vw;
}

footer .foot_box .upside_box .left_box .add_box .tagline {
  font-size: 1.4rem;
  display: block;
  letter-spacing: var(--letter-spacing_03);
  line-height: var(--line-height_13);
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box {
  margin-top: 20px;
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box figure {
  line-height: var(--line-height_00);
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box figure svg {
  width: 290px;
}

footer .foot_box .upside_box .left_box .add_box .address_box .address {
  margin-top: 20px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box {
  margin-top: 30px;
  width: 290px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box > ul > li:not(:first-of-type) {
  margin-top: 20px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box > ul > li:not(:first-of-type) {
  margin-top: 20px;
}

footer .foot_box .upside_box .right_box {
  flex: 1 1;
}

footer .foot_box .upside_box .right_box .foot_nav {
  display: flex;
  justify-content: space-between;
  gap: 3vw;
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_ttl {
  font-weight: 900;
  line-height: var(--line-height_12);
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_ttl:not(:first-of-type) {
  margin-top: 10px;
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_list {
  line-height: var(--line-height_12);
  margin-top: 10px;
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_list li {
  display: flex;
  align-items: center;
  margin-top: 10px;
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_list li:first-of-type {
  margin-top: 0;
}

footer .foot_box .upside_box .right_box .foot_nav .nav .menu_list li:before {
  background-color: var(--color_05);
  content: "";
  margin-right: 0.5em;
  height: 1px;
  width: 8px;
}

footer .foot_box .downside_box {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}


.page_top{
    z-index: 1;
    background-color: var(--color_03);
    width: 60px;
    height: 60px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    right: 0;
    position: fixed;
    bottom: 0;
    float: right;
    transition: none;
    cursor: pointer;
}
.page_top:hover{
    background-color: var(--color_02);
}
.page_top::after {
	    position: absolute;
    top: 50%;
    right: 50%;
    margin-top: -2px;
    margin-right: -6px;
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}




