/*
Theme Name: astrild
Template: astra
Tags: child-ikematsu
*/


/*------------ Header ---------------------*/
#masthead .elementor .elementor-element .elementskit-navbar-nav > li > a {
	font-size: 1.05em;
	font-weight: 600;
	color: #345;
	line-height: 1;
	padding: 0 0.45vw;
}
#masthead .elementor .elementor-element .elementskit-navbar-nav > li.menu-item-1784 > a {
	padding: 0 0 0 1vw;
}
body:not(.home):not(.elementor-editor-active) .footer-sec .googlemap {
    display: none;
}

/*------------ Footer ---------------------*/
table.tafe-table .tafe-table-body th, table.tafe-table .tafe-table-body td {
	padding: 5px 2px 4px;
}
footer ul.cd-name li {
	margin-right: 4px;
}

/*------------ Top Page ---------------------*/
.home .top-sec:after {
	background: linear-gradient(90deg, #48c 0%, #fff 100%);
}
.home .icon-sec .ekit-wid-con .elementskit-info-box-title {
	font-size: 130%;
	font-weight: 600;
	margin-bottom: 0.2em;
}
.home .icon-sec .ekit-wid-con a .elementskit-infobox .elementskit-box-header .elementskit-info-box-icon {
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	border: 1px solid #fff4;
	transition: 0.4s;
}
.home .icon-sec .ekit-wid-con a:hover .elementskit-infobox .elementskit-box-header .elementskit-info-box-icon {
	transform: scale(1.1);
}
.home .icon-sec a:hover {
	color: #333;
}
.home .medical-sec .elementor-icon {
	display: none;
}
.home .medical-sec h4 {
	font-family: 'BIZ UDGothic', 'Hiragino Sans', 'NotoSansJPSubset', sans-serif;
}
table.tafe-table {
	border: none;
}
table.tafe-table .tafe-table-body tr {
	border-bottom: 1px solid #ddd;
}
.elementor-widget-heading .elementor-heading-title {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
}
.elementor-widget-button .elementor-button {
	font-weight: 500;
}
.blur .elementor-widget-container {
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

/*------------ Sub Page ---------------------*/
header.original-header {
    height: 460px;
    background: #fff;
	position: relative;
    z-index: 0;
}
header.original-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("https://www.terasawa-h.jp/wp-content/uploads/sub-bg1a.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: calc(14em + 45vw) auto;
    opacity: 0.4;
    z-index: -1;
}
.ttl-area {
    position: absolute;
    bottom: 0;
    top: 240px;
}
.post-thumb {
    position: absolute;
    top: 120px;
    right: 4%;
}
header.entry-header .post-thumb img, .ast-single-post-featured-section.post-thumb img {
	height: 23em;
	border-radius: 20px;
}
.ast-separate-container #primary {
	padding: 0 0 0;
}
.ast-single-post-featured-section + article {
	margin-top: -1em;
}
h1, .entry-content :where(h1) {
	font-size: 255%;
}
h2, .entry-content :where(h2) {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 175%;
}
h3, .entry-content :where(h3) {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 134%;
}
h4, .entry-content :where(h4) {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 124%;
}
h5, .entry-content :where(h5) {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 116%;
}
h6, .entry-content :where(h6) {
	font-family: 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 108%;
}
.entry-content p.mb30 {
	margin-bottom: 30px;
}
.wp-block-list {
	font-size: 100%;
}
.entry-content ul.wp-block-list li {
	list-style-type: disc;
}
.entry-content ul.wp-block-list li::marker {
	color: #8be;
}
.entry-content ul.wp-block-list.check li {
	list-style-type: none;
}
.entry-content ul.wp-block-list ul li {
	list-style-type: circle;
}
.ast-single-post .entry-content a.ekit_global_links {
	text-decoration: none;
}
.wp-block-columns {
	scroll-margin-top: 100px;
}
ul:not(.wp-block-social-links).is-style-vk-check-square-mark li::before, ol.is-style-vk-check-square-mark li::before {
	position: relative;
	font-size: 95%;
	content: '\f00c';
	background: #f4f4f4;
	margin-right: -0.8em;
}
.entry-content .wp-block-table td, .entry-content .wp-block-table th {
	padding: 8px calc(0.2em + 0.1vw);
	line-height: 1.4;
	border: 1px solid #ddd;
}
ul:not(.wp-block-social-links).is-style-vk-check-square-mark:where(:not(.is-style-default)) li {
	margin: 0 0 0.2em;
}
.entry-content .wp-block-button.wbtn-b .wp-element-button {
	position: relative;
	font-size: 100%;
	color: #258;
	padding: 1em 2.8em 0.9em 1.2em;
	background: #fff;
	border: 2px solid #6ae;
	transition: 0.3s;
}
.entry-content .wp-block-button.wbtn-b .wp-element-button:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-size: 100%;
	font-weight: 600;
	color: #6ae;
	content: "\f35a";
	right: 0.8em;
	transition: 0.3s;
}
.entry-content .wp-block-button.wbtn-a .wp-element-button {
	position: relative;
	font-size: 95%;
	color: #640;
	padding: 1em 2.8em 0.9em 1.2em;
	background: #fff;
	border: 2px solid #fc0;
	transition: 0.3s;
}
.entry-content .wp-block-button.wbtn-a .wp-element-button:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-size: 100%;
	font-weight: 600;
	color: #fc0;
	content: "\f35a";
	right: 1em;
	transition: 0.3s;
}
.wait-btn a.elementor-button:after {
	color: #fff;
	right: 1em;
}
.p-switch .wp-block-button a {
	font-size: 110%;
}
.p-switch .wp-block-button a:not(.has-link-color) {
	font-weight: bold;
}
.flow-box {
	border-left: 2px solid #ddd;
	border-bottom: 1px dashed #eee;
}
.flow-box > .wp-block-column:first-child p {
	margin: 0.5em 0 0.4em 0.5em; 
}
.flow-box h5.wp-block-heading {
	margin: 0;
}
.wp-block-uagb-marketing-button a.uagb-marketing-btn__link {
	font-size: 100%;
	border: 1px solid #bdf;
	border-radius: 30px;
}
.page-id-28 .wp-block-uagb-marketing-button a.uagb-marketing-btn__link,.parent-pageid-28 .wp-block-uagb-marketing-button a.uagb-marketing-btn__link {
	font-size: 100%;
	border: 1px solid #ffedc6;
	border-radius: 30px;
}
.wp-block-image figcaption {
	font-size: 100%;
}
#main .wp-block-uagb-icon-list .uagb-icon-list__source-wrap {
	padding-top: 3px;
}
h4.wp-block-heading + .wp-block-columns {
	margin-top: 1.3em;
}
h5.wp-block-heading + .wp-block-columns {
	margin-top: 1em;
}
.wp-block-heading + .wp-block-image, .wp-block-heading + .wp-block-uagb-image {
	margin-top: 0.6em;
}
:root :where(.is-layout-flow) > .wp-block-list, :root :where(.is-layout-flow) > .wp-block-uagb-icon-list {
	margin-top: 0.2em;
}
body .ast-container .entry-content .wp-block-uagb-container>.uagb-container-inner-blocks-wrap > ul {
	margin-left: 0;
} 

