/*
Theme Name: shinjuku-dentaloffice
Template: lightning
Theme URI: https://www.shinjuku-dentaloffice.com/
Description: 
Author URI: https://www.shinjuku-dentaloffice.com/
Version:1.0
Tags: 
License URI: https://www.shinjuku-dentaloffice.com/
Text Domain: 
*/
/*Common*/
.note {
	font-size: 80%;
}
.medium {
	font-size: 85%;
}
.large {
	font-size: 180%;
}
.italic {
	font-style: italic;
}
.mincho h2,
.mincho h3,
.mincho h4 {
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}
h2,
h3,
h3:after,
.subSection-title:after,
h4 {
	background: unset;
	border-top: unset;
	border-bottom: unset;
	box-shadow: unset;
}
/*Header*/
.siteHeader.navbar {
	background: #568ad1
}
.header-info {
	width: 90%;
	margin-top: 16px;
}
@media(min-width: 768px) {
	.header-widget-area a[href^="tel:"] {
		pointer-events: none;
	}
}
@media (max-width: 767px) {
	/*.header-info {display:none;}*/
	.navbar-brand {
		padding: 5px 8px 0 15px;
		text-align: left;
	}
	.navbar-brand img {
		max-height: 45px;
	}
	.header-info {
		width: 35%;
		margin-top: 15px;
	}
	.header-widget-item {
		margin-left: 16px;
		vertical-align: middle;
		text-align: right;
	}
	.navbar-header {
		float: left;
		width: 65%;
	}
	.container .container {
		padding-right: 5px;
		padding-left: 5px;
	}
}
@media (min-width: 992px) {
	.navbar-brand img {
		max-height: 70px;
	}
	.siteHeader .container {
		padding: 8px 0;
	}
	.header-widget-area {
		float: right;
		display: inline-block;
		vertical-align: middle;
	}
}
.vk-mobile-nav-menu-btn {
	display: none !important;
}
.header-widget-item {
	margin-left: 16px;
	vertical-align: middle;
}
/*Section 3*/
.section3_item-ttl span {
	padding: 8px;
	border: solid 1px #ffffff;
}
/*Section 6*/
.insurance {
	position: absolute !important;
	top: -30px;
	left: -30px;
	z-index: 99;
}
.insurance img {
	width: 60px;
}
/*Section 8*/
.insurance2 {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 99;
}
.insurance2 img {
	width: 90px;
}
@media (max-width: 767px) {
	.insurance {
		position: absolute !important;
		top: -20px;
		left: -10px;
		z-index: 99;
	}
}
/*Section 9*/
.profile-left {
	display: table-cell;
	width: 25%;
	border-right: solid 1px #bfbfbf;
}
.profile-right {
	display: table-cell;
	padding-left: 24px;
	font-size: 90%;
	line-height: 1.6;
}
@media (max-width: 767px) {
	.profile-left {
		display: block;
		width: 100%;
		border: none;
	}
	.profile-right {
		display: block;
		padding-left: 0;
		margin-top: 8px;
		border: none;
	}
}
/*Section 10*/
#business-hours tbody {
	border-top: solid 1px #d2d2d2;
	border-bottom: solid 1px #d2d2d2;
	border-left: solid 1px #d2d2d2;
}
#business-hours th {
	text-align: center;
	background: #e5e5e5;
	border-right: solid 1px #d2d2d2;
}
#business-hours td {
	text-align: center;
	background: #ffffff;
	border-right: solid 1px #d2d2d2;
}
@media (max-width: 767px) {
	table#business-hours {
		width: 100%;
		font-size: 70%;
	}
}
/*Section 11*/
@media(min-width: 768px) {
	.cta .tel a[href^="tel:"] {
		pointer-events: none;
	}
}
/*Footer*/
footer {
	color: #ffffff;
	background: #04306d;
	border-top: none;
}
.footerMenu {
	display: none;
}
footer .copySection {
	border-top: none;
}
.siteFooter {
	background: #04306d;
}
.elementor-widget:not(:last-child) {
	margin-block-end: 0 !important;
}
/* CTAボタン */
.ctaButton.fixed {
	position: fixed;
	bottom: 50px;
	left: 50%;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100px;
	margin-left: calc(640px + 20px);
	/* 記事幅が1280だから半分の640ずらして記事の右側に表示 */
	overflow: hidden;
	text-align: center;
	border-radius: 12px;
}
/* 画面右端固定に切り替える */
@media (max-width: 1500px) {
	.ctaButton.fixed {
		right: 20px;
		left: auto;
		margin-left: 0;
	}
}
.ctaButton a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px;
	font-weight: bold;
	line-height: 1.5;
	color: white;
	transition: all 0.3s ease !important;
}
/* ホバー時の動き */
.ctaButton a:hover {
	color: white;
	text-decoration: none;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	opacity: 0.9;
	transform: translateY(-3px);
}
.ctaButton .cta-tel {
	background-color: #F28D91;
}
.cta-reserve {
	background-color: #2A6BB6;
}
.cta-line {
	background-color: #06C755;
}
/* ここからフッタのCTA用 */
.ctaButton-head {
	margin-top: 1em !important;
	font-size: 2em;
	line-height: 1.5;
	color: #1a1a18;
	text-align: center;
}
.ctaButton.footer {
	display: flex;
	flex-direction: row;
	gap: 10px;
	margin-bottom: 2em;
	text-align: center;
}
.ctaButton.footer a {
	justify-content: stretch;
	border-radius: 12px;
}
.ctaButton.footer .cta-tel {
	width: 25%;
}
.ctaButton.footer .cta-reserve {
	width: 50%;
	box-shadow: 0 2px 6px rgba(42, 107, 182, 0.3);
}
.reserve-sub {
	font-size: 0.8em;
	font-weight: normal;
}
.ctaButton.footer .cta-line {
	width: 25%;
	background-color: #06C755;
}
.cta-tel::before,
.cta-reserve::before,
.cta-line::before {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	margin-bottom: 5px;
	content: '';
}
.cta-tel::before {
	background: url(https://www.shinjuku-dental.com/wp-content/themes/dental/image/icon-tel-white.png) 0 0 / contain no-repeat;
}
.cta-reserve::before {
	background: url(https://www.shinjuku-dental.com/wp-content/themes/dental/image/icon-calendar.png) 0 0 / contain no-repeat;
}
.cta-line::before {
	background: url(https://www.shinjuku-dental.com/wp-content/themes/dental/image/icon-speech-bubble.png) 0 0 / contain no-repeat;
}
@media screen and (min-width: 801px) {
	.cta-reserve br {
		display: none;
	}
}
@media screen and (max-width: 800px) {
	.ctaButton.fixed {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 10000;
		flex-direction: row;
		gap: 5px;
		width: 100%;
		height: auto;
		padding: 5px 5px calc(env(safe-area-inset-bottom) + 5px) 5px;
		font-size: 12px;
		background-color: white;
		border-radius: 0;
	}
	.ctaButton.fixed .cta-tel {
		width: 25%;
	}
	.ctaButton.fixed .cta-reserve {
		width: 50%;
	}
	.ctaButton.fixed .cta-line {
		width: 25%;
	}
}
/* 終 CTAボタン */

.keep-all {
	word-break: keep-all;
}
