@charset "UTF-8";
/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
Description: genova template.
Version: 1.0
*/
/* =====================================
■BASE
===================================== */
html {
	font-size: 62.5%; }

body {
	/*   font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;*/
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.15em;
	line-height: 32px;
	background: #F2F4F5;
	color: #000;
	position: relative;
	-webkit-text-size-adjust: 100%; }

a {
	color: #000;
	text-decoration: none;
	vertical-align: middle;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s; }
a img {
	transition-duration: 0.7s; }

a:focus,
*:focus {
	outline: none; }

a[href^="tel:"] {
	pointer-events: none;
	cursor: text; }

@media screen and (max-width: 767px) {
	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer; } }
/* =====================================
■MODULE
===================================== */
/*--------------------------------------
Font
--------------------------------------*/
.fnt-cormorant {
	font-family: "Cormorant", serif; }

/*--------------------------------------
汎用
--------------------------------------*/
/* float */
.fr {
	float: right !important; }

.fl {
	float: left !important; }

/* clears */
.clearfix {
	*zoom: 1; }

.clearfix:after {
	content: "";
	display: table;
	clear: both; }

.cl {
	clear: both !important; }

/* text indent */
.textHide {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap; }

/* text-align */
.tac {
	text-align: center; }

.tar {
	text-align: right; }

.tal {
	text-align: left; }

/* font-weight */
.fb {
	font-weight: bold; }

.cl-blue {
	color: #224C76; }
.cl-white {
	color: #fff; }

/*--------------------------------------
Icon fonts
--------------------------------------*/
@font-face {
	font-family: 'icomoon';
	src: url("img/fonts/icomoon.eot");
	src: url("img/fonts/icomoon.eot#iefix") format("embedded-opentype"), url("img/fonts/icomoon.ttf") format("truetype"), url("img/fonts/icomoon.woff") format("woff"), url("img/fonts/icomoon.svg#icomoon") format("svg");
	font-weight: normal;
	font-style: normal; }
[class*='icon-']:not([class*='eicon-']):before {
	display: inline-block;
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; }

.icon-blog:before {
	content: "\e900"; }

.icon-category:before {
	content: "\e901"; }

.icon-check:before {
	content: "\e902"; }

.icon-checked:before {
	content: "\e903"; }

.icon-down:before {
	content: "\e904"; }

.icon-facebook:before {
	content: "\e905"; }

.icon-google:before {
	content: "\e906"; }

.icon-line:before {
	content: "\e907"; }

.icon-twitter:before {
	content: "\e908"; }

.icon-arrow02:before {
	content: "\e909"; }

.icon-arrow01:before {
	content: "\e910"; }

.icon-search:before {
	content: "\e911"; }

.icon-tag:before {
	content: "\e912"; }

/*--------------------------------------
Pc sp change
--------------------------------------*/
.sp {
	display: none; }

.mb {
	display: none; }

@media screen and (max-width: 767px) {
	.pc {
		display: none; }

	.sp {
		display: block; } }
@media screen and (max-width: 480px) {
	.mb {
		display: block; }

	.pcm {
		display: none; } }
/* =====================================
■Layout
===================================== */
/*--------------------------------------
container
--------------------------------------*/
.container {
	width: 100%;
	max-width: 1140px;
	padding: 0 30px !important;
	margin: 0 auto !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	position: relative; }

.container:after {
	content: "";
	display: block;
	clear: both; }

@media (max-width: 767px) {
	.container {
		padding: 0 20px !important; } }
/*--------------------------------------
header
--------------------------------------*/
#wrapper {
	height: 100%;
	box-sizing: border-box; }

#header {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s; }

.header__main-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	padding: 0; }

/* logo */
#header .logo {
	flex: 1 0 0;
	padding-left: 28px; }
#header .logo a {
	display: block;
	width: 217px; }

#header .logo img {
	width: 100%; }

#header .logo a:hover {
	text-decoration: none; }

/* gnav */
.header_menu {
	display: flex;
	align-items: center;
	gap: 40px;
}
.header_menu .bnr {
	display: flex;
}
.header_menu .bnr a {
	display: block;
	width: 210px;
}