/*------------ Pediatric Page ---------------------*/
body.ast-separate-container.page.page-id-28, body.page.parent-pageid-28 {
	background: #fcf8f4 !important;
}
.page-id-28 .original-header h1, .parent-pageid-28 .original-header h1 {
	font-family: 'Zen Maru Gothic', Sans-serif;
	font-weight: 600;
}
.page-id-28 h2.wp-block-heading, .parent-pageid-28 h2.wp-block-heading {
	font-family: 'Zen Maru Gothic', Sans-serif;
	font-weight: 600;
}
.page-id-28 h2.wp-block-heading:before, .parent-pageid-28 h2.wp-block-heading:before {
	background: #ffe8b0;
}
.page-id-28 h3.wp-block-heading, .parent-pageid-28 h3.wp-block-heading {
    font-family: 'YakuhanJPs', 'Zen Maru Gothic', Sans-serif;
	font-weight: 600;
	background-image: linear-gradient(90deg, #ec8 0 25%, #eed 25%);
}
.page-id-28 h4.wp-block-heading, .parent-pageid-28 h4.wp-block-heading {
    font-family: 'YakuhanJPs', 'Zen Maru Gothic', Sans-serif;
}
.page-id-28 h4.wp-block-heading:after, .parent-pageid-28 h4.wp-block-heading:after {
	background: #fd9;
}
.page-id-28 h5.wp-block-heading:after, .parent-pageid-28 h5.wp-block-heading:after {
	background: #fd9;
}

/*------------ Single Post ---------------------*/
.single .header.original-header:before {
	background-size: 100%;
}
.single h1 {
	font-size: 250%;
}
.single h2.wp-block-heading {
	font-size: 185%;
}
.single.ast-separate-container #primary {
	margin-top: 2em;
}

