/*
Theme Name: Mizoi Dental Clinic Template vol.1
Theme URI:
Version: 1.01
*/

/*######################################################################

		Base CSS

************************************************************************/


:root {
  /* color-swatch */
  --main-color-green: #0ABAB5;
  --color-green: #7de7d6;
  --color-gold: #DDBA64;
  --color-purple: #E0ACF2;
  --bg-color-gold: #FFFAD5;
  --bg-color-green: #e0f6f3;
  --bg-color-beige: #FBF2E2;
  --bg-color-purple: #F4E9F7;

  /* font-size */
  --txt-base-pc: 16px;
  --txt-base-sp: 15px;
  --head2-pc: 28px;
  --head2-sp: 21px;
  --head4-pc: 26px;
  --head4-sp: 20px;
  --page-ttl-pc: 60px;
  --page-ttl-sp: 38px;
  --page-ttl-en-pc: 46px;
  --page-ttl-en-sp: 18px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-inline-size: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  font-weight: 400;
}

body {
  color: #4b4b4b;
  font-size: 18px;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.8;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

@media not all and (min-width: 1000px) {
  body {
    font-size: 15px;
  }
}

/* txt-setting */
:where(ul, ol) {
  list-style: none;
  list-style-type: '';
  padding: unset;
  margin: 0;
}

h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.4;
}

img,
picture {
  display: block;
  max-width: 100%;
  height: auto;
}

:where(:any-link, button, [type='button'], [type='reset'], [type='submit'], label[for], select, summary, [role='tab'], [role='button']) {
  cursor: pointer;
}

:where(button, [type='button'], [type='reset'], [type='submit']) {
  touch-action: manipulation;
}

legend,
fieldset {
  all: unset;
}

input,
button,
textarea,
select {
  font: inherit;
}

:target {
  scroll-margin-block: 5ex;
}

:focus:not(:focus-visible) {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {

  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

@media not all and (max-width: 500px) {
  .txt-left_pc {
    text-align: left !important;
  }
}

.txt_udline::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-bottom: 1px dotted var(--main-color-green);
}

strong {
  color: #00C0B7;
  font-weight: 700;
}

.serif {
  font-family: "Cinzel", "Shippori Mincho", serif;
}

a {
  color: #4b4b4b;
  text-decoration: none;
  transition: .3s;
}

a:hover {
  color: #4b4b4b;
  text-decoration: underline;
}

.pc-none,
.sp-none {
  display: none;
}


@media not all and (min-width: 1000px) {
  .pc-none {
    display: block;
  }
}

@media all and (min-width: 736px) {
  .sp-none {
    display: block;
  }
}

.flex-reverse {
  flex-direction: row-reverse;
}

.flex-y-center {
  align-items: center;
}

/* color-style */
.bg-yellow {
  background-color: var(--bg-color-gold);
}

.bg-green {
  background-color: var(--bg-color-green);
}

.bg-beige {
  background-color: var(--bg-color-beige);
}

.bg-purple {
  background-color: var(--bg-color-purple);
}

.txt-gold {
  color: var(--color-gold);
}

.txt-green {
  color: var(--main-color-green);
}

.txt-purple {
  color: var(--color-purple);
}

/*######################################################################

		Header

************************************************************************/
/*
	header-area
/////////////////////////////////////////////////////////*/

.header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px;
  width: 100vw;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .header__wrap {
    position: fixed;
    padding: 10px;
    background-color: #fff;
    z-index: 100;
  }
}

.header__logo .text {
  font-size: 14px;
}

.header__logo img {
  width: 254px;
}

@media not all and (min-width: 1000px) {
  .header__logo .text {
    font-size: 10px;
  }

  .header__logo img {
    width: 150px;
  }
}

.header__button-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

