@charset "UTF-8";
@font-face {
  src: url("../font/d-din/D-DIN.otf") format("opentype");
  font-family: "D-DIN";
  font-style: normal;
  font-display: swap;
}
/* common 
******************************************************************************************/
html {
  font-size: 10px;
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

@media (min-width: 769px) and (max-width: 1025px) {
  html {
    font-size: 0.9756097561vw;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 2.5641025641vw;
  }
}
body {
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  font-family: "Noto Sans JP", serif;
  color: #3A3A3A;
}

body.is-noscroll {
  overflow: hidden;
}

.main {
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
}

a[href^="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
.container {
  max-width: 116rem;
  width: 80.5555555556%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .container {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}
.pc-none {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-none {
    display: block;
  }
}
.title-ja {
  display: block;
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 0.6rem;
}

@media screen and (max-width: 768px) {
  .title-ja {
    font-size: 1.6rem;
    margin-top: 0;
  }
}
.title-a {
  width: fit-content;
  margin-inline: auto;
  text-align: center;
}

.title-a__en {
  font-size: 4.8rem;
  line-height: 1.4583333333;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #303136;
}

@media screen and (max-width: 768px) {
  .title-a__en {
    font-size: 4rem;
  }
}
.title-a__en::before {
  display: block;
  content: "";
  width: 4.5rem;
  margin: 0 auto 0.6rem;
  aspect-ratio: 45/4;
  background-color: #405887;
}

@media screen and (max-width: 768px) {
  .title-a__en::before {
    width: 3.2rem;
    margin: 0 auto;
  }
}
.heading-a.center {
  text-align: center;
}

.heading-a__en {
  position: relative;
  font-size: 2.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 2.6rem;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .heading-a__en {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
}
.heading-a__en::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  top: 1rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .heading-a__en::before {
    top: 0.5rem;
  }
}
.heading-a__ja {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-top: 1.2rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .heading-a__ja {
    font-size: 2.4rem;
  }
}
.heading-a__ja a {
  transition: color 0.4s;
}

@media (any-hover: hover) {
  .heading-a__ja a:hover {
    color: #00A4E0;
  }
}
.title-b {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-left: 1.6rem;
  margin-bottom: 3.2rem;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .title-b {
    font-size: 2rem;
    padding-left: 1.4rem;
    margin-bottom: 2rem;
  }
}
.title-b::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.4rem;
  height: 2.4rem;
  top: 0.9rem;
  left: 0;
  background: #00A4E0;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .title-b::before {
    width: 0.2rem;
    height: 2rem;
    top: 0.8rem;
  }
}
.title-b--border {
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .title-b--border {
    padding-bottom: 1rem;
  }
}
.title-c {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .title-c {
    font-size: 1.6rem;
  }
}
.block-b {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .block-b {
    flex-direction: column;
    gap: 3.2rem;
  }
}
.block-b--single {
  display: block;
}

.block-b__text {
  width: 50%;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .block-b__text {
    width: 100%;
    font-size: 1.4rem;
  }
}
.block-b__text p {
  white-space: pre-wrap;
}

.block-b__text span.dark {
  color: #073246;
}

.block-b__text--wide {
  width: 100%;
}

.block-b__image {
  width: 45%;
  border-radius: 0.8rem;
}

.block-b__image img {
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .block-b__image {
    width: 100%;
  }
}
.block-c {
  padding: 3.2rem 3.6rem;
  background: rgba(0, 141, 194, 0.06);
  border-radius: 0.8rem;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .block-c {
    padding: 2rem;
  }
}
.block-c__title {
  position: relative;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-left: 2rem;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .block-c__title {
    font-size: 1.8rem;
    padding-left: 1.6rem;
  }
}
.block-c__title::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.8rem;
  top: 1.2rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .block-c__title::before {
    width: 0.6rem;
  }
}
.block-c + .block-c {
  margin-top: 2.9rem;
}

.block-c__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .block-c__content {
    flex-direction: column;
    gap: 4rem;
  }
}
.block-c__content + .block-c__content {
  margin-top: 4.8rem;
}

.block-c__text {
  width: 50%;
}

.block-c__text p {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 1.8rem;
}

@media screen and (max-width: 768px) {
  .block-c__text p {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .block-c__text {
    width: 100%;
  }
}
.block-c__image {
  width: 45%;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .block-c__image {
    width: 100%;
  }
}
.block-c__image img {
  border-radius: 0.8rem;
}

.block-d {
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .block-d {
    margin-bottom: 2.4rem;
  }
}
.block-d__title {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .block-d__title {
    font-size: 1.4rem;
  }
}
.block-d__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 0.7rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .block-d__desc {
    font-size: 1.4rem;
  }
}
.comment-box {
  padding: 3.2rem 4.5rem 3.2rem 3.2rem;
  background-color: #F5F5F5;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .comment-box {
    padding: 2rem;
  }
}
.comment-box__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .comment-box__title {
    font-size: 1.8rem;
  }
}
.comment-box__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4.8rem;
}

@media screen and (max-width: 768px) {
  .comment-box__inner {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.comment-box__text {
  flex: 1;
}

.comment-box__text p {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 1.7rem;
  white-space: pre-wrap;
}

@media screen and (max-width: 768px) {
  .comment-box__text p {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .comment-box__text {
    order: 2;
  }
}
.comment-box__image {
  width: 17.2rem;
  aspect-ratio: 1;
  background-color: #B8B8B8;
  border-radius: 100vmax;
  flex-shrink: 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .comment-box__image {
    width: 16rem;
    order: 1;
  }
}
.btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 21.1rem;
  aspect-ratio: 211/44;
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 5.9rem;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 100vmax;
  transition: box-shadow 0.4s;
}

.btn:active {
  box-shadow: 0 0.2rem 1rem 0 rgb(0, 164, 224);
}

.btn span {
  position: absolute;
  display: block;
  width: 2.8rem;
  aspect-ratio: 1;
  top: 50%;
  right: 0.8rem;
  translate: 0 -50%;
  background-color: #fff;
  border-radius: 100vmax;
}

.btn span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  aspect-ratio: 10.21/7.2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media (any-hover: hover) {
  .btn:hover {
    box-shadow: 0 0.2rem 1rem 0 rgb(0, 164, 224);
  }
}
.no-post {
  text-align: center;
}

.mv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.mv__image {
  height: 40rem;
}

.mv__image img {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .mv__image {
    height: 32rem;
  }
}
.mv__text {
  position: absolute;
  max-width: 144rem;
  width: 100%;
  left: 50%;
  bottom: -1.4rem;
  translate: -50%;
}

@media screen and (max-width: 768px) {
  .mv__text {
    bottom: -1.7vw;
  }
}
.mv-title__en {
  font-size: min(10.4rem, 7.2222222222vw);
  font-family: "Inter", serif;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  text-transform: uppercase;
}

@media screen and (max-width: 768px) {
  .mv-title__en {
    font-size: min(10.4rem, 12vw);
    min-height: 8.8rem;
  }
}
.tax-department .mv-title__en,
.single-disease .mv-title__en {
  font-size: min(8.4rem, 6vw);
}

@media screen and (max-width: 768px) {
  .tax-department .mv-title__en,
  .single-disease .mv-title__en {
    font-size: 4.2rem;
    min-height: 8.8rem;
    word-break: break-all;
  }
}
@media screen and (max-width: 768px) {
  .tax-department .mv__text,
  .single-disease .mv__text {
    bottom: -0.5rem;
  }
}
.mv-title__ja {
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-left: 11.6rem;
  color: #073246;
}

@media screen and (max-width: 768px) {
  .mv-title__ja {
    font-size: 2.4rem;
    margin-left: 2.4rem;
  }
}
.mv-title__sub {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-left: 11.6rem;
  margin-bottom: 0.7rem;
  color: #073246;
}

@media screen and (max-width: 768px) {
  .mv-title__sub {
    font-size: 1.2rem;
    margin-left: 2.4rem;
  }
}
/*** header 
****************************************************************************************/
.header {
  position: fixed;
  width: 100%;
  padding: 3rem 2rem;
  z-index: 2;
  transition: padding 0.4s;
}

@media screen and (max-width: 768px) {
  .header {
    padding: 1.6rem;
    top: 0;
  }
}
.header.bg-white {
  background-color: #fff;
}

.header.is-scrolled {
  padding: 1.6rem 2rem;
}

@media screen and (max-width: 768px) {
  .header.is-scrolled {
    padding: 1.6rem;
  }
}
.header__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2.4rem;
  max-width: 120.8rem;
  width: 100%;
  height: 8rem;
  padding-left: 2.4rem;
  margin-inline: auto;
  background: #fff;
  box-shadow: 0 0.2rem 1.5rem 0 rgba(34, 34, 34, 0.24);
  border-radius: 0.8rem;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  .header__inner {
    gap: 0;
    height: 6.4rem;
    padding-left: 1.2rem;
  }
}
.header__logo {
  width: 27rem;
}

@media (max-width: 1220px) {
  .header__logo {
    width: 24rem;
  }
}
.header-btn {
  position: relative;
  width: 60px;
  height: 75%;
  margin-left: auto;
  aspect-ratio: 1;
  z-index: 2;
  cursor: pointer;
  transition: background-color 0.4s;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  .header-btn {
    order: 1;
  }
}
.header__right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .header__right {
    height: 100%;
    order: 2;
  }
}
@media screen and (max-width: 768px) {
  .header-nav {
    display: none;
  }
}
.header-nav__list {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}