.header_nav {
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 32px;
}
.header_nav ol {
	display: flex;
	gap: 40px;
}
.header_nav .menu-text {
	display: block;
	border-bottom: 1px solid transparent;
	cursor: pointer;
	font-weight: 500;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: center;
}
.header_nav .menu-text:hover {
	border-bottom-color: #333;
}
.header_nav .menu-text sub {
	display: block;
	color: #AD9D84;
	font-family: 'Cormorant', serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 21px;
	letter-spacing: 0;
}


@media screen and (max-width: 1300px) {
	.header_menu {
		gap: 30px; }

	.header_nav ol {
		gap: 30px; } }
@media screen and (max-width: 1199px) {
	/* logo */
	.toggle-menu {
		display: block; }

	.toggle-menu {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 70px;
		height: 70px;
		text-align: center;
		color: #fff;
		cursor: pointer;
		border-radius: 0;
		position: relative;
		z-index: 1; }

	.toggle-menu__trigger,
	.toggle-menu__trigger span {
		display: block;
		transition: all .4s;
		box-sizing: border-box; }

	.toggle-menu__trigger {
		position: relative;
		width: 24px;
		height: 8px;
		text-align: center; }

	.toggle-menu__trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #214B74;
		border-radius: 3px; }

	.toggle-menu__trigger span:nth-of-type(1) {
		top: 0; }

	.toggle-menu__trigger span:nth-of-type(2) {
		top: 6px; }

	.toggle-menu.is-active .toggle-menu__trigger span:nth-of-type(1) {
		-webkit-transform: translateY(3px) rotate(-45deg);
		transform: translateY(3px) rotate(-45deg); }

	.toggle-menu.is-active .toggle-menu__trigger span:nth-of-type(2) {
		-webkit-transform: translateY(-3px) rotate(45deg);
		transform: translateY(-3px) rotate(45deg); }

	.header_menu {
		display: block;
		width: 100%;
		height: 100vh;
		background: linear-gradient(#224C76, #1A3A5A);
		color: #fff;
		position: fixed;
		top: 0;
		left: 0;
		box-sizing: border-box;
		overflow-y: auto;
		padding: 70px 0px 0;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s linear;
		transform: translateY(-10px); }
	.header_menu .logo-nav {
		display: flex;
		align-items: center;
		width: 100%;
		height: 70px;
		background-color: #fff;
		padding: 0 28px;
		position: absolute;
		top: 0;
		left: 0; }
	.header_menu .logo-nav a {
		display: block;
		width: 217px; }
	.header_menu .bnr {
		display: none; }
	.header_menu .cv {
		display: block;
		background-color: #224C76;
		padding: 30px 30px; }
	.header_menu .cv h3 {
		font-weight: 400;
		font-size: 20px;
		letter-spacing: 0.15em;
		line-height: 30px;
		color: #fff;
		text-align: center;
		margin: 0 -15px; }
	.header_menu .cv ul {
		text-align: center;
		padding-top: 15px; }
	.header_menu .cv ul li + li {
		padding-top: 15px; }

	.header_nav {
		width: 100%;
		font-size: 16px;
		letter-spacing: 0.1em;
		padding: 30px 30px; }
	.header_nav ol {
		flex-direction: column;
		gap: 2px; }
	.header_nav .menu-text {
		display: block;
		border-bottom: 0;
		padding: 20px 20px 16px;
		color: #fff;
		text-align: center; }
	.header_nav .menu-item-has-children .up-menu .menu-text {
		position: relative;
		/* padding-right: 50px; */
	}
	.header_nav .menu-item-has-children .up-menu .menu-text:before {
		content: "";
		position: absolute;
		top: 50%;
		right: 20px;
		width: 10px;
		height: 10px;
		border-bottom: 2px solid #214B74;
		border-left: 2px solid #214B74;
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-moz-transition-duration: 0.2s;
		-o-transition-duration: 0.2s;
		-webkit-transition-duration: 0.2s;
		transition-duration: 0.2s;
		margin-top: -10px;
		display: none; }
	.header_nav .menu-item-has-children .sub-menu {
		display: none; }
	.header_nav .menu-item-has-children .sub-menu li {
		margin-top: 2px; }
	.header_nav .menu-item-has-children .sub-menu .menu-text {
		background-color: #ECECEA;
		font-size: 15px; }
	.header_nav .menu-item-has-children.active .up-menu .menu-text:before {
		-moz-transform: rotate(-225deg);
		-ms-transform: rotate(-225deg);
		-webkit-transform: rotate(-225deg);
		transform: rotate(-225deg); }

	.navOpen .header_menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0); } }
