@charset "UTF-8";
/***
    The new CSS reset - version 1.9 (last updated 19.6.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* remove default dot (•) sign */
::marker {
  content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0 0;
}

p {
  margin: 0 0 0 0;
}

html {
  scroll-behavior: smooth;
}
table tbody tr th,table tbody tr td {
    padding: 5px 3px;
    border-bottom: solid 1px #ddd
}

table tbody tr th {
    width: 25%
}
.mt-5, .my-5 {
    margin-top: 3rem !important;
}
.spmenu_btn {
    display: none
}

@media screen and (max-width: 768px) {
    .spmenu_btn {
        display:flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        width: 45px;
        height: 45px;
        position: fixed;
        right: 10px;
        top: 10px;
        z-index: 6;
        align-content: space-between;
        background-color: rgba(255,255,255,0.3);
        padding: 11px 7px
    }

    .spmenu_btn:hover {
        cursor: pointer
    }

    .spmenu_btn::before,.spmenu_btn::after {
        content: "";
        display: block;
        height: 1px;
        width: 100%;
        background-color: #000;
        transition: all 0.3s
    }

    .spmenu_btn::before {
        left: 0;
        top: 0
    }

    .spmenu_btn::after {
        left: 0;
        bottom: 0
    }

    .spmenu_btn span {
        display: block;
        height: 1px;
        width: 100%;
        background-color: #000;
        transition: all 0.3s
    }

    .spmenu_btnClose span {
        width: 0;
        background-color: #fff
    }

    .spmenu_btnClose::before {
        transform: rotate(45deg);
        transform-origin: left top;
        position: absolute;
        left: 0;
        top: 0;
        width: 140%;
        background-color: #fff
    }

    .spmenu_btnClose::after {
        transform: rotate(-45deg);
        transform-origin: left top;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 140%;
        background-color: #fff
    }
}
@media screen and (max-width: 768px) {
    .globalNav {
        display:flex;
        position: fixed;
        height: 100vh;
        width: 80vw;
        right: -100vw;
        padding: 2em;
        transition: all 0.4s;
        z-index: 5;
        background-color: #fff;
        top: 0
    }

    .globalNav_state {
        right: 0
    }

    .globalNav .menu {
        display: block;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        align-content: center;
        width: 100%;
        overflow: auto
    }

    .globalNav .menu-item {
        width: 100%;
        text-align: center
    }

    .globalNav .menu a {
        text-align: left !important;
        padding: .5em .3em
    }

    .globalNav .sub-menu {
        padding-left: 2em
    }

    .globalNav .menu-globalnav-container,.globalNav .menu-spnav-container {
        width: 100%;
        display: flex;
        align-content: center;
        padding: 2em
    }
	ul,ol {
    margin: 0 0 1em 1.5em;
    padding: 0;
    list-style-position: outside
}
}

@media screen and (max-width: 768px) {
  html {
    margin-top: 0 !important;
  }
}

body {
  font-family: "游ゴシック体", YuGothic, "Noto Serif Japanese", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Helvetica Neue", "Helvetica", sans-serif;
  word-break: break-word;
  overflow-wrap: break-word;
  color: #222222;
  font-size: 16px;
}

a {
  color: #222222;
  text-decoration: none;
}

.font-century {
  font-family: century-old-style-std, serif;
}
.font-yuMincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}

.text-black {
  color: #222222;
}
.text-gray {
  color: #a7a7a7;
}
.text-white {
  color: #fff;
}
.text-red {
  color: #ea3737;
}

.btn-gray {
  background-color: #a7a7a7;
  color: #fff;
}

.c-mt-80 {
  margin-top: 80px;
}
@media screen and (max-width: 767.5px) {
  .c-mt-80 {
    margin-top: 40px;
  }
}

.right_arrow {
  position: relative;
}
.right_arrow::after {
  content: url(../assets/front2023/icon/right_arrow.svg);
  margin-left: 8px;
  position: absolute;
}

.icon-tel {
  position: relative;
}
.icon-tel::before {
  content: url(../assets/front2023/icon/tel.svg);
  position: absolute;
}