@media (max-width: 1220px) {
  .header-nav__list {
    gap: 2rem;
  }
}
.header-nav__item {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
}

@media (max-width: 1220px) {
  .header-nav__item {
    font-size: 1.3rem;
  }
}
.header-nav__item > a {
  transition: color 0.4s;
}

.header-nav__item > a:active {
  color: #00A4E0;
}

@media (any-hover: hover) {
  .header-nav__item:hover > a {
    color: #00A4E0;
  }
  .header-nav__item.arrow:hover::before {
    rotate: 180deg;
  }
}
.header-nav__item.no-link > a {
  pointer-events: none;
}

.header-nav__item.arrow {
  position: relative;
}

.header-nav__item.arrow::before {
  position: absolute;
  display: block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 24/12;
  background: url(../images/common/header_arrow.svg) no-repeat;
  left: 50%;
  bottom: -1.6rem;
  translate: -50%;
  transition: rotate 0.4s;
}

.header-nav-child-wrap {
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50%;
  z-index: 10;
  height: 8rem;
  width: 100%;
  background-color: transparent;
}

.header-nav__item:hover .header-nav-child-wrap {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.header-nav-child {
  position: absolute;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: 22rem;
  padding: 2.4rem 2.4rem;
  background-color: #fff;
  border-radius: 0.8rem;
  top: 4rem;
  left: 50%;
  translate: -50%;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
}

.header-nav-child::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  height: 1rem;
  top: -0.9rem;
  left: 50%;
  translate: -50%;
  background: #fff;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.header-nav-child__item {
  position: relative;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding-left: 1.6rem;
}

.header-nav-child__item > a {
  transition: color 0.4s;
}

.header-nav-child__item > a:hover {
  color: #00A4E0;
}

.header-nav-child__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  aspect-ratio: 1;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background: url(../images/common/triangle.svg) no-repeat;
  background-size: contain;
}

.header__btns {
  display: flex;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .header__btns {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 5.6rem;
  }
}
.header__btn {
  display: grid;
  place-content: center;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0;
  width: 12rem;
  height: 8rem;
  color: #fff;
  transition: background-color 0.4s;
}

.header__btn:active {
  background-color: #073246;
}

@media (max-width: 1220px) {
  .header__btn {
    width: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .header__btn {
    font-size: 1rem;
    width: 50%;
    height: 100%;
  }
}
@media (any-hover: hover) {
  .header__interview:hover {
    background-color: #073246;
  }
}
.header__interview {
  background-color: #00A4E0;
  margin-left: 4rem;
}

@media (max-width: 1220px) {
  .header__interview {
    margin-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .header__interview {
    margin-left: 0;
  }
}
.header__interview span {
  position: relative;
}

.header__interview span::before {
  display: block;
  content: "";
  width: 2.8rem;
  aspect-ratio: 1;
  margin: 0 auto 0.4rem;
  background: url(../images/common/interview.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .header__interview span::before {
    width: 2.4rem;
    margin: 0 auto;
  }
}
.header__tel {
  font-family: "D-DIN";
  background-color: #0076AD;
  border-radius: 0 0.8rem 0.8rem 0;
  transition: background-color 0.4s;
}

@media screen and (max-width: 768px) {
  .header__tel {
    border-radius: 0;
  }
}
.header__tel span {
  position: relative;
}

.header__tel span::before {
  display: block;
  content: "";
  width: 2.8rem;
  aspect-ratio: 1;
  margin: 0 auto 0.8rem;
  background: url(../images/common/tel.svg) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .header__tel span::before {
    width: 2.4rem;
    margin: 0 auto;
  }
}
@media (any-hover: hover) {
  .header__tel:hover {
    background-color: #073246;
  }
}
.header-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .header-btn {
    display: block;
  }
}
.header-btn span {
  position: absolute;
  width: 24px;
  height: 0.2px;
  left: 50%;
  translate: -50%;
  background-color: #000;
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}

.header-btn span:nth-child(1) {
  top: 1.6rem;
}

.header-btn span:nth-child(2) {
  top: 2.4rem;
}

.header-btn span:nth-child(3) {
  top: 3.2rem;
}

.header-btn span.close:nth-child(1) {
  top: 2.4rem;
  transform: rotate(-45deg);
}

.header-btn span.close:nth-child(2) {
  display: none;
}

.header-btn span.close:nth-child(3) {
  top: 2.4rem;
  transform: rotate(45deg);
}

.drawer {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 9.6rem;
  left: 100%;
  padding: 1.6rem 2.4rem 18.4rem;
  transition: left 0.6s;
  z-index: 3;
  background: #fff;
  overflow: auto;
}

.drawer.slidein {
  left: 0;
}

.drawer__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.drawer__text {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 35.8rem;
  width: calc(100% - 3.2rem);
  overflow: auto;
}

.drawer-link-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  top: 0;
  z-index: 1;
}

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

.drawer-link__item {
  position: relative;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #000;
  text-align: center;
}

.drawer-link__item a {
  display: block;
  padding: 1.2rem 0;
  transition: color 0.4s;
}

.drawer-link__item a:active {
  color: #00A4E0;
}

.drawer-link__item > a:active {
  color: #00A4E0;
}

@media (any-hover: hover) {
  .drawer-link__item a:hover {
    color: #00A4E0;
  }
}
.drawer-link-child {
  display: flex;
  flex-direction: column;
}

.js-drawer-parent span.toggle {
  position: relative;
}

.js-drawer-parent span.toggle::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.4rem;
  height: 0.1rem;
  top: 50%;
  right: -2rem;
  background: #000;
}

.js-drawer-parent span.toggle::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.1rem;
  height: 1.4rem;
  top: 0.35rem;
  right: -1.35rem;
  background: #000;
  transition: rotate 0.4s;
}

.js-drawer-parent.is-open span.toggle::after {
  rotate: 90deg;
}

.js-drawer-child {
  display: none;
}

.drawer-link-child__item {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-weight: 500;
}

.drawer-link-child__item span.icon {
  position: relative;
  padding-left: 1.6rem;
}

.drawer-link-child__item span.icon::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  height: 1rem;
  aspect-ratio: 1;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background: url(../images/common/triangle.svg) no-repeat;
  background-size: contain;
}

.drawer-link-child__item a {
  padding: 0.8rem 0;
  transition: opacity 0.4s;
}

.drawer-link-child__item > a:active, .drawer-link-child__item > a:hover {
  opacity: 0.6;
}

/*** footer 
****************************************************************************************/
@media screen and (max-width: 768px) {
  .footer {
    padding-bottom: 5.6rem;
  }
}
.footer-info {
  padding: 8rem 1.6rem;
  background-color: #F5F5F5;
}

.footer-info__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .footer-info__inner {
    flex-direction: column;
    gap: 4rem;
  }
}
.footer__logo {
  width: 35rem;
}

.footer-info__left {
  width: 46.0344827586%;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .footer-info__left {
    width: 100%;
  }
}
.footer__address {
  position: relative;
  margin-top: 3.6rem;
  padding-left: 4.1rem;
}

