/*
Theme Name: eases5-child
Template: eases5
Description: トオル歯科ケアクリニック 様
*/
/* 初期設定 ----------------------------------------------------------------------------------- */
:root {
	--es-wrap-max-width: 1024px;
	--es-pagebody-max-width: 1040px;
	--es-main-max-width: 770px;
	--es-main-font-color: #555;
	--es-side-max-width: 250px;
	--es-primary-color: #3fb582;
	--es-secondary-color: #278059;
	--es-header-color: rgba(32, 32, 32, 0);
	--es-header-font-color: #4c3f29;
	--es-side-color: rgba(32, 32, 32, 0);
	--es-side-font-color: #555;
	--es-side-a-color: #555;
	--es-footer-color: #3fb582;
	--es-footer-font-color: white;
	--es-url-font-color: #2d6bb1;
	--es-header-hmg-color: white;
	--es-mobile-menu-color: #335b22;
}

ul, ol {
	padding: 0;
	list-style: none; }

/* contents ------------------------------------------------------------------------------------- */

/* ■ h2 - h5
-------------------------------------------------------------- */
#main h2 {
	margin-bottom: 30px;
    padding-left: 10px;
    background-color: #ffe075;
    color: #855c13; }

.single-page #main h2 { }

#main h3 {
	margin: 10px 0 20px;
    padding: 5px 10px;
    border-left: 10px solid #3fb582; }

#main .flex h3 {
	margin: 0;
	padding: 0;
	border-left: 0;
	font-size: 2rem;
	color: #ee4267; }

#main h4 {
	margin: 20px 0;
    padding: 5px 10px;
    border-bottom: 2px solid #f45879; }

#footer h2 { font-size: 2rem; }

/* レイアウト
-------------------------------------------------------------- */
#wrap { margin: 0 auto; }

#globalnavi { background-color: var( --es-primary-color ); }
	@media screen and (min-width: 768px) {
		#globalnavi { display: block; } }

#globalnavi ul { 
	max-width: var( --es-pagebody-max-width );
    margin: 0 auto;
	flex-wrap: wrap;
	border-left: 1px solid #fff;
    background-color: var( --es-primary-color ); }

#globalnavi li {
	width: 50%;
	border-right: 1px solid #fff;
	background-color: var( --es-primary-color );
	font-size: 1.5rem; }
	@media screen and (min-width: 768px) {
		#globalnavi li { width: 25%; } }


#globalnavi li a {
	display: block;
	width: 100%;
	padding: 10px 0; }

#globalnavi li a:hover {
	background-color: var( --es-secondary-color ); }

#globalnavi li.current-menu-item a {
	background-color: var( --es-secondary-color );}

#pagebody > .inner {
	max-width: var( --es-pagebody-max-width );
	margin: 0 auto 50px;
	padding: 0 10px; }
	@media screen and (min-width: 768px) {
		#pagebody > .inner {
			display: flex;
			justify-content: space-between;
			flex-direction: row-reverse;
			padding: 0; } }

#main {  }
	@media screen and (min-width: 768px) {
		#main {
			max-width: var(	--es-main-max-width );
			margin:0 0 0 20px; } }

.link-banner { margin-left: 10px; }
	@media screen and (min-width: 768px) {
		.link-banner { margin-left: 0; } }

.link-banner li {
	margin-bottom: 10px; }

#footer { padding: 40px 0 20px; }

#footer .inner {
	max-width: var( --es-pagebody-max-width );
	padding: 0 10px; }

#wrap .inner > #footer .inner > section {
	display: flex;
	justify-content: center;
    margin: 0 auto; }
	@media screen and (min-width: 768px) {
		#wrap .inner > #footer .inner > section {
			align-items: flex-start; } }