.readmore {
  position: relative;
  box-sizing: border-box;
}
.readmore-content {
  position: relative;
  overflow: hidden;
  /*以下お好み*/
  /*高さの初期値*/
  height: 30px;
}
.readmore-content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
}
.readmore-label {
  display: table;
  bottom: 5px;
  position: absolute;
  bottom: 5px;
  margin: 0 auto;
  z-index: 2;
  padding: 0 10px;
}
@media screen and (min-width: 1400px) {
  .readmore-label {
    right: 25%;
  }
}
@media screen and (max-width: 1399.5px) {
  .readmore-label {
    bottom: -50px;
    left: calc(50% - 56px);
  }
}
@media screen and (max-width: 767.5px) {
  .readmore-label {
    bottom: -45px;
  }
}
.readmore-label::before {
  content: "[続きをみる]";
}
.readmore-check {
  display: none;
}

.readmore-check:checked ~ .readmore-label {
  position: static;
  transform: translateX(0);
  -webkit-transform: translateX(0);
  /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
  /* display: none; */
  margin: 20px auto -20px;
}
@media screen and (max-width: 767.5px) {
  .readmore-check:checked ~ .readmore-label {
    margin: 20px auto -40px;
  }
}

.readmore-check:checked ~ .readmore-label:before {
  content: "[閉じる]";
}

/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content {
  height: auto;
}

/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
  display: none;
}

.zoomin.is-active {
  animation: zoomIn 0.7s ease forwards;
  -webkit-animation: zoomIn 0.7s ease forwards;
}

.zoomin {
  opacity: 0;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  z-index: 2;
}
.header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 0 64px;
}
.header-nav>.wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.header-nav>.wrap >.txt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
	margin-left: 15px;
}
.header-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}