.footer__address::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  top: 0;
  left: 0;
  aspect-ratio: 1;
  background: url(../images/common/address.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.footer__parking {
  position: relative;
  margin-top: 1.6rem;
  padding-left: 4.1rem;
}

.footer__parking::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  top: 0;
  left: 0;
  aspect-ratio: 1;
  background: url(../images/common/car.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.footer__bus {
  position: relative;
  margin-top: 1.6rem;
  padding-left: 4.1rem;
}

.footer__bus::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.4rem;
  top: 0;
  left: 0;
  aspect-ratio: 1;
  background: url(../images/common/bus.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.footer-info__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .footer-info__btns {
    flex-direction: column;
    align-items: center;
    gap: 3.2rem;
  }
}
.footer-info__btn {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  border-radius: 100vmax;
  color: #fff;
  flex-shrink: 0;
  transition: box-shadow 0.4s;
}

@media screen and (max-width: 768px) {
  .footer-info__btn {
    justify-content: center;
    min-width: 20rem;
  }
}
.footer-info__btn:active {
  box-shadow: 0 0.2rem 1rem 0 rgb(0, 164, 224);
}

.footer-info__btn::before {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

@media (any-hover: hover) {
  .footer-info__btn:hover {
    box-shadow: 0 0.2rem 1rem 0 rgb(0, 164, 224);
  }
}
.footer-info__btn--tel {
  font-family: "D-DIN";
  letter-spacing: 0.16em;
  padding: 1rem 2.4rem;
  background-color: #0076AD;
}

.footer-info__btn--tel::before {
  background: url(../images/common/tel.svg) no-repeat;
  background-size: contain;
}

.footer-info__btn--interview {
  line-height: 1.5;
  letter-spacing: 0.08em;
  padding: 1rem 3.2rem 1rem 2.4rem;
  background-color: #00A4E0;
}

.footer-info__btn--interview::before {
  background: url(../images/common/interview.svg) no-repeat;
  background-size: contain;
}

.footer__table {
  max-width: 58.2rem;
  width: 100%;
  padding: 2.4rem 3.9rem 2.8rem 3.2rem;
  margin-top: 4rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .footer__table {
    margin: 3.2rem auto 0;
  }
}
.footer-info__right {
  width: 45.3448275862%;
  aspect-ratio: 526/582;
}

@media screen and (max-width: 768px) {
  .footer-info__right {
    width: 100%;
  }
}
.footer-info__right iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer-links {
  padding: 8rem 0 1.7rem;
  background-color: #0A2A38;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .footer-links {
    padding: 4rem 1.6rem 2rem;
  }
}
.footer-links a {
  transition: opacity 0.4s;
}

.footer-links a:active {
  opacity: 0.6;
}

@media (any-hover: hover) {
  .footer-links a:hover {
    opacity: 0.6;
  }
}
.footer-links__inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .footer-links__inner {
    flex-direction: column;
  }
}
.footer-links-col-wrap {
  display: flex;
  justify-content: space-between;
  width: 55.8rem;
}

@media screen and (max-width: 768px) {
  .footer-links-col-wrap {
    flex-wrap: wrap;
    gap: 0;
    max-width: 50rem;
    width: 100%;
    margin-inline: auto;
  }
}
.footer-links-col {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}

@media screen and (max-width: 768px) {
  .footer-links-col {
    width: 50%;
    gap: 2.4rem;
  }
}
.footer-links-col__item span {
  display: block;
}

.footer-links-col__item .en {
  font-size: 2.4rem;
  font-family: "D-DIN";
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.footer-links-col__item .ja {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 0.4rem;
}

.footer-links-col__item.no-link > a {
  pointer-events: none;
}

.footer-links-col02-child {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 1.6rem;
}

.footer-links-col02-child__item {
  position: relative;
  font-size: 1.3rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-left: 2.56em;
}

.footer-links-col02-child__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.36rem;
  aspect-ratio: 1;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background: url(../images/common/triangle.svg) no-repeat;
  background-size: contain;
}

.footer__btns {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 23.2rem;
}

@media screen and (max-width: 768px) {
  .footer__btns {
    margin: 2.4rem auto 0;
  }
}
.footer__btn {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  line-height: 1;
  font-weight: 700;
  min-width: 23.2rem;
  border-radius: 100vmax;
  color: #fff;
}

.footer__btn::before {
  display: inline-block;
  content: "";
  width: 2.8rem;
  aspect-ratio: 1;
  vertical-align: middle;
}

.footer__btn--tel {
  font-size: 2rem;
  font-family: "D-DIN";
  letter-spacing: 0.16em;
  padding: 1.4rem 0 1.4rem 2.4rem;
  background-color: #0076AD;
}

.footer__btn--tel::before {
  background: url(../images/common/tel.svg) no-repeat;
  background-size: contain;
}

.footer__btn--interview {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
  padding: 1rem 3.2rem 1rem 5.35rem;
  background-color: #00A4E0;
}

.footer__btn--interview::before {
  background: url(../images/common/interview.svg) no-repeat;
  background-size: contain;
}

.footer__bottom {
  margin-top: 0.8rem;
  margin-right: 4.4rem;
  color: #fff;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .footer__bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
    margin-top: 4rem;
    margin-right: 0;
    text-align: center;
  }
}
.footer__bottom a {
  display: block;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-decoration: underline;
}

.copyright {
  margin-top: 1.3rem;
}

@media screen and (max-width: 768px) {
  .copyright {
    margin-top: 0;
  }
}
.footer-standard {
  margin-top: 2.4rem;
}

.footer-standard__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.footer-standard__item {
  position: relative;
  display: block;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-left: 1.2rem;
}

.footer-standard__item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.4rem;
  top: 1rem;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

/*** top 
****************************************************************************************/
.top-mv {
  position: relative;
}

.top-mv__image {
  height: 74rem;
}

.top-mv__image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 768px) {
  .top-mv__image {
    height: calc(100svh - 5.6rem);
  }
  .top-mv__image img {
    height: 100%;
    object-fit: cover;
  }
}
.swiper-container {
  height: 100%;
}

.swiper {
  height: 100%;
}

.swiper-slide img {
  height: 100%;
  object-fit: cover;
}

.top-mv__text {
  position: absolute;
  max-width: 144rem;
  width: 100%;
  left: 50%;
  bottom: 0;
  translate: -50%;
  z-index: 1;
}

.top-mv__en {
  position: relative;
  font-size: min(10.4rem, 7.2222222222vw);
  font-family: "Inter", serif;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.08em;
  top: 0.9722222222vw;
  color: rgba(255, 255, 255, 0.4);
}

@media screen and (max-width: 768px) {
  .top-mv__en {
    font-size: 4rem;
  }
}
.table-wrap {
  max-width: 58.2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #073246;
}

.table-wrap p {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .table-wrap p {
    font-size: 1rem;
    margin-top: 1rem;
  }
}
.table-wrap p:first-of-type {
  padding-left: 2.6rem;
  margin-top: 0.6rem;
}

.table-wrap p:first-of-type::before {
  position: absolute;
  display: block;
  content: "";
  width: 1.4rem;
  height: 0.2rem;
  top: 0.9rem;
  left: 0;
  border-radius: 100vmax;
  background-color: #707070;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .table-wrap p:first-of-type::before {
    width: 1rem;
    height: 0.1rem;
  }
}
.table-wrap p:last-of-type {
  padding-left: 2.6rem;
  margin-top: 0.6rem;
}

.table-wrap p:last-of-type .double_maru {
  position: absolute;
  top: 0.3rem;
  left: 0;
}

.double_maru {
  position: absolute;
  display: block;
  content: "";
  width: 1.4rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  border: 0.1rem solid #00A4E0;
}

.double_maru::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.8rem;
  aspect-ratio: 1;
  inset: 0;
  margin: auto;
  border-radius: 100vmax;
  background-color: #00A4E0;
}

.top-mv-table {
  position: absolute;
  width: 40.5%;
  padding: 2.8rem 6.6rem 2.4rem 4rem;
  right: 2.4rem;
  bottom: 1.6rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1rem;
}

@media screen and (max-width: 768px) {
  .top-mv-table {
    display: none;
  }
}
.table {
  width: 100%;
  border-bottom: 0.1rem solid #C7C7C7;
}

.table th, .table td {
  position: relative;
  padding: 0 3% 2rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .table th, .table td {
    padding: 0 2% 1rem;
  }
}
.table th.col_01, .table td.col_01 {
  padding: 0 0 2rem;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .table th.col_01, .table td.col_01 {
    padding: 0 0 1rem;
  }
}
.table span.maru {
  position: absolute;
  display: block;
  width: 0.8rem;
  aspect-ratio: 1;
  top: 0.5rem;
  left: 50%;
  translate: -50%;
  border-radius: 100vmax;
  background-color: #00A4E0;
}

.table span.batsu {
  position: absolute;
  display: block;
  width: 1.4rem;
  height: 0.2rem;
  top: 0.7rem;
  left: 50%;
  translate: -50%;
  border-radius: 100vmax;
  background-color: #707070;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .table span.batsu {
    width: 1rem;
    height: 0.1rem;
  }
}
.table span.double_maru {
  top: 0.2rem;
  left: 50%;
  translate: -50%;
}

.col_01 {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.08em;
  width: 29%;
}

@media screen and (max-width: 768px) {
  .col_01 {
    font-size: 1.4rem;
  }
}
th.col_01,
td.col_01 {
  text-align: left;
}

.col_01.blue {
  color: #00A4E0;
}

.col_01.time {
  font-size: 1.6rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 768px) {
  .col_01.time {
    font-size: 1.4rem;
  }
}
.top-news {
  padding: 8rem 0;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .top-news {
    padding: 6.4rem 1.6rem;
  }
}
.top-news__inner {
  display: flex;
  gap: 10rem;
}

@media screen and (max-width: 1025px) {
  .top-news__inner {
    flex-direction: column;
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .top-news__inner {
    gap: 2.4rem;
  }
}
@media screen and (max-width: 1025px) {
  .top-news__left {
    display: contents;
  }
}
@media screen and (max-width: 1025px) {
  .top-news-title {
    order: 1;
  }
}
.top-news-title__en {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 2.6rem;
  color: #00A4E0;
}

.top-news-title__en::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

.top-news-title-ja {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin-top: 1.2rem;
}

.top-news__btn {
  margin-top: 12.9rem;
}

@media screen and (max-width: 1025px) {
  .top-news__btn {
    order: 3;
    width: fit-content;
    margin: 1.6rem auto 0;
  }
}
@media screen and (max-width: 768px) {
  .top-news__btn {
    margin: 0.8rem auto 0;
  }
}
.top-news__right {
  flex: 1;
}

@media screen and (max-width: 1025px) {
  .top-news__right {
    order: 2;
  }
}
.top-news__item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5.6rem;
  padding: 3.6rem 0 2.1rem;
  border-bottom: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .top-news__item {
    padding: 1.6rem 0;
  }
}
.top-news__item:active p {
  color: #00A4E0;
}

.top-news__item p {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  transition: color 0.4s;
}

.top-news__item a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

@media (any-hover: hover) {
  .top-news__item:hover p {
    color: #00A4E0;
  }
}
.news__meta time {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #707070;
}

.top-message {
  padding: 9.2rem 0 9.1rem;
  background-color: #F5F5F5;
}

@media screen and (max-width: 768px) {
  .top-message {
    padding: 5.6rem 1.6rem 5rem;
  }
}
.top-message__inner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .top-message__inner {
    flex-direction: column;
    align-items: center;
    gap: 4rem;
  }
}
.top-message__text {
  width: 51.3793103448%;
}

@media screen and (max-width: 768px) {
  .top-message__text {
    width: 100%;
  }
}
.top-message-title__en {
  position: relative;
  display: block;
  font-size: 2.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 2.6rem;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .top-message-title__en {
    font-size: 2rem;
    padding-left: 2rem;
  }
}
.top-message-title__en::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