@media screen and (min-width: 1200px) {
	.header_nav .sub-menu {
		width: max-content;
		background-color: #214B74;
		position: absolute;
		top: 100%;
		left: 50%;
		border-radius: 15px;
		padding: 10px 20px 20px;
		font-weight: 600;
		font-size: 14px;
		line-height: 22px;
		transform: translate(-50%, -10px);
		transition: all 0.3s;
		opacity: 0;
		visibility: hidden; }
	.header_nav .sub-menu:before {
		content: '';
		width: 0;
		height: 0;
		border-width: 0 5px 10px 5px;
		border-color: transparent transparent #214B74 transparent;
		border-style: solid;
		position: absolute;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%); }
	.header_nav .sub-menu .menu-text {
		display: block;
		color: #fff;
		border-bottom: 1px dashed #fff;
		padding: 9px 0 10px; }
	.header_nav .sub-menu .menu-text:hover {
		opacity: 0.7; }
	.header_nav .sub-menu li + li .menu-text {
		padding-top: 10px; }
	.header_nav .menu-item-has-children {
		position: relative; }
	.header_nav .menu-item-has-children:hover .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0px); } }
@media screen and (min-width: 1200px) {
	.header_menu {
		height: auto !important; } }
/*--------------------------------------
SIDE
--------------------------------------*/
#sidebar {
	display: none; }

/*--------------------------------------
CONTENT BOTTOM
--------------------------------------*/
.contact_section {
	background: url("img/contact-bg-img.jpg") no-repeat center top/cover;
	color: #fff;
	padding: 60px 0;
	text-align: center; }

.contact_section .contact_tit {
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 27px;
	margin-bottom: 40px; }
.contact_section .contact_tit span {
	display: block;
	font-size: 80px;
	line-height: 97px; }

.contact_section .txt {
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 35px;
	margin-bottom: 50px; }

.contact_section .contact_list {
	display: flex;
	justify-content: center;
	gap: 40px; }
.contact_section .contact_list li {
	width: 340px; }

@media screen and (max-width: 767px) {
	.contact_section {
		padding: 40px 0; }
	.contact_section .contact_tit {
		margin-bottom: 30px; }
	.contact_section .txt {
		font-size: 20px;
		line-height: 32px;
		margin-bottom: 30px; }
	.contact_section .contact_list {
		flex-direction: column;
		gap: 20px; }
	.contact_section .contact_list li {
		width: 100%; } }
/* -- -- */
.clinic__information {
	background-color: #fff;
	padding: 80px 0 75px; }
.clinic__information h2 {
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 0.1em;
	line-height: 27px; }
.clinic__information h2 span {
	display: block;
	font-size: 80px;
	line-height: 97px;
	color: #224C76; }
.clinic__information .box {
	display: flex;
	justify-content: space-between;
	gap: 30px; }
.clinic__information .box .col {
	width: 532px;
	padding-top: 60px; }
.clinic__information .box .calendar {
	width: 250px; }
.clinic__information table th,
.clinic__information table td {
	font-size: 17px;
	letter-spacing: 0.1em;
	line-height: 25px; }
.clinic__information table thead th {
	border-bottom: 1px solid #333;
	padding-bottom: 12px; }
.clinic__information table thead th:first-child {
	width: 200px;
	font-size: 18px; }
.clinic__information table tbody tr:first-child th,
.clinic__information table tbody tr:first-child td {
	padding: 12px 0 2px; }
.clinic__information table tbody tr:last-child th,
.clinic__information table tbody tr:last-child td {
	border-bottom: 1px solid #333;
	padding: 2px 0 12px; }
.clinic__information .time {
	letter-spacing: 0.05em;
	line-height: 24px;
	border-bottom: 1px dotted #333333;
	margin-bottom: 0;
	padding: 18px 0; }
.clinic__information .txt {
	letter-spacing: 0.05em;
	line-height: 24px;
	padding-top: 18px; }
.clinic__information .txt dl {
	display: grid;
	grid-template-columns: 85px 1fr; }
.clinic__information .txt dl + dl {
	padding-top: 5px; }
.clinic__information .txt dl dt {
	color: #224C76; }

.gmap {
	width: 100%;
	height: 360px;
	position: relative; }
.gmap iframe {
	display: block;
	width: 100%;
	height: 100%; }

@media screen and (max-width: 767px) {
	.clinic__information {
		padding: 50px 0; }
	.clinic__information h2 {
		text-align: center; }
	.clinic__information .box {
		flex-direction: column;
		align-items: center; }
	.clinic__information .box .col {
		width: 100%; }
	.clinic__information table th, .clinic__information table td {
		font-size: 14px; }
	.clinic__information table thead th:first-child {
		width: 130px;
		font-size: 14px; }
	.clinic__information .txt dl {
		grid-template-columns: 1fr; }
	.clinic__information .txt dl + dl {
		padding-top: 15px; } }
/*--------------------------------------
FOOTER
--------------------------------------*/
#footer {
	background-color: #fff;
	font-size: 12px;
	letter-spacing: 0.15em;
	line-height: 24px; }
#footer .footer-content {
	padding: 40px 0 60px; }