.header-nav .menu-globalnav_top2023-container .menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 90px;
  font-weight: bold;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item > a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 20px;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item > a:hover {
  opacity: 0.7;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:nth-last-of-type(2) > a {
  font-family: century-old-style-std, serif;
  font-size: 24px;
  font-weight: 400;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:nth-last-of-type(2) > a::before {
  content: url(../assets/front2023/icon/tel.svg);
  margin: 0 4px 0 0;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:last-of-type > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 40px;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:last-of-type > a span:first-of-type {
  line-height: 1;
  font-size: 20px;
  color: #fff;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:last-of-type > a span:first-of-type::after {
  content: url(../assets/front2023/icon/right_arrow.svg);
  margin-left: 8px;
}
.header-nav .menu-globalnav_top2023-container .menu .menu-item:last-of-type > a span:nth-of-type(2) {
  background-color: #fff;
  color: #a7a7a7;
  line-height: 1;
  padding: 8px 10px;
  margin: 10px 0 0 0;
}

@media screen and (max-width: 767.5px) {
  .spmenu_btnClose {
    background-color: #e9e9e9;
  }
  .spmenu_btnClose::before {
    background-color: #222222;
  }
  .spmenu_btnClose::after {
    background-color: #222222;
  }
  .navwrap {
    margin: 0 2%;
  }
  .navwrap-logo {
    display: flex;
    padding: 10px 0;
	  align-items: center;
  }
  .navwrap-logo img {
    width: calc(350  / 750 * 100vw)
  }
	.navwrap .txt {
		font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
		font-size: 0.625rem;
		padding-left: 2vw;
	}
  .globalNav_top2023 {
    background-color: #e9e9e9;
    padding: 4em 2em 2em;
  }
  .globalNav_top2023 .menu {
    display: flex;
  }
  .globalNav_top2023 .menu .menu-item {
    display: flex;
    justify-content: center;
  }
  .globalNav_top2023 .menu .menu-item a {
    color: #222222;
    font-size: 18px;
    font-weight: bold;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  }
  .globalNav_top2023 .menu .menu-item:nth-last-of-type(2) > a {
    font-family: century-old-style-std, serif;
    font-size: 24px;
    font-weight: 400;
  }
  .globalNav_top2023 .menu .menu-item:nth-last-of-type(2) > a::before {
    content: url(../assets/front2023/icon/tel.svg);
    margin: 0 4px 0 0;
  }
  .globalNav_top2023 .menu .menu-item:last-of-type > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 30px 20px;
  }
  .globalNav_top2023 .menu .menu-item:last-of-type > a span:first-of-type {
    line-height: 1;
    font-size: 20px;
    color: #fff;
  }
  .globalNav_top2023 .menu .menu-item:last-of-type > a span:first-of-type::after {
    content: url(../assets/front2023/icon/right_arrow.svg);
    margin-left: 8px;
  }
  .globalNav_top2023 .menu .menu-item:last-of-type > a span:nth-of-type(2) {
    background-color: #fff;
    color: #a7a7a7;
    font-size: 16px;
    line-height: 1;
    padding: 8px 10px;
  }
}
.toppage-container {
  max-width: 1472px;
  margin: 0 auto;
}
@media screen and (max-width: 767.5px) {
  .toppage-container {
    margin: 0 5%;
  }
}
@media screen and (min-width: 768px) {
  .toppage-container-02 {
    margin-left: 86px;
  }
}
.toppage-container-03 {
  max-width: 1300px;
  margin: 0 auto;
}
@media screen and (max-width: 767.5px) {
  .toppage-container-03 {
    margin: 0 5%;
  }
}

.title-01 {
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.title-01-sub {
  font-size: 14px;
  color: #a7a7a7;
  text-align: center;
  margin-top: 12px !important;
  font-family: century-old-style-std, serif;
}
.title-01-lead {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  margin-top: 64px;
}
.title-02 {
  font-size: 40px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
@media screen and (max-width: 767.5px) {
  .title-02 {
    font-size: 24px;
  }
}
.title-number {
  font-size: 20px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
@media screen and (max-width: 767.5px) {
  .title-number {
    font-size: 18px;
  }
}

.count {
  counter-reset: h3;
}
.count h3::before {
  counter-increment: h3;
  content: counter(h3);
  display: inline-block;
  background-color: #a7a7a7;
  color: #fff;
  text-align: center;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  font-size: 32px;
  margin-right: 1.2rem;
}

.front-bg {
  background-image: url(../assets/front2023/front-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  position: relative;
}
@media screen and (max-width: 767.5px) {
  .front-bg {
    background-image: url(../assets/front2023/front-bg-sp.png);
    background-size: cover;
    width: 100%;
  }
}
.front-lead {
  position: absolute;
  top: 20px;
  left: 64px;
  color: #fff;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
@media screen and (max-width: 767.5px) {
  .front-lead {
    font-size: calc(12px + 12 * (100vw - 360px) / 407);
    left: 0;
    margin: 0 5%;
  }
}
.front-heading {
  height: calc(384px + 616 * (100vw - 768px) / 1152);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 52px;
  color: #fff;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
@media screen and (min-width: 768px) {
  .front-heading {
    max-height: 1000px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .front-heading {
    font-size: calc(42px + 10 * (100vw - 768px) / 256);
  }
}
@media screen and (max-width: 767.5px) {
  .front-heading {
    font-size: calc(30px + 22 * (100vw - 360px) / 407);
    justify-content: flex-end;
    height: calc(570px + 634 * (100vw - 360px) / 408);
    padding: 0 0 15%;
  }
  .front-heading span {
    font-size: calc(20px + 22 * (100vw - 360px) / 407);
  }
}
.front-text {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 79px !important;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
@media screen and (max-width: 767.5px) {
  .front-text {
    font-size: 16px;
    margin: 40px 0 40px !important;
  }
}

.implant_treatment {
  display: flex;
  justify-content: space-between;
  gap: 20px 77px;
}
@media screen and (max-width: 767.5px) {
  .implant_treatment {
    flex-wrap: wrap;
    justify-content: center;
  }
}
.implant_treatment div:nth-of-type(2) {
  max-width: 765px;
}
.implant_treatment .title-02 {
  margin-top: 4rem;
}

.four_reasons {
  position: relative;
  padding: 0 0 96px;
}
@media screen and (max-width: 767.5px) {
  .four_reasons {
    padding: 0;
  }
}
.four_reasons::before {
  content: "";
  position: absolute;
  width: 80vw;
  height: 1020px;
  background-color: #e9e9e9;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767.5px) {
  .four_reasons::before {
    top: 155px;
    width: 100%;
    height: 70%;
  }
}
.four_reasons .title-02 {
  padding: 110px 0 80px 0;
}
@media screen and (max-width: 767.5px) {
  .four_reasons .title-02 {
    padding: 60px 0 40px 0;
  }
}
.four_reasons-content {
  max-width: 1280px;
}
.four_reasons-content h3:not(:first-of-type) {
  margin: 40px 0 0 0;
}
.four_reasons-text {
  background-color: #fff;
  width: 100%;
  max-width: 480px;
  padding: 24px;
}
.four_reasons .img-operoom {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 1024px) and (max-width: 1600px) {
  .four_reasons .img-operoom {
    width: calc(400px + 440 * (100vw - 1024px) / 576);
    max-width: 880px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.5px) {
  .four_reasons .img-operoom {
    width: 35vw;
  }
}
@media screen and (max-width: 767.5px) {
  .four_reasons .img-operoom {
    position: unset;
    margin: 40px 0 0;
  }
}

.biography {
  position: relative;
  padding: 80px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .biography {
    padding: 40px 0 0 0;
  }
}
.biography .director {
  display: flex;
  align-items: flex-end;
  gap: 40px;
  flex-wrap: wrap;
}
.biography .director-lead {
  font-size: 30px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #ea3737;
}
@media screen and (max-width: 767.5px) {
  .biography .director-lead {
    font-size: 24px;
  }
}
.biography .director-name {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0px 20px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  font-weight: bold;
}
.biography .director-name span {
  font-size: 30px;
}
.biography .director-img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767.5px) {
  .biography .director-img {
    display: none;
  }
}
.biography .director-img-sp {
  display: none;
}
@media screen and (max-width: 767.5px) {
  .biography .director-img-sp {
    display: block;
  }
}
.biography-title {
  display: inline-block;
  color: #fff;
  background-color: #a7a7a7;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  padding: 10px 40px;
  margin: 40px 0;
}
.biography-year {
  display: flex;
  gap: 0 40px;
  flex-wrap: wrap;
}
.biography-year h4 {
  font-size: 20px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  display: flex;
  align-items: center;
}
.biography-year h4::after {
  content: "";
  flex-grow: 1; /* 余白を分け与える */
  height: 1px;
  background: #cecece;
  margin-left: 10px;
}
.biography-year h4:not(:first-of-type) {
  margin: 30px 0 0 0;
}
.biography-year ul {
  list-style: disc;
}
.biography-first {
  width: 370px;
}
.biography-latter {
  width: 370px;
}

.surgical_guide {
  margin: 180px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .surgical_guide {
    margin: 80px 0 0 0;
  }
}
.surgical_guide-title {
  font-size: 96px;
  font-family: century-old-style-std, serif;
  color: #a7a7a7;
  text-align: center;
}
@media screen and (max-width: 767.5px) {
  .surgical_guide-title {
    font-size: 40px;
  }
}
.surgical_guide-sub {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
}
@media screen and (max-width: 767.5px) {
  .surgical_guide-sub {
    font-size: 16px;
  }
}
.surgical_guide-img {
  display: flex;
  margin: 80px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .surgical_guide-img {
    flex-wrap: wrap;
    margin: 20px 0 0 0;
  }
}
.surgical_guide-text {
  margin: 80px 0 0 0 !important;
}
@media screen and (max-width: 767.5px) {
  .surgical_guide-text {
    margin: 20px 0 0 0 !important;
  }
}

.example-content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 64px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .example-content {
    margin: 32px 0 0 0;
  }
}
.example-content:nth-of-type(2) {
  margin: 10px 0 0 0;
}
.example-content .example-item-img:nth-of-type(1) {
  order: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
@media screen and (max-width: 767.5px) {
  .example-content .example-item-img:nth-of-type(1) {
    order: 1;
  }
}
.example-content .example-item-img:nth-of-type(3) {
  order: 2;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 767.5px) {
  .example-content .example-item-img:nth-of-type(3) {
    order: 3;
  }
}
.example-content .example-item-bottom:nth-of-type(2) {
  order: 3;
}
@media screen and (max-width: 767.5px) {
  .example-content .example-item-bottom:nth-of-type(2) {
    order: 2;
  }
}
.example-content .example-item-bottom:nth-of-type(4) {
  order: 4;
}
.example-item {
  width: calc(50% - 5px);
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767.5px) {
  .example-item {
    width: 100%;
  }
}
.example-item-img {
  width: calc(50% - 5px);
}
@media screen and (max-width: 767.5px) {
  .example-item-img {
    width: 100%;
  }
}
.example-item-bottom {
  background-color: #e9e9e9;
  padding: 64px 64px 80px 64px;
  width: calc(50% - 5px);
}
@media screen and (max-width: 767.5px) {
  .example-item-bottom {
    padding: 40px;
    width: 100%;
  }
}
.example-item-02 {
  display: flex;
  flex-direction: column;
  background-color: #e9e9e9;
  padding: 64px;
}
@media screen and (max-width: 767.5px) {
  .example-item-02 {
    padding: 40px;
  }
}
.example-title {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
}
.example-sub {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
  padding: 0 0 40px 0;
  margin: 20px 0 0 0;
  position: relative;
}
.example-sub::after {
  position: absolute;
  content: "";
  bottom: 0px;
  left: calc(50% - 50px);
  width: 100px;
  height: 1px;
  background: #a7a7a7;
}
.example-text {
  margin-top: 40px !important;
}
.example-listbox {
  background: #fff;
  padding: 40px 35px;
  margin: 40px 0 0 0;
}
.example-listbox h4 {
  font-size: 20px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.example-listbox .example-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0px 40px;
  list-style: disc;
  margin: 32px 0 0 1.5em;
}
.example-listbox .example-list li {
  line-height: 2;
}
@media screen and (min-width: 1500px) {
  .example-listbox .example-list li {
    width: calc(50% - 20px);
  }
  .example-listbox .example-list li:nth-of-type(5) {
    margin: -32px 0 0;
  }
}
@media screen and (max-width: 1499.5px) {
  .example-listbox .example-list li {
    width: 100%;
  }
}
.example-link {
  color: #fff;
  background: #a7a7a7;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  padding: 10px 46px 10px 20px;
  margin: 40px 0 0 0;
  align-self: flex-end;
}
.example-link span {
  font-size: 14px;
}
.example-link .right_arrow::after {
  top: calc(50% - 9px);
}

.flow-content {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 64px 10px 0;
}
@media screen and (max-width: 767.5px) {
  .flow-content {
    margin: 32px 10px 0;
  }
}
.flow-item {
  border-bottom: 1px solid #cecece;
  padding: 64px 50px 50px 64px;
}
@media screen and (min-width: 768px) {
  .flow-item {
    width: calc(50% - 5px);
  }
  .flow-item:nth-of-type(1) {
    order: 1;
  }
  .flow-item:nth-of-type(2) {
    order: 3;
  }
  .flow-item:nth-of-type(3) {
    order: 5;
  }
  .flow-item:nth-of-type(4) {
    order: 7;
  }
  .flow-item:nth-of-type(5) {
    order: 2;
  }
  .flow-item:nth-of-type(6) {
    order: 4;
  }
  .flow-item:nth-of-type(7) {
    order: 6;
  }
}
@media screen and (max-width: 767.5px) {
  .flow-item {
    width: 100%;
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flow-item:nth-of-type(-n+4) {
    border-right: 1px solid #cecece;
    border-bottom: 1px solid #cecece;
  }
}
.flow-item p {
  margin-top: 20px;
}

.price-note {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
  margin: 64px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .price-note {
    margin: 32px 0 0 0;
  }
}
.price-content {
  display: flex;
  gap: 40px 80px;
}
@media screen and (min-width: 768px) {
  .price-content {
    margin: 80px 86px 0;
  }
}
@media screen and (max-width: 767.5px) {
  .price-content {
    flex-wrap: wrap;
    margin: 40px 0 0;
  }
}
.price-item {
  width: calc(50% - 40px);
}
@media screen and (max-width: 1023.5px) {
  .price-item {
    width: 100%;
  }
}
.price-title {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #fff;
  background: #a7a7a7;
  width: 100%;
  max-width: 400px;
  padding: 16px;
  margin: 0 auto;
  text-align: center;
}
.price-item table {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  margin: 40px 0 0 0;
}
.price-item table tr:last-of-type td {
  border-bottom: none;
}
.price-item table tr td {
  padding: 20px 0;
}
.price-item table tr td:last-of-type {
  text-align: right;
  width: 110px;
}

.ct3d-content {
  display: flex;
  gap: 40px 80px;
}
@media screen and (min-width: 768px) {
  .ct3d-content {
    margin: 80px 86px 0 86px;
  }
}
@media screen and (max-width: 767.5px) {
  .ct3d-content {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.ct3d-item {
  width: calc(50% - 40px);
}
@media screen and (max-width: 767.5px) {
  .ct3d-item {
    width: 100%;
  }
}
.ct3d-item .title-01 {
  margin: 40px 0 0 0;
}
.ct3d-subtitle {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  margin: 64px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .ct3d-subtitle {
    margin: 32px 0 0 0;
  }
}
.ct3d-text {
  margin-top: 48px !important;
}
@media screen and (max-width: 767.5px) {
  .ct3d-text {
    margin-top: 24px !important;
  }
}
.ct3d-text span {
  font-size: 20px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  margin: 48px 0 0 0;
  display: block;
}
.ct3d-text span::first-letter {
  color: #a7a7a7;
}
.ct3d-content02 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 80px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02 {
    margin: 40px 0 0 0;
  }
}
.ct3d-content02 .ct3d-content02-img:nth-of-type(1) {
  order: 1;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02 .ct3d-content02-img:nth-of-type(1) {
    order: 1;
  }
}
.ct3d-content02 .ct3d-content02-img:nth-of-type(3) {
  order: 2;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02 .ct3d-content02-img:nth-of-type(3) {
    order: 3;
  }
}
.ct3d-content02 .ct3d-content02-box:nth-of-type(2) {
  order: 3;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02 .ct3d-content02-box:nth-of-type(2) {
    order: 2;
  }
}
.ct3d-content02 .ct3d-content02-box:nth-of-type(4) {
  order: 4;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02 .ct3d-content02-box:nth-of-type(4) {
    order: 4;
  }
}
.ct3d-content02-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50% - 5px);
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02-img {
    width: 100%;
    height: 100%;
    margin: 0 5%;
  }
}
.ct3d-content02-box {
  width: calc(50% - 5px);
  background-color: #e9e9e9;
  padding: 64px;
}
@media screen and (max-width: 767.5px) {
  .ct3d-content02-box {
    width: 100%;
    padding: 40px;
  }
}
.ct3d-content02-title {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
  padding: 0 0 40px;
  margin: 0 0 40px;
  position: relative;
}
.ct3d-content02-title::after {
  position: absolute;
  content: "";
  bottom: 0px;
  left: calc(50% - 50px);
  width: 100px;
  height: 1px;
  background: #a7a7a7;
}

.news-wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 80px;
}
@media screen and (max-width: 767.5px) {
  .news-wrap {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0px;
  }
}
.news-heading {
  background-color: #e9e9e9;
  max-width: 480px;
  width: 100%;
  text-align: center;
  padding: 270px 0px;
}
@media screen and (max-width: 767.5px) {
  .news-heading {
    background-color: #fff;
    padding: 0px;
  }
}
.news-heading .title-01-sub {
  color: #222222;
}
.news-heading a {
  display: block;
  width: 180px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #fff;
  background-color: #a7a7a7;
  padding: 16px 60px 16px 40px;
  margin: 40px auto 0;
}
@media screen and (max-width: 767.5px) {
  .news-heading a {
    display: none;
  }
}
.news-list {
  max-width: 940px;
  width: 100%;
  margin: 32px 0 0 0;
}
@media screen and (max-width: 767.5px) {
  .news-list {
    margin: 0 5%;
  }
}
.news-list-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.news-list-head span {
  color: #a7a7a7;
}
@media screen and (max-width: 767.5px) {
  .news-list-head span {
    width: 100%;
  }
}
.news-list-head h3 {
  font-size: 18px;
}
.news-list li {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  max-width: 880px;
  border-bottom: 1px solid #cecece;
  padding: 32px 0;
}
@media screen and (max-width: 1399.5px) {
  .news-list li {
    padding: 32px 0 64px;
  }
}
@media screen and (max-width: 767.5px) {
  .news-list li {
    padding: 32px 0 60px;
  }
}
.news-list-text {
  margin: 10px 0 0 0;
}
.news-btn-sp {
  display: none;
}
@media screen and (max-width: 767.5px) {
  .news-btn-sp {
    display: block;
    width: 180px;
    font-weight: bold;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
    color: #fff;
    background-color: #a7a7a7;
    padding: 16px 60px 16px 40px;
    margin: 40px auto 0;
  }
}

.medical_menu-wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin-top: 64px;
}
@media screen and (max-width: 1023.5px) {
  .medical_menu-wrap {
    flex-wrap: wrap;
    margin-top: 32px;
  }
}
.medical_menu-item {
  width: 33%;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}
@media screen and (max-width: 1023.5px) {
  .medical_menu-item {
    width: calc(50% - 5px);
  }
}
@media screen and (max-width: 767.5px) {
  .medical_menu-item {
    width: 100%;
  }
}
.medical_menu-img {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023.5px) {
  .medical_menu-img {
    height: auto;
  }
}
.medical_menu-img img {
  width: 100%;
}
.medical_menu-box {
  background-color: #e9e9e9;
  padding: 64px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media screen and (max-width: 767.5px) {
  .medical_menu-box {
    padding: 40px;
  }
}
.medical_menu-title {
  font-size: 24px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
}
.medical_menu-sub {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
  padding: 0 0 40px 0;
  margin: 20px 0 0 0;
  position: relative;
}
.medical_menu-sub::after {
  position: absolute;
  content: "";
  bottom: 0px;
  left: calc(50% - 50px);
  width: 100px;
  height: 1px;
  background: #a7a7a7;
}
.medical_menu-text {
  margin-top: 40px !important;
  flex-grow: 1;
}
.medical_menu-link {
  display: block;
  width: 180px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #fff;
  background-color: #a7a7a7;
  padding: 16px 60px 16px 40px;
  margin: 40px auto 0;
}

.recruitment {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .recruitment {
    background-image: url(../assets/front2023/recruitment-bg.png);
    height: 520px;
  }
}
@media screen and (max-width: 767.5px) {
  .recruitment {
    background-image: url(../assets/front2023/recruitment-bg-sp.png);
    height: 100vw;
    max-height: 700px;
  }
}
.recruitment-title {
  font-size: 32px;
  color: #fff;
}
@media screen and (max-width: 767.5px) {
  .recruitment-title {
    font-size: calc(24px + 24 * (100vw - 360px) / 407);
  }
}
.recruitment-sub {
  font-size: 20px;
  color: #fff;
}
@media screen and (max-width: 767.5px) {
  .recruitment-sub {
    font-size: calc(14px + 14 * (100vw - 360px) / 407);
  }
}
.recruitment-link {
  display: block;
  width: 180px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #fff;
  background-color: #a7a7a7;
  padding: 16px 60px 16px 40px;
  margin: 40px auto 0;
}
@media screen and (max-width: 767.5px) {
  .recruitment-link {
    background-color: #9b76a2;
  }
}

.info-wrap {
  display: flex;
  justify-content: center;
  margin-top: 64px;
  gap: 0 96px;
}
@media screen and (max-width: 1500px) {
  .info-wrap {
    gap: 0 20px;
    margin-top: 32px;
  }
}
@media screen and (max-width: 1023.5px) {
  .info-wrap {
    flex-wrap: wrap;
  }
}
.info-wrap iframe {
  margin-top: 100px;
}
@media screen and (max-width: 1500px) {
  .info-wrap iframe {
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 1023.5px) {
  .info-wrap iframe {
    width: 100%;
    margin-top: 0px;
  }
}
.info-left {
  position: relative;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  padding: 64px 0 0 64px;
  width: 700px;
}
@media screen and (max-width: 1500px) {
  .info-left {
    width: 50%;
  }
}
@media screen and (max-width: 1023.5px) {
  .info-left {
    width: 100%;
    background-color: #e9e9e9;
    padding: 64px;
  }
}
@media screen and (max-width: 767.5px) {
  .info-left {
    padding: 40px;
  }
}
.info-left::before {
  content: "";
  position: absolute;
  width: 80vw;
  max-width: 1400px;
  height: 630px;
  background-color: #e9e9e9;
  top: 0;
  left: 0;
  z-index: -1;
}
.info-left table {
  width: 100%;
  max-width: 600px;
  text-align: center;
  margin: 40px 0;
}
@media screen and (max-width: 767.5px) {
  .info-left table {
    margin: 30px 0;
  }
}
.info-left table th {
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.info-left table th:first-of-type {
  width: 150px;
}
.info-left table th:nth-of-type(n+2) {
  width: 64.2857142857px;
}
.info-left table td {
  background-color: #fff;
  vertical-align: middle;
}
.info-left table .primary-color {
  background-color: #a7a7a7;
  color: #fff;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
}
.info-logo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0 20px;
}
.info-logo a {
  font-size: 24px;
  font-family: century-old-style-std, serif;
  padding: 0 0 0 16px;
}
.info-logo .icon-tel::before {
  top: 0;
  left: 0;
}
.info-row {
  display: flex;
  margin-top: 30px;
  flex-wrap: wrap;
  gap: 10px 0;
}
@media screen and (max-width: 767.5px) {
  .info-row {
    flex-direction: column;
  }
}
.info-row div:first-of-type {
  width: 100px;
  font-weight: bold;
}
.footer {
  background-color: #e9e9e9;
  padding: 80px 0 64px;
  margin-top: 197px;
  position: relative;
}
@media screen and (max-width: 767.5px) {
  .footer {
    margin-top: 80px;
  }
}
.footer__nav {
  display: flex;
}
.footer .menu-footer_nav_top2023-container {
  margin: 0 auto;
}
.footer__banner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (min-width: 767.5px) and (max-width: 1500px) {
  .footer__banner {
    margin: 0 120px 0 0;
  }
}
@media screen and (max-width: 767.5px) {
  .footer__banner {
    justify-content: center;
  }
}
@media screen and (max-width: 400px) {
  .footer__banner {
    justify-content: flex-start;
  }
}
.footer__banner:hover {
  opacity: 0.7;
}
.footer .copy {
  background-color: #e9e9e9;
  font-size: 14px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  text-align: center;
  margin-top: 40px;
}

.footer_nav_top2023 {
  margin: 0 0 0 0;
}
@media screen and (max-width: 1319.5px) {
  .footer_nav_top2023 {
    display: flex;
    flex-wrap: wrap;
    max-width: 1080px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 1079.5px) {
  .footer_nav_top2023 {
    max-width: 820px;
  }
}
@media screen and (max-width: 819.5px) {
  .footer_nav_top2023 {
    max-width: 560px;
  }
}
@media screen and (max-width: 767.5px) {
  .footer_nav_top2023 {
    max-width: 600px;
    padding: 0;
  }
}
@media screen and (max-width: 666.5px) {
  .footer_nav_top2023 {
    max-width: 400px;
  }
}
@media screen and (max-width: 532.5px) {
  .footer_nav_top2023 {
    max-width: 320px;
  }
}
@media screen and (max-width: 355.5px) {
  .footer_nav_top2023 {
    justify-content: center;
  }
}
.footer_nav_top2023 .menu-item {
  float: left;
}
.footer_nav_top2023 .menu-item a:hover {
  opacity: 0.7;
  text-decoration: underline;
}
@media screen and (min-width: 356px) and (max-width: 532px) {
  .footer_nav_top2023 .menu-item-10183 > a {
    padding: 12px 0.5rem !important;
    height: 48px;
  }
}
@media screen and (min-width: 356px) and (max-width: 532px) {
  .footer_nav_top2023 .menu-item-10197 > a {
    height: 48px;
  }
}
.footer_nav_top2023 .no-link > a:hover {
  opacity: unset;
  text-decoration: none;
}
.footer_nav_top2023 .menu-item-has-children {
  width: 260px;
  border-top: solid 1px #cecece;
}
@media screen and (min-width: 533px) and (max-width: 767.5px) {
  .footer_nav_top2023 .menu-item-has-children {
    width: 200px;
  }
}
@media screen and (max-width: 532.5px) {
  .footer_nav_top2023 .menu-item-has-children {
    width: 160px;
  }
}
@media screen and (max-width: 355.5px) {
  .footer_nav_top2023 .menu-item-has-children {
    width: 200px;
  }
}
.footer_nav_top2023 .menu-item-has-children a {
  display: block;
  font-size: 14px;
  font-weight: bold;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "MS PMincho", serif;
  padding: 0rem 0.5rem;
}
.footer_nav_top2023 .menu-item-has-children > a {
  margin: 1rem 0;
}
.footer_nav_top2023 .sub-menu {
  border-top: solid 1px #cecece;
  margin-bottom: 4rem;
  display: flex;
  flex-flow: nowrap;
  flex-direction: column;
}
.footer_nav_top2023 .sub-menu .menu-item {
  margin: 1rem 0 0 0;
}
.footer_nav_top2023 .sub-menu .menu-item:first-of-type {
  margin: 30px 0 0 0;
}

.c-arrow-page_top {
  position: absolute;
  bottom: 8rem;
  right: 2rem;
}
@media screen and (max-width: 767.5px) {
  .c-arrow-page_top {
    right: 0rem;
  }
}
.c-arrow-page_top::before {
  content: "";
  position: absolute;
  top: -40px;
  right: 40px;
  width: 1px;
  height: 10px;
  background: #222222;
  transform: skewX(45deg);
  animation: arrowmove 1s ease-in-out infinite;
}
.c-arrow-page_top::after {
  content: "";
  position: absolute;
  top: -40px;
  right: 45px;
  width: 1px;
  height: 90px;
  background: #222222;
  animation: arrowmove 1s ease-in-out infinite;
}
.c-arrow-text {
  transform: rotate(90deg);
  display: block;
  font-size: 14px;
  font-family: century-old-style-std, serif;
  color: var(--arrow-color);
}

@keyframes arrowmove {
  0% {
    top: -60px;
  }
  50% {
    top: -40px;
  }
  100% {
    top: -60px;
  }
}
.zoomIn {
  opacity: 0;
}
.zoomIn.active {
  animation: zoomIn 0.7s ease forwards;
  -webkit-animation: zoomIn 0.7s ease forwards;
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}