.top-message-title__ja {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .top-message-title__ja {
    font-size: 2.8rem;
    margin-top: 1rem;
  }
}
.top-message__desc {
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}

.top-message__btn {
  margin-top: 4.8rem;
}

@media screen and (max-width: 768px) {
  .top-message__btn {
    width: fit-content;
    margin: 3.2rem auto;
  }
}
.top-message__image {
  width: 40%;
}

@media screen and (max-width: 768px) {
  .top-message__image {
    width: 80%;
  }
}
.top-medical-info {
  padding: 8rem 0 7.2rem;
  background: rgba(0, 141, 194, 0.16);
}

@media screen and (max-width: 768px) {
  .top-medical-info {
    padding: 5.6rem 0 4rem;
  }
}
.top-medical-info__inner {
  max-width: 107.4rem;
  width: 90%;
  margin-inline: auto;
}

.top-medical-info-title {
  text-align: center;
}

.top-medical-info-title__en {
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  padding-left: 2.6rem;
  margin-inline: auto;
  color: #00A4E0;
}

.top-medical-info-title__en::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

.top-medical-info-title__ja {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1.65rem;
}

@media screen and (max-width: 768px) {
  .top-medical-info-title__ja {
    font-size: 2.8rem;
    margin-top: 1rem;
  }
}
.top-medical-info__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem 2.4rem;
  margin-top: 5.8rem;
}

@media screen and (max-width: 768px) {
  .top-medical-info__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem 1.6rem;
    margin-top: 3.2rem;
  }
}
.top-medical-info__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3.2rem 1.6rem 3.1rem;
  background-color: #fff;
  border-radius: 0.8rem;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .top-medical-info__item {
    padding: 9.3567251462% 4.6783625731% 9.0643274854%;
  }
}
.top-medical-info__item:active .top-service__image img {
  scale: 1.2;
}

.top-medical-info__item::before {
  position: absolute;
  display: block;
  content: "";
  width: 5.5rem;
  width: 16.081871345%;
  top: 0;
  left: 0;
  aspect-ratio: 55/50;
  background: rgba(0, 141, 194, 0.16);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  border-radius: 0.8rem 0 0 0;
}

@media (any-hover: hover) {
  .top-medical-info__item:hover .top-service__image img {
    scale: 1.2;
  }
}
.top-service__image {
  display: grid;
  place-content: center;
  width: 44.4444444444%;
  margin-top: 2.3rem;
  background-color: #F5F5F5;
  aspect-ratio: 1;
  border-radius: 100vmax;
}

.top-service__image img {
  width: 42.1052631579%;
  margin-inline: auto;
  transition: scale 0.6s;
}

.top-service__image img.large {
  width: 52.6315789474%;
}

.top-medical-info__link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin-top: 11.6959064327cqw;
  color: #00A4E0;
}

.top-medical-info__link::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.top-medical-info__link span {
  position: relative;
  display: block;
  width: 2.8rem;
  border: 0.1rem solid #00A4E0;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 100vmax;
}

.top-medical-info__link span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  aspect-ratio: 10.21/7.2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.top-link {
  padding: 9.8rem 0;
}

@media screen and (max-width: 768px) {
  .top-link {
    padding: 5.6rem 1.6rem;
  }
}
.top-link__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .top-link__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
}
.top-link__item {
  position: relative;
  display: flex;
  aspect-ratio: 560/208;
  container-type: inline-size;
}

.top-link__item:active .top-link__image img {
  scale: 1.1;
  rotate: 4deg;
}

@media (any-hover: hover) {
  .top-link__item:hover .top-link__image img {
    scale: 1.1;
    rotate: 4deg;
  }
}
.top-link__image {
  width: 42.1428571429%;
  border-radius: 0.8rem 0 0 0.8rem;
  overflow: hidden;
}

.top-link__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.8rem 0 0 0.8rem;
  transition: scale 0.4s, rotate 0.4s;
}

.top-link__text {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 10.7142857143cqw 2.8571428571cqw 1.7857142857cqw 7.1428571429cqw;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 0 0.8rem 0.8rem 0;
}

.top-link__text a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.top-link-title__en {
  position: relative;
  display: block;
  font-size: 2.5cqw;
  font-family: "D-DIN";
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-left: 1.4rem;
}

.top-link-title__en::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.6rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: #fff;
  vertical-align: middle;
  border-radius: 100vmax;
}

.top-link-title__ja {
  font-size: 4.2857142857cqw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 1rem;
}

.top-link-title__ja--large {
  font-size: 3.2rem;
  font-size: 5.7142857143cqw;
  margin-top: 0.4rem;
}

.top-link__arrow {
  position: relative;
  width: 7.1428571429cqw;
  border: 0.1rem solid #fff;
  aspect-ratio: 1;
  border-radius: 100vmax;
  margin-top: auto;
  margin-left: auto;
}

.top-link__arrow::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.3928571429cqw;
  aspect-ratio: 1.9/1.4;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/common/arrow_white.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/*** doctor 
****************************************************************************************/
.doctor {
  padding: 10rem 0 14rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .doctor {
    padding: 5.6rem 1.6rem;
  }
}
.doctor__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .doctor__column {
    flex-direction: column;
    gap: 4rem;
  }
}
.doctor__image {
  width: 31.0344827586%;
}

@media screen and (max-width: 768px) {
  .doctor__image {
    width: 100%;
  }
}
.doctor__text {
  width: 60.5172413793%;
}

@media screen and (max-width: 768px) {
  .doctor__text {
    width: 100%;
  }
}
.clinic-name {
  display: block;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

.doctor__info {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-top: 1.8rem;
}

@media screen and (max-width: 768px) {
  .doctor__info {
    margin-top: 1rem;
  }
}
.doctor__position {
  display: block;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 0.2rem 1.1rem;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 100vmax;
}

.doctor__name {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #000;
}

.doctor__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 3.1rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .doctor__desc {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.career {
  width: 100%;
  padding: 3.2rem 4.8rem 3.1rem;
  margin-top: 9.2rem;
  background: rgba(0, 141, 194, 0.03);
  color: #3A3A3A;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .career {
    padding: 2rem;
    margin-top: 4rem;
  }
}
.career__title {
  position: relative;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  padding-left: 2.2rem;
  padding-bottom: 1.6rem;
  margin-left: 0.4rem;
}

@media screen and (max-width: 768px) {
  .career__title {
    font-size: 1.8rem;
  }
}
.career__title::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1.2rem;
  top: 1.1rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  vertical-align: middle;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .career__title::before {
    top: 0.9rem;
  }
}
.carrer__list {
  display: grid;
  grid-template-columns: 33.8345864662% 50.9398496241%;
  justify-content: space-between;
  gap: 1.6rem 1.6rem;
  align-items: stretch;
  padding: 3.2rem 0 0 3.1rem;
  border-top: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .carrer__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    padding: 1.6rem 0 0 0;
  }
}
/* 左列（1〜4） */
.career__item:nth-child(1) {
  grid-row: 1;
  grid-column: 1;
}

.career__item:nth-child(2) {
  grid-row: 2;
  grid-column: 1;
}

.career__item:nth-child(3) {
  grid-row: 3;
  grid-column: 1;
}

.career__item:nth-child(4) {
  grid-row: 4;
  grid-column: 1;
}

/* 右列（5〜8） */
.career__item:nth-child(5) {
  grid-row: 1;
  grid-column: 2;
}

.career__item:nth-child(6) {
  grid-row: 2;
  grid-column: 2;
}

.career__item:nth-child(7) {
  grid-row: 3;
  grid-column: 2;
}

.career__item:nth-child(8) {
  grid-row: 4;
  grid-column: 2;
}

@media screen and (max-width: 768px) {
  .career__item:nth-child(5),
  .career__item:nth-child(6),
  .career__item:nth-child(7),
  .career__item:nth-child(8) {
    grid-row: auto;
    grid-column: 1;
  }
}
.career__item {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
}

.career__item dl {
  display: flex;
  gap: 2.4rem;
}

@media screen and (max-width: 768px) {
  .career__item dl {
    flex-direction: column;
    gap: 0rem;
  }
}
.career__item dt {
  width: 9.3rem;
  font-weight: 500;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .career__item dt {
    width: 100%;
  }
}
.career__item span {
  display: inline-block;
}

/*** about 
****************************************************************************************/
.message {
  padding: 8rem 0 7.6rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .message {
    padding: 5.6rem 1.6rem;
  }
}
.message__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .message__column {
    flex-direction: column;
    gap: 4rem;
  }
}
.message__left {
  width: 33.275862069%;
}

@media screen and (max-width: 768px) {
  .message__left {
    width: 100%;
  }
}
.message__image {
  border-radius: 0.6rem;
  overflow: hidden;
}

.message__info {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #3A3A3A;
  margin-top: 1.6rem;
  text-align: right;
}

.message__info a {
  transition: color 0.4s;
}

@media (any-hover: hover) {
  .message__info a:hover {
    color: #00A4E0;
  }
}
.message__text {
  width: 57.3275862069%;
}

@media screen and (max-width: 768px) {
  .message__text {
    width: 100%;
  }
}
.message__desc {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
  padding-left: 1.6rem;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .message__desc {
    font-size: 1.4rem;
    padding-left: 0;
    margin-top: 2rem;
  }
}
.groupe {
  padding: 7.2rem 0;
  background: rgba(0, 141, 194, 0.07);
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .groupe {
    padding: 5.6rem 1.6rem;
  }
}
.groupe__column {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .groupe__column {
    flex-direction: column;
    gap: 4rem;
  }
}
.groupe__left {
  width: 45.6896551724%;
}

