@charset "utf-8";
/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/
#header {
/* 	position: absolute; */
	padding-bottom: 0;
	padding-top: 0;
}
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap {
	padding: 0 !important;
}
/*--------------------------------------
title
--------------------------------------*/
.titWpe h2 {
	text-align: center;
	font-size: 40px;
	color: #000;
	line-height: 1.3;
	margin-bottom: 45px;
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.1em;
}
.titWpe h2 span {
	display: block;
	font-size: 12px;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: normal;
	color: #1C2E44;
	margin-top: 10px;
	font-weight: 600;
}
.titWpe h3 {
	color: #000000;
	font-size: 30px;
	font-family: "Noto Serif JP", serif;
	line-height: 1.6;
	margin-bottom: 30px;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
	.titWpe h2 {
		font-size: 28px;
	}
	.titWpe h3 {
		font-size: 22px;
		margin-bottom: 25px;
		letter-spacing: 0.1em;
	}
}
/* -------------------------------------
■mainView
------------------------------------- */
/*　main
------------------------------------- */
.fadeIn {
	-webkit-animation-name: fadeIn;
	-ms-animation-name: fadeIn;
	animation-name: fadeIn;
	animation-delay: 1s;
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1.8s;
	-ms-animation-duration: 1.8s;
	animation-duration: 1.8s
}
@-webkit-keyframes fadeIn {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes fadeIn {
	from {
		opacity: 0
	}
	to {
		opacity: 1
	}
}

.mainSec {
	position: relative;
}
.mainTxtA {
	position: absolute;
	width: 26%;
	left: 45.7%;
	z-index: 200;
	top: 14.5%;
}
.mainTxtB {
	position: absolute;
	bottom: 8%;
	right: 4%;
	max-width: 110px;
	z-index: 99;
	width: 10%;
}
@media screen and (max-width: 767px) {
	.mainTxtA {
		max-width: 276px;
		width: 60%;
		left: 31.7%;
		top: 24.5%;
	}
	.mainTxtB {
		position: absolute;
		bottom: auto;
		right: auto;
		max-width: 305px;
		z-index: 99;
		width: 100%;
		top: 0;
		left: 0;
		padding-top: 20px;
		padding-left: 20px;
	}
}


/*--------------------------------------
news
--------------------------------------*/

.top-news .post-box__header h2 {
	font-size: 30px;
}

.top-news .post-box__content {
	max-height: 300px;
	overflow: auto;
}
/*--------------------------------------
map
--------------------------------------*/
.map {
	position: relative;
	width: 100%;
	padding-top: 307px;
	border-radius: 0;
}
.map iframe {
	border-radius: 0;
}
/*--------------------------------------
ご予約･お問い合わせはお気軽に
--------------------------------------*/
.inq_box {
	background: url(/wp-content/uploads/bottom_bg-scaled.jpg) no-repeat;
	background-size: cover;
	padding: 48px 0 52px !important;
}
.inq_box .txt {
	text-align: center;
}
.inq_box ul {
	display: flex;
	justify-content: space-between;
	column-gap: 40px;
}
.inq_box ul li {
	width: calc((100% - 40px) / 2);
}
.inq_box ul li a {
	display: block;
	margin-bottom: 2px;
}
.inq_box ul {
	margin-top: 40px;
}
.inq_box ul li:last-child {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	align-content: center;
}
@media screen and (max-width: 767px) {
	.inq_box ul {
		display: block;
	}
	.inq_box ul li {
		width: 100%;
	}
	.inq_box ul li:first-child {
		margin-bottom: 20px;
	}
}
/*--------------------------------------
矯正専門の歯科医院として 
--------------------------------------*/
.concept_con {
	padding: 95px 0 40px;
}
.concept_con ul {
	display: flex;
	justify-content: space-between;
	margin-top: 65px;
}
.concept_con ul li:first-child {
	width: 50%;
}
.concept_con ul li:last-child {
	width: 45%;
	margin-left: 5%;
}
.concept_con .txt {
	color: #000;
	font-size: 16px;
	line-height: 2.3;
	letter-spacing: 0.1em;
	margin-bottom: 66px;
}
@media screen and (max-width: 767px) {
	.concept_con ul {
		display: block;
	}
	.concept_con ul li:first-child {
		width: 100%;
	}
	.concept_con ul li:last-child {
		width: 100%;
		margin-left: 0;
		margin-top: 15px;
	}
	.concept_con .txt {
		margin-bottom: 16px;
	}
	.concept_con .btn {
		margin: 0 auto;
	}
}
/*--------------------------------------
当院の特徴
--------------------------------------*/
.feature_con {
	padding: 50px 0;
}
.feature_con .wrap {
	overflow: hidden;
	margin-top: 0px;
}
.feature_item {
	padding-bottom: 0px;
}
.feature_item .inner {
	position: relative;
	padding-top: 23%;
}
.feature_item .inner:before {
	position: absolute;
	content: "";
	display: block;
	width: 140%;
	height: 100%;
	background: url(/wp-content/uploads/top_bg01.jpg) no-repeat left top/100% auto;
	z-index: -1;
	top: 0;
	left: 0;
}
.feature_item .eng_tle {
	position: absolute;
	left: -6%;
	top: 20px;
	width: 114px;
}
.feature_con .txt_box {
	background: #fff;
	width: 70%;
	max-width: 722px;
	padding: 80px 8.5% 0px 9%;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: 0;
}
.feature_con .txt {
	color: #000;
	font-size: 16px;
	letter-spacing: 0.6px;
	line-height: 2.3;
	margin-bottom: 55px;
}
.feature_con .btn_group {
	display: flex;
	justify-content: space-between;
	column-gap: 10px;
}
.feature_con .btn_group .btn {
	width: calc((100% - 10px) / 2);
}
.elementor-element-fec32ca.feature_con .wrap {
	margin-top: 0;
}
.elementor-element-fec32ca .feature_item .inner:before {
	background: url(/wp-content/uploads/top_bg03.jpg) no-repeat left top/100% auto;
}
.elementor-element-2fb2409 .feature_item .inner:before {
	background: url(/wp-content/uploads/top_bg02-1.jpg) no-repeat left top/100% auto;
	right: 0;
	left: auto;
}
.elementor-element-2fb2409 .feature_item .eng_tle {
	left: auto;
	right: -7%;
}
.elementor-element-2fb2409 .feature_item .txt_box {
	margin-right: 0;
	margin-left: auto;
}
@media only screen and (max-width: 1024px) {
	.feature_item .eng_tle {
		left: -4.5%;
		width: 80px;
	}
}
@media only screen and (max-width: 959px) {
	.feature_con .txt_box {
		width: 85%;
	}
}
@media only screen and (max-width: 767px) {
	.feature_con .txt_box {
		margin-left: auto !important;
		margin-right: auto !important;
		width: 100%;
		max-width: 460px;
		padding: 50px 35px 50px 35px;
	}
	.feature_con .eng_tle {
		left: -6%;
		width: 55px;
		top: 15px;
	}
	.feature_con .txt {
		margin-bottom: 20px;
	}
	.feature_con .btn_group {
		display: block;
	}
	.feature_con .btn_group .btn {
		width: 100%;
		margin-bottom: 10px;
	}
	.feature_con {
		padding: 50px 0 0;
	}
}
/* -------------------------------------
menu_section
------------------------------------- */
.elementor-element-c2cef00 {
	margin-top: 100px;
}
.menu_section {
	margin-top: 50px;
}
.menu_section .wrap_box {
	position: relative;
	display: table;
	width: 100%;
}
.menu_tlt {
	font-size: 26px;
	letter-spacing: 0.3em;
	color: #fff;
	background: #021665;
	line-height: 1.2;
	padding: 29px 46px 30px;
	font-family: "秀英明朝 M", "Shuei Mincho M", A-OTF Shuei Mincho Pro;
	margin-bottom: 0;
	position: relative;
}
.menu_tlt:after {
	position: absolute;
	content: "";
	background: #FFFFFF;
	left: 25px;
	top: 31px;
	width: 6px;
	height: 15px;
}
.menu_tlt:before {
	position: absolute;
	content: "";
	background: #9D4220;
	left: 25px;
	top: 46px;
	width: 6px;
	height: 15px;
}
.menu_section .menu_box {
	width: 45%;
	background: #fff;
	min-height: inherit !important;
	display: table-cell;
}
.menu_section .txt_box {
	position: absolute;
	right: 0;
	top: 0;
	width: 60%;
	padding: 0px;
	box-sizing: border-box;
	overflow: hidden;
	background: url(../img/topbg01.jpg) no-repeat top center;
	background-size: cover;
	display: table-cell;
	height: auto !important;
	position: relative !important;
}
.menu_section .txt_box li {
	padding: 10px;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s;
	background: url(/wp-content/uploads/menutxt_bg01.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(2) {
	background: url(/wp-content/uploads/menutxt_bg02.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(3) {
	background: url(/wp-content/uploads/menutxt_bg03.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(4) {
	background: url(/wp-content/uploads/menutxt_bg04.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(5) {
	background: url(/wp-content/uploads/menutxt_bg05.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(6) {
	background: url(/wp-content/uploads/menutxt_bg06.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:nth-child(7) {
	background: url(/wp-content/uploads/menutxt_bg07.jpg) no-repeat center center/cover;
	background-size: cover;
}
.menu_section .txt_box li:first-child {
	opacity: 1 !important;
}
.menu_box li {
	border-bottom: 1px solid #D9D4D0;
}
.cell_erea {
	width: 100%;
	height: 100%;
	margin: 0 auto;
}
.menu_box li a {
	display: block;
	text-decoration: none;
	padding: 34px 10px 30px 25px;
	-moz-transition-duration: 1s;
	-o-transition-duration: 1s;
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	font-size: 22px;
	letter-spacing: 0.16em;
	color: #000;
	border-bottom: 1px solid #CFCFCF;
	box-sizing: border-box;
	border-top: 1px solid #CFCFCF;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
}
.menu_box li .sub_txt {
	color: #CFCFCF;
	font-size: 8px;
	display: inline-block;
	vertical-align: middle;
	margin-top: -4px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-left: 12px;
	font-family: "Noto Sans JP", sans-serif;
}

.menu_box li a:hover {
	background: #000;
	opacity: 1;
	color: #fff;
}
.menu_box li a:hover .sub_txt {
	color: #FFEE00;
}

.menu_section .txt_box .inner {
	display: table;
	margin: 0 auto;
	max-width: 692px;
	vertical-align: middle;
	height: 100%;
}
.menu_section .txt_box .inner .cell_box {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}
.txt_box h2 {
	color: #fff;
	font-size: 38px;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 50px;
	letter-spacing: 0.1em;
	font-family: "Noto Serif JP", serif;
}
.menu_section .txt {
	margin-top: 20px;
	font-size: 16px;
	color: #fff;
	letter-spacing: 1.5px;
	line-height: 2.5;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 510px;
	word-break: break-all;
	word-wrap: break-word;
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
}
.menu_con .txt_box h2 .sub_h2 {
	color: #FFEE00;
	display: block;
	text-align: center;
	margin-top: 18px;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1;
	text-transform: uppercase;
	font-size: 10px;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1400px) and (min-width: 1001px) {
	.txt_box h2 {
		font-size: 25px;
		letter-spacing: 0.1em;
	}
	.menu_section .txt {
		margin-top: 20px;
	}
	.menu_tlt {
		font-size: 32px;
		letter-spacing: 0.05em;
	}
	.menu_box li a {
		letter-spacing: 0.02em !important;
	}
}
@media screen and (max-width: 1000px) and (min-width: 768px) {
	.menu_box li a {
		letter-spacing: 0.02em !important;
		font-size: 18px;
		padding: 32px 5px 32px 20px;
	}
	.menu_box li .menu_link_english {
		letter-spacing: 0.03em;
		padding-left: 6px;
		font-size: 10px;
	}
	.txt_box h2 {
		letter-spacing: 0.05em;
		font-size: 32px;
	}
	.menu_section .txt {
		margin-top: 15px;
		letter-spacing: 0;
	}
	.menu_section .txt_box .inner .cell_box {
		padding: 0 20px;
		box-sizing: border-box;
	}
}
@media screen and (max-width: 767px) {
	.menu_section .txt_box {
		display: none !important;
	}
	.menu_section .menu_box {
		width: 100%;
		min-height: auto !important;
		height: auto !important;
	}
	.menu_section .wrap_box, .menu_section .menu_box {
		display: block;
	}
	.menu_box li a {
		letter-spacing: 0.1em;
		padding: 25px 5px 25px 20px;
		font-size: 22px;
	}
	.menu_box li .menu_link_english {
		letter-spacing: 0.1em;
	}
	.menu_box li .sub_txt {
		display: block !important;
		margin-top: 5px !important;
		letter-spacing: 0.15em;
	}
}
@media screen and (max-width: 480px) {
	.menu_box li a {
		letter-spacing: 0.05em;
		font-size: 21px;
	}
	.menu_box li .menu_link_english {
		letter-spacing: 0.05em;
		font-size: 10px;
		padding-left: 8px;
	}
}
/*--------------------------------------
ご挨拶 
--------------------------------------*/
.dean_con {
	background: url(/wp-content/uploads/top_bg04-scaled.jpg) no-repeat center bottom/100% 56%;
	padding: 50px 0 86px;
	margin-bottom: 130px;
}
.dean_con ul {
	display: flex;
	justify-content: space-between;
	column-gap: 10%;
	align-items: center;
}
.dean_con ul li {
	width: calc((100% - 10%) / 2);
}
.dean_con ul li .btn {
	margin-top: 70px;
}
.dean_con ul li .txt {
	margin-top: 60px;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
	.dean_con ul {
		column-gap: 5%;
		align-items: flex-start;
	}
	.dean_con ul li {
		width: calc((100% - 5%) / 2);
	}
}
@media screen and (max-width: 767px) {
	.dean_con ul {
		display: block;
	}
	.dean_con ul li {
		width: 100%;
	}
	.dean_con ul li:first-child {
		margin-bottom: 20px;
	}
	.dean_con ul li .txt {
		margin-top: 20px;
	}
}
/*--------------------------------------
当院について 
--------------------------------------*/
.info_con {
	padding: 95px 0 110px;
}
.info_con .info_nner {
	display: flex;
	justify-content: space-between;
	column-gap: 5%;
}
.info_nner > div {
	width: calc((100% - 5%) / 2);
}
.info_con .info_tle {
	color: #000000;
	font-size: 30px;
	text-align: center;
	line-height: 1.2;
	font-family: "Noto Serif JP", serif;
	padding-bottom: 28px;
	position: relative;
	margin-bottom: 30px;
}
.info_con .info_tle:before {
	position: absolute;
	content: "";
	display: block;
	width: 62px;
	height: 6px;
	left: 50%;
	margin-left: -31px;
	background: #FFEE00;
	bottom: 0;
}
.info_table_box {
	margin-bottom: 55px;
}
.info_table th, .info_table td {
	font-size: 16px;
	letter-spacing: 2px;
	border-bottom: 1px solid #BFBEBD;
	color: #000000;
	padding: 18px 0 16px 12px;
}
.info_table th {
	width: 97px;
	font-weight: normal;
	border-bottom: 1px solid #000000;
	padding-left: 0;
	vertical-align: top;
}
.info_con .info_nner .btn {
	margin: 0 auto;
}
.gnv_tmp_map {
	position: relative;
	width: 100%;
	padding-top: 217px;
	border-radius: 0;
}
.gnv_tmp_map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media screen and (max-width: 1119px) and (min-width: 768px) {
.info_table {
	height: 332px;
}
}
@media screen and (max-width: 767px) {
	.info_con .info_nner {
		display: block;
	}
	.info_nner > div {
		width: 100%;
	}
	.info_nner > div:first-child {
		margin-bottom: 50px;
	}
}
