@charset "utf-8";
/* -------------------------------------
■elementor
------------------------------------- */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: inherit;
	padding: 0;
}
.elementor-widget:not(:last-child) {
	margin-bottom: 0;
}


/* -------------------------------------
■header
------------------------------------- */
@media screen and (min-width: 768px) {
	#wrapper {
		padding-top: 88px;
	}
	header .logo {
		height: 88px;
		padding-bottom: 6px;
	}
	nav .menu {
		height: 88px;
	}
	nav .menu > li > a,
	nav .menu > li > span {
		height: 88px;
		padding: 2px 0 0;
	}
}


/* -------------------------------------
■main
------------------------------------- */
.mainSec {
    position: relative;
}
.mainIcon {
    position: absolute;
    top: 0;
    left: 20%;
    width: 60% !important;
    height: 100%;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 51px 0 80px;
}
.mainIcon:after {
    position: absolute;
    content: '';
    width: 1px;
    height: 75px;
    background: #FFFFFF;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.mainIcon img {
    max-width: 750px;
    width: 100%;
}

@media screen and (max-width: 767px) {
	.mainIcon {
		left: 6%;
		width: 88% !important;
		padding: 67px 0 65px;
	}
	.mainIcon:after {
		height: 57px;
	}
	.mainIcon img {
		max-width: 810px;
	}
}


/* -------------------------------------
■新着情報
------------------------------------- */
.newSec {
    padding: 86px 0 80px;
}
.newInner {
    background: #F4F0EA;
    border-radius: 20px;
    padding: 47px 20px 62px;
}
.newInner > .elementor-widget-container {
    max-width: 896px;
    width: 100%;
    margin: auto;
}
.newLink {
    text-align: right;
    font-size: 15px;
    letter-spacing: 0.1em;
	margin-top: 8px;
}
.newLink a {
    color: #4E4E4E;
	text-decoration: underline;
}
.newLink a:hover {
    text-decoration: none;
}

@media screen and (max-width: 767px) {
	.newSec {
		padding: 69px 0 26px;
	}
	.newInner {
		padding: 28px 30px;
	}
	.newLink {
		font-size: 12px;
		margin-top: 7px;
	}
}
@media screen and (max-width: 374px) {
	.newInner {
		padding: 28px 20px;
	}
}


