@charset "utf-8";
img { max-width: 100%; height: auto; }
.mt3em { margin-top: 3em; }
.mt2em { margin-top: 2em; }
.mt1em { margin-top: 1em; }

.t-navy { color: #000850; }
.t-sm { font-size: 1.125rem; }
.t-marker { text-decoration: underline; text-decoration-color: #F2F8FB; text-underline-offset: -.2em; text-decoration-thickness: .6em; }

.t-large { font-size: 1.125rem; }

.breadcrumb { display: flex; flex-wrap: wrap; margin: 1em 0 4em; font-size: .875rem; }
.breadcrumb > li + li::before { content: '>'; margin: 0 .5em; }


.list-dot > li { padding-left: 1em; }
.list-dot > li::before { content: '•'; width: 1em; display: inline-block; margin-left: -1em; }


.list-std { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 1.125rem; }
.list-std > li { border: 1px solid #DDDDDD; border-radius: 10px; text-align: center; padding: 1em; display: flex; align-items: center; justify-content: center; }

.sp-show { display: none; }
@media screen and (max-width: 768px) {
  .sp-hidden { display: none; }
  .sp-show { display: inline; }
  .list-std { font-size: 1rem; gap: 10px;  }
}
@media screen and (max-width: 450px) {
  .list-std { font-size: .85rem; }
}

.page-head  { width: 100%; position: relative; padding-top: 290px; background-size: cover; background-position: center center; background-repeat: no-repeat; }
.page-head.first { background-image: url("../img/common/head-first.jpg") ; }
.page-head.treatment { background-image: url("../img/common/head-treatment.jpg"); }
.page-head.urology { background-image: url("../img/common/head-urology.jpg"); } 
.page-head.psychosomatic { background-image: url("../img/common/head-psychosomatic.jpg"); } 
.page-head.internal { background-image: url("../img/common/head-internal.jpg"); }
.page-head.free { background-image: url("../img/common/head-free.jpg"); }
.page-head.inbound { background-image: url("../img/common/head-foreigner.jpg"); }

.page-head .title{ width: 420px; text-align: center; height: 165px; font-size: 2rem; font-weight: 600; background: #FFF; margin: 0 16px 0 auto; display: flex; align-items: center; justify-content: center; padding: 1em;  color: #000850; }

@media screen and (max-width: 768px) {
  .page-head { padding-top: 40vw; background-size: auto calc(100% - 50px); background-position: center top; }
  .page-head .title { width: 90%; font-size: 1.3rem; margin: 0 auto; height: 100px; padding: 0; bottom: -50px; }
}

.page-lead { text-align: center; }

.pagelead-links { width: 90%; max-width: 880px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; margin-top: 2em; }
.pagelead-links a { display: block; background: #000850; color: #FFF; padding: 1em; font-size: 1.125rem; text-align: center; }

@media screen and (max-width: 768px) {
  .pagelead-links { grid-template-columns: 1fr; gap: 10px; }
}

.page-main { padding-bottom: 90px; position: relative; overflow: hidden; }
.page-title-en { position: absolute; left: 0; bottom: 100%; margin: auto; transform: rotate(90deg); transform-origin: left bottom; white-space: nowrap; color: #F7F1EA; font-size: 6rem; font-family: 'Cormorant Garamond', serif; white-space: nowrap; text-transform: uppercase; line-height: 1; mix-blend-mode: darken; }

@media screen and (max-width: 768px) {
  .page-title-en { line-height: .6; opacity: .8; }
}
.title-std { color: #000850; font-size: 2rem; border-bottom: 1px solid; padding-bottom: .2em; margin-bottom: 1em; font-weight: 600; }

.title-large { text-align: center; font-size: 2rem; color: #000850; font-weight: 600;  }
.title-large .en { color: #F7F1EA; display: block; font-size: 3em; font-family: 'Cormorant Garamond', serif; font-weight: 400; text-transform: uppercase; line-height: 1; }

.title-std-s { font-size: 1.8rem; margin-bottom: .5em; color: #000850; font-weight: 600; }

.title-std.reserve { display: flex; justify-content: space-between; border-color: #C0A033; margin-bottom: .3em; align-items: center; border: none; }
.title-std.reserve .en { color: #F7F1EA; font-size: 3rem; font-family: 'Cormorant Garamond', serif; text-transform: uppercase; line-height: 1; font-weight: 400; }


@media screen and (max-width: 768px) {
  .title-std.reserve  { display: block; }
}


.title-std.access { display: flex; justify-content: space-between; border-color: #C0A033; margin-bottom: .3em; align-items: center; }
.title-std.access .en { color: #F7F1EA; font-size: 3rem; font-family: 'Cormorant Garamond', serif;font-weight: 400; text-transform: uppercase; line-height: 1; }

@media screen and (max-width: 768px) {
  
  .title-std { font-size: 1.5rem; }
  .title-large { font-size: 1.5rem; }
  .title-large .en { font-size: 2em; }
  .title-std-s { font-size: 1.3rem; }
}

.table-round { border-radius: 10px; border: 1px solid #DDDDDD; overflow: hidden; }
.table-round table { width: 100%; }
.table-round thead { background: #FAFAFA; text-align: center; font-weight: normal; }
.table-round thead th { text-align: center; font-weight: normal; padding: .5em; }
.table-round thead th + th { border-left: 1px solid #DDDDDD; }
.table-round tbody tr { border-top: 1px solid #DDD; }
.table-round tbody th { padding: .5em 1em; font-weight: normal; }
.table-round tbody td { border-left: 1px solid #DDD; padding: .5em 1em; }
.table-round tbody td:last-child { text-align: right; }

@media screen and (max-width: 768px) {
  .table-round thead { display: none; }
  
  .table-round tr,
  .table-round th,
  .table-round td { display: block; width: 100%; }
  
  .table-round tbody tr:first-child { border-top: none; }
  .table-round tbody th,
  .table-round tbody td { padding: .5em; border: none; }
  .table-round tbody th { font-size: 1.15rem; }
  .table-round tbody td:not(:last-child) { padding-left: 1.5em; padding-bottom: 0; }
}

.mv { display: block; background: url("../img/common/mv.jpg") no-repeat center center / cover; padding: 150px 0; } 
.mv .title{ max-width: 70%; width: 480px; margin: 0 auto; }


.home-right-conts { width: calc(50% + 500px); margin: 0 0 0 auto; }


@media screen and (max-width: 1000px) {
  .home-right-conts { width: 100%; }
}

.home-menu .sub { display:  grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }


.bnr-home-time { text-align: center; font-size: 2.3rem; padding: .7em ; border: 4px solid #000850; display: block; color: #5b4a2f; background: url("../img/common/bnr-time.png") no-repeat center center / cover; font-weight: bold; }
.bnr-home-first {  font-size: 2.3rem; padding: .7em ; border: 4px solid #000850; display: block; color: #5b4a2f;position: relative;  background: url("../img/common/bnr-first.png") no-repeat center center / cover;font-weight: bold; } 
.bnr-home-first span{ background: #000850; }

.bnr-home-treatment {  font-size: 2.3rem; padding: .7em ; border: 4px solid #a7a398; display: block; color: #5b4a2f; position: relative;  background: url("../img/common/bnr-treatment.png") no-repeat center center / cover; font-weight: bold; } 
.bnr-home-treatment span{ background: #a7a398; }

.bnr-home-first span, 
.bnr-home-treatment span {position: absolute; right: 0; bottom: 0; width: fit-content; margin: auto; color: #FFF; font-size: 1rem; width: fit-content; display: block;padding: .5em 1em; }
.bnr-home-treatment span::after,
.bnr-home-first span::after { content: ''; width: .5em; height: .5em; display: inline-block; border-right: 2px solid #FFF; border-top: 2px solid #FFF; transform: rotate(45deg); vertical-align: middle; margin-left: .5em; }


@media screen and (max-width: 768px) {
  .bnr-home-time  { font-size: 1.5rem; text-align: left; }
  .bnr-home-first { font-size: 1.5rem; }
  .bnr-home-treatment { font-size: 1.5rem; }
  .home-menu .sub { grid-template-columns: 1fr;  margin-top: 20px; }
  
  .bnr-home-first span,
  .bnr-home-treatment span { font-size: .8rem; }
}
  

.home-treatment { display: flex; justify-content: space-between; align-items: flex-start; }
.home-treatment .text { width: 48%; }
.home-treatment .links { width: 48%; display: grid; grid-template-areas: "int psy" "uro fre" "inb inb"; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }

.home-treatment .links a { display: block; text-align: center; background-size: cover; background-position: center center; background-repeat: no-repeat; background-color: #456C8B; background-blend-mode: multiply; color: #FFF; font-size: 1.25rem; padding: 4rem 0; position: relative; }

.home-treatment .links a::after { content: ''; width: .5em; height: .5em; display: inline-block; border-top: 1px solid #FFF; border-right: 1px solid #FFF; transform: rotate(45deg); margin-left: .5em; }

.home-treatment .links .internal { grid-area: int; background-image: url("../img/common/head-internal.jpg"); }
.home-treatment .links .psychosomatic { grid-area: psy;  background-image: url("../img/common/head-psychosomatic.jpg"); }
.home-treatment .links .urology { grid-area: uro;  background-image: url("../img/common/head-urology.jpg"); }
.home-treatment .links .free { grid-area: fre;  background-image: url("../img/common/head-free.jpg"); }
.home-treatment .links .inbound { grid-area: inb;  background-image: url("../img/common/head-foreigner.jpg"); padding: 2rem 0;  }

@media screen and (max-width: 768px) {
  .home-treatment { flex-direction: column; }
  .home-treatment .text { width: 100%; margin-bottom: 3em; }
  .home-treatment .links { width: 100%; }
}

.home-news { display: flex; justify-content: space-between; }
.home-news .title-home-news { font-size: 2rem; font-weight: 600; color: #000850; flex-shrink: 0;}
.home-news .title-home-news .en { display: block;  color: #F7F1EA; width: fit-content; display: block; font-size: 2.2em; line-height: 1; font-family: 'Cormorant Garamond', serif; text-transform: uppercase; font-weight: 400; }
.home-news .conts { width: 55%; padding-top: 4em;   }

.list-news { display: grid; grid-template-columns: 7em  10em minmax(0, 1fr);align-items: flex-start; gap: 1em; }
.list-news > dd { margin-bottom: 1em; }
.list-news .category > span  { background: #829DB9; color: #FFF; display: inline-block; width: 100%; font-size: .75rem; text-align: center; line-height: 2; padding: 0 .5em; }

.home-news .more { display: inline-block; margin: 2em auto 0 0 ; color: #000850; padding: 0 2em; border: 1px solid; border-radius: 2em; }

@media screen and (max-width: 1200px) {
  .home-news .conts { width: 65%; }
}
@media screen and (max-width: 900px) {
  .home-news .title-home-news { font-size: 1.5rem; }
  
  .home-news { flex-direction: column; }
  .home-news .title-home-news { width: 100%; }
  .home-news .conts { width: 100%; padding-top: 2em; }
  .list-news { display: block; }
  .list-news .date { float: left; }
  .list-news .category { padding-left: 7em; width: fit-content; margin-bottom: .5em; }
  .list-news .category > span { padding: 0 1em; }
}

.home-time { position: relative; padding-top: 20rem; margin-top: 50px; }
.home-title-clinic { transform: rotate(90deg); color: #F7F1EA; width: fit-content; display: block; font-size: 6rem; line-height: 1; font-family: 'Cormorant Garamond', serif; text-transform: uppercase; position: absolute; left: 0; bottom: 100%; margin: auto; transform-origin: left bottom; }


@media screen and (max-width: 540px) {
  .home-time { padding-top: 15rem; margin-top: 30px; }
  .home-title-clinic { font-size: 4rem; }
}
.home-feature { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; counter-reset: lisetnum; }
.home-feature > li { counter-increment: listnum; }
.home-feature .title { font-size: 1.8rem; color: #000850; margin-bottom: 1em; font-weight: 600;  }
.home-feature .title::before { content: counter(listnum, decimal-leading-zero); display: block; }


@media screen and (max-width: 768px) {
  .home-feature .title { font-size: 1.4rem; }
}
@media screen and (max-width: 540px) {
  .home-feature  { grid-template-columns: 1fr; gap: 30px;  }
}

.home-reservation { width: 660px; margin: 0 auto; }
.home-reservation > li { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: center;  margin-top: 50px; }
.home-reservation .btn { display: block; text-align: center; color: #FFF; background: #000850; padding: 1em; }

@media screen and (max-width: 768px) {
  .home-reservation { width: 90%; margin: 0 auto; }
  .home-reservation > li { grid-template-columns: 1fr; gap: 1em; text-align: center; }
}

.home-access { display: flex; justify-content: space-between; }
.home-access .img { width: 48%; }
.home-access .text { width: 48%; }
.home-access .tel { background: #000850; color: #FFF; padding: .2em 2em; display: inline-block; margin-bottom: 2em;  }
@media screen and (max-width: 768px) {
  .home-access { flex-direction: column; }
  .home-access .img { width: 100%; margin-bottom: 2em;  }
  .home-access .text { width: 100%; }
}


.list-treatment { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.list-treatment .item { box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 10px; padding: 1em 0; }
.list-treatment .item .title { text-align: center; font-size: 2rem; color: #000850; font-weight: 600; margin-bottom: .5em; }
.list-treatment .item .text{ padding: 1em 2em; }
.list-treatment img{ aspect-ratio: 2 / 1; object-fit: cover; display: block; }

@media screen and (max-width: 900px) {
  .list-treatment { gap: 20px; }
  .list-treatment .item .title { font-size: 1.5rem;  }
}
@media screen and (max-width: 768px) {
  .list-treatment { grid-template-columns: 1fr; }
}


.treatment-foreigner { box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 10px;  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; overflow: hidden; }
.treatment-foreigner .img { width: 100%; height: 100%; object-fit: cover; }
.treatment-foreigner .text { padding: 1.5em 1.5em 1.5em 0;  }
.treatment-foreigner .title { font-size: 2rem; font-weight: 600; color: #000850; margin-bottom: .5em; }

@media screen and (max-width: 768px) {
  .treatment-foreigner { grid-template-columns: 1fr; gap: 0; }
  .treatment-foreigner .text { padding: 1rem; }
  .treatment-foreigner .title { font-size: 1.5rem; }
}


.list-qa .item { border: 1px solid #DDDDDD; border-radius: 10px; position: relative; cursor: pointer; }
.list-qa .item::before,
.list-qa .item::after { content: ''; width: 1.3em; height: 2px; display: block; position: absolute; right: 1.3em; top: 2em; margin: auto; background: #000850; transition: transform .3s;  }
.list-qa .item::after { transform: rotate(90deg); }
.list-qa .item.open::after { transform: rotate(0); }
.list-qa .item + .item { margin-top: 20px; }
.list-qa .item dt { color: #000850; padding: 1em 3em ; position: relative; min-height: 4em;}
.list-qa .item dt::before { content: 'Q'; font-size: 2rem; font-family: 'Cormorant Garamond', serif; position: absolute; top: .3em; left: .3em; margin: auto; line-height: 1;  }

.list-qa .item dd { display: none; }
.list-qa .item dd .inner { padding: 1em 1em 1em 3em ; position: relative; border-top: 1px solid #DDDDDD; min-height: 4em; }
.list-qa .item dd .inner::before { content: 'A'; font-size: 2rem; font-family: 'Cormorant Garamond', serif; position: absolute; top: .3em; left: .3em; margin: auto; line-height: 1;  color: #BCBECE;  }


.first-conts { display: flex; justify-content: space-between; flex-direction: row-reverse; font-size: .95rem; }
.first-conts + .first-conts { margin-top: 60px; }
.first-conts.-reverse { flex-direction: row; }
.first-conts .img { width: 48%; }
.first-conts .text { width: 48%; }
.first-conts .title { font-size: 2rem; color: #000850; border-bottom: 1px solid; padding-bottom: .2em; margin-bottom: .5em; font-weight: 600; line-height: 1.5; }

@media screen and (max-width: 768px) {
  .first-conts,
  .first-conts.-reverse { flex-direction: column; }
  .first-conts .img { width: 100%; margin-bottom: 2em; }
  .first-conts .text { width: 100%; }
  .first-conts .title { font-size: 1.5rem; }
}

.list-flow { counter-reset: listnum; }
.list-flow > li { display: flex; justify-content: space-between; counter-increment: listnum; margin-bottom: 70px; position: relative; }
.list-flow > li:not(:last-child)::after { content: ''; width: 44px; height: 30px; display: block; margin: 20px auto; background: url(../img/first/flow-arrow.svg) no-repeat center center / 100% 100%; position: absolute; top: 100%; left: 0; right: 0;}
.list-flow .img { width: 35%; }
.list-flow .text { width: 60%; }
.list-flow .title { font-size: 1.8rem; margin-bottom: .5em; padding-bottom: .2em; border-bottom: 1px solid; color:#000850; font-weight: 600;  }
.list-flow .title::before { content: counter(listnum, decimal-leading-zero); margin-right: 1em; }

@media screen and (max-width: 768px) {
  .list-flow  .title { font-size: 1.3rem; }
}


.inbound-feature { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.inbound-feature > li { border: 1px solid #DDD; border-radius: 10px; padding: 1em; text-align: center; }
.inbound-feature img { width: 90%; aspect-ratio: 2 / 1; object-fit: contain; }
.inbound-feature p { margin-top: 1em; }
.inbound-feature-msg { font-size: 1.125rem; text-align: center; margin-top: 1em; }


@media screen and (max-width: 768px) {
  .inbound-feature { grid-template-columns: 1fr; }
}

.first-bnr { border: 3px solid #000850; background: url("../img/common/bnr-first-bg.jpg") no-repeat center center / cover; position: relative; padding: 3rem 2.5rem; }
.first-bnr::before { content: ''; width: 100%; height: 100%; background: rgba(255, 255,255, .75); display: block; position: absolute; inset: 0; margin: auto; } 
.first-bnr .ttl { position: relative; z-index: 2; color: #594D31; font-size: 2rem; }
.first-bnr .btn { position: absolute; right: 0; bottom: 0; margin: auto; background: #000850; color: #FFF; z-index: 2; display: block; width: fit-content; padding: .2em .5em; font-size: 1.25rem;  }
.first-bnr .btn::after { content: ''; width: .3em; height: .3em; display: inline-block; vertical-align: middle; margin-left: .5em; border-top: 1px solid #FFF; border-right: 1px solid #FFF; transform: rotate(45deg);  }

@media screen and (max-width: 768px) {
  .first-bnr { padding: 2rem 1.5rem; }
  .first-bnr .ttl { font-size: 1.5rem;  }
}
.timetable{ width: 100%; border: 1px solid #A1CEDE; color: #000850; text-align: center; font-size: 1.125rem; margin-bottom: 1em;  } 

.timetable .note { display: block; font-size: .6em; }
.timetable th { background:  #E9EEF1; text-align: center; vertical-align: middle; padding: 1em;  }
.timetable th:first-child { width: 10em; }
.timetable td { padding: 1em; text-align: center; }
.timetable thead th + th,
.timetable tbody td { border-left: 1px solid #A1CEDE; vertical-align: middle; }
.timetable tbody tr { border-top: 1px solid #A1CEDE; }

@media screen and (max-width: 768px) {
  .timetable th { padding: .5em; font-size: 1rem; }
  .timetable td { padding: .5em; }
  .timetable th:first-child { width: auto; }
}
.access-conts { display: flex; justify-content: space-between; }
.access-conts .img { width: 55%; }
.access-conts .text { width: 40%; }


@media screen and (max-width: 768px) {
  .access-conts { flex-direction: column; }
  .access-conts .img { width: 100%; }
  .access-conts .text { width: 100%; margin-bottom: 2em; }
}


.page-body h2 { color: #000850; font-size: 2rem; border-bottom: 1px solid; padding-bottom: .2em; font-weight: 600; margin: 2em 0 1em;}
.page-body h3 { font-size: 1.8rem; color: #000850; font-weight: 600; margin: 1.5em 0 .5em;}
.page-body h4 { font-size: 1.5rem; color: #000850; font-weight: 600; margin: 1.5em 0 .5em; }


.page-body .wp-block-table { border-radius: 10px; border: 1px solid #DDDDDD; overflow: hidden; }
.page-body table { width: 100%; }
.page-body thead { background: #FAFAFA; text-align: center; font-weight: normal; border: none; }
.page-body thead th { text-align: center; font-weight: normal; padding: .5em; border: none; }
.page-body thead th + th { border-left: 1px solid #DDDDDD; }
.page-body tbody tr { border-top: 1px solid #DDD; }
.page-body tbody th { padding: .5em 1em; font-weight: normal; }
.page-body tbody td { border: none;  border-left: 1px solid #DDD; padding: .5em 1em; }

@media screen and (max-width: 768px) {
  .page-body h2 { font-size: 1.5rem;}
.page-body h3 { font-size: 1.4rem;}
  .page-body h4 { font-size: 1.3rem; }
}

