@charset "utf-8";

/*  common reset  */

h2.typeB + p {
	margin-top: 1.875em;
	padding: 0 40px;
}

p + .medicalList {margin-top: 2.1875em;}

.medicalList {
	justify-content: center;
	gap: 0;
	padding: 0;
}
.medicalItem {
	width: 46%;
	margin: 0 2%;
}


/*  common base  */
section + section {padding-top: 5.625em;}
.pageTitle + section {padding-top: 8.125em;}

@media (max-width:640px) {.pageTitle + section {padding-top: 3.5em;}}

/*  common imgItem deco- L (or) R  */

.imgItem[class*="deco-"] {
	position: relative;
	z-index: 10;
	overflow: visible;
	padding: 27.957% 0 27.957%;
}
.imgItem[class*="deco-"]::before {padding: 0;}
.imgItem[class*="deco-"]::before,
.imgItem[class*="deco-"]::after {
	position: absolute;
	z-index: 0;
	width: 21.7392%;
	padding: 10.8696% 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	background-image: url("../img/share/paw-pad-light-blue.png");
	content: '';
}

.imgItem[class*="deco-"]::after {
	bottom: 0; right: 0;
	transform: translate(62.5%,62.5%);
}
.imgItem.deco-L::before {
	top: 0; left: 0;
	transform: translate(-50%,-62.5%);
}
.imgItem.deco-L::after {
	transform: translate(12.5%,56.25%);
}
.imgItem.deco-R::before {
	top: 0; left: 50%;
	transform: translate(-50%,-62.5%);
}
.imgItem.deco-R::after {
	transform: translate(62.5%,62.5%);
}


/*  common mds-skk  */
.mds-skk {
	position: relative;
	padding-left: 0.9375em;}
.mds-skk::before {
	position: absolute;
	top: 0.5em; left: 0;
	content: '';
	display: block;
	width: 0.5em; height: 0.5em;
	background-color: #25547f;}

/*  common cite  */
.cite li {
	position: relative;
	letter-spacing: 0.09375em;
	padding-right: 1em;}
.cite li::before {
	position: absolute;
	top: 0; left: calc(100% - 1.125em);
	content: '／';
	display: block;}
.cite li:last-of-type {
	letter-spacing: 0;
	padding-right: 0;}
.cite li:nth-last-of-type(2)::before,
.cite li:last-of-type::before {display: none;}


@media (min-width:641px) {
	h2.typeB + p {
		text-align: center;
	}
}
@media (max-width:640px) {}


/*  common pageTitle  */
.pageTitle {
	position: relative;
	margin-top: 82px;
	padding: 4.6875em 0 9.3125em;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: auto 100%;
	background-image: 
		url("../img/share/bg-wave01.png"),
		url("../img/share/bg-wave02.png") ;}

.pageTitle::before {
	position: absolute;
	top: 0; left: 78.125%;
	content: '';
	display: block;
	width: 11.875em; height: 18.75em;
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 100% auto;
	background-image: url("../img/share/bg-footprint.png");}

.pageTitle h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 2.625rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}
.pageTitle h2 .en {
	color: #0066a8;
	font-size: 1.5rem;
	margin-top: 0.417em;
	-webkit-text-stroke: 5px #d7e7f2;
	text-stroke: 5px #d7e7f2;
	paint-order: stroke;
}
@media (min-width:641px) {}
@media (max-width:640px) {
	.pageTitle {
	position: relative;
	margin-top: 82px;
	padding: 2em 0 3em;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: auto 100%;
	background-image: 
		url("../img/share/bg-wave01.png"),
		url("../img/share/bg-wave02.png") ;}
	.pageTitle::before {
	position: absolute;
	top: 0; left: 78.125%;
	content: '';
	display: block;
	width: 5em; height: 18.75em;
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 100% auto;
	background-image: url("../img/share/bg-footprint.png");}
}



/* section-contact */
.section-contact {
	padding-top: 160px;
}
.section-contact .contact {
	margin-top: 1em;
	padding: 0;
	background: none;
}
.section-contact .contact::before {
	top: -40px;
	left: -32px;
	z-index: -1;
	background-image: url(../img/share/paw-pad-red.png);
}



/*  main information  */
.greetBox {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2.5em;
	width: 100%;
	max-width: 1040px;
	margin: 1.875em auto 0;
	padding: 0 40px;
}
.greet-right {
	width: calc(50% - 1.125em);
}
.greet-right p:first-child {
	font-size: 1.125em;
}
.greet-right p.name {
	margin-top: 0.75em;
	text-align: right;
}
.greet-right p.name .jp {
	color: #0066a8;
	font-size: 1.25em;
	font-weight: 500;
}

