@charset "utf-8";

/* html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
} */

:root {
  --black: #434343;
  --black-dark: #3d3d3d;
  --gray: #fbfbfb;
  --gray-dark: #ebebeb;
  --red: #c63527;
  --white: #ffffff;
  --font-set-en: 'urw-din-semi-condensed',sans-serif;
  --font-set-mincho: 'zen-old-mincho',sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-Bold: 700;
}

.inner {
  width: 100%;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .inner {
    max-width: 930px;
    padding-left: 1.56rem;
		padding-right: 1.56rem;
  }
}

body {
  font-family: 'noto-sans-cjk-jp', sans-serif;
	font-weight: 500;
	width: 100%;
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}

body {
  font-size: .875rem;
}

@media (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}


/* @media (min-width: 768px) {
	body.top {
		font-size: clamp(1.125rem, 1.76vw ,1.875rem);
	}
	
	body.second {
		font-size: clamp(1.125rem, 1.8vw ,1.38rem);
	}
} */

.red {
  color: var(--red);
}

.center {
  text-align: center;
}

a {
  transition: color .3s, background-color .3s, box-shadow .3s, opacity .3s;
  text-decoration: none;
  color: inherit;
}

a.underline {
  text-decoration: underline;
}

@media (any-hover: hover) {
  a:hover {
    opacity: .7;
  }
}

a[href^="tel:"] {
  text-decoration: underline;
}

.sp-only {
  display: block;
}

.pc-only {
  display: none;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
  }

  .sp-only {
    display: none;
  }

  .pc-only {
    display: block;
  }
}

.common-section {
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .common-section {
    margin-top: 6rem;
  }
}

/* =========== section-title ======================================= */
.sectionTitle {
  text-align: center;
}

.sectionTitle-en {
  font-size: 1.5rem;
  font-family: var(--font-set-en);
  font-weight: 600;
  color: var(--black-dark);
  line-height: 1;
  text-transform: uppercase;
}

.sectionTitle-ja {
  font-size: .75rem;
  font-family: var(--font-set-mincho);
  font-weight: 900;
  color: var(--black);
  margin-top: .25rem;
}

@media (min-width: 768px) {
  .sectionTitle-en {
    font-size: 2rem;
  }
  
  .sectionTitle-ja {
    font-size: .875rem;
    margin-top: .5rem;
  }
}

/* =========== button ======================================= */
.button {
  display: inline-block;
	width: 307px;
	padding: 1rem 0;
	text-align: center;
	background-color: var(--gray);
	border: 1px solid #707070;
	color: var(--black);
	line-height: calc(22 / 14);
  font-weight: normal;
	transition: color .4s, background-color .4s;
}

@media (any-hover: hover) {
  .button:hover {
    background-color: var(--black);
    color: var(--white);
  }
}

/* =========== top ======================================= */

/* =========== footer ======================================= */
.footer {
  margin-top: 2.5rem;
  padding: 2.5rem 0 1.25rem;
  background: var(--gray);
}

.footer__link {
  text-align: center;
}

.footer__link-clinic {
  text-transform: uppercase;
  text-align: center;
  margin-top:  3rem;
}

.footer__link-clinic a {
  position: relative;
  padding-left: 1.5rem;
}

.footer__link-clinic a::before {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-image: url(/assets/img/common/link-icon.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background: currentColor;
  mask-image: url(/assets/img/common/link-icon.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%); 
}

.footer__copy {
  font-size: .75rem;
  text-transform: uppercase;
  text-align: center;
  color: var(--black-dark);
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .footer {
    margin-top: 3.5rem;
    padding: 5rem 0 2.5rem;
  }

  .footer__link-clinic {
    margin-top: 4rem;
  }

  .footer__link-clinic a {
    padding-left: 1.75rem;
  }

  .footer__link-clinic a::before {
    width: 1.25rem;
    height: 1.25rem;
  }

  .footer__copy {
    font-size: .81rem;
  }
}

/* =========== page-top ======================================= */
.page-top {
  position: fixed;
  bottom: 2.5rem;
  right: 1.25rem;
  opacity: 1;
  visibility: visible;
  transition: opacity .4s ease, visibility .4s ease;
  z-index: 100;
}

.page-top a {
	display: flex;
	justify-content:center;
	align-items:center;
	width: 40px;
	height: 40px;
	transition: opacity .4s;
}

.page-top img {
	width: 40px;
	height: 40px;
}

.page-top.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (any-hover: hover) {
  .page-top a:hover{
    opacity: .7;
  }
}


/* =========== topMV ======================================= */
.topMV {
	width: 100%;
	height: 100svh;
}

.topMV__inner {
  width: 100%;
  height: inherit;
  position: relative;
}

.topMV__image {
	width: 100%;
	height: inherit;
}

.topMV__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 375 / 667;
}

.topMV__title-wrap {
  width: 100%;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
  color: var(--white);
	z-index: 2;
}

.topMV__title-text {
  font-size: 1.13rem;
  font-weight: 400;
  line-height: 1.4;
  text-shadow: 0px 0px 15px #000000;
}

.topMV__title {
  margin-top: 1.75rem;
}

.topMV__title-logo {
  display: block;
  width: 200px;
  margin-inline: auto;
}

