@charset "utf-8";

/* ======================================
   etc
====================================== */

@import "./src/jQ.HumbergerNav.css";

/* fix footer to bottom => ref:common.js */
body.__footer_bottom {
	position : relative;
	height : 100%;
}
body.__footer_bottom #pageFooter {
	position : fixed;
	bottom : 0;
	width : 100%;
}

#jqPopupContent_window {
	background-color : rgba(0, 0, 0, 0.3);
}

#jqPopupContent_container {
	max-width : 84%;
	padding : 1.4em;
	background-color : #ffffff;
}

#jqPopupContent_inner {
	overflow-y : auto;
	font-family : "新ゴ R";
	margin-bottom : 1em;
	font-size: 16px;
	letter-spacing: 0.1em;
}

#jqPopupContent_inner a {
	text-decoration : underline;
	color : #237cc5;
}
#jqPopupContent_inner a:hover {
	text-decoration : none;
	color : #3b94dd;
}

#jqPopupContent_inner .note__image {
	display : flex;
	justify-content : flex-start;
	margin-bottom : 1.45em;
}
#jqPopupContent_inner .note__image img {
	height : 240px;
	object-fit : contain;
}
#jqPopupContent_container .__close {
	padding : 0.5em;
	text-align : center;
	color : #ffffff;
	background-color : #666666;
}
/* ======================================
   common
====================================== */
body > section:first-of-type {
	transition : 0.3s ease-out;
}

#pageHeader > .inner {
	padding : 0 24px;
}

h2 {
	margin-bottom : 1em;
}

.content > p:not(:last-child) {
	margin-bottom : 1.4em;
}

/* pagetop */
#pageTop a {
	display : block;
	z-index : 1;
	position : relative;
	position : fixed;
	right : 20px;
	bottom : 20px;
	overflow : hidden;
	width : 0;
	height : 0;
	padding : 60px 0 0 60px;
	border-radius : 50%;
	background-color : #0183bc;
}
#pageTop a::before {
	display : inline-block;
	position : absolute;
	top : 50%;
	left : 50%;
	font-size : 24px;
	width : 14px;
	height : 14px;
	margin : -4.5px 0 0 -8px;
	content : "";
	transform : rotate(-45deg);
	border : 0;
	border-top : solid 3px #ffffff;
	border-right : solid 3px #ffffff;
}

/* ======================================
   pageHeader
====================================== */

#pageHeader {
	z-index : 5;
	position : sticky;
	top : 0;
	width : 100%;
	transition : 0.3s ease-out;
	background : #ffffff;
}
#pageHeader .inner {
	display : flex;
	flex-direction : row;
	justify-content : space-between;
	height : 80px;
	transition : 0.3s ease-out;
}
#pageHeader .logo {
	display : flex;
	flex-basis : 300px;
	align-items : center;
	margin-right : 24px;
}
#pageHeader .logo a {
	font-family : "TBUDゴシック E";
	font-size : 1.6rem;
	text-decoration : none;
	color : #0183bc;
}
#pageHeader .logo img {
	width : 100%;
}
#pageHeader .content {
	display : flex;
	flex-grow : 1;
	flex-shrink : 0;
	justify-content : flex-end;
}

#pageHeader .contactNav {
	display : grid;
	grid-template-columns : auto 9em;
	grid-gap : 12px;
	align-items : center;
	padding : 16px 0;
}
#pageHeader .contactNav .tel a {
	display : block;
	font-size : 1.25em;
	text-decoration : none;
	letter-spacing : 0.0625em;
}
#pageHeader .contactNav .tel a span {
	font-size : 0.6em;
}
#pageHeader .contactNav .tel .hour {
	font-size : 0.65em;
	letter-spacing : 0;
}
#pageHeader .contactNav .contact a {
	display : block;
	padding : 0.6em;
	text-align : center;
	color : #ffffff;
	background-color : #0183bc;
}