@media not all and (min-width: 1000px) {
  .header__button-list {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.header__button-list .reserve a {
  display: block;
  padding: 10px 20px;
  color: #fff;
  font-weight: 900;
  background-color: #00BFB6;
  border-radius: 50vh;
}

@media (any-hover: hover) {
  .header__button-list .circle a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.header__button-list .circle a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

@media (any-hover: hover) {
  .header__button-list .reserve a:hover {
    text-decoration: none;
    background-color: #7DE7D6;
  }
}

.header__button-list .reserve a:focus-visible {
  text-decoration: none;
  background-color: #7DE7D6;
}



.hamburger-menu-container {
  position: fixed;
  top: 60px;
  right: 0;
  z-index: 1000;
  height: 100vh;
}

.hamburger-btn {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  position: fixed;
  top: 25px;
  right: 20px;
  padding: 0;
  width: 30px;
  height: 25px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 1001;
}

@media not all and (min-width: 1000px) {
  .hamburger-btn {
    display: flex;
  }
}

.hamburger-btn .bar {
  width: 100%;
  height: 3px;
  background-color: #7DE7D6;
  transition: all 0.3s ease-in-out;
}

.hamburger-btn.is-open .bar1 {
  transform: rotate(45deg) translate(6px, 5px);
}

.hamburger-btn.is-open .bar2 {
  opacity: 0;
}

.hamburger-btn.is-open .bar3 {
  transform: rotate(-45deg) translate(6px, -5px);
}

.menu {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  transition: right 0.3s ease-in-out;
  overflow-y: auto;
  padding: 80px 0 20px;
  opacity: 0;
  z-index: 900;
}

.menu.is-open {
  right: 0;
  opacity: 1;
}

.menu a {
  color: #00C0B7;
  text-align: center;
}

@media (any-hover: hover) {
  .menu a:hover {
    text-decoration: none;
  }
}

.menu a:focus-visible {
  text-decoration: none;
}

.sp-dropdown-parent {
  position: relative;
}

.sp-dropdown-parent .text {
  display: inline-block;
  margin-inline: auto;
  width: fit-content;
}

.main-menu {
  padding-inline: 20px;
}

.main-menu>li {
  border-bottom: 1px solid #ccc;
}

.main-menu>li:first-child {
  border-top: 1px solid #ccc;
}

.menu-item {
  display: block;
  padding: 15px 20px;
  text-decoration: none;
  color: #333;
  font-size: 16px;
  font-weight: bold;
}

.sp-dropdown-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.plus-icon {
  position: absolute;
  top: 12px;
  right: 20px;
  font-size: 20px;
  font-weight: normal;
  transition: transform 0.3s ease-in-out;
}

.sp-dropdown-parent.is-open .plus-icon {
  transform: rotate(45deg);
}

.sp-dropdown-menu {
  display: none;
  padding-inline: 20px;
  max-height: 0;
  overflow: hidden;
}

.sp-dropdown-menu.is-open {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-height: 500px;
}

.sp-dropdown-menu li {
  width: 50%;
  border-top: 1px solid #ccc;
}

.sp-dropdown-menu li:nth-child(odd) {
  border-right: 1px solid #ccc;
}

@media not all and (min-width: 568px) {
  .sp-dropdown-menu li {
    width: 100%;
    border-top: 1px solid #ccc;
  }

  .sp-dropdown-menu li:nth-child(odd) {
    border-right: none;
  }
}

.sp-dropdown-item {
  display: block;
  padding: 10px 40px;
  /* インデント */
  text-decoration: none;
  color: #666;
  font-size: 14px;
}

.sp-dropdown-item:hover {
  background-color: #f0f0f0;
}

/* 連絡先セクション */
.contact-info {
  padding: 20px;
  background-color: #e0f2f1;
  /* 添付画像の色味 */
  text-align: center;
}

.contact-title {
  display: inline-block;
  padding: 8px 16px;
  margin-bottom: 10px;
  color: #fff;
  background-color: #26a69a;
}

.phone-number {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
  color: #0ABAB5;
  font-size: 46px;
  font-weight: 400;
}

.buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 15px;
}

.web-booking-btn,
.mail-consult-btn,
.access-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  width: fit-content;
  color: #0ABAB5;
  font-size: 15px;
  text-decoration: none;
  background-color: #fff;
  border-radius: 50vh;
}

.access-btn {
  margin-inline: auto;
}

.web-booking-btn img,
.mail-consult-btn img,
.access-btn img {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}

.social-media {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.social-media img {
  width: 40px;
  height: 40px;
}

.header__bg {
  width: 100vw;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}

.header__page {
  display: grid;
  place-content: center;
  height: 540px;
}

@media not all and (min-width: 1000px) {
  .header__page {
    height: 350px;
    width: 100%;
  }
}

.header__first-visit {
  background-image: url(./assets/images/common/header/header-first-visit-bg.jpg);
  background-position: left center;
}

.header__staff {
  background-image: url(./assets/images/common/header/header-staff-bg.jpg);
  background-position: 100% center;
}

@media not all and (min-width: 678px) {
  .header__staff {
    background-position: 90% center;
  }
}

@media not all and (min-width: 378px) {
  .header__staff {
    background-position: 80% center;
  }
}

.header__future {
  background-image: url(./assets/images/common/header/header-future-bg.jpg);
}

.header__medical-information {
  background-image: url(./assets/images/common/header/header-dental-treatments-bg.jpg);
}

.header__case {
  background-image: url(./assets/images/common/header/header-case-bg.jpg);
}

.header__fee {
  background-image: url(./assets/images/common/header/header-fee-bg.jpg);
  background-position: left center;
}

.header__blog {
  background-image: url(./assets/images/common/header/header-blog-bg.jpg);
  background-position: left center;
}

.header__recruit {
  background-image: url(./assets/images/common/header/header-recruit-bg_n.jpg);
	background-position: center -100px; /* 中央を基準に50px上に移動 */
}
@media(max-width:768px){
	.header__recruit {
		background-position: center 0px; /* 中央を基準に50px上に移動 */
}
}
.header__page-hgroup {
  text-align: center;
  line-height: 1.4;
}

@media not all and (min-width: 1000px) {
  .header__page-hgroup {
    margin-top: 70px;
  }
}

.header__page-title {
  color: #0ABAB5;
  font-size: 60px;
}

.header__page-title-en {
  color: #fff;
  font-size: 46px;
}

@media not all and (min-width: 1000px) {
  .header__page-title {
    font-size: 48px;
  }

  .header__page-title-en {
    font-size: 28px;
  }
}

@media not all and (min-width: 568px) {
  .header__page-title {
    font-size: 38px;
  }

  .header__page-title-en {
    font-size: 18px;
  }
}

.header__top-contents {
  margin: 160px 0 0 100px;
}

@media not all and (min-width: 1100px) {
  .header__top-contents {
    margin: 0;
    position: absolute;
    bottom: 40px;
    left: 40px;
  }
}

@media not all and (min-width: 568px) {
  .header__top-contents {
    bottom: 20px;
    left: 20px;
  }
}

.header__top-text {
  margin-bottom: 20px;
}

.header__top-en {
  margin-left: 20px;
  color: #fff;
  font-size: 24px;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #aaa, -1px -1px 0 #aaa, -1px 1px 0 #aaa, 1px -1px 0 #aaa, 0px 1px 0 #aaa, 0 -1px 0 #aaa, -1px 0 0 #aaa, 1px 0 0 #aaa;
}

@media not all and (min-width: 1100px) {
  .header__top-text img {
    width: 250px;
  }

  .header__top-en {
    margin-left: 0;
    font-size: 18px;
  }
}

.header__gnav {
  box-shadow: 0 2px 3px rgb(0 0 0 / .5);
}

@media not all and (min-width: 1100px) {
  .header__gnav {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.header__gnav-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 20px;
}

.header__gnav-list li {
  position: relative;
  width: 12.5%;
}

.header__gnav-list li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 1px;
  height: 30px;
  background-color: #ccc;
}

.header__gnav-list>li>a {
  display: block;
  width: 100%;
  text-align: center;
}

@media not all and (min-width: 1380px) {
  .header__gnav-list>li>a {
    font-size: 13px;
  }
}

.header__gnav-list>li>a .en {
  display: block;
  color: #00C0B7;
  text-transform: uppercase;
}

@media (any-hover: hover) {
  .header__gnav-list>li>a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.header__gnav-list>li>a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.header__gnav-list .has-dropdown {
  position: relative;
}

.header__gnav-list .has-dropdown {
  text-align: center;
}

@media not all and (min-width: 1380px) {
  .header__gnav-list .has-dropdown {
    font-size: 13px;
  }
}

.has-dropdown .en {
  display: block;
  color: #00C0B7;
  text-transform: uppercase;
}

.dropdown-menu {
  position: absolute;
  top: 70%;
  left: 50%;
  translate: -25%;
  padding-top: 20px;
  width: 600px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 100;
}

.has-dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.dropdown-content {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}

.dropdown-item {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  width: calc(50% - 4px) !important;
  color: #00C0B7;
  text-decoration: none;
  background-color: #D2FAF3;
}

.dropdown-content a:nth-last-child(1),
.dropdown-content a:nth-last-child(2) {
  border-bottom: none;
}

@media (any-hover: hover) {
  .dropdown-item:hover {
    text-decoration: none;
    color: #00C0B7;
    background-color: #f5fcff;
  }
}

.dropdown-item:focus-visible {
  text-decoration: none;
  color: #00C0B7;
  background-color: #f5fcff;
}

.dropdown-item span.jp {
  font-weight: bold;
}


/*######################################################################

		Contents

************************************************************************/

/*
	general
/////////////////////////////////////////////////////////*/

.top-container,
.page-container {
  overflow-x: hidden;
}

.fixed-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 30px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  background-color: #fff;
  transform: translateY(-100%);
  transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  box-shadow: 0 2px 3px rgb(0 0 0 / .5);
  z-index: 100;
}

@media not all and (min-width: 1000px) {
  .fixed-menu {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.fixed-menu.is-visible {
  transform: translateY(0);
}

.fixed-menu__logo {
  width: 143px;
}

.fixed-menu__list {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  gap: 20px;
}

.fixed-menu__list a,
.fixed-menu__list .has-dropdown {
  color: #00C0B7;
}

@media not all and (min-width: 1280px) {
  .fixed-menu__list .has-dropdown {
    padding-top: 5.5px;
  }
}

.fixed-menu__button a {
  display: block;
  padding: 10px 20px;
  color: #fff;
  background-color: #00C0B7;
  border-radius: 50vh;
}

@media (any-hover: hover) {
  .fixed-menu__button a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.fixed-menu__button a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

@media not all and (min-width: 1280px) {
  .fixed-menu__list {
    gap: 10px;
  }

  .fixed-menu__list a,
  .fixed-menu__list .has-dropdown {
    font-size: 14px;
  }

  .fixed-menu__button a {
    padding: 10px 15px;
    font-size: 14px;
  }
}

.section-area {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1760px;
}

.more-button-ora a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  padding: 20px 30px;
  width: fit-content;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  background-image: linear-gradient(90deg, #F5C972 0%, #EFBE60 25%, #E0A434 60%, #D08500 100%);
  border-radius: 50vh;
}

.more-button-ora a::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(./assets/images/common/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (any-hover: hover) {
  .more-button-ora a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.more-button-ora a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.more-button-be a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  padding: 20px 30px;
  width: fit-content;
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
  background-color: #CBB196;
  border-radius: 50vh;
}

.more-button-be a::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(./assets/images/common/arrow-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (any-hover: hover) {
  .more-button-be a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.more-button-be a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.more-button-w a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  padding: 20px 30px;
  width: fit-content;
  color: #00C0B7;
  font-weight: 700;
  line-height: 1.4;
  background-color: #fff;
  border: 1px solid #57EBD7;
  border-radius: 50vh;
}

.more-button-w a::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(./assets/images/common/arrow-gr.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (any-hover: hover) {
  .more-button-w a:hover {
    text-decoration: none;
    background-color: #cbe9e5;
  }
}

.more-button-w a:focus-visible {
  text-decoration: none;
  background-color: #cbe9e5;
}

.page-button a {
  display: block;
  margin-inline: auto;
  padding: 20px 30px;
  width: fit-content;
  background-color: #e5f7fc;
  border: 1px solid #7de7d6;
}

@media (any-hover: hover) {
  .page-button a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.page-button a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.top-section12 {
  padding-block: 100px;
  background-color: #57EBD7;
}

.top-section12__hgroup {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 40px;
  text-align: center;
  line-height: 1.4;
}

.top-section12__heading {
  font-size: 24px;
}

.top-section12__heading-en {
  color: #fff;
  font-size: 60px;
}

@media not all and (min-width: 1000px) {
  .top-section12__hgroup {
    margin-bottom: 30px;
  }

  .top-section12__heading {
    font-size: 20px;
  }

  .top-section12__heading-en {
    font-size: 48px;
  }
}



/*
	top
/////////////////////////////////////////////////////////*/

.top-mv {
  position: relative;
}

.header__top {
  position: relative;
  /*height: 1100px;*/
  height: auto;
  /*background-image: url(./assets/images/top/top-mv-bg.jpg);*/
  background-position: right top;
}
.header__top .splide{
	/*position: absolute;
	top: 0;
	left: 0;*/
}
.header__top .splide,
.header__top .splide .splide__slide,
.header__top .splide .splide__track {
	height: auto;
}
.header__top .splide .splide__slide img {
  width: 100%;
	height: auto;
}

@media not all and (min-width: 1400px) {
  .header__top {
    background-position: 70% top;
  }
}

@media not all and (min-width: 1100px) {
  .header__top {
    height: calc(100vh - 60px);
  }
}

@media not all and (min-width: 800px) {
  .header__top {
    /*background-image: url(./assets/images/top/top-mv-bg-sp.jpg);*/
  }
}

.header__top-wrap {
  /*display: flex;*/
  display: none;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}

.top-section-hero {
  padding-block: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section-hero {
    padding-block: 0 40px;
  }
}

.top-section-hero__sentence {
  margin-inline: auto;
  margin-bottom: 50px;
  width: fit-content;
  font-size: 26px;
}

@media not all and (min-width: 1000px) {
  .top-section-hero__sentence {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.header__top-box {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

@media not all and (min-width: 1100px) {
  .header__top-box {
    position: relative;
    bottom: auto;
    right: auto;
  }
}

.top-sp-hero {
  display: none;
}

@media not all and (min-width: 1100px) {
  .top-sp-hero {
    display: block;
    position: relative;
  }

  .top-sp-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 315px;
    background-image: linear-gradient(180deg, #0ABAB5 0%, #fff 100%);
    z-index: -1;
  }
}

.top-sp-hero__logo {
  margin-inline: auto;
  margin-bottom: 20px;
  padding-top: 60px;
  width: fit-content;
}

.top-sp-hero__icon {
  margin-inline: auto;
  margin-bottom: 30px;
  width: fit-content;
}

.top-sp-hero__text {
  margin-inline: auto;
  margin-bottom: 50px;
  padding-inline: 20px;
  width: fit-content;
}

.top-mv-tab-container {
  display: flex;
  padding: 20px 0 20px 20px;
  width: 660px;
  background-color: #fff;
  overflow: hidden;
}

.top-mv-tab-button {
  display: flex;
  align-items: center;
  padding: 15px 10px;
  color: #00C0B7;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  background-color: #E5F7FC;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

.top-mv-tab-button.active {
  color: #fff;
  background-color: #00C0B7;
}

.top-mv-tab-button:hover:not(.active) {
  background-color: #e0f7fa;
}

.top-mv-tab-button span.icon {
  margin-right: 10px;
  padding: 3px 8px;
  color: #00C0B7;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #57EBD7;
}

.top-mv-tab-button.active span.icon {
  background-color: #fff;
}

.top-mv-tab-content-container {
  flex-grow: 1;
  padding-inline: 20px;
  background-color: #fff;
}

.top-mv-tab-content {
  display: none;
  font-size: 18px;
  color: #555;
  line-height: 1.6;
}

.top-mv-tab-content.active {
  display: block;
}

@media not all and (min-width: 1000px) {
  .top-mv-tab-container {
    flex-direction: column;
    padding: 20px;
    width: 100%;
    border-radius: 0;
  }

  .top-mv-tab-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5px;
    flex: none;
    width: 100%;
    border-radius: 0;
    padding: 10px 0;
  }

  .top-mv-tab-button {
    padding: 15px;
    width: calc(50% - 5px);
    font-size: 14px;
    min-height: 50px;
  }

  .top-mv-tab-button span.icon {
    margin-right: 5px;
    padding: 2px 6px;
    width: 35px;
    font-size: 10px;
  }

  .top-mv-tab-button span.text {
    width: calc(100% - 35px);
  }

  .top-mv-tab-content {
    font-size: 16px;
  }

  .top-mv-tab-content-container {
    padding-inline: 0;
    padding-block: 20px;
    width: 100%;
  }
}

.top-mv-tab-contents__iframe iframe {
  width: 100%;
}

.top-mv-tab-contents__heading {
  margin-bottom: 20px;
  padding-left: 5px;
  font-size: 16px;
  font-weight: 700;
  border-left: 6px solid #00C0B7;
}

.top-mv-tab-contents__subheading {
  margin-bottom: 20px;
  padding: 5px 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  background-color: #00C0B7;
}

.top-mv-tab-contents__subheading span {
  margin-right: 10px;
  padding: 2px 10px;
  color: #00C0B7;
  font-size: 14px;
  background-color: #fff;
}

.top-mv-tab-contents__button a {
  display: block;
  margin-inline: auto;
  padding: 10px 20px;
  width: fit-content;
  font-size: 16px;
  border: 1px solid #4b4b4b;
}

@media (any-hover: hover) {
  .top-mv-tab-contents__button a:hover {
    text-decoration: none;
    background-color: #ddd;
  }
}

.top-mv-tab-contents__button a:focus-visible {
  text-decoration: none;
  background-color: #ddd;
}

.top-section-hero__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}

.top-section-hero__item {
  width: 32%;
}

@media not all and (min-width: 1000px) {
  .top-section-hero__item {
    width: 100%;
  }
}

.top-section-hero__item a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  background-color: #F1F1F1;
}

@media (any-hover: hover) {
  .top-section-hero__item a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.top-section-hero__item a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.top-section-hero__item a::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  background-image: url(./assets/images/common/button-circle01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section-hero__item a::after {
    width: 28px;
    height: 28px;
  }
}

.top-section-hero__image {
  width: 50%;
}

.top-section-hero__contents {
  position: relative;
  padding: 20px;
  width: 50%;
}

@media not all and (min-width: 1000px) {
  .top-section-hero__image {
    width: 100%;
  }

  .top-section-hero__contents {
    padding: 20px 40px 20px 20px;
    width: 100%;
  }
}

.top-section-hero__image img {
  width: 100%;
}

.top-section-hero__heading {
  margin-inline: auto;
  margin-bottom: 20px;
  width: fit-content;
  font-size: 24px;
  font-weight: 500;
}

@media not all and (min-width: 1300px) {
  .top-section-hero__heading {
    font-size: 20px;
  }

  .top-section-hero__text {
    font-size: 15px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section-hero__heading {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.top-section01 {
  padding-block: 100px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section01 {
    padding-block: 40px;
  }
}

.top-section01__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section01__header {
  width: 450px;
}

.top-section01__main {
  width: calc(100% - 500px);
}

@media not all and (min-width: 1300px) {
  .top-section01__header {
    display: contents;
    width: 100%;
  }

  .top-section01__main {
    order: 3;
    margin-bottom: 40px;
    width: 100%;
  }
}

.top-section01__hgroup {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  color: #00C0B7;
  text-align: center;
}

@media not all and (min-width: 1300px) {
  .top-section01__hgroup {
    order: 1;
    margin-inline: auto;
  }
}

.top-section01__heading {
  order: 3;
  margin-bottom: 20px;
  font-size: 20px;
}

.top-section01__heading-en {
  order: 2;
  margin-bottom: 30px;
  font-size: 72px;
  line-height: 1;
}

@media not all and (min-width: 1000px) {
  .top-section01__heading {
    font-size: 18px;
  }

  .top-section01__heading-en {
    margin-bottom: 20px;
    font-size: 48px;
  }
}

.top-section01__icon {
  margin-inline: auto;
  margin-bottom: 30px;
  width: 32px;
  height: auto;
}

.top-section01__hero {
  margin-bottom: 120px;
  font-size: 20px;
}

@media not all and (min-width: 1300px) {
  .top-section01__hero {
    order: 2;
    margin-inline: auto;
    margin-bottom: 60px;
  }

  .top-section01__button {
    order: 4;
  }
}

@media not all and (min-width: 1000px) {
  .top-section01__hero {
    margin-bottom: 60px;
    font-size: 18px;
  }

  .top-section01__button {
    order: 4;
    margin-inline: auto;
  }
}

.tabs-container {
  width: 100%;
  overflow: hidden;
}

.tabs-header {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.tab-button {
  padding: 15px 20px;
  width: 560px;
  color: #555;
  font-weight: bold;
  background-color: #F1F1F1;
  transition: background-color 0.3s ease, color 0.3s ease;
  text-align: center;
  cursor: pointer;
}

.tab-button.active {
  background-color: #A6E9E6;
}

.tab-content-wrapper {
  position: relative;
  padding: 40px;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
}

.tab-content-wrapper::before,
.tab-content-wrapper::after {
  content: '';
  position: absolute;
  left: -20px;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .tab-content-wrapper {
    padding: 10px;
  }

  .tab-content-wrapper::before,
  .tab-content-wrapper::after {
    display: none;
  }
}

.tab-content-wrapper::before {
  top: -20px;
}

.tab-content-wrapper::after {
  bottom: -20px;
}

.tab-content {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-in-out;
}

.tab-content.active {
  opacity: 1;
  visibility: visible;
  position: static;
}

.menu-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.menu-list li {
  width: 48%;
  border-bottom: 1px solid #eee;
}

.tab-content#subjects .menu-list li:nth-last-child(1),
.tab-content#subjects .menu-list li:nth-last-child(2) {
  border-bottom: none;
}

.tab-content#concerns .menu-list li:nth-last-child(1),
.tab-content#concerns .menu-list li:nth-last-child(2) {
  border-bottom: none;
}

.menu-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

@media (any-hover: hover) {
  .menu-list a:hover {
    text-decoration: none;
    background-color: #D2FAF3;
  }
}

.menu-list a:focus-visible {
  text-decoration: none;
  background-color: #D2FAF3;
}

@media not all and (min-width: 1000px) {
  .menu-list a {
    flex-direction: column;
    gap: 10px;
    position: relative;
    padding: 10px 10px 30px;
    text-align: center;
  }
}

.menu-icon {
  width: 80px;
  height: 80px;
}

@media not all and (min-width: 1000px) {
  .menu-icon {
    width: 50px;
    height: 50px;
    margin-right: 0;
  }
}

.text-content {
  width: calc(100% - 100px - 68px);
}

@media not all and (min-width: 1000px) {
  .text-content {
    width: 100%;
  }
}

.text-content p {
  margin: 0;
  line-height: 1.4;
}

.text-content .jp {
  color: #00C0B7;
  font-size: 20px;
  font-weight: 500;
}

.text-content .en {
  color: #BABABA;
  font-size: 17px;
}

@media not all and (min-width: 1000px) {
  .text-content .jp {
    font-size: 14px;
  }

  .text-content .en {
    font-size: 10px;
  }
}

.arrow-icon {
  width: 48px;
  height: 48px;
  transition: opacity 0.2s ease;
}

@media (any-hover: hover) {

  .menu-item:hover .arrow-icon {
    opacity: .7;
  }
}

.menu-item:focus-visible .arrow-icon {
  opacity: .7;
}

@media not all and (min-width: 1000px) {
  .arrow-icon {
    position: absolute;
    bottom: 10px;
    right: 0;
    width: 15px;
    height: 15px;
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  .tab-content#subjects .menu-list li:nth-last-child(1) {
    border-bottom: none;
  }

  .tab-content#concerns .menu-list li:nth-last-child(1) {
    border-bottom: none;
  }

  .tab-content#concerns .menu-list li:nth-last-child(2) {
    border-bottom: 1px solid #eee;
  }
}

.menu-list .description {
  flex-basis: 1;
  margin-top: 10px;
  font-size: 16px;
  text-align: left;
}

@media not all and (min-width: 1000px) {
  .menu-list .description {
    font-size: 13px;
    letter-spacing: 0.15em;
  }
}

.top-section02 {
  position: relative;
  padding-block: 120px;
  background-color: #D2FAF3;
}

@media not all and (min-width: 1000px) {
  .top-section02 {
    padding-block: 40px;
  }
}

.top-section02::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  width: 100vw;
  height: 20px;
  background-image: url(./assets/images/common/bg-wave-gr.svg);
  background-size: cover;
  background-repeat: repeat-x;
  background-position: center;
}

.top-section02__wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.top-section02__contents {
  width: 45%;
}

.top-section02__image {
  position: relative;
  width: 50%;
  margin-left: calc(50% - 50vw);
}

@media not all and (min-width: 1000px) {
  .top-section02__contents {
    margin-bottom: 40px;
    width: 100%;
  }

  .top-section02__image {
    width: 100%;
    margin-inline: 0;
  }
}

.top-section02__hgroup {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  color: #00C0B7;
  text-align: center;
}

.top-section02__heading {
  order: 3;
  margin-bottom: 20px;
  font-size: 20px;
}

.top-section02__heading-en {
  order: 2;
  margin-bottom: 30px;
  font-size: 72px;
  line-height: 1;
}

@media not all and (min-width: 1300px) {
  .top-section02__heading {
    font-size: 18px;
  }

  .top-section02__heading-en {
    margin-bottom: 20px;
    font-size: 48px;
  }
}

.top-section02__icon {
  margin-inline: auto;
  margin-bottom: 30px;
  width: 32px;
  height: auto;
}

.top-section02__contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section02__button a {
  margin-top: 40px;
  margin-inline: auto;
}

.top-section02__contents-item {
  width: 33%;
}

.top-section02__image-inner img {
  width: 100%;
}

.top-section02__image-icon {
  position: absolute;
  bottom: -100px;
  left: 0;
}

@media not all and (min-width: 1000px) {
  .top-section02__image-icon {
    bottom: -40px;
    left: 0;
    width: 130px;
  }
}

.top-section03 {
  position: relative;
  padding-block: 120px;
  background-color: #fff;
}

@media not all and (min-width: 1000px) {
  .top-section03 {
    padding-block: 40px;
  }
}

.top-section03::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  width: 100vw;
  height: 20px;
  background-image: url(./assets/images/common/bg-wave-w.svg);
  background-size: cover;
  background-repeat: repeat-x;
  background-position: center;
}

.top-section03__main-heading {
  margin-inline: auto;
  margin-bottom: 80px;
  padding-inline: 20px;
  width: fit-content;
}

@media not all and (min-width: 1000px) {
  .top-section03__main-heading {
    margin-bottom: 40px;
    width: 80%;
  }
}

.top-section03__image {
  position: relative;
  width: 50%;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03__image {
    width: 100%;
  }
}

.top-section03__heading {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
  margin-left: auto;
  max-width: calc(100% - 130px);
}

@media not all and (min-width: 1240px) {
  .top-section03__heading {
    gap: 20px;
    max-width: calc(100% - 60px);
  }
}

@media not all and (min-width: 1000px) {
  .top-section03__heading {
    gap: 20px;
    max-width: 100%;
  }
}

.top-section03__contents-inner {
  position: relative;
  width: calc(100% - 130px);
}

.top-section03__contents-sub {
  width: 100px;
}

@media not all and (min-width: 1240px) {
  .top-section03__contents-inner {
    width: calc(100% - 90px);
  }

  .top-section03__contents-sub {
    width: 60px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03__contents-inner {
    width: 100%;
  }

  .top-section03__contents-sub {
    display: none;
  }
}

.top-section03__text {
  margin-inline: 100px;
  font-size: 18px;
  line-height: 2.2;
}

@media not all and (min-width: 1420px) {
  .top-section03__text {
    margin-inline: 80px 50px;
  }
}

@media not all and (min-width: 1240px) {
  .top-section03__text {
    margin-inline: 40px 50px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03__text {
    margin-inline: 0;
    font-size: 16px;
  }
}

.top-section03__button {
  margin-top: 80px;
  margin-left: 80px;
}

@media not all and (min-width: 1240px) {
  .top-section03__button {
    bottom: -80px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03__button {
    display: none;
  }
}

.top-section03__sp-button {
  display: none;
  position: relative;
  margin-top: 50px;
  margin-inline: auto;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03__sp-button {
    display: block;
  }
}

.top-section03-1 {
  position: relative;
  margin-bottom: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03-1 {
    margin-bottom: 60px;
  }
}

.top-section03-1__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section03-1__contents {
  position: relative;
  width: 50%;
}

@media not all and (min-width: 1000px) {
  .top-section03-1__contents {
    display: contents;
    width: 100%;
  }
}

.top-section03-1__contents::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section03-1__contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background-color: #FFFAD5;
  z-index: 0;
}

.top-section03-1__contents-bg {
  position: relative;
  padding: 80px 40px 0;
  z-index: 1;
}

@media not all and (min-width: 1240px) {
  .top-section03-1__contents::after {
    height: 95%;
  }

  .top-section03-1__contents-bg {
    padding: 40px 20px;
  }
}

.top-section03-1__image-inner {
  margin-left: -50px;
  max-width: calc(100% + 50px);
}

@media not all and (min-width: 1000px) {
  .top-section03-1__image-inner {
    margin-left: 0;
    padding-inline: 20px;
    max-width: 100%;
  }
}

.top-section03-1__image-inner img {
  width: 100%;
}

.top-section03-1 .top-section03__heading::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #DDBA64;
}

@media not all and (min-width: 1420px) {
  .top-section03-1 .top-section03__heading::after {
    bottom: 25px;
  }
}

.top-section03-1__heading-num {
  color: #DDBA64;
  font-size: 200px;
  line-height: 1;
}

.top-section03-1__heading-text {
  font-size: 42px;
  line-height: 1.4;
}

@media not all and (min-width: 1420px) {
  .top-section03-1__heading-num {
    font-size: 150px;
  }

  .top-section03-1__heading-text {
    font-size: 32px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-1__heading-num {
    font-size: 120px;
  }

  .top-section03-1__heading-text {
    font-size: 24px;
  }
}

@media not all and (min-width: 768px) {
  .top-section03-1__heading-num {
    font-size: 90px;
  }

  .top-section03-1__heading-text {
    font-size: 20px;
  }
}

.top-section03-1__contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  margin-inline: auto;
  max-width: 100%;
}

.top-section03-2 {
  position: relative;
  margin-bottom: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03-2 {
    margin-bottom: 50px;
  }
}

.top-section03-2__wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.top-section03-2__contents {
  position: relative;
  width: 50%;
}

@media not all and (min-width: 1000px) {
  .top-section03-2__contents {
    display: contents;
    width: 100%;
  }
}

.top-section03-2__contents::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section03-2__contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background-color: #D2FAF3;
  z-index: 0;
}

.top-section03-2__contents-bg {
  position: relative;
  padding: 80px 40px 0;
  z-index: 1;
}

@media not all and (min-width: 1240px) {
  .top-section03-2__contents::after {
    height: 95%;
  }

  .top-section03-2__contents-bg {
    padding: 40px 20px;
  }
}

.top-section03-2 .top-section03__heading::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #57EBD7;
}

@media not all and (min-width: 1420px) {
  .top-section03-2 .top-section03__heading::after {
    bottom: 30px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-2 .top-section03__heading::after {
    bottom: 25px;
  }
}

.top-section03-2__heading-num {
  color: #57EBD7;
  font-size: 200px;
  line-height: 1;
}

.top-section03-2__heading-text {
  font-size: 42px;
  line-height: 1.4;
}

@media not all and (min-width: 1420px) {
  .top-section03-2__heading-num {
    font-size: 150px;
  }

  .top-section03-2__heading-text {
    font-size: 32px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-2__heading-num {
    font-size: 120px;
  }

  .top-section03-2__heading-text {
    font-size: 24px;
  }
}

@media not all and (min-width: 768px) {
  .top-section03-2__heading-num {
    font-size: 90px;
  }

  .top-section03-2__heading-text {
    font-size: 20px;
  }
}

.top-section03-2__contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-inline: auto;
  max-width: 100%;
}

.top-section03-2__image-inner {
  margin-right: -50px;
  max-width: calc(100% + 50px);
}

@media not all and (min-width: 1000px) {
  .top-section03-2__image-inner {
    margin-right: 0;
    padding-inline: 20px;
    max-width: 100%;
  }
}

.top-section03-2__image-inner img {
  width: 100%;
}

.top-section03__section-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03__section-wrap {
    margin-bottom: 80px;
  }
}

.top-section03-3,
.top-section03-4 {
  position: relative;
  width: 48%;
}

@media not all and (min-width: 1000px) {
  .top-section03-3 {
    display: flex;
    flex-direction: column;
    margin-bottom: 100px;
    padding-bottom: 60px;
    width: 100%;
  }

  .top-section03-4 {
    display: flex;
    flex-direction: column;
    padding-bottom: 40px;
    width: 100%;
  }
}

.top-section03-3::before {
  content: '';
  position: absolute;
  top: 20%;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: #F4E9F7;
  z-index: 0;
}

.top-section03-3__inner {
  position: relative;
  height: 100%;
}

@media not all and (min-width: 1000px) {
  .top-section03-3::before {
    top: 0;
    height: 100%;
  }

  .top-section03-3__inner {
    display: contents;
  }
}

.top-section03-3__inner::before {
  content: '';
  position: absolute;
  top: 18%;
  right: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__inner::before {
    top: -2%;
    right: -20px;
  }
}

.top-section03-3__inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section03-3__image {
  position: relative;
  padding-right: 60px;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__image {
    order: 2;
    padding-right: 0;
    padding-inline: 20px;
  }
}

.top-section03-3__image img {
  width: 100%;
}

.top-section03-3__contents {
  position: relative;
  width: 100%;
  margin-top: -100px;
  padding-top: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__contents {
    order: 1;
    margin-top: 0;
    padding-top: 40px;
  }
}

.top-section03-3__contents-bg {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  position: relative;
  padding: 80px 60px;
  z-index: 1;
}

@media not all and (min-width: 1240px) {
  .top-section03-3__contents::after {
    height: 95%;
  }

  .top-section03-3__contents-bg {
    padding: 40px 20px;
  }
}

.top-section03-3__contents-main {
  width: calc(100% - 130px);
}

.top-section03-3__contents-sub {
  width: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__contents-sub {
    display: none;
  }

  .top-section03-3__contents-main {
    width: 100%;
  }
}

.top-section03-3__image-inner {
  margin-left: -50px;
  max-width: calc(100% + 50px);
}

.top-section03-3__image-inner img {
  width: 100%;
}

.top-section03-3__heading {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
}

@media not all and (min-width: 768px) {
  .top-section03-3__heading {
    gap: 10px;
  }
}

.top-section03-3__heading::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #DFABF1;
}

@media not all and (min-width: 1420px) {
  .top-section03-3 .top-section03-3__heading::after {
    bottom: 30px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-3 .top-section03-3__heading::after {
    bottom: 25px;
  }
}

.top-section03-3__heading-num {
  width: 90px;
  color: #E0ACF2;
  font-size: 200px;
  line-height: 1;
}

.top-section03-3__heading-text {
  width: calc(100% - 120px);
  font-size: 42px;
  line-height: 1.4;
}

@media not all and (min-width: 1420px) {
  .top-section03-3__heading-num {
    font-size: 150px;
  }

  .top-section03-3__heading-text {
    font-size: 32px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-3__heading-num {
    width: 52px;
    font-size: 120px;
  }

  .top-section03-3__heading-text {
    width: calc(100% - 82px);
    font-size: 24px;
  }
}

@media not all and (min-width: 768px) {
  .top-section03-3__heading-num {
    width: 52px;
    font-size: 90px;
  }

  .top-section03-3__heading-text {
    width: calc(100% - 62px);
    font-size: 20px;
  }
}

.top-section03-3__text {
  margin-left: 120px;
  font-size: 18px;
  line-height: 2.2;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__text {
    margin-left: 0;
  }
}

.top-section03-3__button {
  position: absolute;
  bottom: -30px;
  left: 290px;
}

@media not all and (min-width: 1000px) {
  .top-section03-3__button {
    order: 3;
    bottom: -53px;
    left: 50%;
    translate: -50% 0;
  }
}

.top-section03-4::before {
  content: '';
  position: absolute;
  top: 20%;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: #FFFBD6;
  z-index: 0;
}

.top-section03-4__inner {
  position: relative;
  height: 100%;
}

@media not all and (min-width: 1000px) {
  .top-section03-4::before {
    top: 0;
    height: 100%;
  }

  .top-section03-4__inner {
    display: contents;
  }
}

.top-section03-4__inner::before {
  content: '';
  position: absolute;
  top: 18%;
  left: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03-4__inner::before {
    top: -3%;
    left: -20px;
  }
}

.top-section03-4__inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section03-4__image {
  position: relative;
  padding-left: 60px;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section03-4__image {
    order: 2;
    padding-left: 0;
    padding-inline: 20px;
  }
}

.top-section03-4__image img {
  width: 100%;
}

.top-section03-4__contents {
  position: relative;
  width: 100%;
  margin-top: -100px;
  padding-top: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section03-4__contents {
    order: 1;
    margin-top: 0;
    padding-top: 40px;
  }
}

.top-section03-4__contents-bg {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  position: relative;
  padding: 80px 60px;
  z-index: 1;
}

@media not all and (min-width: 1240px) {
  .top-section03-4__contents::after {
    height: 95%;
  }

  .top-section03-4__contents-bg {
    padding: 40px 20px;
  }
}

.top-section03-4__contents-main {
  width: calc(100% - 130px);
}

.top-section03-4__contents-sub {
  width: 100px;
}

@media not all and (min-width: 1240px) {
  .top-section03-4__contents::after {
    height: 95%;
  }

  .top-section03-4__contents-bg {
    padding: 40px 20px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-4__contents-sub {
    display: none;
  }

  .top-section03-4__contents-main {
    width: 100%;
  }
}

.top-section03-4__image-inner {
  margin-left: -50px;
  max-width: calc(100% + 50px);
}

.top-section03-4__image-inner img {
  width: 100%;
}

.top-section03-4__heading {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
}

@media not all and (min-width: 768px) {
  .top-section03-4__heading {
    gap: 10px;
  }
}

.top-section03-4__heading::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #DDBA64;
}

@media not all and (min-width: 1420px) {
  .top-section03-4 .top-section03-4__heading::after {
    bottom: 30px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-4 .top-section03-4__heading::after {
    bottom: 25px;
  }
}

.top-section03-4__heading-num {
  width: 90px;
  color: #DDBA64;
  font-size: 200px;
  line-height: 1;
}

.top-section03-4__heading-text {
  width: calc(100% - 120px);
  font-size: 42px;
  line-height: 1.4;
}

@media not all and (min-width: 1420px) {
  .top-section03-4__heading-num {
    font-size: 150px;
  }

  .top-section03-4__heading-text {
    font-size: 32px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-4__heading-num {
    width: 52px;
    font-size: 120px;
  }

  .top-section03-4__heading-text {
    width: calc(100% - 82px);
    font-size: 24px;
  }
}

@media not all and (min-width: 768px) {
  .top-section03-4__heading-num {
    width: 52px;
    font-size: 90px;
  }

  .top-section03-4__heading-text {
    width: calc(100% - 62px);
    font-size: 20px;
  }
}

.top-section03-4__text {
  margin-left: 120px;
  font-size: 18px;
  line-height: 2.2;
}

@media not all and (min-width: 1000px) {
  .top-section03-4__text {
    margin-left: 0;
  }
}

.top-section03-4__button {
  position: absolute;
  bottom: -30px;
  left: 290px;
}

@media not all and (min-width: 1000px) {
  .top-section03-4__button {
    order: 3;
    bottom: -50px;
    left: 50%;
    translate: -50% 0;
  }
}

.top-section03-5 {
  position: relative;
}

.top-section03-5__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section03-5__contents {
  position: relative;
  width: 50%;
}

@media not all and (min-width: 1000px) {
  .top-section03-5__contents {
    display: contents;
    width: 100%;
  }
}

.top-section03-5__contents::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section03-5__contents::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background-color: #D2FAF3;
  z-index: 0;
}

.top-section03-5__contents-bg {
  position: relative;
  padding: 80px 40px 0;
  z-index: 1;
}

@media not all and (min-width: 1240px) {
  .top-section03-5__contents::after {
    height: 95%;
  }

  .top-section03-5__contents-bg {
    padding: 40px 20px;
  }
}

.top-section03-5__image-inner {
  margin-left: -50px;
  max-width: calc(100% + 50px);
}

@media not all and (min-width: 1000px) {
  .top-section03-5__image-inner {
    margin-left: 0;
    padding-inline: 20px;
    max-width: 100%;
  }
}

.top-section03-5__image-inner img {
  width: 100%;
}

.top-section03-5 .top-section03__heading::after {
  content: '';
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #57EBD7;
}

@media not all and (min-width: 1420px) {
  .top-section03-5 .top-section03__heading::after {
    bottom: 25px;
  }
}

.top-section03-5__heading-num {
  color: #57EBD7;
  font-size: 200px;
  line-height: 1;
}

.top-section03-5__heading-text {
  font-size: 42px;
  line-height: 1.4;
}

@media not all and (min-width: 1420px) {
  .top-section03-5__heading-num {
    font-size: 150px;
  }

  .top-section03-5__heading-text {
    font-size: 32px;
  }
}

@media not all and (min-width: 1000px) {
  .top-section03-5__heading-num {
    font-size: 120px;
  }

  .top-section03-5__heading-text {
    font-size: 24px;
  }
}

@media not all and (min-width: 768px) {
  .top-section03-5__heading-num {
    font-size: 90px;
  }

  .top-section03-5__heading-text {
    font-size: 20px;
  }
}

.top-section03-5__contents-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  margin-inline: auto;
  max-width: 100%;
}

.top-section04 {
  position: relative;
  padding: 100px 20px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section04 {
    padding: 40px 0;
  }
}

.top-section04::before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0;
  width: 100vw;
  height: 20px;
  background-image: url(./assets/images/common/bg-wave-noise.svg);
  background-size: cover;
  background-repeat: repeat-x;
  background-position: center;
}

.top-section04__container {
  position: relative;
}

.top-section04__container::before,
.top-section04__container::after {
  content: '';
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section04__container::before {
  right: 0;
}

.top-section04__container::after {
  left: 0;
}

.top-section04__inner {
  position: relative;
  padding: 60px 80px 0;
  background-color: #fff;
}

@media not all and (min-width: 1000px) {
  .top-section04__inner {
    display: flex;
    flex-direction: column-reverse;
    padding: 40px 20px 0;
  }
}

.top-section04__inner::before,
.top-section04__inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section04__inner::before {
  right: -20px;
}

.top-section04__inner::after {
  left: -20px;
}

.top-section04__wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.top-section04__contents {
  width: 50%;
}

.top-section04__image {
  width: 40%;
}

@media not all and (min-width: 1000px) {
  .top-section04__contents {
    margin-bottom: 40px;
    width: 100%;
  }

  .top-section04__image {
    width: 100%;
  }
}

.top-section04__text-en {
  position: absolute;
  top: 0;
  left: 20px;
  width: 114px;
}

@media not all and (min-width: 1000px) {
  .top-section04__text-en {
    position: relative;
    top: auto;
    left: auto;
    margin-inline: auto;
    margin-bottom: 30px;
    width: auto;
  }
}

.top-section04__heading {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 40px;
  font-size: 36px;
}

.top-section04__heading img {
  width: 32px;
  height: 32px;
}

.top-section04__heading .text {
  width: calc(100% - 62px);
}

@media not all and (min-width: 1000px) {
  .top-section04__heading {
    justify-content: center;
    flex-direction: column;
  }

  .top-section04__heading img {
    margin-inline: auto;
  }

  .top-section04__heading .text {
    width: 100%;
    font-size: 36px;
    letter-spacing: 0.15em;
    text-align: center;
  }

  .top-section04__heading .text strong {
    font-weight: 400;
  }
}

@media not all and (min-width: 568px) {
  .top-section04__heading .text {
    font-size: 26px;
  }
}

.top-section04__text p {
  margin-bottom: 30px;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media not all and (min-width: 400px) {
  .top-section04__text p {
    font-size: 15px;
  }
}

.top-section04__text .sign {
  font-size: 20px;
  text-align: right;
}

@media not all and (min-width: 1000px) {
  .top-section04__text .sign {
    text-align: center;
  }
}

.top-section04__text .sign .name {
  padding-left: 20px;
  font-size: 36px;
}

@media not all and (min-width: 768px) {
  .top-section04__text .sign .name {
    padding-left: 10px;
    font-size: 26px;
  }
}

.top-section04__button {
  margin-bottom: 60px;
}

.top-section04__button a {
  margin-left: auto;
}

@media not all and (min-width: 1000px) {
  .top-section04__button {
    margin-bottom: 0;
  }

  .top-section04__button a {
    margin-inline: auto;
  }
}

.top-section05 {
  position: relative;
  padding: 100px 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section05 {
    padding: 40px 0;
  }
}

.top-section05::before {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  width: 100vw;
  height: 20px;
  background-image: url(./assets/images/common/bg-wave-w.svg);
  background-size: cover;
  background-repeat: repeat-x;
  background-position: center;
}

.top-section05::after {
  content: '';
  position: absolute;
  top: 560px;
  left: 0;
  width: 100vw;
  height: calc(100% - 560px);
  background-color: #D2FAF3;
  z-index: -1;
}

.top-section05__container {
  position: relative;
}

.top-section05__container::after {
  content: '';
  position: absolute;
  bottom: -100px;
  right: -20px;
  width: 739px;
  height: 1236px;
  background-image: url(./assets/images/top/top-future-bg-pic.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
}

@media not all and (min-width: 1000px) {
  .top-section05__container::after {
    display: none;
  }
}

.top-section05__header-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 80px;
}

@media not all and (min-width: 1000px) {
  .top-section05__header-wrap {
    margin-bottom: 40px;
  }
}

.top-section05__header-wrap::before {
  content: '';
  position: absolute;
  top: 40px;
  left: 50%;
  translate: -50% 0;
  width: 343px;
  height: 455px;
  background-image: url(./assets/images/top/top-future-illust.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}

@media not all and (min-width: 1000px) {
  .top-section05__header-wrap::before {
    top: 210px;
    right: 20px;
    left: auto;
    translate: unset;
    width: 189px;
    height: 251px;
  }
}

.top-section05__header-contents {
  width: 48%;
}

.top-section05__header-image {
  width: 40%;
}

@media not all and (min-width: 1000px) {
  .top-section05__header-contents {
    display: contents;
    width: 100%;
  }

  .top-section05__header-image {
    order: 3;
    margin-bottom: 20px;
    width: 100%;
  }

  .top-section05__header-image img {
    margin-inline: auto;
    max-width: 280px;
  }
}

@media not all and (min-width: 568px) {
  .top-section05__header-image img {
    max-width: 100%;
  }
}

.top-section05__heading {
  margin-bottom: 40px;
}

.top-section05__heading-en {
  margin-bottom: 40px;
}

.top-section05__header-text {
  font-size: 20px;
  line-height: 2.2;
}

@media not all and (min-width: 1000px) {
  .top-section05__heading {
    order: 1;
    margin-bottom: 30px;
    margin-inline: auto;
    max-width: 280px;
  }

  .top-section05__heading-en {
    order: 2;
    margin-inline: auto;
    margin-bottom: 30px;
    max-width: 500px;
  }

  .top-section05__header-text {
    order: 4;
    font-size: 15px;
  }
}

.top-section05__main {
  position: relative;
  z-index: 1;
}

.top-section05__main-container {
  position: relative;
  max-width: 1140px;
}

.top-section05__main-container::before,
.top-section05__main-container::after {
  content: '';
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background-color: #D2FAF3;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section05__main-container::before {
  right: -20px;
}

.top-section05__main-container::after {
  left: -20px;
}

.top-section05__main-inner {
  position: relative;
  padding: 40px;
  background-color: #fff;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-inner {
    padding: 20px;
  }
}

.top-section05__main-inner::after {
  content: '';
  position: absolute;
  bottom: -31px;
  left: 0;
  width: 100%;
  height: 32px;
  background-image: url(./assets/images/top/top-section05-contente-bg.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
  z-index: 1;
}

.top-section05__main-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section05__main-item {
  width: 50%;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-item {
    width: 100%;
  }

  .top-section05__main-item:not(:last-child) {
    margin-bottom: 80px;
  }
}

.top-section05__main-item:nth-child(1) {
  padding-right: 40px;
  padding-bottom: 40px;
  border-right: 1px solid #57EBD7;
  border-bottom: 1px solid #57EBD7;
}

.top-section05__main-item:nth-child(2) {
  padding-bottom: 40px;
  padding-left: 40px;
  border-bottom: 1px solid #57EBD7;
}

.top-section05__main-item:nth-child(3) {
  padding-top: 40px;
  padding-right: 40px;
  border-right: 1px solid #57EBD7;
}

.top-section05__main-item:nth-child(4) {
  padding-top: 40px;
  padding-left: 40px;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-item:nth-child(1) {
    padding-right: 0;
    padding-bottom: 0;
    border-right: none;
    border-bottom: 1px solid #57EBD7;
  }

  .top-section05__main-item:nth-child(2) {
    padding-bottom: 0;
    padding-left: 0;
    border-bottom: 1px solid #57EBD7;
  }

  .top-section05__main-item:nth-child(3) {
    padding-top: 0;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid #57EBD7;
  }

  .top-section05__main-item:nth-child(4) {
    padding-top: 0;
    padding-left: 0;
  }
}

.top-section05__main-heading {
  margin-bottom: 10px;
  margin-inline: auto;
  width: fit-content;
  font-size: 26px;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-heading {
    text-align: center;
  }
}

.top-section05__main-contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-block: -50px 30px;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-contents {
    align-items: flex-start;
    margin-block: 30px;
  }
}

.top-section05__main-image img {
  width: 100%;
}

.top-section05__main-catch {
  width: 49%;
}

.top-section05__main-list {
  width: 49%;
}

@media not all and (min-width: 1000px) {
  .top-section05__main-catch {
    margin-top: -50px;
  }

  .top-section05__main-catch img {
    margin-left: auto;
  }

  .top-section05__main-list {
    font-size: 15px;
  }
}

.top-section05__main-list li {
  position: relative;
  margin-bottom: 6px;
  padding-left: 30px;
}

.top-section05__main-list li::before {
  content: '';
  position: absolute;
  top: 9px;
  left: 0;
  width: 15px;
  height: 15px;
  background-image: url(./assets/images/common/list-mark-star-gr.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-section05__main-button a {
  margin-inline: auto;
}

.top-section06 {
  padding-block: 80px;
  background-color: #57EBD7;
}





.top-section06__container {
  position: relative;
  max-width: 1720px;
}

.top-section06__container::before,
.top-section06__container::after {
  content: '';
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background-color: #57EBD7;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section06__container::before {
  right: 0px;
}

.top-section06__container::after {
  left: 0px;
}

.top-section06__inner {
  position: relative;
  padding: 40px;
  background-color: #fff;
}

.top-section06__inner::before,
.top-section06__inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  width: 40px;
  height: 40px;
  background-color: #57EBD7;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section06__inner::before {
  right: -20px;
}

.top-section06__inner::after {
  left: -20px;
}

.top-section06__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media not all and (min-width: 1000px) {
  .top-section06__wrap {
    flex-direction: column;
    justify-content: center;
  }
}

.top-section06__icon {
  width: 90px;
}

.top-section06__text {
  width: calc(100% - 342px);
  font-size: 24px;
}

.top-section06__button {
  width: 192px;
}

@media not all and (min-width: 1000px) {
  .top-section06__icon {
    margin-bottom: 30px;
    width: 76px;
  }

  .top-section06__text {
    margin-bottom: 30px;
    width: 100%;
    font-size: 20px;
  }

  .top-section06__button {
    width: 192px;
  }
}

.top-section07__header {
  position: relative;
  margin-bottom: 40px;
  padding-top: 20px;
  height: 600px;
  background-image: url(./assets/images/top/top-case-image.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.top-section07__text-en {
  margin-inline: auto;
  width: fit-content;
  color: #fff;
  font-size: 36px;
}

@media not all and (min-width: 768px) {
  .top-section07__header {
    height: 400px;
  }

  .top-section07__text-en {
    font-size: 24px;
  }
}

@media not all and (min-width: 368px) {
  .top-section07__text-en {
    font-size: 20px;
  }
}

.top-section07__text-jp {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 832px;
  height: 170px;
  background-image: url(./assets/images/top/top-case-circle-bg.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}

.top-section07__text-jp p {
  padding-top: 50px;
  color: #00C0B7;
  font-size: 46px;
  text-align: center;
  line-height: 1.4;
}

@media not all and (min-width: 1000px) {
  .top-section07__text-jp {
    width: 100%;
    height: 120px;
  }

  .top-section07__text-jp p {
    padding-top: 50px;
    color: #4B4B4B;
    font-size: 34px;
  }
}

@media not all and (min-width: 768px) {
  .top-section07__text-jp p {
    padding-top: 70px;
    font-size: 24px;
  }
}

@media not all and (min-width: 368px) {
  .top-section07__text-jp p {
    padding-top: 80px;
  }
}

.top-section07__main {
  padding-block: 80px 160px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section07__main {
    padding-block: 80px 120px;
  }
}

.top-section07__heading {
  margin-inline: auto;
  margin-bottom: 200px;
  width: fit-content;
  font-size: 46px;
}

@media not all and (min-width: 1000px) {
  .top-section07__heading {
    margin-bottom: 160px;
    font-size: 34px;
    text-align: center;
  }
}

@media not all and (min-width: 568px) {
  .top-section07__heading {
    font-size: 26px;
  }
}

.top-section07__main-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 180px 0;
  margin-bottom: 40px;
}

.top-section07__main-item {
  position: relative;
  width: 32%;
}

@media not all and (min-width: 1000px) {
  .top-section07__main-item {
    width: 100%;
  }
}

.top-section07__main-item::before,
.top-section07__main-item::after {
  content: '';
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section07__main-item::before {
  right: -20px;
}

.top-section07__main-item::after {
  left: -20px;
}

.top-section07__main-inner {
  position: relative;
  padding: 60px 40px 40px;
  background-color: #fff;
}

@media not all and (min-width: 1000px) {
  .top-section07__main-inner {
    padding: 60px 20px 40px;
  }
}

.top-section07__main-inner::before,
.top-section07__main-inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section07__main-inner::before {
  right: -20px;
}

.top-section07__main-inner::after {
  left: -20px;
}

.top-section07__main-num {
  display: grid;
  place-content: center;
  position: absolute;
  top: -140px;
  left: 50%;
  translate: -50% 0;
  width: 160px;
  height: 160px;
  background-color: #57EBD7;
  border-radius: 50vh;
}

.top-section07__main-num span {
  display: block;
  color: #fff;
  text-align: center;
  line-height: 1.2;
}

.top-section07__main-num .main {
  font-size: 30px;
}

.top-section07__main-num .num {
  font-size: 54px;
}

.top-section07__main-heading {
  margin-inline: auto;
  margin-bottom: 20px;
  width: fit-content;
  color: #00C0B7;
  font-size: 28px;
}

@media not all and (min-width: 768px) {
  .top-section07__main-heading {
    font-size: 22px;
  }
}

.top-section07__main-image {
  margin-bottom: 20px;
}

.top-section07__main-text {
  font-size: 14px;
}

.top-section07__button a {
  margin-inline: auto;
}

.top-section08 {
  margin-bottom: 100px;
}

@media not all and (min-width: 1000px) {
  .top-section08 {
    margin-bottom: 40px;
  }
}

.top-section08__heading {
  position: relative;
  margin-top: -60px;
  margin-inline: auto;
  padding: 30px;
  width: fit-content;
  color: #fff;
  font-size: 60px;
  text-align: center;
  line-height: 1;
  background-color: #00C0B7;
  z-index: 1;
}

@media not all and (min-width: 1000px) {
  .top-section08__heading {
    margin-top: -60px;
    padding: 20px;
    font-size: 31px;
  }
}

.top-section08__infinity-loop {
  position: relative;
  margin-block: -60px 40px;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

@media not all and (min-width: 1000px) {
  .top-section08__infinity-loop {
    margin-block: -30px 40px;
  }
}

@media not all and (min-width: 568px) {
  .top-section08__infinity-loop {
    margin-block: -20px 40px;
  }
}

.top-section08__infinity-loop-inner {
  display: flex;
  animation: infinity-loop 30s linear infinite;
  width: max-content;
}

.top-section08__infinity-loop-inner ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.top-section08__infinity-loop-inner li {
  width: 478px;
}

@keyframes infinity-loop {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media not all and (min-width: 1000px) {
  .top-section08__infinity-loop-inner li {
    width: 260px;
  }
}

@media not all and (min-width: 568px) {
  .top-section08__infinity-loop-inner li {
    width: 160px;
  }
}

.top-section08__button a {
  margin-inline: auto;
}

.top-section09 {
  position: relative;
  padding-block: 100px;
  background-color: #57EBD7;
}


.top-section09__container {
  position: relative;
  z-index: 1;
}

.top-section09__container::before,
.top-section09__container::after {
  content: '';
  position: absolute;
  top: -20px;
  width: 40px;
  height: 40px;
  background-color: #57EBD7;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section09__container::before {
  right: 0px;
}

.top-section09__container::after {
  left: 0px;
}

.top-section09__inner {
  position: relative;
  padding: 60px 40px 40px;
  background-color: #fff;
  background-image: url(./assets/images/top/top-first-icon.svg);
  background-size: 300px;
  background-repeat: no-repeat;
  background-position: center top;
}

@media not all and (min-width: 1000px) {
  .top-section09__inner {
    padding: 60px 20px 40px;
  }
}

.top-section09__inner::before,
.top-section09__inner::after {
  content: '';
  position: absolute;
  bottom: -20px;
  width: 40px;
  height: 40px;
  background-color: #57EBD7;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50vh;
  z-index: 1;
}

.top-section09__inner::before {
  right: -20px;
}

.top-section09__inner::after {
  left: -20px;
}

.top-section09__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section09__header {
  width: 30%;
  background-image: url(./assets/images/top/top-first-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
}

.top-section09__contents {
  width: 67%;
}

@media not all and (min-width: 1000px) {
  .top-section09__header {
    display: contents;
    width: 100%;
  }

  .top-section09__contents {
    order: 2;
    width: 100%;
  }
}

.top-section09__heading {
  margin-inline: auto;
  margin-block: 80px 60px;
  width: fit-content;
  color: #00C0B7;
  font-size: 46px;
}

.top-section09__button a {
  margin-inline: auto;
}

@media not all and (min-width: 1000px) {
  .top-section09__heading {
    order: 1;
    margin-block: 20px 40px;
    font-size: 32px;
  }

  .top-section09__button {
    order: 3;
    margin-inline: auto;
  }
}

.top-section09__contents p {
  margin-bottom: 40px;
}

.top-section09__contents ul {
  margin-bottom: 40px;
}

.top-section09__contents ul li {
  margin-bottom: 10px;
  color: #00C0B7;
}

.top-section09__text-en {
  position: absolute;
  top: 0;
  left: 0;
  width: 90px;
  height: auto;
  z-index: 0;
}

.top-section10 {
  padding-block: 50px 100px;
}

@media not all and (min-width: 1000px) {
  .top-section10 {
    padding-block: 40px;
  }
}

.top-section10__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
}

.top-section10__item {
  width: 48%;
}

@media not all and (min-width: 1000px) {
  .top-section10__item {
    width: 100%;
  }
}

.top-section10__item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px;
  min-height: 158px;
  background-color: #FDF2E1;
  border: 1px solid #CBB196;
  border-radius: 0 30px 0 0;
}

@media (any-hover: hover) {
  .top-section10__item a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.top-section10__item a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

@media not all and (min-width: 768px) {
  .top-section10__item a {
    justify-content: center;
    flex-direction: column;
    gap: 20px 0;
    padding: 20px;
    min-height: auto;
  }
}

.top-section10__icon {
  width: 88px;
}

.top-section10__contents {
  width: calc(100% - 208px);
}

@media not all and (min-width: 768px) {
  .top-section10__contents {
    margin-inline: auto;
    width: fit-content;
  }
}

.top-section10__arrow {
  width: 60px;
}

.top-section10__text-main {
  font-size: 30px;
}

@media not all and (min-width: 768px) {
  .top-section10__text-main {
    font-size: 24px;
  }
}

@media not all and (min-width: 368px) {
  .top-section10__text-main {
    font-size: 20px;
  }
}

.top-section10__text-sub {
  font-size: 16px;
}

.top-section11 {
  padding-block: 100px;
  background-image: url(./assets/images/top/top-blog-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .top-section11 {
    padding-block: 40px;
  }
}

.top-section11__hgroup {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 60px;
  text-align: center;
}

.top-section11__heading {
  font-size: 24px;
}

.top-section11__heading-en {
  font-size: 60px;
}

@media not all and (min-width: 1000px) {
  .top-section11__hgroup {
    margin-bottom: 30px;
  }

  .top-section11__heading {
    font-size: 24px;
  }

  .top-section11__heading-en {
    font-size: 60px;
  }
}

.top-section11__list {
  margin-inline: auto;
  margin-bottom: 40px;
  max-width: 960px;
}

.top-section11__list li {
  margin-bottom: 10px;
}

.top-section11__list a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 20px;
  background-color: #fff;
}

@media (any-hover: hover) {
  .top-section11__list a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.top-section11__list a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.top-section11__list a time {
  width: 20%;
}

.top-section11__list a p {
  width: 75%;
}

@media not all and (min-width: 1000px) {
  .top-section11__list a time {
    width: 100%;
  }

  .top-section11__list a p {
    width: 100%;
  }
}

.top-section11__button a {
  margin-inline: auto;
}


/*
	page
/////////////////////////////////////////////////////////*/

.medical-information__header {
  padding-block: 60px;
  background-image: url(./assets/images/common/header/medical-information-header-bg.png);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
}

.medical-information__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 30px;
  font-size: 46px;
  text-align: center;
}

.medical-information__heading::before,
.medical-information__heading::after {
  content: '';
  display: inline-block;
  width: 56px;
  height: 56px;
  background-image: url(./assets/images/common/list-mark-star-gr.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media not all and (min-width: 1000px) {
  .medical-information__heading {
    gap: 0 20px;
    font-size: 32px;
  }

  .medical-information__heading::before,
  .medical-information__heading::after {
    width: 28px;
    height: 28px;
  }
}

.medical-information__heading .main span {
  display: inline-block;
}

.page-contents {
  margin-block: 80px;
}

.page-section {
  margin-bottom: 60px;
}

.page-section-cnt {
  padding: 80px 20px 64px;
}

@media not all and (min-width: 768px) {
  .page-section-cnt {
    padding: 60px 0px;
  }
}

.page-section p {
  margin-bottom: 40px;
}

.page-section p.text-center {
  margin-inline: auto;
  width: fit-content;
}

.page-section__subheading {
  margin-block: 30px 10px !important;
  color: #00BFB6;
  font-size: 20px;
}

.page-section__thirdheading {
  margin-block: 30px 10px !important;
  color: #00BFB6;
}

.page-section__thirdheading+.page-section__thirdheading {
  margin-top: 0 !important;
}

.page-section__dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 30px;
  background-color: #E5F7FC;
  border: 1px solid #00BFB6;
}

.page-section__dl dt {
  display: flex;
  flex: 1;
  padding: 30px 20px;
  width: 380px;
  background-color: #E5F7FC;
}

.page-section__dl dd {
  padding: 30px 20px;
  width: calc(100% - 380px);
  background-color: #fff;
}

.page-section__image {
  margin-inline: auto;
  margin-bottom: 40px;
  width: fit-content;
  max-width: 1000px;
}

@media not all and (min-width: 1000px) {
  .page-contents {
    margin-block: 40px;
  }

  .page-section {
    margin-bottom: 40px;
  }

  .page-section p {
    margin-bottom: 0px;
  }
}

.page-section__heading {
  margin-bottom: 40px;
  width: 100%;
  padding: 20px;
  font-size: 1.875rem;
  text-align: center;
  line-height: 1.4;
  background-color: #7DE7D6;
  border-radius: 50vh;
}

@media not all and (min-width: 768px) {
  .page-section__heading {
    margin-bottom: 30px;
    font-size: 21px;
  }
}

.page-section-cnt .page-section__heading {
  margin-bottom: 52px;
  width: 100%;
  padding: 0px;
  font-size: 2.25rem;
  text-align: center;
  line-height: 1.4;
  background-color: inherit;
  color: var(--main-color-green);
}

.page-section-cnt hgroup .page-section__heading {
  margin-bottom: 24px;
}

@media not all and (min-width: 768px) {
  .page-section-cnt hgroup .page-section__heading {
    margin-bottom: 12px;
  }
}

.page-section-cnt .page-section__wrap {
  margin-bottom: 0px;
  margin-inline: auto;
  max-width: 1200px;
}

@media not all and (min-width: 768px) {
  .page-section-cnt .page-section__wrap {
    max-width: 100%;
  }
}

.page-section-cnt .page-section__wrap-half-item2 .page-section__heading {
  text-align: left;
  margin-bottom: 32px;
}

.page-section-cnt .page-section__wrap-half-item1 {
  width: 55%;
}

.page-section-cnt .page-section__wrap-half-item2 {
  width: 40%;
}

.page-section-cnt .page-section__wrap-half-item2 p {
  line-height: 2;
}

@media not all and (min-width: 768px) {
  .page-section-cnt .page-section__wrap-half-item2 .page-section__heading {
    margin-bottom: 14px;
    text-align: center;
  }

  .page-section-cnt .page-section__wrap-half-item1,
  .page-section-cnt .page-section__wrap-half-item2 {
    width: 100%;
  }

  .page-section-cnt .page-section__heading {
    padding: 0px;
    font-size: 1.75rem;
    margin-bottom: 32px;
    line-height: 1.7;
  }

  .page-section-cnt.detail04-section06 .page-section__heading {
    font-size: 1.5rem;
  }
}

.page-section__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
  margin-bottom: 40px;
  align-items:center;
}

.page-section__wrap.row-reverse {
  flex-direction: row-reverse;
}

.page-section__wrap-half-item {
  width: 48%;
}

.page-section__wrap-half-item_left {
  width: 55%;
}

.page-section__wrap-half-item_right {
  width: 40%;
}

.page-section__wrap-img {
  width: 30%;
}

.page-section__wrap-text{
	width:68%;
}
@media not all and (min-width: 768px) {
  .page-section__wrap-half-item {
    width: 100%;
  }

  .page-section__wrap-text {
    width: 100%;
  }

  .page-section__wrap-img {
    width: 100%;
  }

  .page-section-cnt .page-section__wrap {
    gap: 20px 0;
  }
}

.page-section__wrap-half-item img,
.page-section__wrap-img img {
  width: 100%;
}

.center-wrap {
  align-items: center;
  font-size: 20px;
  line-height: 2.2;
}

.num-list {
  margin-bottom: 40px;
}

.num-list li {
  list-style-type: decimal;
  margin-left: 1.5rem;
}

.box-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 80px;
}

.box {
  padding: 40px;
  border: 1px solid #7DE7D6;
  border-radius: 30px;
}

.box-section {
  margin-bottom: 80px;
}

@media not all and (min-width: 768px) {
  .box-section {
    margin-bottom: 40px;
  }
}

.box__heading {
  margin-inline: auto;
  margin-bottom: 30px;
  width: fit-content;
  color: #0ABAB5;
  font-size: 28px;
}

.box__mouthpiece-subheading {
  margin-bottom: -20px;
  color: #0ABAB5;
  font-size: 21px;
}

.box__image {
  margin-bottom: 20px;
}

.box p:last-child {
  margin-bottom: 0;
}

@media not all and (min-width: 768px) {
  .box-list {
    gap: 20px;
    margin-bottom: 40px;
  }

  .box {
    padding: 30px 20px;
    border-radius: 20px;
  }

  .box__heading {
    margin-bottom: 20px;
    font-size: 21px;
  }

  .box__subheading {
    font-size: 18px;
  }

  .box__image {
    margin-bottom: 20px;
  }
}

.box .center {
  margin-inline: auto;
  width: fit-content;
}

.box__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.box__item:not(:last-child) {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #7DE7D6;
}

.box__item-contents {
  width: 65%;
}

.box__item-image {
  width: 30%;
}

@media not all and (min-width: 768px) {
  .box__item-contents {
    margin-bottom: 30px;
    width: 100%;
  }

  .box__item-image {
    width: 100%;
  }
}

.box__item-heading {
  margin-bottom: 20px;
  color: #00C0B7;
  font-size: 24px;
}

.box__item-image img {
  width: 100%;
}

.box__item-beauty-score {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-bottom: 20px;
  padding: 10px;
  color: #fff;
  font-weight: 700;
  background-color: #00C0B7;
}

.box__item-beauty-score li {
  display: flex;
  flex-wrap: wrap;
  gap: 0 5px;
}

.box__item-beauty-score img {
  width: auto;
  height: 20px;
}

.page-section__wrap-3-item {
  width: 32%;
}

@media not all and (min-width: 1000px) {
  .page-section__wrap-3-item {
    width: 48%;
  }
}

@media not all and (min-width: 568px) {
  .page-section__wrap-3-item {
    width: 100%;
  }
}

.page-section__float {
  display: flow-root;
}

img.float-item__left {
  float: left;
  margin-right: 40px;
  margin-bottom: 40px;
  width: 30%;
}

img.float-item__right {
  float: right;
  margin-left: 40px;
  margin-bottom: 40px;
  width: 30%;
}

img.float-item__right.wdt_40p {
  width: 40%;
}

@media not all and (min-width: 568px) {
  img.float-item__left {
    float: none;
    margin-right: 0;
    margin-bottom: 30px;
    margin-inline: auto;
    width: 100%;
    max-width: 100%;
  }

  img.float-item__right {
    float: none;
    margin-left: 0;
    margin-bottom: 30px;
    margin-inline: auto;
    width: 100%;
    max-width: 100%;
  }

  img.float-item__right.wdt_40p {
    width: 100%;
  }
}

.page-section__wrap-heading {
  margin-bottom: 40px;
  color: #0ABAB5;
  font-size: 28px;
}

@media not all and (min-width: 768px) {
  .page-section__wrap-heading {
    margin-bottom: 30px;
    font-size: 21px;
  }
}

.page-section__ploblem {
  margin-block: 80px;
}

.page-section__ploblem-heading {
  margin-inline: auto;
  margin-bottom: 40px;
  width: fit-content;
  color: #0abab5;
  font-size: 24px;
}

.page-section__ploblem-copy {
  color: #00C0B7;
  font-size: 24px;
  text-align: center;
}

p:last-child.page-section__ploblem-copy {
  margin-bottom: 0;
}

@media not all and (min-width: 1000px) {
  .page-section__ploblem {
    margin-block: 30px;
  }

  .page-section__ploblem-heading {
    margin-bottom: 20px;
    font-size: 18px;
  }

  .page-section__ploblem-copy {
    font-size: 18px;
  }
}

.check-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 10px 0;
  margin-block: 40px;
}

@media not all and (min-width: 1000px) {
  .check-list {
    margin-block: 30px;
  }
}

.check-list-half {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 0;
}

.check-list-half li {
  position: relative;
  padding-left: 30px;
  width: 48%;
}

@media not all and (min-width: 768px) {
  .check-list-half li {
    position: relative;
    padding-left: 20px;
    width: 100%;
  }
}

.check-list li {
  position: relative;
  padding-left: 30px;
}

.check-list li::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 16px;
  height: 16px;
  background-image: url(./assets/images/common/list-mark-star-gr.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media not all and (min-width: 768px) {
  .check-list li::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 16px;
    height: 16px;
    background-image: url(./assets/images/common/list-mark-star-gr.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}

.page-section-flow {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.page-section-flow__item {
  position: relative;
  padding: 40px;
  background-color: #E5F7FC;
  border-radius: 30px;
}

@media not all and (min-width: 768px) {
  .page-section-flow__item {
    padding: 30px 20px 20px;
    border-radius: 20px;
  }
}

.page-section-flow__item:not(:last-child)::before {
  content: '';
  position: absolute;
  bottom: -25px;
  left: 50%;
  translate: -50% 0;
  width: 40px;
  height: 40px;
  background-image: url(./assets/images/common/icon-flow-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}

.page-section-flow__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 10px;
}

.page-section-flow__num {
  display: grid;
  place-content: center;
  width: 80px;
  height: 80px;
  text-align: center;
  background-color: #7DE7D6;
  border-radius: 50vh;
}

.page-section-flow__num .label {
  display: block;
}

.page-section-flow__num .num {
  font-size: 21px;
}

@media not all and (min-width: 768px) {
  .page-section-flow__header {
    margin-bottom: 20px;
  }

  .page-section-flow__num {
    width: 60px;
    height: 60px;
  }

  .page-section-flow__num .label {
    font-size: 14px;
  }

  .page-section-flow__num .num {
    font-size: 18px;
  }
}

.page-section-flow__heading {
  width: calc(100% - 100px);
  font-size: 24px;
}

.page-section-flow__contents {
  padding-left: 100px;
}

@media not all and (min-width: 768px) {
  .page-section-flow__heading {
    width: calc(100% - 80px);
    font-size: 20px;
  }

  .page-section-flow__contents {
    padding-left: 0;
  }
}

.page-section__copy {
  margin-inline: auto;
  margin-block: 60px;
  width: fit-content;
  font-size: 28px;
}

@media not all and (min-width: 768px) {
  .page-section__copy {
    margin-block: 40px;
    font-size: 21px;
  }
}

@media not all and (min-width: 468px) {
  .page-section__copy {
    font-size: 18px;
  }
}

.page-section__copy span {
  display: inline-block;
}

.page-section__hero-text {
  margin-bottom: 80px;
  margin-inline: auto;
  width: fit-content;
}

.page-section__faq {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #7DE7D6;
}

@media not all and (min-width: 1000px) {
  .page-section__faq {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

.page-section__faq dt {
  position: relative;
  margin-bottom: 30px;
  padding-left: 80px;
  font-size: 24px;
}

.page-section__faq dt::before {
  content: 'Q';
  display: grid;
  place-content: center;
  position: absolute;
  top: -7px;
  left: 0;
  width: 60px;
  height: 60px;
  background-color: #7DE7D6;
  border-radius: 50vh;
}

@media not all and (min-width: 768px) {
  .page-section__faq dt {
    margin-bottom: 20px;
    padding-left: 50px;
    font-size: 20px;
  }

  .page-section__faq dt::before {
    top: 0px;
    width: 40px;
    height: 40px;
  }
}

.page-section__faq dd {
  padding-left: 80px;
}

@media not all and (min-width: 768px) {
  .page-section__faq dd {
    padding-left: 0;
  }
}

.page-cta {
  text-align: center;
}

.page-cta span {
  display: inline-block;
}

.ortho-contents-wrap5 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.ortho-contents-wrap5 li {
  width: 18%;
  font-size: 15px;
}

@media not all and (min-width: 868px) {
  .ortho-contents-wrap5 li {
    width: 32%;
  }
}

@media not all and (min-width: 568px) {
  .ortho-contents-wrap5 li {
    width: 48%;
  }
}

@media not all and (min-width: 368px) {
  .ortho-contents-wrap5 li {
    width: 100%;
  }
}

.ortho-contents-wrap5 li .item-bg {
  display: grid;
  place-content: center;
  margin-bottom: 20px;
  width: 100%;
  height: 160px;
  background-color: #D2FAF3;
  border-radius: 30px;
}

.ortho-contents-wrap5__heading {
  margin-bottom: 20px;
  color: #0ABAB5;
  font-size: 18px;
  text-align: center;
}

.ortho-contents-price {
  position: relative;
  padding: 40px;
  background-color: #E5F7FC;
  border-radius: 30px;
}

.ortho-contents-price__text {
  margin-bottom: 40px;
  color: #0ABAB5;
  font-size: 28px;
  text-align: center;
}

.ortho-contents-price__heading {
  margin-bottom: 20px;
  font-size: 21px;
}

@media not all and (min-width: 768px) {
  .ortho-contents-price {
    padding: 20px;
    border-radius: 30px;
  }

  .ortho-contents-price__text {
    margin-bottom: 30px;
    font-size: 21px;
  }

  .ortho-contents-price__heading {
    font-size: 18px;
  }
}

.kids-age-list__heading {
  margin-inline: auto;
  margin-bottom: 30px;
  width: fit-content;
  color: #0ABAB5;
  font-size: 24px;
}

.kids-age-list__wrap {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 30px 0;
}

.kids-age-list__item {
  padding: 40px;
  width: 49%;
  border: 1px solid #7DE7D6;
  border-radius: 30px;
}

.kids-age-list__label {
  margin-inline: auto;
  margin-bottom: 20px;
  width: fit-content;
  color: #0ABAB5;
  font-size: 20px;
}

.kids-age-list__item p {
  margin-bottom: 0;
}

.box__item-beauty-score {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 10px;
  color: #fff;
  font-weight: 700;
  background-color: #00C0B7;
}

.box__item-beauty-score li {
  display: flex;
  flex-wrap: wrap;
  gap: 0 5px;
}

.box__item-beauty-score img {
  width: 20px;
  height: auto;
}

.beauty-contents__flow {
  padding: 40px;
  background-color: #E5F7FC;
  border-radius: 30px;
}

.beauty-contents__flow-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.beauty-contents__flow-list li {
  position: relative;
  width: 25%;
  text-align: center;
}

@media not all and (min-width: 768px) {
  .beauty-contents__flow-list li {
    margin-bottom: 60px;
    width: 100%;
  }
}

.beauty-contents__flow-list li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -10px;
  translate: 0 -50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #0abab5;
  border-width: 12px 0px 12px 20px;
  z-index: 1;
}

@media not all and (min-width: 940px) {
  .beauty-contents__flow-list li:not(:last-child)::after {
    top: 29%;
    translate: 0;
  }
}

@media not all and (min-width: 768px) {
  .beauty-contents__flow-list li:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -40px;
    left: 50%;
    translate: -50% 0;
    rotate: 90deg;
  }
}

.beauty-contents__flow-list img {
  margin-inline: auto;
  margin-bottom: 30px;
}

@media not all and (min-width: 768px) {
  .beauty-contents__flow-list img {
    margin-bottom: 20px;
  }
}

.first-policy {
  text-align: center;
}

.first-policy ul {
  color: #00C0B7;
}

.first-list {
  margin-bottom: 30px;
  color: #00C0B7;
}

.staff-message {
  position: relative;
  padding-block: 80px;
  background-color: #e5f7fc;
  background-image: url(./assets/images/staff/a_u_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
}

.staff-message__container {
  margin-inline: auto;
  max-width: 1000px;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.staff-message__heading {
  margin-bottom: 40px;
  color: #00BFB6;
  font-size: 32px;
}

.staff-message__sign {
  font-size: 26px;
}

.staff-message__sign span {
  padding-right: 20px;
  font-size: 16px;
}

.staff-profile__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  background-image: url(./assets/images/staff/announce_hd.png);
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: left bottom;
}

.staff-profile__header {
  padding-block: 40px;
  width: 160px;
  height: fit-content;
  background-color: #7DE7D6;
}

.staff-profile__contents {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 120px;
  padding-block: 80px;
  width: calc(100% - 240px);
}

.dental-treatment-menu {
  padding-block: 80px;
  background-color: #FBF2E2;
}

.staff-profile__heading {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
}

.staff-profile__heading .jp {
  font-size: 16px;
}

.staff-profile__heading .en {
  font-size: 26px;
}

.staff-profile__contents-heading {
  margin-bottom: 20px;
  color: #00BFB6;
  font-size: 24px;
}

.staff-profile__contents-list dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.staff-profile__contents-list dt {
  width: 120px;
}

.staff-profile__contents-list dd {
  width: calc(100% - 120px);
}

.staff-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}

.staff-list li {
  padding: 40px;
  width: 48%;
  border: 1px solid #7de7d6;
  border-radius: 30px;
}

.staff-list__header {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.staff-list__name-jp {
  order: 2;
  margin-bottom: 0;
  color: #00BFB6;
  font-size: 26px;
}

p.staff-list__position {
  order: 1;
  margin-bottom: 10px;
  font-size: 14px;
}

.staff-list__name-en {
  order: 3;
  font-size: 16px;
  margin-bottom: 20px;
}

.staff-list__image {
  margin-bottom: 20px;
}

.staff-list__image img {
  width: 100%;
}

.staff-list__details dl:nth-child(2) {
  margin-bottom: 20px;
}

.staff-list__details dl {
  display: flex;
  /*justify-content: space-between;*/
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-block: 5px;
  border-bottom: 1px solid #00BFB6;
}

.staff-list__details dt {
  /*width: 200px;*/
  width: 120px;
}

.staff-list__details dd {
  width: calc(100% - 120px);
}

.staff-list__message p {
  margin-bottom: 0;
}

.profile-sign {
  font-size: 26px;
}

.profile-sign span {
  padding-right: 20px;
  font-size: 16px;
}

.access-time table {
  margin-bottom: 30px;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid #7DE7D6;
  border-spacing: 0;
}

.access-time thead th {
  border-bottom: 1px solid #7DE7D6;
}

.access-time th,
.access-time td {
  padding-block: 10px;
}

.access-time td {
  color: #00BFB6;
}

.access-parking__wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-inline: auto;
  margin-bottom: 80px;
  width: fit-content;
}

@media not all and (min-width: 768px) {
  .access-parking__wrap {
    margin-bottom: 40px;
  }
}

.recruit-video {
  margin-inline: auto;
  margin-bottom: 30px;
  max-width: 1100px;
}

.recruit-video video {
  max-width: 1100px;
}

.links-list__item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #7DE7D6;
  border-right: 1px solid #7DE7D6;
  border-left: 1px solid #7DE7D6;
}

.links-list__item:last-child {
  border-bottom: 1px solid #7DE7D6;
}

.links-list__item dt {
  padding: 20px;
  width: 300px;
  background-color: #E5F7FC;
}

.links-list__item dd {
  padding: 20px;
  width: calc(100% - 300px);
}

.recruit-single__hero {
  padding-block: 100px;
  background-image: url(./assets/images/recruitment-dhp/auth_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.recruit-single__hero .page-section__copy {
  color: #fff;
  text-align: center;
}

.recruit-single__hero-main-text {
  margin-bottom: 20px;
  color: #0ABAB5;
  font-size: 24px;
  text-align: center;
}

.recruit-single__hero-sub-text {
  margin-bottom: 20px;
  color: #fff;
  text-align: center;
}

.recruit-single-details dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 30px;
  border-bottom: 1px solid #7DE7D6;
}

.recruit-single-details dt {
  width: 300px;
  font-weight: 700;
}

.recruit-single-details dd {
  width: calc(100% - 300px);
}

@media not all and (min-width: 768px) {
  .recruit-single-details dl {
    padding: 20px;
  }

  .recruit-single-details dt {
    margin-bottom: 10px;
    width: 100%;
  }

  .recruit-single-details dd {
    width: 100%;
  }
}

.recruit-single-details dd p:last-child {
  margin-bottom: 0;
}

.fee-table {
  overflow-x: scroll;
}

.fee-table table {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid #7de7d6;
  border-left: 1px solid #7de7d6;
  border-collapse: collapse;
  white-space: nowrap;
}

.fee-table thead th {
  background-color: #E5F7FC;
  border-right: 1px solid #7de7d6;
}

.fee-table tbody td {
  padding: 20px 10px;
  text-align: center;
  line-height: 1.4;
  border-right: 1px solid #7de7d6;
  border-bottom: 1px solid #7de7d6;
}

.fee-table tbody td img {
  margin-inline: auto;
}

.fee-table-list {
  text-align: left;
}

.fee-sub-table {
  margin-bottom: 80px;
}

@media not all and (min-width: 768px) {
  .fee-sub-table {
    margin-bottom: 40px;
  }
}

.fee-sub-table table {
  width: 100%;
  border-spacing: 0;
  border-top: 1px solid #7de7d6;
  border-left: 1px solid #7de7d6;
}

.fee-sub-table th {
  padding: 20px;
  text-align: left;
  background-color: #E5F7FC;
  border-right: 1px solid #7de7d6;
  border-bottom: 1px solid #7de7d6;
}

.fee-sub-table td {
  padding: 20px;
  text-align: left;
  line-height: 1.4;
  border-right: 1px solid #7de7d6;
  border-bottom: 1px solid #7de7d6;
}

@media not all and (min-width: 568px) {
  .fee-sub-table th {
    padding: 20px 10px;
  }

  .fee-sub-table td {
    padding: 20px 10px;
  }
}

.fee-sub-table tbody td img {
  margin-inline: auto;
}

.fee-sub-table-list {
  text-align: left;
}

.implant_contents {
  font-size: 19px;
}

@media not all and (min-width: 1000px) {
  .implant_contents {
    font-size: 16px;
  }
}

.implant-text {
  line-height: 2.2;
}

.box__mouthpiece-subheading {
  margin-bottom: 30px;
}

.future-contents__flow {
  margin-bottom: 80px;
  padding: 40px;
  background-color: #E5F7FC;
  border-radius: 30px;
}

@media not all and (min-width: 768px) {
  .future-contents__flow {
    margin-bottom: 40px;
    padding: 20px;
    border-radius: 20px;
  }
}

.future-contents__flow-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.future-contents__flow-list li {
  position: relative;
  width: 15%;
  text-align: center;
}

@media not all and (min-width: 1000px) {
  .future-contents__flow-list li {
    width: 32%;
  }
}

@media not all and (min-width: 768px) {
  .future-contents__flow-list li {
    width: 100%;
  }

  .future-contents__flow-list li:not(:last-child) {
    margin-bottom: 60px;
  }
}

.future-contents__flow-list li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -20px;
  translate: 0 -50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #0abab5;
  border-width: 12px 0px 12px 20px;
  z-index: 1;
}

@media not all and (min-width: 940px) {
  .future-contents__flow-list li:not(:last-child)::after {
    top: 30%;
    translate: 0;
  }
}

@media not all and (min-width: 768px) {
  .future-contents__flow-list li:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -40px;
    left: 50%;
    translate: -50% 0;
    rotate: 90deg;
  }
}

.future-contents__flow-list img {
  margin-inline: auto;
  margin-bottom: 30px;
}

@media not all and (min-width: 768px) {
  .future-contents__flow-list img {
    margin-bottom: 20px;
  }
}

.medicalsafety-box-heading {
  margin-block: 60px 20px;
  color: #00BFB6;
  font-size: 21px;
}


.contact-cta__tel-num {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
  color: #00BFB6;
  font-size: 46px;
}

.contact-cta__tel img {
  width: 30px;
}

@media not all and (min-width: 768px) {
  .contact-cta__tel-num {
    font-size: 32px;
  }

  .contact-cta__tel img {
    width: 20px;
  }
}

.contact-cta__tel {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

@media not all and (min-width: 768px) {
  .contact-cta__tel {
    width: 100%;
  }
}

.contact-cta__tel .contact-cta__tel-num {
  width: fit-content;
  font-size: 26px;
}

.contact-cta__tel-time {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

@media not all and (min-width: 368px) {
  .contact-cta__tel-time {
    flex-direction: column;
  }
}

.contact-cta__tel .contact-cta__tel-num img {
  width: 20px;
}

.contact-cta__tel-label {
  display: grid;
  place-content: center;
  margin-bottom: 0 !important;
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  background-color: #00BFB6;
}

@media not all and (min-width: 368px) {
  .contact-cta__tel-label {
    width: 100%;
    height: 40px;
  }

  .contact-cta__tel-label br {
    display: none;
  }
}

.contact-cta__tel-time li {
  font-size: 16px;
}

.contact-cta__tel-time li span {
  font-size: 10px;
}

.contact-cta__button {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-inline: auto;
  max-width: 800px;
}

.contact-cta__button-item {
  width: 50%;
}

@media not all and (min-width: 768px) {
  .contact-cta__button-item {
    width: 100%;
  }
}

.contact-cta__button-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px;
  color: #fff;
  line-height: 1.4;
  background-color: #5bacc3;
}

.contact-cta__button-item:nth-child(1) a {
  background-color: #5bacc3;
}

.contact-cta__button-item:nth-child(2) a {
  background-color: #00BFB6;
}

@media (any-hover: hover) {
  .contact-cta__button-item a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.contact-cta__button-item a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.contact-cta__button-item img {
  width: 30px;
}


/* post */

.post-archive {
  margin-block: 100px;
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1000px;
}

@media not all and (min-width: 1000px) {
  .post-archive {
    margin-block: 40px;
  }
}

.post-archive__list {
  border-top: 1px solid #00BFB6;
}

.post-archive__item {
  border-bottom: 1px solid #00BFB6;
}

.post-archive__item a {
  display: flex;
  flex-direction: column-reverse;
  padding: 20px;
}

@media (any-hover: hover) {
  .post-archive__item a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.post-archive__item a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

.post-archive__title {
  color: #00BFB6;
  font-size: 26px;
}

@media not all and (min-width: 768px) {
  .post-archive__title {
    font-size: 21px;
  }
}

.post-archive__time {
  display: inline-block;
  margin-bottom: 10px;
  padding: 5px 10px;
  width: fit-content;
  color: #fff;
  font-size: 12px;
  background-color: #00BFB6;
}

.pagenation {
  margin-inline: auto;
  margin-top: 80px;
  width: fit-content;
}

@media not all and (min-width: 768px) {
  .pagenation {
    margin-top: 40px;
  }
}

.pagenation ol {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.pagenation a {
  display: grid;
  place-content: center;
  padding: 10px 20px;
  border: 1px solid #00BFB6;
}

@media (any-hover: hover) {
  .pagenation a:hover {
    color: #fff;
    text-decoration: none;
    background-color: #00BFB6;
  }
}

.pagenation a:focus-visible {
  text-decoration: none;
  background-color: #00BFB6;
}

.pagenation .active {
  display: grid;
  place-content: center;
  padding: 10px 20px;
  color: #fff;
  background-color: #00BFB6;
  border: 1px solid #00BFB6;
}

@media not all and (min-width: 768px) {

  .pagenation a,
  .pagenation .active {
    padding: 5px 15px;
  }
}


.post-single {
  margin-block: 100px;
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1000px;
}

@media not all and (min-width: 1000px) {
  .post-single {
    margin-block: 40px;
  }
}

.post-single__header {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #00BFB6;
}

.post-single__title {
  color: #00BFB6;
  font-size: 40px;
}

@media not all and (min-width: 1000px) {
  .post-single__header {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .post-single__title {
    color: #00BFB6;
    font-size: 32px;
  }
}

@media not all and (min-width: 568px) {
  .post-single__title {
    color: #00BFB6;
    font-size: 26px;
  }
}

.post-single__time {
  display: inline-block;
  margin-bottom: 30px;
  padding: 5px 20px;
  width: fit-content;
  color: #fff;
  font-size: 14px;
  background-color: #00BFB6;
}

.post-single__main {
  margin-bottom: 80px;
}

@media not all and (min-width: 768px) {
  .post-single__main {
    margin-bottom: 40px;
  }
}

.post-single__main p {
  margin-bottom: 30px;
}

.post-single__main h2 {
  margin-block: 80px 30px;
  padding: 20px;
  font-size: 30px;
  background-color: #D2FAF3;
}

.post-single__main h3 {
  margin-block: 60px 20px;
  padding: 15px;
  font-size: 24px;
  background-color: #e0efed;
}

.post-single__main h4 {
  margin-block: 50px 20px;
  font-size: 20px;
}

@media not all and (min-width: 768px) {
  .post-single__main h2 {
    margin-block: 60px 30px;
    padding: 15px;
    font-size: 24px;
  }

  .post-single__main h3 {
    margin-block: 50px 20px;
    padding: 10px;
    font-size: 21px;
  }

  .post-single__main h4 {
    margin-block: 40px 20px;
    font-size: 18px;
  }
}

.post-single__main ul,
.post-single__main ol {
  margin-bottom: 30px;
}




.post-single__button a {
  display: block;
  margin-inline: auto;
  padding: 10px 50px;
  width: fit-content;
  border: 1px solid #00BFB6;
}

@media (any-hover: hover) {
  .post-single__button a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.post-single__button a:focus-visible {
  text-decoration: none;
  opacity: .5;
}


@media not all and (min-width: 1000px) {
  .dental-treatment-menu {
    padding-block: 40px;
  }
}

.dental-treatment-menu__heading {
  margin-bottom: 40px;
  color: #0ABAB5;
  font-size: 31px;
  text-align: center;
}

@media not all and (min-width: 1000px) {
  .dental-treatment-menu__heading {
    margin-bottom: 30px;
    font-size: 26px;
  }
}

.dental-treatment-menu__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px .28%;
}

.dental-treatment-menu__list li {
  width: 14%;
}

@media not all and (min-width: 1100px) {
  .dental-treatment-menu__list {
    gap: 10px 1%;
  }

  .dental-treatment-menu__list li {
    width: 19%;
  }
}

@media not all and (min-width: 768px) {
  .dental-treatment-menu__list {
    gap: 10px 2%;
  }

  .dental-treatment-menu__list li {
    width: 32%;
  }
}

@media not all and (min-width: 568px) {
  .dental-treatment-menu__list {
    gap: 10px 2%;
  }

  .dental-treatment-menu__list li {
    width: 49%;
  }
}

.dental-treatment-menu__list a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 60px;
  color: #0ABAB5;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  background-color: #fff;
  border: 1px solid #7DE7D6;
  border-radius: 0 30px 0 0;
}

@media (any-hover: hover) {
  .dental-treatment-menu__list a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.dental-treatment-menu__list a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

@media not all and (min-width: 1000px) {
  .dental-treatment-menu__list a {
    height: 50px;
    font-size: 14px;
    border-radius: 0 20px 0 0;
  }
}



.contact-form-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

.contact-form-wrap p {
  margin-bottom: 0 !important;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  min-height: 50px;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.form-row:first-of-type {
  border-top: 1px solid #ddd;
}

.form-row:not(:last-of-type) .form-label,
.form-row:not(:last-of-type) .form-input,
.form-row:not(:last-of-type) .form-input-pair {
  border-bottom: 1px solid #ddd;
}

.form-label {
  flex-basis: 30%;
  padding: 15px;
  background-color: #eaf7ed;
  border-right: 1px solid #ddd;
  display: flex;
  align-items: center;
  font-weight: bold;
}

.form-input,
.form-input-pair {
  flex-basis: 70%;
  padding: 15px;
}

@media not all and (min-width: 568px) {
  .form-label {
    flex-basis: 100%;
  }

  .form-input,
  .form-input-pair {
    flex-basis: 100%;
  }
}

.form-input p {
  margin: 0;
  padding: 0;
}

.form-input-pair p {
  display: flex;
  gap: 10px;
}

.form-input-pair .wpcf7-form-control-wrap {
  flex: 1;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 16px;
  box-sizing: border-box;
}

.wpcf7 textarea {
  height: 150px;
}

.wpcf7-list-item {
  margin: 0 !important;
}

.email-note {
  display: block;
  font-size: 12px;
  color: #666;
  margin-top: 5px;
}

.wpcf7-list-item {
  display: inline-block;
  margin-right: 20px;
}

.wpcf7-list-item label {
  font-weight: normal;
  display: inline-block;
  margin-bottom: 0;
}

.privacy-policy-section {
  margin: 20px 0;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 15px;
  background-color: #f9f9f9;
}

.privacy-policy-toggle {
  cursor: pointer;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.privacy-policy-content p {
  margin-bottom: 20px !important;
}

.privacy-policy-content h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.toggle-icon-wrap {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #000;
  position: relative;
}

.toggle-icon {
  width: 10px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

.toggle-icon::before {
  content: '';
  width: 2px;
  height: 10px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}

.privacy-policy-content {
  display: none;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px dashed #ccc;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}

.privacy-policy-content.show {
  display: block;
}

.privacy-confirm-wrap {
  margin-top: 10px;
  margin-inline: auto;
  width: fit-content;
}

.submit-button-wrap {
  text-align: center;
  margin-top: 30px;
}

.wpcf7 input[type="submit"] {
  width: 500px;
  padding: 15px;
  background-color: #00BFB6;
  color: white;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: .3s;
}

@media not all and (min-width: 568px) {
  .wpcf7 input[type="submit"] {
    width: 100%;
  }
}

@media (any-hover: hover) {
  .wpcf7 input[type="submit"]:hover {
    opacity: .5;
  }
}

.wpcf7 input[type="submit"]:focus-visible {
  opacity: .5;
}

.wpcf7-spinner {
  display: block !important;
}


/*######################################################################

		Footer

************************************************************************/

.footer {
  padding-top: 80px;
  background-color: #D2FAF3;
}

.footer-information__logo {
  margin-inline: auto;
  margin-bottom: 80px;
  width: fit-content;
}

@media not all and (min-width: 1000px) {
  .footer {
    padding-top: 40px;
  }

  .footer-information__logo {
    margin-bottom: 30px;
  }
}

.footer-information__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px 30px;
  margin-bottom: 20px;
  padding-inline: 20px;
}

.footer-information__address {
  margin-bottom: 20px;
  padding-inline: 20px;
  text-align: center;
}

.footer-information__address span {
  display: inline-block;
}

@media not all and (min-width: 768px) {
  .footer-information__address {
    font-size: 14px;
  }
}

.footer-information__tel {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-inline: auto;
  margin-bottom: 30px;
  padding-inline: 20px;
  width: fit-content;
}

@media not all and (min-width: 1000px) {
  .footer-information__tel {
    flex-direction: column;
  }
}

.footer-information__tel-label {
  padding: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  background-color: #00C0B7;
}

@media not all and (min-width: 568px) {
  .footer-information__tel-label {
    padding: 5px 10px;
    font-size: 13px;
  }
}

.footer-information__tel-num {
  display: flex;
  flex-wrap: wrap;
  color: #00C0B7;
  font-size: 46px;
}

@media not all and (min-width: 568px) {
  .footer-information__tel-num {
    font-size: 32px;
  }
}

.footer-information__button {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 30px;
  margin-bottom: 40px;
}

.footer-information__button li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 30px;
  padding: 20px 40px;
  color: #00C0B7;
  font-size: 24px;
  background-color: #fff;
  border-radius: 50vh;
}

@media (any-hover: hover) {
  .footer-information__button li a:hover {
    text-decoration: none;
    opacity: .5;
  }
}

.footer-information__button li a:focus-visible {
  text-decoration: none;
  opacity: .5;
}

@media not all and (min-width: 568px) {
  .footer-information__button {
    gap: 10px;
  }

  .footer-information__button li a {
    gap: 10px;
    padding: 10px 20px;
    font-size: 15px;
  }

  .footer-information__button img {
    width: 20px;
  }
}

.footer-information__data {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-inline: auto;
  margin-bottom: 80px;
  padding-inline: 20px;
  max-width: 1260px;
}

@media not all and (min-width: 1000px) {
  .footer-information__data {
    margin-bottom: 30px;
  }
}

.footer-information__time {
  width: 34%;
  border-right: 1px solid #B3B3B3;
}

.footer-information__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  width: 22%;
  border-right: 1px solid #B3B3B3;
}

@media not all and (min-width: 1150px) {
  .footer-information__time {
    margin-bottom: 30px;
    width: 100%;
    border-right: none;
  }

  .footer-information__item {
    width: 33.3333%;
  }

  .footer-information__item:nth-child(2) {
    border-left: 1px solid #B3B3B3;
  }
}

@media not all and (min-width: 768px) {
  .footer-information__item {
    font-size: 15px;
    text-align: center;
  }
}

@media not all and (min-width: 468px) {
  .footer-information__item {
    font-size: 13px;
  }
}

.footer-information__time-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

@media not all and (min-width: 1150px) {
  .footer-information__time-label {
    margin-bottom: 10px;
    text-align: center;
  }

  .footer-information__time-wrap {
    justify-content: center;
  }
}

.footer-information__time-main {
  padding-right: 10px;
  font-size: 29px;
  line-height: 1.4;
  border-right: 1px solid #B3B3B3;
}

.footer-information__time-sub {
  line-height: 1.4;
}

.footer-information__time-sub .label {
  font-size: 14px;
}

@media not all and (min-width: 568px) {
  .footer-information__time-icon {
    width: 30px;
  }

  .footer-information__time-main {
    font-size: 21px;
  }

  .footer-information__time-sub .label {
    font-size: 12px;
  }
}

@media not all and (min-width: 368px) {
  .footer-information__time-main {
    font-size: 18px;
  }

  .footer-information__time-sub .label {
    font-size: 10px;
  }
}

@media not all and (min-width: 768px) {
  .footer-information__item-icon {
    display: grid;
    place-content: center;
    width: 100%;
    height: 30px;
  }

  .footer-information__item-icon img {
    margin-inline: auto;
    width: 30px;
  }
}

.footer-nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-inline: auto;
  margin-bottom: 80px;
  max-width: 1260px;
}

@media not all and (min-width: 1000px) {
  .footer-nav {
    display: block !important;
    position: absolute;
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    white-space: nowrap;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    contain: strict !important;
    opacity: 0 !important;
  }
}

.footer-nav a {
  color: #00C0B7;
  font-size: 16px;
  font-weight: 400;
}

.footer-nav__main li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 35px;
}

.footer-nav__main li::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 0;
  width: 20px;
  height: 20px;
  background-image: url(./assets/images/common/list-mark-star-w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.footer-nav__heading {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid #57EBD7;
}

.footer-nav__medical {
  width: 45%;
}

.footer-nav__about {
  width: 22%;
}

.footer-nav__medical ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.footer-nav__medical ul li {
  width: 49%;
}

.footer-map iframe {
  margin-bottom: 30px;
  width: 100%;
}

.footer-description {
  margin-bottom: 80px;
}

@media not all and (min-width: 1000px) {
  .footer-map iframe {
    margin-bottom: 20px;
  }

  .footer-description {
    margin-bottom: 40px;
    font-size: 14px;
  }
}

.copyright {
  padding: 20px;
  color: #fff;
  text-align: center;
  background-color: #00C0B7;
}

@media not all and (min-width: 1000px) {
  .copyright {
    margin-bottom: 60px;
    padding-bottom: 30px;
    color: #0ABAB5;
    background-color: rgb(0 0 0 / 0);
  }
}

.fixed-bottom {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 60px;
}

@media not all and (min-width: 1000px) {
  .fixed-bottom {
    display: block;
  }
}

.fixed-bottom ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  height: 100%;
}

.fixed-bottom li {
  width: 50%;
}

.fixed-bottom a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  height: 100%;
}

.fixed-bottom li:nth-child(1) a {
  color: #0ABAB5;
  font-size: 23px;
  background-image: linear-gradient(90deg, #FDE35C 0%, #FFFCD1 30%, #FFFCD1 60%, #FDE35C 100%);
}

@media not all and (min-width: 368px) {
  .fixed-bottom li:nth-child(1) a {
    font-size: 20px;
  }
}

.fixed-bottom li:nth-child(1) img {
  width: 15px;
}

.fixed-bottom li:nth-child(2) a {
  color: #fff;
  font-weight: 700;
  background-color: #0ABAB5;
}

.fixed-bottom li:nth-child(2) img {
  width: 22px;
}

/*######################################################################
detail-page
##################################################################### */
.detail .msg-txt {
  font-size: 1.25rem;
  letter-spacing: .1em;
  line-height: 2;
}

@media not all and (min-width: 768px) {
  .detail .msg-txt {
    font-size: 1rem;
    letter-spacing: .1em;
    line-height: 1.75;
  }

  .detail .main.txt-sm {
    font-size: 30px;
  }
}

.detail__heading-num {
  font-size: 90px;
  line-height: .8;
  padding-top: 10px;
  margin-right: 10px;
}

@media not all and (min-width: 768px) {
  .detail__heading-num {
    line-height: .7;
    font-size: 74px;
  }
}

.detail_head {
  margin-bottom: 32px;
  width: 100%;
  /* padding: 20px; */
  font-size: 28px;
  /* text-align: center; */
  line-height: 1.4;
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
}

@media not all and (min-width: 768px) {
  .detail_head {
    font-size: 26px;
    line-height: 1.5;
    align-items: center;
    margin-bottom: 24px;
  }
}

.detail_head::after {
  content: '';
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
}


.detail01-section01 .detail_head::after,
.detail04-section01 .detail_head::after {
  background-color: var(--color-gold);
}

.detail02-section01 .detail_head::after,
.detail05-section01 .detail_head::after {
  background-color: var(--main-color-green);
}

.detail03-section01 .detail_head::after {
  background-color: var(--color-purple);
}

@media not all and (min-width: 768px) {
  .detail_head::after {
    bottom: 0;
  }
}

/* 
.detail_head br {
  display: none;
}

@media not all and (min-width: 500px) {
  .detail_head br {
    display: block;
  }
} */

.detail01-section03 .txt-left {
  text-align: center;
}

@media not all and (min-width: 768px) {
  .detail01-section03 .merit-list .staff-list__name-jp {
    font-size: 20px;
    margin-bottom: 10px;
  }
}

.detail01-section03_txt_box {
  padding-top: 10px;
}

.detail01-section03 .merit-list li:not(:last-child) {
  margin-bottom: 40px;
}

@media not all and (min-width: 768px) {
  .detail01-section03 .merit-list li:not(:last-child) {
    margin-bottom: 20px;
  }
}

.bg-wallPepper {
  background-image: url(./assets/images/top/top-dental-services-bg.svg);
  background-size: contain;
  background-repeat: repeat;
  background-position: center;
}

.bg-wallPepper hgroup {
  margin-bottom: 0;
}

.chart-wrap .menu-list__head .menu-item {
  height: 100%;
}

.chart-wrap .menu-list__head .jp {
  color: #fff !important;
  font-size: 40px !important;
  text-align: center;
}

@media not all and (min-width: 768px) {
  .chart-wrap .menu-list__head .jp {
    font-size: 22px !important;
  }
}

.chart-wrap .menu-list__head .menu-item .menu-item_inner {
  padding: 15px 20px;
  background-color: var(--main-color-green);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px;
}

@media not all and (min-width: 768px) {
  .chart-wrap .menu-list__head .menu-item .menu-item_inner {
    border-radius: 8px;
  }
}

.chart-wrap .menu-list__head .menu-item .menu-item_inner .jp {
  margin-bottom: 0;
}


.chart-wrap .menu-item__wrap {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 16px;
  margin-bottom: 16px;
}

@media not all and (min-width: 768px) {
  .chart-wrap .menu-item__wrap {
    flex-direction: row;
  }
}

.chart-wrap .menu-item__wrap .jp {
  margin-bottom: 0;
}

@media not all and (min-width: 768px) {
  .chart-wrap .menu-list li {
    width: 100%;
  }
}

.chart-wrap .menu-list li:nth-child(1),
.chart-wrap .menu-list li:nth-child(5),
.chart-wrap .menu-list li:nth-child(6) {
  border-bottom: none;
}

@media not all and (min-width: 768px) {
  .chart-wrap .menu-list li:nth-child(5) {
    border-bottom: 1px solid #eee;
  }
}

.flow-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px 40px;
}

.flow-list .flow-list_wrap {
  height: 100%;
  display: grid;
}

.flow-list .flow-list_wrap:first-of-type {
  margin-bottom: 48px;
}

.flow-list .flow-list_wrap:nth-child(2) {
  margin-top: 60px;
}

.flow-list .flow-list_wrap:nth-child(3),
.flow-list .flow-list_wrap:nth-child(5) {
  margin-top: -60px;
}

@media not all and (min-width: 768px) {
  .flow-list {
    display: flex;
    flex-direction: column;
    grid-template-columns: inherit;
    gap: 32px;
  }

  .flow-list .flow-list_wrap:first-of-type {
    margin-bottom: 0;
  }

  .flow-list .flow-list_wrap:nth-child(2),
  .flow-list .flow-list_wrap:nth-child(3),
  .flow-list .flow-list_wrap:nth-child(4),
  .flow-list .flow-list_wrap:nth-child(5) {
    margin-top: 0px;
  }
}

@media not all and (min-width: 768px) {
  .flow-item img {
    margin-bottom: 16px;
  }
}

.flow-item_txt {
  color: var(--main-color-green);
  font-size: var(--head4-pc);
  margin-bottom: 0;
  margin-left: 1rem;
  text-indent: -1rem;
}

.flow-item_txt.flor {
  margin-left: 3.6rem;
  text-indent: -3.5rem;
}

@media not all and (min-width: 768px) {
  .flow-item_txt {
    font-size: var(--head4-sp);
    margin-bottom: 4px;
  }
}

.detail .staff-list__name-jp {
  margin-bottom: 20px;
}

@media not all and (min-width: 768px) {
  .detail .staff-list__name-jp {
    margin-bottom: 16px;
    font-size: 20px;
  }
}

.merit-list_wrap {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 16px;
  align-items: center;
}

.merit-list__name-jp {
  color: var(--main-color-green);
  font-size: var(--head4-pc);
}

.merit-list__name-jp:not(:last-child) {
  margin-bottom: 16px;
}

.merit-list .page-section-flow__num .label {
  font-size: 12px;
  color: #fff;
}

.merit-list .page-section-flow__num .num {
  line-height: 1;
  color: #fff;
  font-size: 32px;
}

@media not all and (min-width: 768px) {
  .merit-list_wrap {
    gap: 16px;
  }

  .merit-list__name-jp {
    font-size: var(--head4-sp);
  }

  .merit-list .page-section-flow__num .label {
    font-size: 10px;
  }

  .merit-list .page-section-flow__num .num {
    font-size: 24px;
  }
}

.separator {
  content: "";
  height: auto;
  width: 1px;
  background-color: #ccc;
  display: block;
}

.labo-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: calc(100% - 64px);
  margin-inline: auto;
  max-width: 1200px;
}

@media not all and (min-width: 768px) {
  .labo-list {
    width: 100%;
  }
}

.labo-item {
  padding: 32px;
  border: 1px solid var(--color-green);
  border-radius: 30px;
  background-color: #fff;
}

.labo-item .description p {
  line-height: 2;
}

.labo-item .page-section__wrap-half-item1 {
  width: 45%;
}

.labo-item .page-section__wrap-half-item2 {
  width: 50%;
}

@media not all and (min-width: 768px) {
  .labo-item {
    padding: 20px;
    border-radius: 8px;
  }

  .labo-item .page-section__wrap-half-item1,
  .labo-item .page-section__wrap-half-item2 {
    width: 100%;
  }
}

.detail03-section04 .merit-list li:not(:last-child) {
  margin-bottom: 40px;
}

@media not all and (min-width: 768px) {
  .detail03-section04 .merit-list li:not(:last-child) {
    margin-bottom: 16px;
  }
}

.prosthesis_txt {
  text-align: center;
}

.labo-list .flow-item_txt {
  margin-bottom: 1.25rem;
}

@media not all and (min-width: 768px) {
  .labo-list .flow-item_txt {
    margin-bottom: 0.75rem;
  }
}

.labo-sub-list {
  padding: .75rem 0 .75rem 1.185rem;
}

.labo-sub-item {
  list-style: disc;
}

.page-section__column {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

.page-section__column .page-section__wrap-half-item.box {
  padding: 32px;
  background-color: #fff;
}

.page-section__column .page-section__head3 {
  font-size: var(--head2-pc);
  color: var(--main-color-green);
  margin-bottom: 1.15rem;
  text-align: center;
}

@media not all and (min-width: 768px) {
  .page-section__column {
    flex-direction: column;
    gap: 1rem;
  }

  .page-section__column .page-section__wrap-half-item.box {
    padding: 20px;
  }

  .page-section__column .page-section__head3 {
    font-size: var(--head2-sp);
    margin-bottom: .75rem;
    line-height: 1.75;
  }
}
/*case*/
.flex_wrapper{display: flex}
.tx_cent{text-align: center}
.fw_600{font-weight: 600}
.case_bxs .px img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 30px
}
.case_bxs .tbl_tp_1  {
	margin-top: 20px
}
.tbl_tp_1 .row  {
	border-bottom: 2px dotted var(--bg-color-green);
	padding-bottom: 2px;
	margin-bottom: 2px;
	font-family: "Zen Kaku Gothic New", sans-serif;	
}
.tbl_tp_1 .row .cell {
	padding: 15px 2%;
	width: 24.5%;
}
.tbl_tp_1 .row .cell.hd {
	font-size: clamp(16px, 1.04vw, 20px);	
	font-weight: 600;
	color: #00C0B7;
	text-align: center;
	letter-spacing: .075em;
	background: var(--bg-color-green);
	display: flex;
	justify-content: center;
	align-items: center
}
.tbl_tp_1 .row .mn {
	width: 75.5%;
}






@media screen and (max-width:768px){
.flex_wrapper{display: block}	
.tbl_tp_1 .row {
    border-bottom: none;
}		
.tbl_tp_1 .row .cell.hd {
	width: 100%;
    font-size: 4.8vw;
}	
.tbl_tp_1 .row .mn {
    width: 100%;
	font-size: 15px;
	text-align: center
}	
	
}



/* 8/21追加 */
.page-section, #mouthpiece .center-wrap {
	max-width: 1040px;
	margin-left: auto;
    margin-right: auto;
}

main#clinic .page-section__wrap,
main#beauty .nowrap,
main#maternity .nowrap,
main#surgery .nowrap,
main#kids .nowrap,
main#ortho .nowrap,
main#leave-teeth .nowrap,
main#implant .nowrap,
main#mouthpiece .nowrap,
main#laser .nowrap,
main#recruitment-dhp .nowrap,
main#first .nowrap {
	flex-wrap: nowrap;
}

main#clinic .page-section__wrap-img,
main#surgery .nowrap .page-section__wrap-img,
main#leave-teeth .nowrap .page-section__wrap-img {
	width: 100%;
}

main#beauty .nowrap .page-section__wrap-img {
	width: 140%;
}

main#beauty .page-section__wrap-img.img_wd1 {
	width: 60%;
}

main#beauty .page-section__wrap-img.img_wd2 {
	width: 165%;
}

main#beauty .page-section__wrap-img.img_wd3 {
	width: 73%;
}

main#maternity .nowrap .page-section__wrap-img {
	width: 180%;
	margin-left: 40px;
}

main#maternity .nowrap .page-section__wrap-img.img_wd_s {
	width: 67%;
}

main#clinic .page-section__wrap-img.img_wd {
	width: 70%;
}

main#ortho .nowrap .page-section__wrap-img,
main#mouthpiece .nowrap .page-section__wrap-img {
	width: 50%;
}

main#ortho .nowrap .page-section__wrap-img,
main#leave-teeth .nowrap .page-section__wrap-img,
main#beauty .nowrap .page-section__wrap-img,
main#mouthpiece .nowrap .page-section__wrap-img,
main#laser .nowrap .page-section__wrap-img {
	margin-left: 40px;	
}

main#ortho .nowrap .img_wd1,
main#maternity .nowrap .l_img {
	margin-left: 0;
	margin-right: 40px;	
}

main#ortho .nowrap .img_wd1, main#ortho .nowrap .img_wd2,
main#ortho .nowrap .img_wd6, main#ortho .nowrap .img_wd7 {
	width: 100%;
}

main#ortho .nowrap .img_wd1 {
	align-content: center;	
}

main#ortho .nowrap .img_wd3, main#ortho .nowrap .img_wd9 {
	width: 60%;
}

main#ortho .nowrap .img_wd4 {
	width: 45%;
}