.conceptBox {
	width: 100%;
	max-width: 1080px;
	margin: 1.875em auto 0;
	padding: 60px;
	background: #fcf9e6;
}

.staffList {
	width: 100%;
	max-width: 870px;
	margin: 2.5em auto 0;
}
.staffList li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2.5em;
	position: relative;
	padding: 0 8% 3.125em;
}
.staffList li::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(to right, #0066a8 2px, transparent 2px) left bottom repeat-x;
	background-size: 5px 2px;
	content: '';
}
.staffList li + li {
	padding-top: 3.125em;
}
.staffList li:not(:first-child):last-child {
	padding-bottom: 0;
}
.staffList li:not(:first-child):last-child::after {
	display: none;
}
.staf-text {
	width: calc(50% - 1.25em);
}
.staf-text h3 {
	color: #0066a8;
	font-size: 1.25em;
	font-weight: 500;
}
.staf-text p {
	padding-top: 0.25em;
}

.galleryList {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5em;
	width: 100%;
	max-width: 1040px;
	margin: 1.875em auto 0;
	padding: 0 40px;
}
.galleryList li {
	width: calc((100% - 5em) / 3);
}
.galleryList li:first-child:last-child {
	margin: 0 auto;
}
@media (min-width:641px) {
	.conceptBox p {
		text-align: center;
	}
}
@media (max-width:640px) {
	.greetBox {}
	.greetBox .imgItem {
		order: 1;
	}
	.greet-right {
		width: 100%;
	}

	.staf-text {
		width: 100%;
	}

	.galleryList {
		gap: 1.5em;
	}
	.galleryList li {
		width: calc(50% - 0.75em);
	}
}



/*  main medical  */

.sjt_wk {
	display: flex; flex-wrap: wrap; justify-content: center;
	width: 90.625%;
	margin: 0 auto;
	padding: 2.5em 3.125%;
	background-color: #f0f6fa;
	border-radius: 0.5em;}

h2 + .sjt_wk {margin-top: 2.5em;}
.sjt_wk + .sjt_wk {margin-top: 1.875em;}

.sjt_wk > div {width: 100%;}

.sjt_wk .area-text {
	position: relative;
	z-index: 10;}
.sjt_wk .area-text::before {
	position: absolute;
	z-index: -10;
	top: -1.5625em; left: calc(50% - 3.125em);
	content: '';
	display: block;
	width: 6.25em; height: 5.625em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	background-image: url("../img/share/paw-pad-white.png");
}

.sjt_wk h3 {
	font-size: 1.5em;
	letter-spacing: 0.0834em;
	color: #0066a8;}

.sjt_wk p,
.sjt_wk p + div {padding: 1.625em 7.609%;}
.sjt_wk p + div {
	background-color: #fff;
	border-radius: 0.5em;
}
.sjt_wk h4 + ul {margin-top: 0.75em;}
.sjt_wk ul {display: flex; flex-wrap: wrap; justify-content: flex-start;}

.sjt_wk .area-img img {width: 100%;}


@media (min-width:1192px) {
	.sjt_wk {max-width: 1080px;}
}
@media (min-width:641px) {
	.sjt_wk .area-text::before {top: -35px; left: -35px;}
	
	.sjt_wk > div {width: calc((100% - 4.167%) / 2);}
	.sjt_wk > div + div {margin-left: 4.167%;} 
	
	.sjt_wk:nth-child(2n-1) .area-img {order: -1;}
	.sjt_wk:nth-child(2n-1) .area-text {margin-left: 4.167%;} 
	.sjt_wk:nth-child(2n-1) .area-img {margin-left: 0;}
}
@media (max-width:640px) {
	.sjt_wk h3 {text-align: center;}
	.sjt_wk .area-text {margin-top: 30px;}
	.sjt_wk .area-img {order: -1;}
}



/*  main medical  */
.infoList {
	max-width: 1080px;
	margin-top: 1.875em;
	padding: 72px 60px 60px;
	background: #fcf9e6;
}

.payList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1em;
	margin-top: 2em;
	font-size: 1.125em;
}
.payList li {
	width: 12.333em;
	padding: 0.778em 0 0.889em;
	background: #0066a8;
	border-radius: 3em;
	color: #fff;
	line-height: 1;
	text-align: center;
}

/*  ●●●  */

@media (min-width:641px) {}
@media (max-width:640px) {}