/* ======================================
   globalNav
====================================== */

#globalNav {
	display : flex;
	position : static;
	flex-shrink : 0;
	align-items : center;
}
#globalNav ul {
	display : flex;
	justify-content : flex-end;
	align-items : center;
}
#globalNav ul li {
	margin-right : 1em;
}
#globalNav ul li a {
	display : inline-block;
	position : relative;
	padding : 0.65em 0;
	text-decoration : none;
	letter-spacing : 0.0625em;
}
#globalNav ul li a::after {
	display : block;
	position : absolute;
	bottom : 0;
	left : 50%;
	width : 0;
	height : 1px;
	content : "";
	transition : 0.2s ease-out;
	background-color : #0183bc;
}
#globalNav ul li a:hover::after {
	left : 0;
	width : 100%;
}

/* ======================================
   pageBody
====================================== */

#pageBody > section {
	margin-bottom : 60px;
}
section > .inner {
	max-width : 1024px;
	margin : 0 auto;
	padding : 0 32px;
}
section h3 {
	font-size : 1.8em;
	line-height : 1.45;
	margin-bottom : 1.45em;
	text-align : center;
}

#contentHeader {
	margin-bottom : 80px;
}

#pageBody h2.contentTitle {
	display : flex;
	font-size : 2.2em;
	line-height : 1.75;
	flex-direction : column-reverse;
	align-items : center;
}
#pageBody h2.contentTitle span {
	display : block;
	font-size : 0.4em;
	margin-left : 0.25em;
	color : #0183bc;
}

#pageTitle {
	display : flex;
	font-size : 2.2em;
	flex-direction : column;
	justify-content : center;
	align-items : center;
	height : 455px;
	margin : 0 auto;
	padding : 0 24px;
	text-shadow : 0 0 0.1em rgba(0, 0, 0, 0.5), 0 0 0.3em rgba(0, 0, 0, 0.4),
	0 0 0.6em rgba(0, 0, 0, 0.3);
	letter-spacing : 0.25em;
	color : #ffffff;
}
#pageTitle span {
	font-size : 0.5em;
	margin-top : 0.5em;
	letter-spacing : 0.0625em;
}



/* Related_clinics */
section#Related_clinics {
	margin : 0;
	padding : 80px 0;
	background-color: #e3e8e8;
}
#Related_clinics > ul {
    display: flex;
    align-items: center;
    justify-content: center;
	max-width : 1024px;
	height: auto;
	margin : 0 auto;
}
#Related_clinics > ul li {
	padding: 10px 0 ;
	margin: 0;
	text-align: center;
	border-left: 1px solid #CCC;
	width : 36%;
}
#Related_clinics > ul .ouzankai_logo {
	padding: 0;
	margin: 0;
	text-align: center;
	border-left: none;
	width : 28%;
}

#Related_clinics > ul .copy {
	font-size: 1.1em;
	font-family: Ryumin Bold KL;
	letter-spacing: 0.1em;
}
#Related_clinics > ul li img {
	width : 200px;
	text-align: center;
}
#Related_clinics > ul li p {
	margin : 15px auto 10px;
	letter-spacing: 0.1em;
	font-size: 0.85em;
}
#Related_clinics > ul li .tel {
	margin-bottom: 20px;
}
#Related_clinics > ul li .tel span {
	font-size: 1.45em;
}
#Related_clinics > ul li .button a {
	display : inline-block;
	position : relative;
	max-width : 100%;
	padding : 1em 7em 1em 1em;
	transition : 0.2s ease-out;
	color : #FFF;
	background-color : #0183bc;
}
#Related_clinics > ul li .button a:hover {
  	opacity: 0.7;
	-moz-opacity:0.7;
	filter: alpha(opacity=70);
}
#Related_clinics > ul li .button a::after {
	display : inline-block;
	position : absolute;
	top : 50%;
	right : 1em;
	content : ">";
	transform : translateY(-50%);
}