/* -------------------------------------
■About us
  当院について
------------------------------------- */
.aboutSec {
	background: url(/wp-content/uploads/top_bgimg01.png) no-repeat top center;
	background-size: cover;
	padding: 76px 0 103px;
}
.topTit_h2 h2 {
    line-height: 1.2;
    text-align: center;
    color: #4E4E4E;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-size: 35px;
    letter-spacing: 0.15em;
}
.topTit_h2 h2 sub {
    font-weight: 900;
	color: #229F78;
	font-size: 14px;
	display: block;
	letter-spacing: 0.3em;
	vertical-align: baseline;
	margin-bottom: 15px;
}
.whiteTit_h2 h2,
.whiteTit_h2 h2 sub {
	color: #FFFFFF;
}
.aboutInner {
    background: #FFFFFF;
    border-radius: 20px;
    margin-top: 50px;
	padding: 40px 20px 64px;
}
.aboutInner > .elementor-container.elementor-column-gap-default {
    max-width: 945px;
    width: 100%;
    margin: 0 auto;
}
.aboutInnerLeft {
    padding-right: 48px;
}
table.hourTable {
	border-bottom: 1px solid #219F79;
}
table.hourTable td,
table.hourTable th {
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    font-size: 14px;
    color: #4E4E4E;
	padding: 21px 0;
}
table.hourTable thead th {
	background: #229F78;
	color: #FFFFFF;
	padding: 8px 0 10px;
}
table.hourTable thead th:first-child {
    text-align: left;
    padding-left: 12px;
    letter-spacing: 0.15em;
    font-size: 15px;
    width: 41%;
}
table.hourTable thead th:last-child {
    width: 17%;
}
table.hourTable tbody th {
	text-align: left;
}
table.hourTable tbody td {
	color: #229F78;
}
table.hourTable tbody td.holiday {
	color: #4E4E4E;
}
table.hourTable tbody tr:first-child td,
table.hourTable tbody tr:first-child th {
    padding-bottom: 0;
}
table.hourTable tbody tr:last-child td,
table.hourTable tbody tr:last-child th {
    padding-top: 16px;
}
.holidayTxt {
    font-size: 14px;
    color: #4E4E4E;
    letter-spacing: 0.1em;
    line-height: 1.58;
	margin-top: 13px;
}
.holidayTxt sub {
    display: block;
    font-size: 12px;
    line-height: 1.8;
    margin-top: 1px;
}
table.aboutTable {
    margin-top: 46px;
}
table.aboutTable td,
table.aboutTable th {
	font-size: 14px;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #C9C9C9;
	padding: 17px 0 15px;
	color: #4E4E4E;
	line-height: 1.43;
	vertical-align: top;
}
table.aboutTable tr:first-child td,
table.aboutTable tr:first-child th {
	padding: 0 0 10px;
}
table.aboutTable tr:nth-child(2) td,
table.aboutTable tr:nth-child(2) th {
    padding: 11px 0 14px;
}
table.aboutTable tr:nth-child(3) td,
table.aboutTable tr:nth-child(3) th {
    line-height: 1.78;
	padding: 15px 0 13px;
}
table.aboutTable tr:nth-child(3) td {
    letter-spacing: 0;
}
table.aboutTable th {
	color: #229F78;
	width: 155px;
	font-weight: 600;
}
.aboutInnerRight iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.aboutInnerRight .elementor-widget-wrap,
.aboutInnerRight .elementor-widget {
    height: 100%;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
	.aboutInnerLeft {
		padding-right: 20px;
	}
	table.aboutTable th {
		width: 70px;
	}
}
@media screen and (max-width: 767px) {
	.aboutSec {
		background: url(/wp-content/uploads/top_bgimg01_sp.png) no-repeat top center;
		background-size: cover;
		padding: 42px 0 40px;
	}
	.topTit_h2 h2 {
		font-size: 30px;
	}
	.topTit_h2 h2 sub {
		font-size: 13px;
		margin-bottom: 11px !important;
	}
	.aboutInner {
		margin-top: 44px;
		padding: 28px 20px 37px;
	}
	.aboutInnerLeft {
		padding-right: 0;
	}
	table.hourTable td,
	table.hourTable th {
		font-size: 12px !important;
		padding: 14px 0 16px;
	}
	table.hourTable thead th {
		padding: 11px 0 10px;
	}
	table.hourTable thead th:first-child {
		padding-left: 10px;
		width: 29%;
	}
	table.hourTable thead th:last-child {
		width: 20%;
	}
	table.hourTable tbody tr:last-child td,
	table.hourTable tbody tr:last-child th {
		padding-top: 11px;
	}
	.holidayTxt {
		font-size: 12px;
		margin-top: 10px;
	}
	.holidayTxt sub {
		font-size: 10px;
		text-indent: -12px;
		padding-left: 12px;
		margin-top: 0;
	}
	table.aboutTable {
		margin-top: 30px;
	}
	table.aboutTable td,
	table.aboutTable th {
		padding: 9px 0 12px;
	}
	table.aboutTable th {
		width: 85px;
	}
	table.aboutTable tr:first-child td,
	table.aboutTable tr:first-child th {
		padding: 0 0 8px;
	}
	table.aboutTable tr:nth-child(2) td,
	table.aboutTable tr:nth-child(2) th {
		padding: 9px 0 12px;
	}
	table.aboutTable tr:nth-child(3) td,
	table.aboutTable tr:nth-child(3) th {
		padding: 8px 0 9px;
	}
	.aboutInnerRight {
		height: 265px;
		margin-top: 36px;
	}
}
@media screen and (max-width: 374px) {
	table.aboutTable td,
	table.aboutTable th {
		letter-spacing: 0;
		font-size: 13px;
	}
	table.aboutTable th {
		width: 60px;
	}
}