@media screen and (max-width: 768px) {
  .groupe__left {
    width: 100%;
  }
}
.groupe__image {
  width: 100%;
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  .groupe__image {
    margin-top: 2rem;
  }
}
.groupe__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 4rem;
}

.groupe__right {
  width: 45.6896551724%;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .groupe__right {
    width: 100%;
  }
}
.promise-title {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.promise__list {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  margin-top: 1.7rem;
}

.promise__item dt {
  font-weight: 500;
}

.promise__item dd {
  margin-top: 0.6rem;
}

.promise__note {
  margin-top: 2.4rem;
}

.promise__end {
  font-weight: 500;
  width: fit-content;
  margin-top: 0.1rem;
  margin-left: auto;
}

/*** clinic 
****************************************************************************************/
.philosophy {
  padding: 10rem 0 12rem;
}

@media screen and (max-width: 768px) {
  .philosophy {
    padding: 5.6rem 1.6rem;
  }
}
.philosophy__lead {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .philosophy__lead {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}
.philosophy__list {
  border: 0.1rem solid #C7C7C7;
  margin-top: 4rem;
}

.philosophy__item {
  display: flex;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 0.1rem solid #C7C7C7;
}

@media screen and (max-width: 768px) {
  .philosophy__item {
    flex-direction: column;
    font-size: 1.4rem;
  }
}
.philosophy__item:last-child {
  border-bottom: none;
}

.philosophy__item dt {
  width: 21.6rem;
  padding: 3.2rem 2.4rem;
  flex-shrink: 0;
  background: rgba(0, 141, 194, 0.09);
  border-right: 0.1rem solid #C7C7C7;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .philosophy__item dt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1.6rem;
    border-right: none;
  }
}
.philosophy__item dd {
  padding: 3.2rem;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .philosophy__item dd {
    padding: 1.6rem;
  }
}
.philosophy__item .blue {
  color: #00A4E0;
}

.philosophy__item .link {
  transition: color 0.4s;
}

.philosophy__item .link::after {
  display: inline-block;
  content: "";
  width: 2.4rem;
  aspect-ratio: 1;
  background: url(../images/clinic/link.svg) no-repeat;
  margin-left: 0.8rem;
  background-size: contain;
  vertical-align: middle;
}

@media (any-hover: hover) {
  .philosophy__item .link:hover {
    color: #00A4E0;
  }
}
.facility {
  padding: 8rem 0 14rem;
  background: rgba(0, 141, 194, 0.07);
}

@media screen and (max-width: 768px) {
  .facility {
    padding: 5.6rem 1.6rem 7rem;
  }
}
.facility__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 4.5rem;
}

@media screen and (max-width: 768px) {
  .facility__column {
    flex-direction: column;
    gap: 4rem;
    margin-top: 3.2rem;
  }
}
.facility__left {
  width: 51.5517241379%;
}

@media screen and (max-width: 768px) {
  .facility__left {
    width: 100%;
  }
}
.Facility__right {
  width: 45.0862068966%;
}

@media screen and (max-width: 768px) {
  .Facility__right {
    width: 100%;
  }
}
.facility__images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.9rem 1.2rem;
}

@media screen and (max-width: 768px) {
  .facility__images {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*** medical_info 
****************************************************************************************/
.medical_info {
  padding: 10rem 0 14rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .medical_info {
    padding: 5.6rem 1.6rem 7.2rem;
  }
}
.medical_info__list {
  display: flex;
  flex-direction: column;
  gap: 8.8rem;
}

@media screen and (max-width: 768px) {
  .medical_info__list {
    gap: 4rem;
  }
}
.medical_info__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .medical_info__item {
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
  }
}
.medical_info__item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .medical_info__item:nth-child(even) {
    flex-direction: column;
    gap: 2.4rem;
  }
}
.medical_info__text {
  width: 68.9655172414%;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .medical_info__text {
    width: 100%;
    order: 2;
  }
}
.medical_info__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid #D9D9D9;
}

.medical_info__title a {
  transition: color 0.4s;
}

@media screen and (max-width: 768px) {
  .medical_info__title {
    font-size: 2rem;
    padding-bottom: 1.2rem;
  }
}
@media (any-hover: hover) {
  .medical_info__title a:hover {
    color: #00A4E0;
  }
}
.sti-list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4rem;
}

.medical_info__title--small {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  transition: color 0.4s;
}

@media screen and (max-width: 768px) {
  .medical_info__title--small {
    font-size: 1.8rem;
  }
}
@media (any-hover: hover) {
  .medical_info__title--small:hover {
    color: #00A4E0;
  }
}
.sti-heading {
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid #D9D9D9;
}

.sti-heading p {
  font-size: 1.6rem;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .sti-heading p {
    margin-top: 0.8rem;
  }
}
.medical_info__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .medical_info__desc {
    margin-top: 1.2rem;
  }
}
.medical_info__desc span {
  color: #00A4E0;
}

.medical_info__btn {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  width: fit-content;
  margin-top: 4rem;
  color: #00A4E0;
  transition: opacity 0.4s;
}

.medical_info__btn:active {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .medical_info__btn {
    margin: 2.4rem auto 0;
  }
}
.medical_info__btn span {
  position: relative;
  display: block;
  width: 2.8rem;
  border: 0.1rem solid #00A4E0;
  aspect-ratio: 1;
  background-color: transparent;
  border-radius: 100vmax;
}

.medical_info__btn span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 1rem;
  aspect-ratio: 10.21/7.2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media (any-hover: hover) {
  .medical_info__btn:hover {
    opacity: 0.6;
  }
}
.medical_info__image {
  width: 21.8965517241%;
}

@media screen and (max-width: 768px) {
  .medical_info__image {
    max-width: 25.4rem;
    width: 50%;
    margin-inline: auto;
    order: 1;
  }
}
.lifestyle-lead {
  max-width: 89rem;
  width: 100%;
  padding: 4rem 7.7rem;
  margin: 0 auto 8rem;
  background-color: #F5F5F5;
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .lifestyle-lead {
    padding: 1.6rem;
  }
}
.lifestyle-lead .medical_info__title {
  width: 100%;
  text-align: center;
}

.medical_info__text--lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.lifestyle-lead__example {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  padding: 0.8rem 1.6rem;
  margin-top: 2.4rem;
  background: rgba(0, 141, 194, 0.16);
  border-radius: 0.8rem;
}

/*** recruit 
****************************************************************************************/
.recruit {
  padding: 8rem 0 12rem;
}

@media screen and (max-width: 768px) {
  .recruit {
    padding: 0 1.6rem 7.2rem;
  }
}
.recruit__inner {
  max-width: 94.6rem;
  width: 100%;
  margin-inline: auto;
}

.recruit__list {
  margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
  .recruit__list {
    margin-top: 4rem;
  }
}
.recruit__item {
  display: flex;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-left: 0.1rem solid #C7C7C7;
  border-right: 0.1rem solid #C7C7C7;
  border-bottom: 0.1rem solid #C7C7C7;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .recruit__item {
    flex-direction: column;
    font-size: 1.4rem;
  }
}
.recruit__item:first-child {
  border-top: 0.1rem solid #C7C7C7;
}

.recruit__item dt {
  display: grid;
  place-content: center;
  width: 21.6rem;
  background: rgba(0, 141, 194, 0.09);
  border-right: 0.1rem solid #C7C7C7;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .recruit__item dt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 1.6rem;
    border-right: none;
  }
}
.recruit__item dd {
  padding: 3.2rem;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .recruit__item dd {
    padding: 1.6rem;
  }
}
.recruit__item li {
  position: relative;
  padding-left: 1.1em;
}

.recruit__item .dot::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.4rem;
  left: 0.55rem;
  top: 50%;
  translate: 0 -50%;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: #00A4E0;
}

@media screen and (max-width: 768px) {
  .recruit__item .dot::before {
    top: 1.1rem;
    translate: 0;
  }
}
.recruit__item span {
  display: inline-block;
  width: 3em;
}

@media screen and (max-width: 768px) {
  .recruit__item span {
    display: block;
  }
}
.job {
  padding: 8rem 0 0;
}

@media screen and (max-width: 768px) {
  .job {
    padding: 5.6rem 1.6rem 0;
  }
}
.job__title {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 4.8rem;
  color: #00A4E0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .job__title {
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
  }
}
.job-block {
  padding: 3.2rem 4.8rem;
  background: rgba(0, 141, 194, 0.06);
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .job-block {
    padding: 2.4rem;
  }
}
.job-block:last-of-type {
  margin-top: 4rem;
}

.job-block__title {
  width: 100%;
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .job-block__title {
    font-size: 1.8rem;
    padding-bottom: 1rem;
  }
}
.job-block__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (max-width: 768px) {
  .job-block__column {
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
  }
}
.job-block__left {
  width: 40.1315789474%;
}

@media screen and (max-width: 768px) {
  .job-block__left {
    width: 100%;
  }
}
.job-block__list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .job-block__list {
    margin-top: 1rem;
  }
}
.job-block__item {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.job-block__item dt {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .job-block__item dt {
    font-size: 1.6rem;
  }
}
.job-block__item dd {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
}

.job-block__item li {
  position: relative;
  padding-left: 1.3rem;
}

.job-block__item li::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.5rem;
  top: 1.1rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  border-radius: 100vmax;
}