#footer .footer-content p {
	margin-bottom: 0; }
#footer .logo {
	width: 217px;
	padding-bottom: 40px; }
#footer .sitemap a:hover {
	text-decoration: underline; }

#footer .copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 30px;
	background-color: #224C76;
	color: #fff;
	text-align: center;
	font-family: "Noto Sans JP", serif;
	font-weight: 500;
	font-size: 10px;
	letter-spacing: 0.15em;
	line-height: 15px; }

@media screen and (max-width: 767px) {
	#footer .footer-content {
		padding: 40px 0; }
	#footer .pagetop {
		width: 30px;
		position: absolute;
		bottom: -65px;
		right: 20px; }
	#footer .copyright {
		height: auto;
		letter-spacing: 0.1em;
		padding: 12px 0 calc(12px + 16vw); }
}

.fixed_box {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 1000;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s; }

.fixed_box ul {
	display: flex;
}

.fixed_box li {
	width: auto;
	min-width: 10%;
	flex: 1 1 auto;
}

.fixed_box li img {
	width: 100%; }

@media screen and (min-width: 768px) {
	.fixed_box {
		height: 100%;
		display: flex;
		align-items: center;
		top: 0;
	}
	.fixed_box ul {
		width: 75px;
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.fixed_box {
		width: 100%;
	}
	.fixed_box ul {
		width: 100%;
		justify-content: space-between;
		align-items: flex-end;
		column-gap: 1px;
	}
}

.navOpen .fixed_box {
	display: none; }

/*Pagination CSS*/
ul.page-numbers {
	list-style: none;
	margin: 0; }

.page-numbers:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0; }

ul.page-numbers li {
	display: block;
	float: left;
	margin: 0 4px 4px 0;
	text-align: center; }

.page-numbers a,
.page-numbers span {
	line-height: 1.6em;
	display: block;
	padding: 0 6px;
	height: 18px;
	line-height: 18px;
	font-size: 12px;
	text-decoration: none;
	font-weight: 400;
	cursor: pointer;
	border: 1px solid red;
	color: #888; }

.page-numbers a span {
	padding: 0; }

.page-numbers a:hover,
.page-numbers.current,
.page-numbers.current:hover {
	color: #000;
	background: #f7f7f7;
	text-decoration: none; }

.page-numbers:hover {
	text-decoration: none; }

/*=============================================
* .tabs-switch
*=============================================*/
.tabs-switch .tab-link > * {
	cursor: pointer;
	display: inline-block; }

.tabs-switch .tab-link > * a {
	pointer-events: none; }

.tabs-switch .tab-link.link-over > * {
	position: relative; }

.tabs-switch .tab-link.link-over > * > img + img {
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0; }

.tabs-switch .tab-link.link-over > * > img + img,
.tabs-switch .tab-link.link-over > *:hover > img,
.tabs-switch .tab-link.link-over > *.active > img {
	opacity: 0; }

.tabs-switch .tab-link.link-over > *:hover > img + img,
.tabs-switch .tab-link.link-over > *.active > img + img {
	opacity: 1; }

.tabs-switch[data=fade] .tab-content {
	min-height: 100px;
	position: relative; }

.tabs-switch .tab-content > * {
	display: none; }

.tabs-switch[data=fade] .tab-content > * {
	margin: auto;
	width: 100%;
	height: 100%; }

/*# sourceMappingURL=style.css.map */