main#ortho .nowrap .img_wd5 {
	width: 120%;
}

main#ortho .nowrap .img_wd10 {
	width: 80%;
}

main#ortho .nowrap.mb_none,
main#mouthpiece .mb_none {
	margin-bottom: 0;
}

main#leave-teeth .nowrap .img_wd1 {
	width: 140%;
}

main#leave-teeth .nowrap .img_wd2 {
	width: 160%;
}

main#leave-teeth .nowrap.ai_ct {
    align-items: center;	
}

main#implant .ac_ct,
main#preventivedentistry .ac_ct,
main#beauty .ac_ct,
main#laser .ac_ct {
	align-content: center;
}

main#implant .nowrap .page-section__wrap-img {
	width: 200%;
	margin-left: 40px;
}

main#mouthpiece .nowrap .img_wd3 {
	width: 70%;
}

main#mouthpiece .nowrap .img_wd1, main#mouthpiece .nowrap .img_wd4, main#laser .nowrap .img_wd4 {
	width: 40%;
}

main#mouthpiece .nowrap .img_wd2 {
	width: 30%;
}

main#denture p.fs_20 {
	font-size: 20px;
    line-height: 2.2;
}

main#denture .page-cta p {
	font-size: 20px;
}

main#laser .nowrap .img_wd1 {
	width: 70%;
}