@media (min-width: 922px) {
	.ast-no-sidebar .site-content .ast-article-image-container--wide {
		margin-right: auto;
		max-width: 66vw;
	}
}

@media (min-width: 1200px) {
	.ast-separate-container .site-content .ast-single-post-featured-section + article {
		margin-top: 0;
	}
    .page-template-default.ast-no-sidebar .site-content .ast-article-image-container--wide {
		width: 43vw;
        margin-left: 0;
        margin-right: 0;
    }
	.ttl-area {
		max-width: 40em;
	}
	.home .top-sec .tafe-table td:first-child {
		width: 8vw;
	}
	.footer-sec .tafe-table td:first-child {
		width: calc(4em + 4vw);
	}
}

@media (max-width: 1199px) {
/*------------ mobile-menu ---------------------*/
    #rmp-menu-wrap-2420 .rmp-submenu .menu-item {
        position: relative;
    }
    #rmp-menu-wrap-2420 .rmp-submenu .menu-item:last-child {
		border-bottom: none;
    }
    #rmp-menu-wrap-2420 .rmp-submenu .menu-item:before {
        position: absolute;
        content: '\f054';
        font-family: 'Font Awesome 5 Free';
        font-weight: 600;
        font-size: 12px;
        color: #ffd9cd;
        top: 50%;
        left: 15px;
        transform: translateY(-50%);
		z-index: 10;
    }
	#rmp-menu-wrap-2420 .rmp-menu > .rmp-menu-item.menu-item-has-children {
        position: relative;
    }
    #rmp-menu-wrap-2420 .rmp-menu > .rmp-menu-item.menu-item-has-children:after {
        content: "\f054";
        position: absolute;
        font-family: 'Font awesome 5 Free';
        font-weight: 600;
        color: #fff6;
        right: 65px;
        top: 14px;
        z-index: 1;
    }
	#rmp-menu-wrap-2420 .rmp-menu > .rmp-menu-item:not(.rmp-menu-item-has-children) {
        position: relative;
    }
    #rmp-menu-wrap-2420 .rmp-menu > .rmp-menu-item:not(.rmp-menu-item-has-children):after {
        content: "\f054";
        position: absolute;
        font-family: 'Font awesome 5 Free';
        font-weight: 600;
        color: #fff6;
        right: 16px;
        top: 14px;
        z-index: 1;
    }
	.e-con.e-flex.acc-menu-link {
		width: calc(100% - 60px);
	}
	.ekit-wid-con .page-menu .elementor-widget-container p {
		margin: 0 0 0 0;
	}
	.home-btn a.elementor-button:after {
		content: none;
	}
	.page-menu {
		max-width: 700px;
		margin: 0 auto;
	}
	.page-menu .elementor-widget-n-accordion .e-n-accordion-item-title {
        padding: 16px 22px 17px 0;
    }
	.page-menu ul:not(.link-btn-list) li {
		margin: 0;
	}
	.page-menu ul li a {
		display: block;
		padding: 13px 0 13px 1.8em;
		color: #346;
		border-bottom: 1px solid #def;
	}
	.page-menu ul.sub-menu li a {
		padding: 13px 0 13px 2.4em;
	}
	.page-menu > ul {
		border-right: solid 1px #a8daff;
		border-left: solid 1px #a8daff;	
	}
	.page-menu .mm-btn:after {
	    content: "\f054";
        position: absolute;
        font-family: 'Font awesome 5 Free';
        font-weight: 600;
        color: #48c;
        right: 24px;
        top: 17px;
	}
	.page-menu ul li {
        position: relative;
	}
	.page-menu ul li:after {
	    content: "\f054";
        position: absolute;
        font-family: 'Font awesome 5 Free';
		font-size: 90%;
        font-weight: 600;
        color: #8be;
        right: 24px;
        top: 15px;
	}
	.page-menu ul.sub-menu {

	}
	.page-menu ul.sub-menu li {
		font-size: 95%;
	}
	.mobile-menu ul#menu-outpatient-1 li.menu-item-3283 {
		display: none;
	}
	.mobile-menu .e-n-accordion li.menu-item::marker {
		content: none;
		list-style: none;
	}

	.post-thumb {
    	max-width: 66vw;
    	top: 90px;
		right: 2vw;
	}
	header.original-header {
    	height: 560px;
	}
	.ttl-area {
    	top: 480px;
	}
	header.original-header::before {
    	background-size: 80%;
		background-position: left bottom;
	}
	.single header.original-header:before {
		background-size: 100%;
	}
	.ast-separate-container .site-content .ast-single-post-featured-section + article {
		margin-top: 15px;
	}
	.home .top-sec .tafe-table td:first-child {
		width: 15vw;
	}
	.entry-content .wp-block-button.wbtn-b .wp-element-button, .entry-content .wp-block-button.wbtn-a .wp-element-button {
		padding: 1em 2.8em 1em 1.2em;
	}
}