/* ======================================
   pageFooter
====================================== */

#pageFooter {
	background-color : #3e4a4e;
}
#pageFooter > .inner {
	display : grid;
	grid-template-columns : 1fr 1fr;
	grid-gap : 24px;
	max-width : 1024px;
	margin : 0 auto;
	padding : 32px;
	color : #ffffff;
}
#pageFooter .inner .name {
	width: 270px;
	margin-bottom : 0.8em;
}
#pageFooter .inner .name img {
	width: 100%;
}
#pageFooter .inner .copy {
	font-family : "リュウミン R-KL";
	font-size : 0.8em;
	margin-bottom : 1.5em;
	letter-spacing : 0.0625em;
	color : #FFFFFF;
}

#pageFooter .contactNav {
	display : flex;
	justify-content : flex-end;
}
#pageFooter .contactNav .tel {
	margin-right : 12px;
}
#pageFooter .contactNav .tel a {
	display : block;
	font-size : 1.4em;
	margin-bottom : 0.4em;
	color : #ffffff;
}
#pageFooter .contactNav .tel a span {
	font-size : 0.6em;
}
#pageFooter .contactNav .tel .hour {
	font-size : 0.7em;
}
#pageFooter .contactNav .contact a {
	display : block;
	padding : 0.6em 1.2em;
	color : #ffffff;
	background-color : #0183bc;
}
#footerNav {
	padding : 0 24px;
	background-color : #727b7f;
}
#footerNav ul {
	display : flex;
	justify-content : center;
	max-width : 1024px;
	margin : 0 auto;
}
#footerNav li a {
	display : block;
	position : relative;
	padding : 2.4em 1.4em;
	text-align : center;
	text-decoration : none;
	color : #ffffff;
}
#copyright {
	padding : 1em 0;
	text-align : center;
	color : #000000;
	background-color : #ffffff;
}

.isSp {
	display : none;
}

/* --- for 2K or more pc --- 
@media screen and (min-width: 1980px) {
}
*/

/* --- for HD pc --- 
@media screen and (min-width: 1440px) and (max-width: 1979px) {
}
*/

/* --- for pc --- 
@media screen and (min-width: 1024px) {
}
*/

/* --- for tablet --- */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	#pageHeader {
		box-shadow : 0 0 4px -2px #000000;
	}
	#pageHeader .inner {
		height : 60px;
		padding-right : 96px;
	}
	#globalNav {
		display : block;
		position : fixed;
		height : 100%;
	}
	#globalNav ul {
		display : block;
		border-left : 1px solid #eeeeee;
	}
	#globalNav ul li {
		border-bottom : 1px solid #eeeeee;
	}
	#globalNav ul li a {
		display : block;
		padding : 1.4em 1em;
	}

	#pageTitle {
		height : 280px;
	}

	#pageFooter > .inner {
		grid-template-columns : 45% 1fr;
		grid-gap : 16px;
	}
	#pageFooter .inner .name {
		margin-bottom : 0.75em;
	}
	#pageFooter .inner .name span {
		display : block;
		font-size : 0.6em;
		margin-left : 0;
	}
	#Related_clinics > ul .ouzankai_logo img {
		width : 90%;
	}
}