.topMV__title-logoIcon {
  display: block;
  width: 100%;
  height: auto;
  fill: var(--white);
  filter: drop-shadow(0 0px 12px #000000);
}

.topMV__title-info {
  font-size: 1.13rem;
  font-weight: 400;
  margin-top: 1.5rem;
  text-shadow: 0px 0px 15px #000000;
}

@media (min-width: 768px) {
  .topMV__image img {
    aspect-ratio: 1440 / 768;
  }

  .topMV__title-wrap {
    top: 42%;
  }
  
  .topMV__title-text {
    font-size: 1.88rem;
    line-height: 1.3;
  }
  
  .topMV__title {
    margin-top: 2.63rem;
  }
  
  .topMV__title-logo {
    width: 400px;
  }
  
  .topMV__title-info {
    font-size: 1.88rem;
    margin-top: 2rem;
  }
}

/* =========== top information ======================================= */
/* ------intro ------*/
.topInfo-intro {
  padding: .75rem 0;
  background-image: linear-gradient(45deg, rgba(198, 53, 39, 1) 34%, rgba(0, 30, 98, 1) 80%);
}

.topInfo-intro__text {
  color: var(--white);
  text-align: center;
}

@media (min-width: 768px) {
  .topInfo-intro {
    padding: 1rem 0;
  }
}

/*------- お知らせ投稿 ------*/
.topInfo {
  margin-top: 2.5rem;
}

.topInfo__content {
  margin-top: 2rem;
}

.topInfo__importantItem:nth-child(n+2) {
  margin-top: .75rem;
}

.topInfo__importantLink {
  display: flex;
  gap: 1rem;
  color: var(--red);
  font-weight: bold;
}

.topInfo__note {
  white-space: nowrap;
}

.info-items {
  margin-top: 1.5rem;
}

.info-item:nth-child(n+2) {
  margin-top: .75rem;
}

.info-link {
  display: flex;
  gap: 1rem;
}

.info-date {
  color: var(--red);
  /* width: 18%; */
}

/* .info-text {
  width: 82%;
} */

@media (min-width: 768px) {
  .topInfo {
    margin-top: 3.5rem;
  }

  .topInfo__content {
    width: 80%;
    margin-inline: auto;
    margin-top: 2.5rem;
  }

  .topInfo__importantItem:nth-child(n+2) {
    margin-top: 1rem;
  }

  .info-item:nth-child(n+2) {
    margin-top: 1rem;
  }

  .info-link {
    gap: 1.75rem;
  }
}

/* =========== topPhilosophy ======================================= */
.topPhilosophy {
  background: var(--gray);
  margin-top: 3.5rem;
  padding: 2.5rem 0 3rem;
}

.topPhilosophy__text {
  margin-top: 1.5rem;
}

@media (min-width: 768px) {
  .topPhilosophy {
    margin-top: 5.5rem;
    padding: 3.5rem 0 4rem;
  }

  .topPhilosophy__text {
    margin-top: 2.5rem;
  }
}


/* =========== topDoctor ======================================= */
.topDoctor {
  background: var(--gray-dark);
  padding: 2.5rem 0 3rem;
}

.topDoctor__content {
  margin-top: 1.5rem;
}

.topDoctor__content-head {
  font-family: var(--font-set-mincho);
  font-weight: 900;
  text-align: center;
}

.topDoctor__content-head span {
  font-size: 1.06rem;
}

.topDoctor__content-head p {
  font-size: 1.25rem;
}

.topDoctor__content-body {
  margin-top: 1rem;
}

.topDoctor__image {
  width: 292px;
  height: 350px;
  aspect-ratio: 292 / 350;
  margin-inline: auto;
}

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

.topDoctor__text-wrap {
  margin-top: 1rem;
}

.topDoctor__text:nth-child(n+2) {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .topDoctor {
    padding: 3.5rem 0 4rem;
  }
  
  .topDoctor__content {
    margin-top: 2.5rem;
  }
  
  .topDoctor__content-head p {
    font-size: 1.75rem;
  }
  
  .topDoctor__content-body {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 2rem;
  }
  
  .topDoctor__image {
    margin-inline: initial;
  }
  
  .topDoctor__text-wrap {
    margin-top: 0;
  }
  
  .topDoctor__text:nth-child(n+2) {
    margin-top: 1.25rem;
  }
}

/* =========== topAccess ======================================= */
.topAccess {
  background: var(--gray);
  padding: 2.5rem 0 3rem;
}

.topAccess__content {
  margin-top: 1.5rem;
}

.topAccess__info span {
  font-size: 1rem;
}

.topAccess__station {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .topAccess {
    padding: 3.5rem 0 4rem;
  }
  
  .topAccess__content {
    margin-top: 2.5rem;
  }
  
  .topAccess__info span {
    font-size: 1.38rem;
  }
  
  .topAccess__station {
    margin-top: 1.25rem;
  }
}

/* =========== topPartners ======================================= */
.topPartners {
  margin-top: 2rem;
}

.topPartners__items {
  margin-top: 1.5rem;
}

.topPartners__item {
  position: relative;
  padding-left: 1.5rem;
}

.topPartners__item::before {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-image: url(/assets/img/common/link-icon.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  background: currentColor;
  mask-image: url(/assets/img/common/link-icon.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%); 
}

.topPartners__item:nth-child(n+2) {
  margin-top: .38rem;
}

@media (min-width: 768px) {
  .topPartners {
    margin-top: 2.5rem;
  }
  
  .topPartners__items {
    margin-top: 2.5rem;
  }

  .topPartners__item {
    padding-left: 1.75rem;
  }

  .topPartners__item::before {
    width: 1.25rem;
    height: 1.25rem;
  }

  .topPartners__item:nth-child(n+2) {
    margin-top: .75rem;
  }
}