@media (max-width: 992px) {
	.ast-separate-container .site-content .ast-single-post-featured-section + article {

	}
}

@media (max-width: 921px) {
	.ast-separate-container .site-content .ast-single-post-featured-section + article {

	}
	header.entry-header .post-thumb img, .ast-single-post-featured-section.post-thumb img {
		height: auto;
	}
	.ttl-area {
    	top: calc(6.5em + 40vw);
	}
	header.original-header {
    	height: calc(10.5em + 40vw);
	}
}

@media (max-width: 767px) {
	.post-thumb {
		right: 1em;
	}
}

@media (max-width: 599px) {
	.ast-container, .ast-container-fluid {
		padding-left: 3vw;
		padding-right: 3vw;
	}
	/*:root :where(.is-layout-flow) > * {
		margin-block-start: 22px;
	}*/
	.ast-separate-container #primary {
		padding: 0 0 3em;
	}
	.ast-single-post-featured-section.post-thumb img {
    	width: 80vw;
		height: auto;
	}
	.post-thumb {
    	width: auto;
	}
	table.wrap, .wp-block-table.wrap table {
		border: none;
		border-bottom: 1px solid #ddd;
	}
	table.wrap th, table.wrap td, .wp-block-table.wrap th, .wp-block-table.wrap td {
		display: block;
		width: 100%;
		border: none;
		text-align: left;
	}
	table.wrap td, .wp-block-table.wrap td {
		padding-left: 0.5em;
	}
	table.wrap tr:nth-child(2n), .wp-block-table.wrap table tr:nth-child(2n) {
		background: #fff;
	}
	.flow-box {
		border-bottom: none;
	}
	.medical-sec .elementor-icon {
		display: none;
	}
	.data-box.environment .wp-block-image {
		width: 100px;
	}
	.home .weekly-table .tafe-table th, .home .weekly-table .tafe-table td {
		padding: 4px 2vw 1px;
	}
	.home .weekly-table .tafe-table th:nth-child(n+2) {
		padding: 4px 2vw 1px;
	}
}

@media (max-width: 544px) {
	.ast-separate-container .site-content .ast-single-post-featured-section + article {

	}
}

@media (hover) {
	.entry-content .wp-block-button.wbtn-b .wp-element-button:hover {
		background: #f4faff;
	}
	.entry-content .wp-block-button.wbtn-a .wp-element-button:hover {
		background: #fffcf4;
	}
	.entry-content .wp-block-button.wbtn-b .wp-element-button:hover:after, .entry-content .wp-block-button.wbtn-a .wp-element-button:hover:after {
		transform: translateX(0.4em);
	}
}