##footer .inner > section section:nth-child(2) { margin: 0; }
	@media screen and (min-width: 400px) {
		#footer .inner > section section:nth-child(1) { width: 100%; }
		#footer .inner > section section:nth-child(2) { width: 100%; } }
	@media screen and (min-width: 768px) {
		#footer .inner > section section:nth-child(1) { width: 100%; }
		#footer .inner > section section:nth-child(2) { width: 100%; } }
	@media screen and (min-width: 768px) {
		#footer .inner > section section:nth-child(1) { width: 100%; }
		#footer .inner > section section:nth-child(2) { width: 45%; } }

.widgets_drawer ul { margin-bottom: 40px; }

.navi-contents { background-color: #eee; }
	@media screen and (max-width: 768px) {
		.navi-contents { height: calc( 100dvh - 70px ); }
		.sp-menu #drawer-close { height: calc( 100dvh - 70px ); } }

/* コンテンツ
-------------------------------------------------------------- */
#main p {
	padding: 0 0 0 10px;
	line-height: 1.4; }

#main .wp-block-group__inner-container p { padding: 0 0 0 10px; }

#main tr, #main th, #main td { border: 0; }

.wp-block-image figcaption { font-size: 1.4rem; }

.wp-block-image .alignleft>figcaption { display: block; }

.wp-block-button a:hover { color: #555!important; }

.wp-block-button a::after { background: var(--es-secondary-color); }

.wp-block-group {
	padding: 0;
    overflow: hidden; }

.wp-block-group__inner-container .wp-block-group { margin-bottom: 0;}

.wp-block-group__inner-container { padding: 0; }

.inline_block { display: inline-block; }

.wp-block-image .alignright { margin: 0 0 0 10px!important; }
@media screen and (max-width: 770px) {
	.wp-block-image .alignright {
		margin: 0 auto!important;
		float: none; } }

figure.wp-block-gallery.has-nested-images {
	margin: 15px 0;
	gap: 5px; }

figure.wp-block-image { flex-grow: 0!important; }

.flex > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em; }
	@media screen and (min-width: 770px) {
		.flex > .wp-block-group__inner-container {
			flex-direction: row;
			align-items: normal; } }

.flex figure, .flex_shrink {  }
@media screen and (min-width: 770px) {
	.flex figure, .flex_shrink { flex-shrink: 0; } }

.flex_shrink > .wp-block-group__inner-container {
	display: flex;
	column-gap: 10px; }
	@media screen and (min-width: 770px) {
		.flex_shrink > .wp-block-group__inner-container {
			flex-direction: column; } }

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img { height: auto; }

#main .table tr { border-bottom: 1px solid #3fb582; }
@media screen and (max-width: 600px) {
	#main .table tr, #main .table td { display: block; } }

#main .table td:first-child { width: 150px; }
@media screen and (max-width: 600px) {
	#main .table td:first-child { width: 100%; } }

.font1 { color: #f45879; }

.font2 { color: #3fb582; }

.disc { list-style: disc; }
.disc li::marker { font-size: 10px; }

.decimal { list-style: decimal; }

.margin_side_20 { margin: 0 20px; }

.border_bottom { border-bottom: 1px solid #3fb582; }


/*url*/
.url_in a {
	padding-bottom: 2px;
	position: relative;
	color: var(--es-url-font-color) }

.url_in a::before {
	background: var(--es-url-font-color);
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s; }

.url_in a:hover::before {
	transform-origin: left top;
	transform: scale(1, 1); }

/*サブメニュー*/
#sidebar {
	display: none;
	font-size: 1.4rem; }
	@media screen and (min-width: 768px) {
		#sidebar {
			display: block;
			max-width: var(	--es-side-max-width ); } }

#sidebar .menu {  }

#sidebar .menu li {
	padding-bottom: 1px;
	padding-left: 20px;
	background: url(images/side_arrow2.gif) left center no-repeat; }

#sidebar .menu li.current_page_item a { background-color:transparent; }

#sidebar .menu a {
	display: block;
	padding: 5px ;
	background-color:transparent; }

#sidebar .menu a {
	position: relative;
	z-index: 1; 
	color: var(--es-url-font-color); }

#sidebar .menu a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	background: #d3d3d377;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	z-index: -1; }

#sidebar .menu a:hover {
	color: var(--es-url-font-color); }

#sidebar .menu a:hover::before {
	transform-origin: left top;
	transform: scale(1, 1); }

#sidebar .wp-block-group { border: 1px solid #3fb582; }

#sidebar h2 {
	padding: 5px 0 5px 10px;
	background: url(images/side_arrow1.gif) right center no-repeat #3fb582;
	font-size: 1.4rem; }

#sidebar h2 a {
	display: block;
	color: #fff; }

#sidebar ul { padding: 10px 5px; }

#sidebar li span {
	font-size: 1.6rem;
	font-weight: bold; }