main#laser .nowrap .img_wd2, main#laser .nowrap .img_wd3 {
	width: 70%;
}

.footer-information__button li a,
.footer-information__tel-num {
	flex-wrap: nowrap;
}

@media screen and (max-width:768px) {
	main#clinic .page-section__wrap,
	main#beauty .nowrap,
	main#maternity .nowrap,
	main#surgery .nowrap,
	main#kids .nowrap,
	main#ortho .nowrap,
	main#leave-teeth .nowrap,
	main#implant .nowrap,
	main#mouthpiece .nowrap,
	main#laser .nowrap,
	main#recruitment-dhp .nowrap,
	main#first .nowrap {
		flex-wrap: wrap;
	}
	
	main#clinic .page-section__wrap-img.img_wd,
	main#beauty .nowrap .page-section__wrap-img,
	main#beauty .page-section__wrap-img.img_wd,
	main#beauty .page-section__wrap-img.img_wd_s,
	main#maternity .nowrap .page-section__wrap-img,
	main#maternity .nowrap .page-section__wrap-img.img_wd_s,
	main#ortho .nowrap .page-section__wrap-img,
	main#leave-teeth .nowrap .page-section__wrap-img,
	main#implant .nowrap .page-section__wrap-img,
	main#mouthpiece .nowrap .page-section__wrap-img,
	main#laser .nowrap .page-section__wrap-img,
	main#recruitment-dhp .nowrap .page-section__wrap-img {
		width: 100%;
	}
	
	main#ortho .nowrap .page-section__wrap-img,
	main#maternity .nowrap .page-section__wrap-img,
	main#leave-teeth .nowrap .page-section__wrap-img,
	main#implant .nowrap .page-section__wrap-img,
	main#mouthpiece .nowrap .page-section__wrap-img {
		margin-left: 0;
	}
	
	main#ortho .nowrap .img_wd1,
	main#maternity .nowrap .l_img {
		margin-right: 0;	
	}
	
	main#staff .staff-profile__wrap,
	main#staff .staff-list {
		display: block;
	}
	main#staff .staff-profile__contents,
	main#staff .staff-list li {
		width: 100%;
	}
	main#staff .staff-list li {
		margin-bottom: 20px;
	}
	main#staff .pc_only {
		display: none;
	}
	main#staff .page-contents > .page-section .text-center,
	main#staff .page-contents > .page-section .staff-message__container {
		margin-left: 20px;
		margin-right: 20px;
	}
	main#staff .page-contents > .page-section .center_box {
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}	
	
	
	

}