/* -------------------------------------
■Features
  当院の6つの特徴
------------------------------------- */
.featureSec {
    position: relative;
    z-index: 1;
    padding: 106px 0 80px;
	background: url(/wp-content/uploads/top_bgimg03.png) no-repeat top center;
    background-size: cover;
}
.featureSec:before {
    background: url(/wp-content/uploads/top_bgimg02.png) repeat top left;
    position: absolute;
    content: '';
    display: block;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.12;
	top: 0;
	left: 0;
}
.featureSec .topTit_h2 h2 sub {
    margin-bottom: 14px;
}
.featureList {
    margin-top: 57px;
}
.featureList .elementor-row {
	/* column-gap: 30px;
	row-gap: 45px; */
    flex-wrap: wrap;
}
.featureList .elementor-column {
	width: calc((100% - 60px) / 3);
	margin: 0 0 45px 30px;
}
.featureList .elementor-column:nth-child(3n+1) {
    margin-left: 0;
}
.featureIcon {
	text-align: center;
	line-height: 1;
	z-index: 1;
}
.featureIcon .elementor-heading-title {
    position: relative;
    display: inline-block;
    font-size: 44px;
    color: #3DB0C9;
    letter-spacing: 0.03em;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
	padding: 0 25px;
}
.featureIcon .elementor-heading-title:before,
.featureIcon .elementor-heading-title:after {
    position: absolute;
    content: '';
    display: block;
    bottom: 0;
    background: #3CB0C9;
    width: 2px;
    height: 33px;
}
.featureIcon .elementor-heading-title:after {
    right: 0;
    transform: rotate(15deg);
}
.featureIcon .elementor-heading-title:before {
    left: 0;
    transform: rotate(-15deg);
}
.featureList img {
    margin-top: -14px;
}
.featureList h3 {
    text-align: center;
    font-size: 24px;
    color: #229F78;
    letter-spacing: 0.1em;
    line-height: 1.67;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    margin: 18px 0 11px;
}
.featureList p {
    color: #4E4E4E;
    letter-spacing: 0.1em;
    line-height: 2.25;
}
.featureList .elementor-column:nth-child(n+4) h3 {
    margin-bottom: 10px;
}
.featureInner {
    max-width: 1291px;
    width: 100%;
    padding: 0 30px;
    box-sizing: border-box;
    margin: 60px auto 0;
}
.featureInnerBox {
	background: url(/wp-content/uploads/top_bgimg06.png) no-repeat top center;
	background-size: 100% 100%;
	padding: 90px 20px 73px;
}
.featureInnerBox > .elementor-column-wrap.elementor-element-populated {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
}
.featureSec .featureInnerBox .topTit_h2 h2 sub {
    margin-bottom: 10px;
}
.featureInnerBox ul {
	display: flex;
	/* column-gap: 24px; */
	margin-top: 57px;
}
.featureInnerBox ul li {
    width: calc((100% - 24px) / 2);
    background: #FFFFFF;
    border-radius: 20px;
    box-shadow: 0 12px 16px rgba(134, 134, 134, 0.16);
    padding: 15px 10px 48px;
}
.featureInnerBox ul li:first-child {
	margin-right: 24px;
}
.featureBox {
    position: relative;
    z-index: 1;
}
.featureBox:before {
    position: absolute;
    content: '';
    display: block;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -68%);
    background: url(/wp-content/uploads/top_icon01.png) no-repeat;
    background-size: cover;
    width: 71px;
    height: 79px;
}
.featureInnerBox ul li:nth-child(2) .featureBox:before {
    background: url(/wp-content/uploads/top_icon02.png) no-repeat;
    background-size: cover;
    width: 74px;
    height: 71px;
    transform: translate(-50%, -65%);
}
.btnStyle a {
    max-width: 395px;
    width: 100%;
    display: block;
    margin: 0 auto;
    line-height: 1.4;
    text-align: center;
    position: relative;
    background: #229F78;
    border-radius: 30px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-size: 18px;
    color: #FCFBFA;
    letter-spacing: 0.1em;
    padding: 15px 45px 16px;
    box-sizing: border-box;
    border: 2px solid #219F79;
}
.btnStyle a:after {
    position: absolute;
    content: '';
    display: block;
    right: 20px;
    width: 18px;
    height: 18px;
    background: url(/wp-content/uploads/btn_icon_white.png) no-repeat;
    background-size: cover !important;
    top: 50%;
    transform: translate(0, -50%);
}
.btnStyle a:hover {
    background: #FFFFFF;
    color: #219F79;
}
.btnStyle a:hover:after {
    background: url(/wp-content/uploads/btn_icon_green.png) no-repeat;
}
.featureInnerBox .btnStyle {
    margin-top: -45px;
    z-index: 1;
    position: relative;
	padding: 0 20px;
}
.featureInnerBox .btnStyle a {
    font-size: 22px;
    letter-spacing: 0.15em;
    padding: 21px 55px 20px;
    border-radius: 41px;
}
.featureInnerBox .btnStyle a:after {
    width: 22px;
    height: 22px;
    right: 28px;
}
.featureInnerBox ul li:nth-child(2) .btnStyle a {
    background: #3AB7D3;
    border: 2px solid #3AB7D3;
}
.featureInnerBox ul li:nth-child(2) .btnStyle a:hover {
    background: #FFFFFF;
    color: #3AB7D3;
}
.featureInnerBox ul li:nth-child(2) .btnStyle a:hover:after {
    background: url(/wp-content/uploads/btn_icon_blue.png) no-repeat;
}
.featureInnerBox p {
    color: #4E4E4E;
    letter-spacing: 0.08em;
    padding: 0 45px;
    line-height: 2.25;
    margin-top: 40px;
}