#sidebar .pause, .navi-contents2 .pause { margin-bottom: 20px; }

.navi-contents2 #block-8 h2 {
	padding: 10px;
	font-size: 1.8rem;
	font-weight: 400; }

.navi-contents2 #block-8 h2 a { color: #fff; }

.navi-contents2 h2 {
	padding: 10px;
	background: url(images/side_arrow1.gif) right 5px center no-repeat #3fb582;
	font-size: 1.8rem;  }

.navi-contents2 h2 a {
	display: block;
	color: #fff; }

.navi-contents2 #block-9 ul { margin-top: 20px; }

.navi-contents2 #block-9 li {
	padding-left: 10px;
	border: 0;
	color: #fff;
	font-size: 1.6rem; }

.navi-contents2 #block-9 li a { display: inline; }

.navi-contents2 #block-9 li span {
	font-size: 1.8rem;
	font-weight: bold; }

/*ヘッダー*/
#header {
	margin-bottom: 30px;
	background: #f6f9fa;
	text-align: center; }
	@media screen and (min-width: 768px) {
		#header { text-align: left; } }

#image-area{ padding: 0 20px 30px; }
	@media screen and (max-width: 481px) {
		#image-area{ display: none; } }

.hgroup {
	max-width: var( --es-pagebody-max-width );
	padding: 0; }

.hgroup .information {
	padding-bottom: 10px; }

.hgroup .information a {
	display: block;
	width: 100%;
	background-color: transparent; }

.hgroup .information a:hover { background-color: transparent; }

.hgroup .information h1 { margin: -10px auto 0; }
@media screen and (min-width: 768px) {
	.hgroup .information h1 { margin: -10px 0 0; } }

.hgroup .information h2 {display: none; }
@media screen and (min-width: 768px) {
	.hgroup .information h2 {
		display: block;
		padding: 10px 0 10px 60px;
		background: url(images/header_tel.gif) left center no-repeat;
		font-family: 'A-OTF ゴシックMB101 Pro';
		font-size: 1.5rem;
		color: #555;
		line-height: 1.1; } }

.hgroup .information h2 span {
	color: #f45879;
	font-size: 2.7rem; }

.hgroup .information img { width: 100%; }

#globalnavi #menu-item-54, #globalnavi #menu-item-57 { width: 20%; }

#globalnavi #menu-item-53, #globalnavi #menu-item-55,
#globalnavi #menu-item-56, #globalnavi #menu-item-58 { width: 15%; }

.swiper { max-width: var( --es-pagebody-max-width ); }

.swiper img{ width: 100%; }

.swiper-button-next, .swiper-button-prev{
	color: var(--es-primary-color)!important;
	opacity: 0.5; }

.swiper-pagination-bullet-active {
	background: var(--es-primary-color)!important;
	opacity: 0.3!important; }

.blog #image-area { display: none; }

/*フッター*/
#footer > .inner {
	margin: auto; }

#footer #block-11 { }
@media screen and (min-width: 481px) {
	#footer #block-11 {
		padding-left: 130px;
		background: url(images/footer_logo.gif) left center no-repeat; } }

#footer	#block-12 { display: none; }
@media screen and (min-width: 768px) {
	#footer	#block-12 { display: block; } }

/*トップページ*/
.top-page .flex figure,
.treat .flex figure {  }
@media screen and (max-width: 1000px) {
	.top-page .flex figure,
	.treat .flex figure { flex-shrink: 1; } }

.top-page .wp-block-group__inner-container .wp-block-group,
.treat .wp-block-group__inner-container .wp-block-group {  }
	@media screen and (max-width: 1000px) {
		.top-page .wp-block-group__inner-container .wp-block-group,
		.treat .wp-block-group__inner-container .wp-block-group {
			flex-shrink: 2; } }


.top-page #main .welcome {
	margin: 10px 0;
	padding-left: 70px;
	position: relative; }