.job-block__right {
  width: 54.1353383459%;
}

@media screen and (max-width: 768px) {
  .job-block__right {
    width: 100%;
  }
}
.job-block__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}

.job-block__link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 0.6rem;
  box-shadow: 0 0.1rem 0.6rem 0 rgba(0, 0, 0, 0.3);
  container-type: inline-size;
  transition: box-shadow 0.4s;
}

.job-block__link:active {
  box-shadow: 0 0.2rem 1.6rem 0 rgb(0, 164, 224);
}

.job-block__link span.title {
  font-size: 2.4rem;
  font-size: 8.5714285714cqw;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-top: 37.1428571429cqw;
}

@media (any-hover: hover) {
  .job-block__link:hover {
    box-shadow: 0 0.2rem 1.6rem 0 rgb(0, 164, 224);
  }
}
.job-block__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.2857142857cqw;
  font-size: 1.4rem;
  font-size: 5cqw;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 17.1428571429cqw 0 22.1428571429cqw;
  color: #fff;
}

.job-block__btn span {
  position: relative;
  display: block;
  width: 10cqw;
  border: 0.1rem solid #fff;
  aspect-ratio: 1;
  background-color: transparent;
  border-radius: 100vmax;
}

.job-block__btn span::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 3.5714285714cqw;
  aspect-ratio: 10.21/7.2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background: url(../images/common/arrow_white.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.job-block__btn::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.flow {
  padding: 10.4rem 0 12rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .flow {
    padding: 6.4rem 1.6rem 7.2rem;
  }
}
.flow__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4.4rem;
  margin-top: 6.4rem;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .flow__list {
    gap: 3.2rem;
    margin-top: 4rem;
  }
}
.flow__list::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.9rem;
  height: 90%;
  top: 0;
  left: 3.9rem;
  background: #0076AD;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .flow__list::before {
    width: 0.4rem;
    left: 2.6rem;
    height: 88.8%;
  }
}
.flow__item {
  display: flex;
  align-items: flex-start;
  gap: 5.6rem;
}