@media screen and (max-width: 1040px) and (min-width: 768px) {
	/* .featureList .elementor-row {
		column-gap: 15px;
	} */
	.featureList .elementor-column {
		width: calc((100% - 30px) / 3);
		margin-left: 15px;
	}
	.featureList h3 {
		letter-spacing: 0;
		font-size: 18px;
	}
	.featureInnerBox .btnStyle {
		margin-top: -31px;
	}
	.featureInnerBox .btnStyle a {
		letter-spacing: 0.05em;
		padding: 12px 55px 15px;
		font-size: 20px;
	}
	.featureInnerBox p {
		padding: 0 10px;
	}
}
@media screen and (max-width: 767px) {
	.featureSec {
		background: url(/wp-content/uploads/top_bgimg03_sp.png) no-repeat top center;
		background-size: cover;
		padding: 42px 0 60px;
	}
	.featureList {
		margin-top: 54px;
	}
	.featureList .elementor-row {
		display: block;
	}
	.featureList .elementor-column {
		width: 100%;
	}
	.featureList .elementor-column {
		margin: 0;
	}
	.featureList .elementor-column:not(:last-child) {
		margin-bottom: 27px;
	}
	.featureIcon .elementor-heading-title {
		font-size: 39px;
	}
	.featureIcon .elementor-heading-title:before,
	.featureIcon .elementor-heading-title:after {
		height: 30px;
	}
	.featureList img {
		margin-top: -12px;
	}
	.featureList h3 {
		font-size: 20px;
		line-height: 1.6;
		margin: 14px 0 9px;
	}
	.featureList p {
		line-height: 2;
		font-size: 14px;
	}
	.featureInner {
		margin-top: 55px;
	}
	.featureInnerBox {
		background: url(/wp-content/uploads/top_bgimg06_sp.png) no-repeat top center;
		background-size: 100% 100%;
		padding: 57px 20px 48px;
	}
	.featureSec .featureInnerBox .topTit_h2 h2 {
		line-height: 1.6;
	}
	.featureSec .featureInnerBox .topTit_h2 h2 sub {
		margin-bottom: 2px !important;
	}
	.featureInnerBox ul {
		display: block;
		margin-top: 38px;
	}
	.featureInnerBox ul li {
		width: 100%;
		border-radius: 15px;
		padding: 8px 6px 26px;
	}
	.featureInnerBox ul li:not(:last-child) {
		margin-bottom: 20px;
	}
	.featureInnerBox ul li:first-child {
		margin-right: 0;
	}
	.featureBox:before {
		width: 37px;
		height: 42px;
	}
	.featureInnerBox ul li:nth-child(2) .featureBox:before {
		width: 39px;
		height: 37px;
	}
	.btnStyle a {
		max-width: inherit;
	}
	.featureInnerBox .btnStyle {
		padding: 0 32px 0 31px;
		margin-top: -23px;
	}
	.featureInnerBox .btnStyle a {
		font-size: 14px;
		padding: 8px 30px 9px;
	}
	.featureInnerBox .btnStyle a:after {
		width: 12px;
		height: 12px;
		right: 15px;
	}
	.featureInnerBox p {
		font-size: 14px;
		line-height: 2;
		padding: 0 20px;
		margin-top: 20px;
	}
}
@media screen and (max-width: 374px) {
	.featureInner {
		padding: 0 20px;
	}
	.featureInnerBox .btnStyle {
		padding: 0 20px;
	}
	.featureInnerBox p {
		padding: 0 10px;
	}
}