.top-page #main .welcome img {
	position: absolute;
	top: -10px;
	left: 5px; }

#main .point1 { margin-top: 30px; }

#main .point1 h3::before {
	content: url(images/top_con1_h3.gif);
	vertical-align: middle;
	padding-right: 5px; }

#main .point2 h3::before {
	content: url(images/top_con2_h3.gif);
	vertical-align: middle;
	padding-right: 5px; }

#main .point3 h3::before {
	content: url(images/top_con3_h3.gif);
	vertical-align: middle;
	padding-right: 5px; }

.news_posts dd a { color: var( --es-secondary-color ); }


/*医院理念・スタッフ紹介*/
.staff .wp-block-group__inner-container { justify-content: space-between; }

#main .staff p {
	border-left: solid 8px #CCC;
    padding-left: 5px; }

#main .staff p span { margin-left: 5px; }

/*院内・設備紹介*/


/*診療案内*/
.sub_nav {
	display: flex;
	flex-wrap: wrap;
	gap: 3px; }

.sub_nav li {
	width: 49%;
	padding: 0!important;
	text-align: center; }
	@media screen and (min-width: 540px) {
		.sub_nav li { width: 24%; } }
		@media screen and (min-width: 670px) {
			.sub_nav li { width: 19%; } }
			@media screen and (min-width: 768px) {
				.sub_nav li { width: 49%; } }
				@media screen and (min-width: 810px) {
					.sub_nav li { width: 24%; } }
					@media screen and (min-width: 940px) {
						.sub_nav li { width: 19%; } }