/* --- for mobile --- */
@media screen and (max-width: 767px) {
	.isSp {
		display : block;
	}

	#pageBody > section {
		margin-bottom : 48px;
	}
	section > .inner {
		padding : 0 24px;
	}
	section h3 {
		margin-bottom : 1em;
	}
	#contentHeader {
		margin-bottom : 60px;
	}
	#pageBody h2.contentTitle {
		font-size : 1.6em;
	}
	#pageTitle {
		font-size : 1.8em;
		height : 200px;
	}

	#pageHeader {
		box-shadow : 0 0 4px -2px #000000;
	}
	#pageHeader .inner {
		height : 60px;
		padding-right : 60px;
		padding-left : 0;
	}
	#pageHeader .logo {
		justify-content : flex-start;
		align-items : center;
		margin-right : 0;
	}
	#pageHeader .logo a {
		font-size : 1em;
		padding-right : 1.2em;
		padding-bottom : 0;
		padding-left : 1.2em;
	}
	#globalNav {
		display : block;
		position : fixed;
		height : 100%;
	}
	#globalNav ul {
		display : block;
		border-left : 1px solid #eeeeee;
	}
	#globalNav ul li {
		margin-right : 0;
		border-bottom : 1px solid #eeeeee;
	}
	#globalNav ul li a {
		display : block;
		padding : 1.4em 1em;
	}

	#pageHeader .content {
		flex-grow : 0;
	}
	#pageHeader .contactNav {
		display : flex;
		grid-gap : 0;
		justify-content : flex-end;
		padding : 0;
	}
	#pageHeader .contactNav a {
		position : relative;
		overflow : hidden;
		width : 0;
		height : 0;
		margin : 0;
		padding : 60px 60px 0 0;
		border-left : 1px solid #eeeeee;
	}
	#pageHeader .contactNav .tel a::after {
		display : flex;
		z-index : 0;
		position : absolute;
		top : 0;
		left : 0;
		font-family : "micon";
		font-size : 32px;
		flex-direction : column;
		justify-content : center;
		align-items : center;
		width : 100%;
		height : 100%;
		content : "\e004";
		text-indent : 0;
		color : #222222;
	}
	#pageHeader .contactNav .tel .hour {
		display : none;
	}
	#pageHeader .contactNav .contact a {
		position : relative;
		overflow : hidden;
		width : 0;
		height : 0;
		margin : 0;
		padding : 60px 60px 0 0;
	}
	#pageHeader .contactNav .contact a::after {
		display : flex;
		z-index : 0;
		position : absolute;
		top : 0;
		left : 0;
		font-family : "micon";
		font-size : 32px;
		flex-direction : column;
		justify-content : center;
		align-items : center;
		width : 100%;
		height : 100%;
		content : "\e003";
		text-indent : 0;
		color : #ffffff;
	}
	
	/* Related_clinics */
	section#Related_clinics {
		padding : 30px;
	}
	#Related_clinics > .ouzankai_logo {
		margin : 0 auto 30px;
	}
	#Related_clinics > ul {
    	display: block;
		width : 100%;
		height: auto;
		margin : 0 auto;
	}
	#Related_clinics > ul li {
		padding: 30px 0;
		border-left: none;
		border-top: 1px solid #CCC;
		width : 100%;
	}
	#Related_clinics > ul .ouzankai_logo {
		padding: 30px 0 20px;
		margin: 0;
		text-align: center;
		border-top: none;
		width : 100%;
	}	
	
	
	#pageFooter > .inner {
		display : block;
		padding : 24px;
	}
	#pageFooter .inner .name {
		margin-bottom : 1em;
	}
	#pageFooter .inner .name span {
		display : block;
		margin : 0;
	}
	#pageFooter .storeInfo {
		margin-bottom : 1em;
	}
	#pageFooter .contactNav {
		display : block;
	}
	#pageFooter .contactNav .tel {
		margin : 0 0 1em;
	}
	#footerNav {
		padding : 0;
	}
	#footerNav ul {
		display : flex;
		flex-wrap : wrap;
	}
	#footerNav ul > li {
	flex-basis : 34%;
	flex-grow : 1;
	border-top : 1px solid #9EA2A4;
	}
	#footerNav ul > li:first-child {
		flex-basis : 100%;
		border-top : none;
	}
	#footerNav ul > li:nth-child(2n+1){
		border-left : 1px solid #9EA2A4;
	}
	#footerNav ul > li:nth-child(1){
		border-left : none;
	}
	#footerNav li a {
		padding : 1.25em;
	}
}