/* -------------------------------------
■Menu
  診療案内
------------------------------------- */
.menuSec {
    background: #F4F0EA;
    padding: 74px 0 178px;
}
.menuSec .topTit_h2 h2 sub {
    margin-bottom: 12px;
}
.menuList {
    margin-top: 67px;
}
.menuList .elementor-row {
    column-gap: 24px;
    row-gap: 25px;
    justify-content: center;
    flex-wrap: wrap;
}
.menuList .elementor-column {
    width: calc((100% - 48px) / 3);
	margin: 0 0 25px 0;
    background: #FFFFFF;
	border-radius: 20px;
	box-shadow: 0 12px 16px rgba(134, 134, 134, 0.16);
	text-align: center;
}
/* .menuList .elementor-column:nth-child(3n+1),
.menuList .elementor-column:nth-child(8) {
	margin-left: 0;
} */
.menuList .elementor-column > .elementor-column-wrap >.elementor-widget-wrap {
    padding: 66px 20px 39px;
}
.menuLink {
    position: static;
}
.menuLink a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    border-radius: 20px;
}
.menuLink a:after {
    position: absolute;
    content: '';
    display: block;
    width: 27px;
    height: 27px;
    right: 20px;
    bottom: 20px;
    background: url(/wp-content/uploads/btn_icon_green.png) no-repeat;
    background-size: cover;
}
.menuLink a:hover {
    box-shadow: 0 0 0 10px #D0F0E7 inset;
}
/* .menuLink a:hover:before {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 10px solid #D0F0E7;
    top: 0;
    left: 0;
    border-radius: 20px;
} */
.menuImg img {
    height: 93px;
}
.menuTtl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px;
    color: #4E4E4E;
    line-height: 1.47;
	letter-spacing: 0.15em;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	margin-top: 10px;
}
.menuTtl span {
	letter-spacing: 0;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
	.menuList .elementor-column > .elementor-column-wrap >.elementor-widget-wrap {
		padding: 45px 20px 50px;
	}
	.menuTtl {
		letter-spacing: 0.05em;
		font-size: 22px;
	}
}
@media screen and (max-width: 767px) {
	.menuSec {
		padding: 42px 0 130px;
	}
	.menuList {
		margin-top: 44px;
	}
	.menuList .elementor-row {
		display: block;
	}
	.menuList .elementor-column {
		width: 100%;
		border-radius: 15px;
	}
	.menuList .elementor-column {
		margin: 0;
	}
	.menuList .elementor-column:not(:last-child) {
		margin-bottom: 20px;
	}
	.menuList .elementor-column > .elementor-column-wrap >.elementor-widget-wrap {
		padding: 48px 20px 34px;
	}
	.menuLink a,
	.menuLink a:hover:before {
		border-radius: 15px;
	}
	.menuLink a:after {
		right: 15px;
		bottom: 15px;
	}
	.menuLink a:hover {
		box-shadow: 0 0 0 7px #D0F0E7 inset;
	}
	.menuTtl {
		font-size: 24px;
		margin-top: 14px;
	}
	.menuList .elementor-column:nth-child(4) .menuTtl {
		font-size: 26px;
	}
}