.sub_nav li:hover { background-color: #3fb582; }

.sub_nav a {
	display: block;
	width: 100%;
	height: 40px;
	border: 2px solid #3fb582; }

.sub_nav a:hover { color: #fff; }

.sub_nav li:nth-child(9) {
	font-size: 1.2rem;
	line-height: 1.5; }

/*医院案内・アクセスマップ*/
.business_hours {
	text-align: center; }

#main .business_hours th {
	width: 30%;
	background-color: #c1ead9;
	border: 1px solid #3fb582;}

#main .business_hours td {
	border: 1px solid #3fb582;}

/*よくある質問*/
div.faq { margin-bottom: 40px; }

.question::before {
	content: 'Q.';
	color: #3fb582; }

.answer::before {
	content: 'A.';
	color: #f45879; }


/*一般治療*/
.normal .wp-block-group { margin-bottom: 50px; }


/*小児治療*/
#main .fluorine { margin-bottom: 0; }

/*子どもの矯正*/
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static;
	margin-top: 0;
	background: transparent;
	color: #555;
	font-size: 1.4rem; }

.flex_images > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px; }
	@media screen and (min-width: 768px) {
		.flex_images > .wp-block-group__inner-container {
			flex-direction: row;
			align-items: flex-start; } }


/*モバイルメニュー*/
.menubox {
    display: flex;
    width: 100%;
    padding: 10px 0 7px 0;
    flex-wrap: nowrap!important; }

.navi-contents ul { width: 280px; }

/* お問い合わせ */
.wpcf7 {
	width: 100%;
	max-width: 600px;
	margin: 0 auto; }

.contact input,
.contact textarea {
	width: 100%; }

input[type="submit"] {
	display: block;
	width: 170px;
	margin: 0 auto;
	padding: 15px; }

input[type="submit"]:hover {
	background-color: var(--es-primary-color)!important;
	color: #fff; }

input, textarea { width: 100%; }

.wpcf7 p{ margin: 20px 0; }

.wpcf7 label {
	display: inline-block;
	width: 100%; }

.wpcf7 span { width: 100%; }

/* ブログ */
.post-categories ul span[class*="label-"], .post-categories ul a[class*="label-"]{
	border:none;
	background-color: var( --es-primary-color ); }

.profile{
	font-size: 1,5rem; }

.post-footer {
	text-align: center; }


/* サイドバー */
.navi-contents,.navi-contents figcaption{
    color: #fff; }


/* ■ スマホ用フッター固定メニューにサイドバーボタン追加
-------------------------------------------------------------- */
.mobile-menu-btn2 {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	font-size: 10px;
	color: var( --es-primary-color );
	line-height: 1.2;
	text-align: center; }

.mobile-menu ul > .mobile-menu-hbg2 {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: 100%;
	line-height: 1.2; }

.mobile-menu-btn2 a,
.mobile-menu-hbg2 a {
	display: block;
	text-decoration: none; }

.mobile-menu-btn2 span,
.mobile-menu-hbg2 > span {
	display: block;
	font-size: 10px;
	color: var( --es-primary-color ); }

.icon-home:before {
	content: "\e90a";
	font-size: 2.8rem; }

.icon-up:before {
	content: "\e91c";
	font-size: 2.8rem; }

.icon-tel:before {
    content: "\e907";
    font-size: 2.8rem; }

/* :::::: toggle button :::::: */
#drawer-checkbox2 {
	display: none; }

#drawer-icon2 {
	cursor: pointer;
	display: inline-block;
	height: 26px;
	position: relative;
	width: 26px; }

#drawer-icon2 span {
	background: var( --es-mobile-menu-color );
	border-radius: 4px;
	display: block;
	height: 16%;
	right: 0;
	margin: -8% 0 0 -42%;
	position: absolute;
	top: 50%;
	transition: all 0.3s ease-in-out;
	width: 40%; }

#drawer-icon2 span::before,
#drawer-icon2 span::after {
	-webkit-transform: rotate(0);
	background: var( --es-mobile-menu-color );
	border-radius: 4px;
	content: "";
	display: block;
	height: 100%;
	margin: -8% 0 0 -50%;
	position: absolute;
	top: 50%;
	transform: rotate(0);
	transition: all 0.3s ease-in-out;
	width: 100%; }

#drawer-icon2 span::before {
	left: -50%;
	width: 200%;
	margin-top: -80%; }

#drawer-icon2 span::after {
	right: 0%;
	width: 100%;
	margin-top: 35%; }

#drawer-checkbox2:checked ~ #drawer-icon2 span {
	background: rgba(51, 51, 51, 0); }

#drawer-checkbox2:checked ~ #drawer-icon2 span::before,
#drawer-checkbox2:checked ~ #drawer-icon2 span::after {
	content: "";
	display: block;
	height: 100%;
	left: -50%;
	margin: -8% 0 0 -42%;
	position: absolute;
	top: 50%;
	width: 200%; }

#drawer-checkbox2:checked ~ #drawer-icon2 span::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg); }

#drawer-checkbox2:checked ~ #drawer-icon2 span::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg); }

#drawer-close2 {
	display: none;
	position: fixed;
	z-index: 39;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	transition: all 0.3s ease-in-out 0s; }

#drawer-checkbox2:checked ~ #drawer-close2 {
	display: block;
	opacity: 0.3; }

/* :::::: Drawer Menu :::::: */
.navi-contents2 {
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 40;
	width: 70%;
	max-width: 90%;
	height: 100%;
	background: rgba(0,0,0,.8);
	transition: all 0.3s ease-in-out 0s;
	transform: translateX(100%);
	-webkit-overflow-scrolling : touch;
	line-height: 1.8; }

.navi-contents2 li {
	border-bottom: 1px solid #000;
	text-align: left; }

.navi-contents2 .menu li a {
	display: block;
	padding: 10px;
	color: white; }

.navi-contents2 .menu li a:hover {
	background-color: #4e4e4e; }

.navi-contents2 li i {
	padding-right: 10px; }


#drawer-checkbox2:checked ~ .navi-contents2 {
	transform: translateX(0);
	box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16); }