@media screen and (max-width: 768px) {
  .flow__item {
    gap: 2rem;
  }
}
.flow-num {
  display: grid;
  place-content: center;
  font-family: "Inter", serif;
  width: 8.5rem;
  aspect-ratio: 1;
  background-color: #0076AD;
  color: #fff;
  border-radius: 100vmax;
  flex-shrink: 0;
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .flow-num {
    width: 5.6rem;
  }
}
.flow-num__small {
  display: block;
  font-size: 17.6470588235cqw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.flow-num__num {
  display: block;
  font-size: 37.6470588235cqw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 3.5294117647cqw;
}

.fow__content {
  display: flex;
  gap: 3.3rem;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .fow__content {
    flex-direction: column;
    gap: 2rem;
  }
}
.flow__image {
  width: 24.5202558635%;
  aspect-ratio: 230/173;
  border-radius: 0.4rem;
}

@media screen and (max-width: 768px) {
  .flow__image {
    width: 100%;
  }
}
.flow__image img {
  border-radius: 0.4rem;
}

.flow__text {
  flex: 1;
}

.flow__title {
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .flow__title {
    font-size: 1.6rem;
  }
}
.flow__desc {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 1.6rem;
  color: #000;
}

@media screen and (max-width: 768px) {
  .flow__desc {
    margin-top: 0.8rem;
  }
}
.flow__btn {
  margin-top: 2.4rem;
}

.flow__btn .btn {
  padding-left: 6.9rem;
}

.flow__link {
  transition: color 0.4s;
}

@media (any-hover: hover) {
  .flow__link:hover {
    color: #00A4E0;
  }
}
/*** health_check 
****************************************************************************************/
.health_check {
  padding: 8.8rem 0 14rem;
}

@media screen and (max-width: 768px) {
  .health_check {
    padding: 5.6rem 1.6rem 7.2rem;
  }
}
.health_check__sec2 {
  margin-top: 8.8rem;
}

@media screen and (max-width: 768px) {
  .health_check__sec2 {
    margin-top: 4rem;
  }
}
.health_check__sec3 {
  margin-top: 8.8rem;
}

@media screen and (max-width: 768px) {
  .health_check__sec3 {
    margin-top: 4rem;
  }
}
.health_check__sec3 .block-b {
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .health_check__sec3 .block-b {
    margin-bottom: 2rem;
  }
}
.health_check__sec4 {
  margin-top: 8.8rem;
}

@media screen and (max-width: 768px) {
  .health_check__sec4 {
    margin-top: 4rem;
  }
}
.health_check__sec5 {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .health_check__sec5 {
    margin-top: 4rem;
  }
}
.block-d__list {
  margin-top: 1.2rem;
}

.block-d__item {
  display: flex;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  background-color: #F5F5F5;
  color: #3A3A3A;
  border-bottom: 0.2rem solid #fff;
}

@media screen and (max-width: 768px) {
  .block-d__item {
    flex-direction: column;
  }
}
.block-d__item dt {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  width: 30.6896551724%;
  padding: 2.8rem 2.4rem;
  border-right: 0.2rem solid #fff;
}

@media screen and (max-width: 768px) {
  .block-d__item dt {
    width: 100%;
    padding: 1rem 1.6rem;
    border-right: none;
    border-bottom: 0.2rem solid #fff;
    min-height: 6.4rem;
  }
}
.block-d__item dd {
  padding: 3.2rem 2.4rem;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .block-d__item dd {
    display: flex;
    align-items: center;
    padding: 1rem 1.6rem;
    min-height: 6.4rem;
  }
}
.block-d__item:last-child {
  border-bottom: none;
}

.block-d__item dt::before {
  display: inline-block;
  content: "";
  width: 3.2rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  flex-shrink: 0;
}

.block-d__item:nth-child(1) dt::before {
  background-color: #FBFDA5;
}

.block-d__item:nth-child(2) dt::before {
  background-color: #F6E6A3;
}

.block-d__item:nth-child(3) dt::before {
  background-color: #D8A117;
}

.block-d__item:nth-child(4) dt::before {
  background-color: #FF999A;
}

.block-d__item:nth-child(5) dt::before {
  background-color: #8A6600;
}

/*** privacy_policy 
****************************************************************************************/
.privacy_policy {
  padding: 8rem 0 12rem;
}

@media screen and (max-width: 768px) {
  .privacy_policy {
    padding: 5.6rem 1.6rem 7.2rem;
  }
}
.privacy_policy__list {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}

@media screen and (max-width: 768px) {
  .privacy_policy__list {
    gap: 2rem;
  }
}
.privacy_policy__item dt {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .privacy_policy__item dt {
    font-size: 1.6rem;
  }
}
.privacy_policy__item dd {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 0.8rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .privacy_policy__item dd {
    font-size: 1.4rem;
    margin-top: 0.4rem;
  }
}
.privacy_policy__note {
  width: fit-content;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 5.1rem;
  margin-left: auto;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .privacy_policy__note {
    font-size: 1.4rem;
    margin-top: 3.2rem;
    margin-left: 0;
    margin-right: auto;
  }
}
/*** bph 前立腺肥大
****************************************************************************************/
.details {
  padding: 9.4rem 0 14rem;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .details {
    padding: 5.6rem 1.6rem 7.2rem;
  }
}
.datails__text {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .datails__text {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.symptom-block {
  padding: 4rem 5.6rem;
  background: rgba(0, 141, 194, 0.06);
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .symptom-block {
    padding: 2rem;
  }
}
.symptom__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .symptom__content {
    flex-direction: column;
    gap: 4rem;
  }
}
.bph-block__content:nth-child(1) .bph-block__text {
  width: 49.141221374%;
}

@media screen and (max-width: 768px) {
  .bph-block__content:nth-child(1) .bph-block__text {
    width: 100%;
  }
}
.bph-block__content + .bph-block__content {
  margin-top: 6.4rem;
}

.bph-block__text {
  width: 59.2557251908%;
}

@media screen and (max-width: 768px) {
  .bph-block__text {
    width: 100%;
  }
}
.symptom__lead {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .symptom__lead {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.symptom__note {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .symptom__note {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
.symptom__note--m {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .symptom__note--m {
    font-size: 1.4rem;
  }
}
.title-check {
  position: relative;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-left: 3.8rem;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .title-check {
    font-size: 1.8rem;
    padding-left: 3.2rem;
  }
}
.title-check::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 2.2rem;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  aspect-ratio: 1;
  background: url(../images/common/check.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .title-check::before {
    width: 2rem;
  }
}
.symptom__image {
  width: 47%;
  aspect-ratio: 349/250;
}

.symptom__image img {
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .symptom__image {
    width: 100%;
  }
}
.symptom-table-title {
  font-size: 1.6rem;
  margin-bottom: 2.4rem;
}

.symptom-table-title02 {
  margin-top: 2.4rem;
  margin-bottom: 0;
}

.symptom-table-total {
  font-size: 1.6rem;
  margin-top: 2.4rem;
  text-align: right;
}

.table-wrapper {
  overflow: auto;
}

.symptom-table, .wp-block-table {
  container-type: inline-size;
}

@media screen and (max-width: 768px) {
  .symptom-table, .wp-block-table {
    width: 100rem;
  }
}
.symptom-table table, .wp-block-table table {
  width: 100%;
  font-size: 1.4rem;
  font-size: 1.2068965517cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  background-color: #F5F5F5;
  color: #3A3A3A;
}

.symptom-table th, .symptom-table td, .wp-block-table th, .wp-block-table td {
  vertical-align: middle;
  border: 0.2rem solid #fff;
}

.symptom-table th, .wp-block-table th {
  width: 13.2rem;
  padding: 1.2rem 0 2.2rem;
  padding: 1.0344827586cqw 0 1.8965517241cqw;
  background-color: #00A4E0;
  color: #fff;
  text-align: center;
}

.symptom-table th .text, .wp-block-table th .text {
  display: grid;
  place-content: center;
  line-height: 1.5;
  height: 6.3rem;
  height: 5.4310344828cqw;
}

.symptom-table th .point, .wp-block-table th .point {
  font-size: 1.8rem;
  font-size: 1.5517241379cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.symptom-table th.col01,
.symptom-table td.col01, .wp-block-table th.col01,
.wp-block-table td.col01 {
  padding: 2.2rem 2.4rem;
  padding: 1.8965517241cqw 2.0689655172cqw;
  width: 35.6rem;
}

.symptom-table td, .wp-block-table td {
  width: 13.2rem;
  padding: 2.2rem 2.4rem;
  padding: 1.8965517241cqw 2.0689655172cqw;
  min-height: 11.9rem;
  min-height: 10.2586206897cqw;
  font-size: 1.6rem;
  font-size: 1.3793103448cqw;
  vertical-align: middle;
  text-align: center;
}

.symptom-table .col01, .wp-block-table .col01 {
  font-size: 1.4rem;
  font-size: 1.2068965517cqw;
  text-align: left;
}

.symptom-table02 {
  margin-top: 4rem;
}

.symptom-table02 th.col01 {
  width: 30.4rem;
  text-align: center;
}

.symptom-table02 td {
  width: 12rem;
}

.symptom-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem 3.6rem;
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  .symptom-list {
    gap: 0.8rem 1.6rem;
  }
}
.vaccine th {
  padding: 2.2rem 0;
}

.bph-sec2 {
  margin-top: 8rem;
}

.bph-sec2 .symptom-list {
  margin-top: 2rem;
}

.symptom-item {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-left: 2rem;
}

@media screen and (max-width: 768px) {
  .symptom-item {
    font-size: 1.4rem;
    padding-left: 1.6rem;
  }
}
.symptom-item::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.8rem;
  top: 1.1rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .symptom-item::before {
    width: 0.6rem;
    top: 1rem;
  }
}
.wp-block-table thead {
  border-bottom: none;
}

.bph-sec3 {
  margin-top: 9.4rem;
}

.bph-sec3__lead {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .bph-sec3__lead {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.bph-sec3__note {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-top: 2.9rem;
}

.bph-sec4 {
  margin-top: 6.7rem;
}

.bph-sec4 .comment-box {
  margin-top: 6.4rem;
}

/*** prostate_cancer 前立腺がん
****************************************************************************************/
.prostate_cancer-block__text {
  width: 49.141221374%;
}

@media screen and (max-width: 768px) {
  .prostate_cancer-block__text {
    width: 100%;
  }
}
.prostate_cancer-sec2 {
  margin-top: 9.6rem;
}

@media screen and (max-width: 768px) {
  .prostate_cancer-sec2 {
    margin-top: 4rem;
  }
}
.prostate_cancer-sec3 {
  margin-top: 9.6rem;
}

@media screen and (max-width: 768px) {
  .prostate_cancer-sec3 {
    margin-top: 4rem;
  }
}
.prostate_cancer-sec4 {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .prostate_cancer-sec4 {
    margin-top: 4rem;
  }
}
.prostate_cancer-sec4 .comment-box {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  .prostate_cancer-sec4 .comment-box {
    margin-top: 4rem;
  }
}
/*** bladder_cancer 膀胱がん
****************************************************************************************/
.bladder_cancer-sec2 {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .bladder_cancer-sec2 {
    margin-top: 4rem;
  }
}
.bladder_cancer-sec3 {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .bladder_cancer-sec3 {
    margin-top: 4rem;
  }
}
.bladder_cancer-sec4 {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .bladder_cancer-sec4 {
    margin-top: 4rem;
  }
}
.bladder_cancer-sec5 {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  .bladder_cancer-sec5 {
    margin-top: 4rem;
  }
}
.bladder_cancer-sec5 .comment-box {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  .bladder_cancer-sec5 .comment-box {
    margin-top: 4rem;
  }
}
/*** oab 過活動膀胱 
****************************************************************************************/
.oab-sec2 {
  margin-top: 5.4rem;
}

.oab-sec2 .title-c {
  margin-top: 3.2rem;
}

.oab-sec2 .datails__text {
  margin-top: 1.6rem;
}

.oab-sec3 {
  margin-top: 8rem;
}

.oab-sec3 .comment-box {
  margin-top: 4rem;
}

.details.oab tr th:nth-child(1), .details.oab tr td:nth-child(1) {
  width: 10%;
}

.details.oab tr th:nth-child(2), .details.oab tr td:nth-child(2) {
  width: 60%;
}

.details.oab tr th:nth-child(3), .details.oab tr td:nth-child(3) {
  width: 20%;
}

.details.oab tr th:nth-child(4), .details.oab tr td:nth-child(4) {
  width: 10%;
}

/*** news 
****************************************************************************************/
.news-section {
  padding: 8rem 0 12rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .news-section {
    padding: 5.6rem 1.6rem 6rem;
  }
}
.news__inner {
  display: flex;
  gap: 6rem;
}

@media screen and (max-width: 768px) {
  .news__inner {
    flex-direction: column;
    gap: 4rem;
  }
}
.news__main {
  flex: 1;
}

.news__item {
  position: relative;
  display: flex;
  gap: 3.2rem;
  padding: 2rem 1.6rem 2rem 0;
  border-bottom: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .news__item {
    flex-direction: column;
    gap: 1.6rem;
    padding: 1.6rem 0;
  }
}
@media (any-hover: hover) {
  .news__item:hover h2 {
    color: #00A4E0;
  }
}
.news__image {
  width: 18rem;
  aspect-ratio: 180/136;
  border-radius: 0.4rem;
}

@media screen and (max-width: 768px) {
  .news__image {
    width: 100%;
  }
}
.news__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.4rem;
}

.news__text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media screen and (max-width: 768px) {
  .news__text {
    gap: 1rem;
  }
}
.news__text h2 {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.08em;
  transition: color 0.4s;
}

.news__text a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.news__meta time {
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #707070;
}

.archive-block {
  width: 30.6rem;
  margin-top: -2rem;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .archive-block {
    width: 100%;
    margin-top: 0;
  }
}
.single-section h2.archive-block__title {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-bottom: 1.6rem;
  margin-bottom: 0;
  border-bottom: 0.4rem solid #00A4E0;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .single-section h2.archive-block__title {
    font-size: 2rem;
    padding-bottom: 0.8rem;
    border-bottom: 0.2rem solid #00A4E0;
  }
}
.archive-block__select {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 0.85rem 1.2rem;
  margin-top: 3.2rem;
  border: 0.1rem solid #D9D9D9;
  background-color: #F5F5F5;
  color: #707070;
  border-radius: 0.2rem;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .archive-block__select {
    margin-top: 2.4rem;
  }
}
.archive-block__list {
  display: flex;
  flex-direction: column;
  margin-top: 2.4rem;
}

.archive-block__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 2.4rem 0;
  border-bottom: 0.1rem solid #D9D9D9;
}

@media screen and (max-width: 768px) {
  .archive-block__item {
    padding: 1.6rem 0;
  }
}
.archive-block__item:active a {
  color: #00A4E0;
}

.archive-block__item time {
  font-size: 1.4rem;
  font-family: "D-DIN";
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #707070;
}

.archive-block__item a {
  display: block;
  font-size: 1.3rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #3A3A3A;
  transition: color 0.4s;
}

.archive-block__item a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

@media (any-hover: hover) {
  .archive-block__item:hover a {
    color: #00A4E0;
  }
}
.single__inner {
  display: flex;
  gap: 10.4rem;
}

@media screen and (max-width: 768px) {
  .single__inner {
    flex-direction: column;
    gap: 4rem;
  }
}
.single__main {
  flex: 1;
}

.breadcrumbs {
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 2.4rem;
  }
}
.breadcrumbs ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.8rem;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .breadcrumbs li {
    gap: 0.4rem;
  }
}
.breadcrumbs li::after {
  display: inline-block;
  content: "";
  width: 1.6rem;
  height: 0.1rem;
  background-color: #707070;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .breadcrumbs li::after {
    width: 0.8rem;
  }
}
.breadcrumbs li:last-child {
  flex-shrink: 1;
}

.breadcrumbs li:last-child a {
  color: #00A4E0;
  pointer-events: none;
}

.breadcrumbs li:last-child::after {
  display: none;
}

.breadcrumbs a {
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #999999;
  word-break: break-all;
  transition: color 0.4s;
}

@media screen and (max-width: 768px) {
  .breadcrumbs a {
    font-size: 1rem;
    line-height: 2.4;
  }
}
@media (any-hover: hover) {
  .breadcrumbs a:hover {
    color: #00A4E0;
  }
}
.single__date {
  display: block;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #00A4E0;
}

@media screen and (max-width: 768px) {
  .single__date {
    font-size: 1.2rem;
  }
}
.single__title {
  font-size: 3.2rem;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid #D9D9D9;
  margin-bottom: 3.2rem;
  word-break: break-all;
}

@media screen and (max-width: 768px) {
  .single__title {
    font-size: 2.4rem;
    padding-bottom: 1.6rem;
    margin-bottom: 2.4rem;
  }
}
.single-section {
  padding: 7.6rem 0 12rem;
  word-break: break-all;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .single-section {
    padding: 5.6rem 1.6rem 6rem;
  }
}
.single-section img {
  display: block;
  margin-bottom: 4.8rem;
}

@media screen and (max-width: 768px) {
  .single-section img {
    margin-bottom: 3.2rem;
  }
}
.single-section h2 {
  font-size: 2.4rem;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .single-section h2 {
    font-size: 2rem;
  }
}
.single-section h3 {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 3.2rem;
}

.single-section h4 {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 3.2rem;
}

.single-section p {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .single-section p {
    font-size: 1.3rem;
    line-height: 2;
    margin-bottom: 2.4rem;
  }
}
.single-section ul.wp-block-list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.single-section ul.wp-block-list li {
  position: relative;
  padding-left: 1em;
}

.single-section ul.wp-block-list li::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.8rem;
  top: 0.6rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  border-radius: 100vmax;
}