/* -------------------------------------
■院長
------------------------------------- */
.greetingSec {
	margin-top: -84px;
	padding-bottom: 90px;
	position: relative;
	z-index: 1;
}
.greetingSec:before,
.greetingSec:after {
    position: absolute;
    content: '';
    display: block;
    background-size: cover !important;
	z-index: -1;
}
.greetingSec:before {
    right: 0;
    background: url(/wp-content/uploads/top_bgimg04.png) no-repeat;
    width: 398px;
    height: 559px;
    top: 133px;
}
.greetingSec:after {
    left: 0;
    background: url(/wp-content/uploads/top_bgimg05.png) no-repeat;
    width: 327px;
    height: 252px;
    bottom: 0;
}
.greetingImg {
    max-width: 1295px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
}
.greetingInner {
    max-width: 1148px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
    box-sizing: border-box;
}
.greetingInnerLeft {
    padding-right: 44px;
}
.greetingInnerRight {
    padding-left: 44px;
}
.greetingInner h3 {
    text-align: center;
    font-size: 26px;
    color: #229F78;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.15em;
	margin-top: 69px;
}
.greetingInner h4 {
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.15em;
    color: #B5D181;
    text-align: center;
    border-top: 2px solid #B5D181;
    line-height: 1.5;
    margin: 31px 0 22px;
    padding-top: 18px;
}
.greetingInner p {
    line-height: 2.25;
    color: #4E4E4E;
    letter-spacing: 0.1em;
}
.greetingBottom {
    margin-top: 52px;
}

@media screen and (max-width: 1040px) and (min-width: 768px) {
	.greetingSec:before {
		width: 280px;
		height: 390px;
	}
	.greetingSec:after {
		width: 280px;
		height: 215px;
	}
	.greetingInnerLeft {
		padding-right: 10px;
	}
	.greetingInnerRight {
		padding-left: 10px;
	}
	.greetingInner h4 {
		letter-spacing: 0.05em;
		font-size: 18px;
	}
}
@media screen and (max-width: 767px) {
	.greetingSec {
		margin-top: -33px;
		padding-bottom: 68px;
	}
	.greetingSec:before {
		background: url(/wp-content/uploads/top_bgimg04_sp.png) no-repeat;
		width: 163px;
		height: 331px;
		top: 61px;
	}
	.greetingSec:after {
		background: url(/wp-content/uploads/top_bgimg05_sp.png) no-repeat;
		width: 295px;
		height: 313px;
	}
	.greetingInnerLeft {
		padding-right: 0;
	}
	.greetingInnerRight {
		padding-left: 0;
		margin-top: 6px;
	}
	.greetingInner h3 {
		font-size: 20px;
		margin-top: 31px;
	}
	.greetingInner h4 {
		font-size: 20px;
		margin: 20px 0 15px;
		padding-top: 19px;
		border-top: 1px solid #B5D181;
	}
	.greetingInner p {
		font-size: 14px;
		line-height: 2;
	}
	.greetingBottom {
		margin-top: 37px;
	}
}