@charset "UTF-8";

h4 {font-size: 1.1rem; text-align: center; color: #158EB1; margin-bottom: 1rem;}
h5 { font-size:16px; }

@media screen and (max-width:766px){
	h4 {font-size: 4.5vw;}
	h5 { font-size:16px; }
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
/* ------------------------------ロゴ・メニューバーエリア------------------------------　*/
.page_header {height: 300px;}
.page_header .logo {top: 50px;}
.logo {
    position: absolute;
    top: calc(100vh / 3);
}
.logo:hover {
	opacity: .5;
	transition: 0.5s;
}
a.tel {display: none;}
.page_fixbtn_reserve {position: absolute; bottom: -30px; right: 40px; z-index: 20;}

@media screen and (max-width:768px){
	.page_header {
    height: 50vw;
	}
	.page_header .header-wrapper {
		height: 50vw;
	}
	.page_header .logo {
		top: 50%;
	}
	.site-title {
		font-size: 5.8vw;
    text-align: center;
    line-height: 1.4;
		letter-spacing: .6vw;
		margin: 2vw 0 0;
	}
	.site-title span {
    display: block;
    font-size: 0.9rem;
    letter-spacing: .05rem;
    font-size: 3.8vw;
    margin-top: 2vw;
  }
  a.tel {
	  display: block;
	  display: flex;
    align-items: center;
	}
	.page_fixbtn_reserve {
    
    bottom: -13vw;
    right: 15px;
    z-index: 10;
	}
	

}



/*--------------------------------------------------------------------------------
 *
 * 共通
 *
--------------------------------------------------------------------------------*/
.sub_inner {padding: 30px 0;}
.page_ttl {
	margin-bottom: 3rem;
}
.page_ttl h3 {
	color: #158EB1;
    /* font-size: 17px; */
    font-size: 1.1rem;
    text-align: center;
    padding: .3rem 1rem;
    border: 1px solid #158EB1;
}
.introduction .inner {
	padding-bottom: 0px;
}
span.number {
	color: #158EB1;
    font-size: 27px;
    font-size: 1.7rem;
    border-bottom: 1px solid #158EB1;
    text-align: center;
    display: block;
    width: 30px;
    line-height: 1.7;
    margin: 0 auto 1rem;
}
.menu-anchor {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
    gap: 1.8rem;
}
a.btn_anchor {
	font-size: 1.1rem;
  padding: .85rem 2.1rem;
  display: inline-block;
  color: #323232;
  position: relative;
   transition:.3s ease;
}
a.btn_anchor::after {
	content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #158EB1;
  border-right: solid 2px #158EB1;
  transform: rotate(135deg);
  position: absolute;
  right: .5rem;
  bottom: 0;
  margin: auto;
  top: 0;
}
a.btn_anchor:hover {
	color: #158EB1;
}
.more-btn-wrapper {
	text-align: center;
	margin: 1rem 0;
}
.more-btn-wrapper a.anchor{font-size: .9rem;}

.contents-list {padding: 2.2rem 0;}
.contents-ttl {
	color: #158EB1;
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 1rem;
  line-height: 1.6;
}
.contents-detail p {text-align: center;}
.contents-detail p:not(:last-of-type) {
	margin-bottom: 1rem;
}
.contents-detail p.note {color: #158EB1;}
.contents-list-sub {padding: 2rem 0;}
.contents-ttl-sub {font-size: 0.9rem; border-bottom: 1px solid #158EB1; padding-bottom: .7rem; color: #323232; text-align: center; margin-bottom: 1rem; line-height: 1.6;}
.contents-detail-sub p:not(:last-of-type) {
	margin-bottom: 2rem;
}
.txt-left p {text-align: left;}


.btn_top-wrapper {
	text-align: center;
	margin: 30px auto 85px;
	
}
a.btn_top {
	display: inline-block;
    color: #158EB1;
    font-size: .9rem;
    padding: 1.55rem 5.5rem;
    border: 1px solid #158EB1;
}

@media screen and (max-width: 766px){
	.sub_inner {padding: 30px 0;}
	.menu-anchor {gap: 0; width: 100%;}
  ul.menu-anchor li {flex-basis: 100%; text-align: center;}
	.contents-list-sub {
    padding: 5vw 0;
	}
}


/*--------------------------------------------------------------------------------
 *
 * about.html
 *
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
 * about
--------------------------------------------------------------------------------*/
.about p.lead {
	margin-bottom: 80px;
}

.about-wrapper {display: flex; justify-content: center; flex-wrap: wrap;}
.about-wrapper li {
	flex-basis: calc(100% / 3);
	padding: 0 30px;
	text-align: center;
}
.about-wrapper li:not(:last-of-type) {
	border-right: 1px solid #E1E1E1; 
}

.about-wrapper li p {
	display: inline-block;
	margin-bottom: 1.8rem;
}
.about-wrapper li img {
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 766px){
	.about p.lead {margin-bottom: 5vw;}
	.about-wrapper li {flex-basis: 100%; padding: 8vw 0;}
	.about-wrapper li:not(:last-of-type) {border-right: none; border-bottom: 1px solid #E1E1E1;}
	
}

/*--------------------------------------------------------------------------------
 * treatment
--------------------------------------------------------------------------------*/
.treatment {background-color: #fff; text-align: center;}
.treatment-list {display:flex; flex-wrap: wrap; justify-content:space-evenly; width: 90%; margin:  0 auto;}
.treatment-list li {flex-basis: 47.5%; margin-bottom: 2.6rem;}
a.treatment-btn {display: block; background-color: #fff;
    color: #158EB1;
    font-size: 1.5rem;
    border: .9px solid #158EB1;
    padding: 1.9rem;
    text-align: center; position: relative;}
a.treatment-btn svg {
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    right: 3%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
a.treatment-btn:hover svg {
  right: 0%;
}

a.treatment-btn:active svg {
  transform: scale(0.9);
}

.treatment .note-wrapper {border-bottom: 1px solid #158EB1;
    display: inline-flex;
    justify-content: center;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 1rem;}
.treatment .note-wrapper p {
	display: inline-block;
}

@media screen and (max-width: 766px){
	.treatment-list {width: 100%;}
	.treatment-list li {flex-basis: 100%; margin-bottom: 5vw;}
	a.treatment-btn {font-size: 5vw; padding: 6vw;}
}

/*--------------------------------------------------------------------------------
 * belongings
--------------------------------------------------------------------------------*/
.belongings-list {display: flex; flex-wrap: wrap; justify-content: space-evenly;}
.belongings-item {background-color: #F2F6F7;flex-basis: 29%; padding: 30px;}
.belongings-item img {display: block; margin: 1.5rem auto 0;}
.belongings-item ul li {position: relative; padding-left: .7rem;}
.belongings-item ul li::before {
	position: absolute;
    content: "";
    width: .4rem;
    height: .4rem;
    background-color: #158EB1;
    top: .7rem;
    /* right: 0; */
    left: 0;
    margin: auto;
    border-radius: 50%;
}
.belongings-item p:not(:last-of-type) {
	margin-bottom: 1rem;
}

@media screen and (max-width: 766px){
	.belongings-item {flex-basis: 100%; padding: 8vw;}
	.belongings-item:not(:last-of-type) {margin-bottom: 5vw;}
}

/*--------------------------------------------------------------------------------
 *
 * reservation.html
 *
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
 * flow
--------------------------------------------------------------------------------*/
/* .flow-wrapper {width: 90%;} */
.flow-wrapper > li {padding: 2rem 0; text-align: center;}
.flow-wrapper > li p {text-align: left; display: inline-block;}
.flow-img{display: block; margin: 2rem auto;}
.application-wrapper {border: 1px solid #158EB1; padding: 1.5rem; margin-top: 3rem;}
.application-list {text-align: center; padding: 10px 0;}
.application-list dt {font-size: 1.1rem;
    text-align: center;
    color: #158EB1;
    margin-bottom: 1rem;}
.application-list dd p {text-align: center;}
.application-list .btn-wrapper {margin-top: 0;}
.application-list .btn-wrapper a {display: inline-block; vertical-align: middle; margin: 1rem .5rem 0;}

@media screen and (max-width: 766px){
	.flow-wrapper > li {padding: 0;}
	.flow-wrapper > li:not(:last-of-type) {margin-bottom: 10vw;}
}

/*--------------------------------------------------------------------------------
 *
 * treatment.html
 *
--------------------------------------------------------------------------------*/
.gynecology .contents-detail p {text-align: left;}
.shusseizenn-kennsa p.lead {text-align: left; margin-bottom: 1rem;}
.shusseizenn-kennsa .contents-detail p {text-align: left;}
.prenatal-counseling .contents-ttl {margin-bottom: 1rem;}
.prenatal-counseling .contents-detail p {text-align: center;}

@media screen and (max-width: 766px){
	.ladysdoc p.lead {text-align: justify;}
	.contents-cancertest .contents-detail-sub p {text-align: justify;}
	.contents-uterus .contents-detail-sub p {text-align: justify;}
	.contents-syphilis .contents-detail-sub p {text-align: justify;}
	.contents-htlv .contents-detail-sub p {text-align: justify;}
	.contents-hi .contents-detail-sub p {text-align: justify;}
	.contents-tsh .contents-detail-sub p {text-align: justify;}
	.contents-amh .contents-detail-sub p {text-align: justify;}
	.contents-set .contents-detail-sub p {text-align: justify;}
/* 	p.note {text-align: justify;} */
}


/*--------------------------------------------------------------------------------
 *
 * recruit.html
 *
--------------------------------------------------------------------------------*/
.recruit p.lead {text-align: justify;}

/*--------------------------------------------------------------------------------
 *
 * privacy-policy.html
 *
--------------------------------------------------------------------------------*/
.privacy-policy p.lead {text-align: justify;}
.privacy-policy .page_ttl {margin-bottom: 2rem;}
.privacy-policy-con .contents-wrapper {padding: 1.5rem 0;}
.contents-01 .contents-detail p {text-align: justify;}
.last-txt {text-align: center; margin: 1rem auto 2rem;}

/*--------------------------------------------------------------------------------
 *
 * notice.html
 *
--------------------------------------------------------------------------------*/
.notice p.lead {text-align: justify;}
.notice .page_ttl {margin-bottom: 2rem;}
.notice-con .contents-wrapper {padding: 1.5rem 0;}
.contents-02 .contents-detail-02 p {text-align: justify;}


/*--------------------------------------------------------------------------------
 *
 * popup.html / artmake.html  カスタムページ
 *
--------------------------------------------------------------------------------*/
.custom .ttl {margin-bottom: 0;}

/*--------------------------------------------------------------------------------
 * post
--------------------------------------------------------------------------------*/
.p-ttl {text-align: center; margin-bottom: 2rem;}
span.p-day {color: #323232;
    font-size: .8rem;
    display: inline-block;
    margin-bottom: 2rem;}
.p-ttl h3 {
    line-height: 1.5;
    letter-spacing: .1rem;
    color: #158EB1;
    font-size: 1.5rem;
    text-align: center;
}
.post .inner {max-width: 600px; margin: 0 auto;}
.post .img-wrapper {margin: 1.5rem 0;}
.post .img-wrapper img {display: block; margin: 0 auto;}

.post .txt-wrapper {
   white-space: pre-wrap;
}
.post a {color: #158EB1; text-decoration: underline;}

/*--------------------------------------------------------------------------------
 * topBtn
--------------------------------------------------------------------------------*/


/*
@media screen and (max-width:766px){
.topBtn_page {
	right: 15px;
    bottom: 15px;
}
}
*/