.single__image {
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .single__image {
    margin-bottom: 2.4rem;
  }
}
.post-navi {
  position: relative;
  display: flex;
  justify-content: space-between;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-top: 12.7rem;
}

@media screen and (max-width: 768px) {
  .post-navi {
    font-size: 1.4rem;
    margin-top: 6.4rem;
    padding-bottom: 9.6rem;
  }
}
.btn-prev {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.btn-prev::before {
  display: inline-block;
  content: "";
  width: 1.21rem;
  aspect-ratio: 10.21/7.2;
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  rotate: -180deg;
}

.btn-next {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 1rem;
}

.btn-next::before {
  display: inline-block;
  content: "";
  width: 1.21rem;
  aspect-ratio: 10.21/7.2;
  background: url(../images/common/arrow_blue.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.single-page__btn {
  position: absolute;
  width: 23.6rem;
  padding-left: 5.9rem;
  top: 43%;
  left: 50%;
  translate: -50% -50%;
}

@media screen and (max-width: 768px) {
  .single-page__btn {
    top: auto;
    bottom: 0;
  }
}
.archive-block--single {
  margin-top: 0;
}

.pagenation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  margin-top: 4rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .pagenation {
    gap: 2rem;
  }
}
.page-numbers {
  font-size: 1.6rem;
  font-family: "Inter", serif;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.08em;
  width: fit-content;
}

.page-numbers.current {
  display: grid;
  place-content: center;
  width: 2.9rem;
  aspect-ratio: 1;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 100vmax;
}

/*** entry 
****************************************************************************************/
.entry {
  padding: 9.6rem 7.2rem;
}

@media screen and (max-width: 768px) {
  .entry {
    padding: 5.6rem 1.6rem;
  }
}
.entry__inner {
  max-width: 110rem;
  width: 90%;
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .entry__inner {
    width: 100%;
  }
}
.entry__lead {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .entry__lead {
    font-size: 1.4rem;
    margin-inline: calc(50% - 50vw);
  }
}
.entry__list {
  margin-top: 2rem;
}

.entry__item {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  padding: 3.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  .entry__item {
    flex-direction: column;
    gap: 1rem;
    padding: 1.6rem 0;
  }
}
.entry__item dt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.08em;
  width: 36.4rem;
  margin-top: 0.8rem;
  flex-shrink: 0;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .entry__item dt {
    justify-content: flex-start;
    gap: 0.8rem;
    font-size: 1.6rem;
    width: 100%;
    margin-top: 0;
  }
}
.entry__item dt span {
  display: grid;
  place-content: center;
  width: 4rem;
  height: 2.4rem;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
  background-color: #00A4E0;
  color: #fff;
  border-radius: 0.2rem;
}

@media screen and (max-width: 768px) {
  .entry__item dt span {
    width: 3.6rem;
    height: 2rem;
  }
}
.entry__item dt span.opt {
  background-color: #707070;
}

.entry__item dd {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0;
  flex: 1;
}

@media screen and (max-width: 768px) {
  .entry__item dd {
    font-size: 1.4rem;
    width: 100%;
  }
}
.entry__item dd .icon {
  display: inline-block;
  font-size: 2.2rem;
  line-height: 1.4545454545;
  vertical-align: middle;
  margin-right: 1.2rem;
}

@media screen and (max-width: 768px) {
  .entry__item dd .icon {
    font-size: 1.6rem;
  }
}
.entry__item--radio dt {
  margin-top: 0;
}

input[type=text],
input[type=email],
input[type=tel] {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 0.1rem solid #878787;
  background-color: #F7F7F7;
  color: #3A3A3A;
  border-radius: 0.4rem;
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder {
  color: rgba(48, 48, 53, 0.4);
}

input[type=text].zipcode {
  width: 15.1rem;
}

@media screen and (max-width: 768px) {
  input[type=text].zipcode {
    width: 12rem;
  }
}
dd.address {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media screen and (max-width: 768px) {
  dd.address {
    gap: 0.8rem;
  }
}
.wpcf7-list-item-label {
  color: rgba(48, 48, 53, 0.8);
}

.wpcf7-list-item > label {
  display: flex;
  align-items: center;
}

.wpcf7-radio input[type=radio] {
  display: none;
}

.wpcf7-radio input[type=radio] + .wpcf7-list-item-label,
.wpcf7-acceptance input[type=checkbox] + .wpcf7-list-item-label {
  position: relative;
  padding-left: 2.5rem;
}

.wpcf7-radio .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 0.1rem solid #C6C6C6;
}

.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::after,
.wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #000;
  top: 50%;
  left: 0.4rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 5.6rem;
}

@media screen and (max-width: 768px) {
  .wpcf7-radio {
    gap: 0.8rem 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .wpcf7-radio .wpcf7-list-item {
    width: 13rem;
  }
}
.wpcf7-list-item {
  margin: 0;
}

[type=checkbox] {
  display: none;
}

.entry-btn-wrap.btn {
  padding-left: 0;
  margin: 6.4rem auto 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .entry-btn-wrap.btn {
    margin: 4rem auto 0;
  }
}
.entry-btn-wrap.btn span {
  pointer-events: none;
}

input[type=submit] {
  display: block;
  width: 100%;
  height: 100%;
}

/*** 疾病詳細 
****************************************************************************************/
.symptom-sec {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .symptom-sec {
    margin-top: 4rem;
  }
}
.bg-blue {
  padding: 4rem 5.6rem;
  background: rgba(0, 141, 194, 0.06);
  border-radius: 1.2rem;
}

@media screen and (max-width: 768px) {
  .bg-blue {
    padding: 2rem;
  }
}
.symptom-block__text {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .symptom-block__text {
    width: 100%;
  }
}
.symptom-block__text p {
  white-space: pre-wrap;
}

.wp-block-lazyblock-symptom-content + .wp-block-lazyblock-symptom-content {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .wp-block-lazyblock-symptom-content + .wp-block-lazyblock-symptom-content {
    margin-top: 4rem;
  }
}
.comment-box {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .comment-box {
    margin-top: 4rem;
  }
}
.section {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .section {
    margin-top: 4rem;
  }
}
.section--s {
  margin-top: 3.2rem;
}

@media screen and (max-width: 768px) {
  .section--s {
    margin-top: 2rem;
  }
}
/*** 疾病詳細 テスト
****************************************************************************************/
.section-desease {
  margin-top: 8rem;
}

.section-desease .lazyblock-inner-blocks > *:last-child {
  margin-bottom: 0;
}

.section-desease h3 {
  margin-bottom: 2rem;
}

.section-desease ul {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .section-desease ul {
    gap: 0.8rem;
  }
}
.section-desease li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding-left: 2rem;
}

@media screen and (max-width: 768px) {
  .section-desease li {
    font-size: 1.4rem;
    padding-left: 1.6rem;
  }
}
.section-desease li::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 0.8rem;
  top: 1.1rem;
  left: 0;
  aspect-ratio: 1;
  background: #00A4E0;
  border-radius: 100vmax;
}

@media screen and (max-width: 768px) {
  .section-desease li::before {
    width: 0.6rem;
    top: 1rem;
  }
}
.section-desease p {
  margin-bottom: 3.2rem;
}

.section-desease__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .section-desease__content {
    flex-direction: column;
    gap: 4rem;
  }
}
.section-desease__image {
  width: 45%;
  border-radius: 0.8rem;
}

.section-desease__image img {
  border-radius: 0.8rem;
}

@media screen and (max-width: 768px) {
  .section-desease__image {
    width: 100%;
  }
}
.section-desease__text {
  width: 50%;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #3A3A3A;
}

@media screen and (max-width: 768px) {
  .section-desease__text {
    width: 100%;
    font-size: 1.4rem;
  }
}
.section-desease__text p {
  white-space: pre-wrap;
}

.section-desease__text span.dark {
  color: #073246;
}

.section-desease__text--wide {
  width: 100%;
}

.wp-block-lazyblock-section-desease-content + .wp-block-lazyblock-section-desease-content {
  margin-top: 6.4rem;
}

@media screen and (max-width: 768px) {
  .wp-block-lazyblock-section-desease-content + .wp-block-lazyblock-section-desease-content {
    margin-top: 3.2rem;
  }
}
.section-desease.no-title {
  margin-top: 3.2rem;
}

.wp-block-lazyblock-section-desease:nth-of-type(1) .section-desease {
  margin-top: 0;
}