/* タブボタン共通デザイン */
  .top-mv-tab-buttons {
    margin-bottom: 15px;
  }
  .tab-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
  }
  .reserves{
    width:620px;
  }
  .tab-row button {
    flex: 1;
    padding: 10px;
    border: none;
    background: #d2faf3;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    font-size: 14px;
    text-align: center;
    transition: background 0.3s;
  }
  .tab-row button.active {
    background: #00c0b7;
    color: #fff;
  }

  /* コンテンツ */
  .top-mv-tab-content {
    display: none;
  }
  .top-mv-tab-content.active {
    display: block;
  }

  /* iframeレスポンシブ */
  .top-mv-tab-contents__iframe {
    width: 100%;
    max-width: 580px; /* PC時の最大幅 */
    margin: 0 auto;
  }
  .top-mv-tab-contents__iframe iframe {
    width: 100%;
    height: 210px;
    border: none;
  }

  /* スマホ（600px以下）は2列にする */
  @media (max-width: 600px) {
    .tab-row {
      flex-wrap: wrap;
    }
    .tab-row button {
      flex: 1 1 calc(50% - 8px);
    }
	  .reserves{
		  width:100%;
	  }
  }



#mouthpiece .slid_area {
	display: flex;
    overflow-x: scroll;
	max-width: 1040px;
}

#mouthpiece .slid_area .slid {
	min-width: 100%;
	margin-left: 10px;
	margin-right: 10px;
}