.siteHeaderTitle {
    width: 80px;
    height: 80px;
    margin: 0 0 0 50px;
}
@charset "UTF-8";

/*
Theme Name: for MEN 2023
Author: HEVIZ Co.,Ltd.
Author URI: https://heviz.jp/
Description: for E Clinic for MEN by Eri Clinic Omotesando.
Requires at least: 6.0
Requires PHP: 7.4
Version: 1.0
*/


/** ================================================================================================


	E-Clinic for MEN by Eri Clinic Omotesando Base CSS

	@version  1.0   2023.9.5
	@author   K.Sekioka of HEVIZ Co.,Ltd.


==================================================================================================== **/



:root {
	--logo-color: #c95560;
	--gochic-font-family : "Noto Sans JP", "YuGothic", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
	--mincho-font-family : "Noto Serif JP", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
	--eng-font-family    : "Cormorant Garamond", serif;
	
	/* Chinese */
	--scn-gochic-font-family : "Noto Sans SC", sans-serif;
	--scn-mincho-font-family : "Noto Serif SC", serif;

	/* English */
	--en-gochic-font-family : "Noto Sans", sans-serif;
	--en-mincho-font-family : "Noto Serif", serif;

	/* Vietnamese */
	--vi-gochic-font-family : "Noto Sans", sans-serif;
	--vi-mincho-font-family : "Noto Serif", serif;
	
	/* base color */
	--color01 : #16314b;
	--color02 : #316689;
	--color03 : #5e8db2;
	--color04 : #e4ebf0;
	--color05 : #f4f7f9;
	--color06 : #f0e7db;
	--color07 : #dd5458;
	
	/* english title */
	--eng-title-font-family : "Cormorant Garamond", serif;
	--eng-title-font-size   : 70px;
	--eng-title-font-weight : 400;
	--eng-title-line-height : 1;
}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	:root {

		/* english title */
		--eng-title-font-size   : 50px;
	}
}


/** ===========================================================================


    Basic Tag Resets


=============================================================================== **/



body {
	padding-top: 80px;
}

/* Simplified Chinese */
html[lang="zh-hans"] body {
	font-family: var(--scn-gothic-font-family);
}

/* English */
html[lang="en-US"] body {
	font-family: var(--en-gochic-font-family);
}

/* Vietnamese */
html[lang="vi-VN"] body {
	font-family: var(--vi-gochic-font-family);
}



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {
}

/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	body {
		padding-top: 120px;
	}
}



/** ===========================================================================


	Site Common Header


=============================================================================== **/




.siteHeader {
	overflow: visible;
	transition: all 0.5s;
}

.siteHeaderTitles {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.siteHeaderTitle {
    width: 80px;
    height: 80px;
    margin: 0 0 0 50px;
}

.siteHeaderLead {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.siteHeaderLead a {
	color: inherit;
	text-decoration: none;
}

.siteHeaderLead h2 {
	margin: 0;
	padding: 0;
	
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
html[lang="zh-hans"] .siteHeaderLead h2,
html[lang="en-US"] .siteHeaderLead h2,
html[lang="vi-VN"] .siteHeaderLead h2 {
	font-family: var(--eng-font-family);
	font-size: 24px;
}

.siteHeaderLead p {
	margin: 10px 0 0 0;
	padding: 0;
	
	font-size: 12px;
	font-weight: inherit;
	line-height: 1;
	white-space: nowrap;
}

/* ナビが展開した時に背景色を変える */
body.openSiteMenu .siteHeader {
	background-color: var(--color05);
}


/** ヘッダーに着く、リンクボタン --------------------------------- **/

.siteHeaderLinks {
	display: table;
	position: fixed;
	right: 90px;
	top: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	z-index: 1100;
}

.siteHeaderLinks .langs {
	display: table-cell;
	position: relative;
	margin: 0;
	padding: 0;
	vertical-align: middle;	
}



.siteHeaderLinks .wpml-ls-legacy-dropdown {
    width: 120px;
    max-width: none;	
}

.siteHeaderLinks .wpml-ls-legacy-dropdown a {
	line-height: 68px;
	padding-left: 15px;
	text-align: center;
	background-color: var(--color04);
	white-space: nowrap;
	border: 1px solid var(--color04);
}

.siteHeaderLinks .wpml-ls-legacy-dropdown a:hover {
	background-color: #ffffff;
	color: #16314b;
	border-color: #16314b;
}

/* WPMLから国旗を取る */
.wpml-ls-legacy-dropdown .wpml-ls-flag {
    display: none !important;
}




.siteHeaderLinks .wpml-ls-legacy-dropdown .wpml-ls-display {
	display: none;
}

.siteHeaderLinks a.access,
.siteHeaderLinks a.contact {
	display: table-cell;
	position: relative;
	height: 70px;
	margin: 0;
	padding: 0 15px;
	box-sizing: border-box;

	color: inherit;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	
	border: 1px solid #16314b;;
}

.siteHeaderLinks a.access {
	background-color: #5e8db2;
	border-color: #5e8db2;
	color: #ffffff;
}

.siteHeaderLinks a.contact {
	background-color: #16314b;
	border-color: #16314b;
	color: #ffffff;
}

.siteHeaderLinks a.contact:hover,
.siteHeaderLinks a.access:hover {
	background-color: #ffffff;
	border-color: #16314b;
	color: #16314b;
}

.siteHeaderLinks dl {
	margin: 0;
	padding: 0;
}

.siteHeaderLinks dt {
	margin: 0;
	padding: 0;

	font-family: var(--eng-font-family);
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
}

.siteHeaderLinks dd {
	margin: 5px 0 0 0;
	padding: 0;
	
	font-size: 12px;
	font-weight: inherit;
	line-height: 1;
}





/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.siteHeaderTitle {
	    margin: 0;
	}

	.siteHeaderLead h2 {
		font-size: 18px;
	}
	html[lang="zh-hans"] .siteHeaderLead h2,
	html[lang="en-US"] .siteHeaderLead h2,
	html[lang="vi-VN"] .siteHeaderLead h2 {
		font-size: 20px;
	}

	.siteHeaderLead p {
		font-size: 10px;
	}

	.siteHeader > .siteHumberger {
	    right: 15px;
	}


	/** ヘッダーに着く、リンクボタン --------------------------------- **/

	.siteHeaderLinks {
		right: 60px;
	}

	.siteHeaderLinks a.access,
	.siteHeaderLinks a.contact {
		padding: 0 10px;
	}

	.siteHeaderLinks dt {
		font-size: 20px;
	}

	.siteHeaderLinks dd {
		font-size: 8px;
		line-height: 1.2;
	}
}



/** Resonsive for mobile phone ---------------------------- **/

@media screen and (max-width:767px) {
	
	.siteHeader {
    	height: 60px;
	}
	
	.siteHeaderTitle {
/*    	width: 60px;   */
    	height: 60px;
    	margin: 0;
	}

	.siteHeaderLead h2 {
		font-size: inherit;
	}
	html[lang="zh-hans"] .siteHeaderLead h2,
	html[lang="en-US"] .siteHeaderLead h2,
	html[lang="vi-VN"] .siteHeaderLead h2 {
		font-size: inherit;
	}

	.siteHeaderLead p {
		font-size: 10px;
	}

	.siteHeader > .siteHumberger {
		right: 20px;
		top: 15px;
	}

	/** ヘッダーに着く、リンクボタン ------------ **/

	.siteHeaderLinks {
		right: 0;
		top: 60px;
		width: 100%;
		z-index: 900;
		background-color: var(--color04);
	}
	
	.siteHeaderLinks .wpml-ls-legacy-dropdown {
		width: 100%;
		box-sizing: border-box;
	}

	
	.siteHeaderLinks .wpml-ls-legacy-dropdown a {
		line-height: 48px;
	}

	.siteHeaderLinks a.access,
	.siteHeaderLinks a.contact {
		height: 50px;
		margin: 0;
		padding: 0 10px;
	}
	
	.siteHeaderLinks dd {
		font-size: 8px;
		line-height: 1.2;
	}
}

/*
.siteMain {
	padding-bottom: 50px;
}
*/




/** ===========================================================================

	site common nav

=============================================================================== **/


/* home */

.siteNav.home {
	margin: 20px auto;
	padding: 20px;
	max-width: 400px;
	background-color: var(--color04);
}

.siteNav.home a,
.siteNav.home a:link,
.siteNav.home a:visited {
	background-color: var(--color01);
	border: 1px solid var(--color01);
	color: #ffffff;
	text-decoration: none;
}

.siteNav.home a:hover,
.siteNav.home a:active {
	background-color: var(--color01);
	border-color: var(--color01);
	color: #ffffff;
}



/* 検索 */
.siteHeaderMenu .search-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin: 20px auto;
	padding: 20px;
	max-width: 400px;
	background-color: var(--color04);
}

.postsSearch input[type="submit"],
.siteHeaderMenu .search-form input[type="submit"] {
	background-color: var(--color02);
	background-image: url("img/search.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 50%;
	
	width: auto;
	max-width: 60px;
	text-indent: -9999px;
	overflow: hidden;
}

/* 部位別 */
.siteNav.parts,
.siteNav.types {
	margin: 30px auto 20px;
	padding: 20px 20px 15px;
	background-color: var(--color04);
}

.siteNav.parts .siteNavTitle,
.siteNav.types .siteNavTitle {
	display: block;
	position: absolute;
	left: 20px;
	top: 0;
	width: calc( 100% - 40px );
	margin: 0;
	padding: 0;

	color: var(--color02);
	font-family: var(--mincho-font-family);
	font-size: 24px;
	font-weight: 400;
	
	transform: translateY(-50%);
}

.siteNav.parts li,
.siteNav.types li {
	margin: 5px 0;
	border-top: 0;
}

.siteNav.parts a,
.siteNav.parts a:link,
.siteNav.parts a:visited,
.siteNav.types a,
.siteNav.types a:link,
.siteNav.types a:visited{
	background-color: #ffffff;
	border: 1px solid var(--color02);
	color: var(--color02);
	text-decoration: none;
}

.siteNav.parts a:hover,
.siteNav.parts a:active,
.siteNav.types a:hover,
.siteNav.types a:active {
	background-color: var(--color03);
	border-color: var(--color03);
	color: #ffffff;
}



/* メイン */
.siteNav.main {
	margin: 30px auto 20px;
	padding: 15px 20px;
	background-color: var(--color04);
}

.siteNav.main li {
	margin: 5px 0;
	border-top: 0;
}

.siteNav.main a,
.siteNav.main a:link,
.siteNav.main a:visited {
	background-color: #ffffff;
	border: 1px solid var(--color02);
	color: var(--color02);
	text-decoration: none;
}

.siteNav.main a:hover,
.siteNav.main a:active {
	background-color: var(--color03);
	border-color: var(--color03);
	color: #ffffff;
}






/** ===========================================================================


	Common Footer


=============================================================================== **/



.siteFooter {
	padding: 0 0 50px;
}


/* #1 Links ------------------------------- **/


.siteFooterButtons {}

.siteFooterButtonsInner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	position: relative;
	margin: 0;
	padding: 0;
}

.siteFooterButtons a {
	display: block;
	position: relative;
	width: 33.33%;
	height: 240px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background-color: #e4ebf0;
	border: 1px solid #e4ebf0;
	color: #1f3447;
	
	transition: all 0.3s;
}

.siteFooterButtons a .eng {
	display: block;
	position: absolute;
	left: 10%;
	bottom: 46%;
	width: 60%;
	margin: 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-weight: 400;
	font-size: 40px;
	line-height: 1;
	
	transition: all 0.3s;
}

.siteFooterButtons a .ttl {
	display: block;
	position: absolute;
	left: 10%;
	top: 56%;
	width: 60%;
	margin: 0;
	padding: 0;
	
	transition: all 0.3s;
}

.siteFooterButtons svg {
	display: block;
	position: absolute;
	left: 65%;
	top: 50%;
	width: 25%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	transform: translate(0,-50%);
	
	fill: #1f3447;
	transition: all 0.3s;
}
.siteFooterButtons a:nth-of-type(3) { background-color: #e4ebf0; color: #1f3447; }
.siteFooterButtons a:nth-of-type(2) { background-color: #93b1cc; border-color: #93b1cc; color: #1f3447; }
.siteFooterButtons a:nth-of-type(1) { background-color: #1f3447; border-color: #1f3447; color: #ffffff; }

.siteFooterButtons a:nth-of-type(1) svg {
	fill: #ffffff;
}


.siteFooterButtons a:hover {
	background-color: #ffffff;
	border-color: #1f3447;
	color: #1f3447;
}

.siteFooterButtons a:hover svg {
	transform: translate(10px,-50%);
	fill: #1f3447;
}



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.siteFooterButtons a {
		height: 180px;
	}

	.siteFooterButtons a .eng {
		font-size: 28px;
	}
	
	.siteFooterButtons a .ttl {
		font-size: 14px;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.siteFooterButtonsInner {
		display: block;
	}

	.siteFooterButtons a {
		width: auto;
		height: 120px;
	}

	.siteFooterButtons a .eng {
		font-size: 24px;
	}
	
	.siteFooterButtons a .ttl {
		font-size: smaller;
	}
}



/* #2 Cards --------------------------------- **/


.siteFooterCards {
	display: block;
	position: relative;
	margin: 50px 0;
	padding: 0;
}

.siteFooterCardsInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
}

.siteFooterCardsList {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0;
}

.siteFooterCardsTitle {
	display: block;
	position: relative;
	width: 7em;
	margin: 10px 0;
	padding: 0;
	box-sizing: border-box;
	
	font-size: inherit;
	font-weight: inherit;
	line-height: 1;
}
.siteFooterCardsTitle::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	width: 1px;
	height: 10px;
	margin: 0;
	padding: 0;
	background-color: #231815;
	transform: translateY(-50%);
}

.siteFooterContent {
	width: auto;
	max-width: calc( 100% - 7em );
	margin: 10px 0;
	padding: 0 0 0 20px;
	box-sizing: border-box;
}

.siteFooterContent ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.siteFooterContent li {
	margin: 5px 10px;
}

.siteFooterContent img {
	width: auto;
	max-width: none;
	height: 35px;
	vertical-align: bottom;
}
.siteFooterContent li.visa img { height: 25px; }
.siteFooterContent li.alipay img { height: 25px; }
.siteFooterContent li.wechatpay img { height: 25px; }


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.siteFooterCardsInner {
		width: auto;
		max-width: none;
		margin: 0 20px;
	}

	.siteFooterCardsList {
		display: block;
	}

	.siteFooterCardsTitle {
		width: auto;
		margin: 30px 0 10px;
		padding: 0 0 10px;
	}
	.siteFooterCardsTitle::after {
		right: auto;
		left: 0;
		top: 100%;
		width: 10px;
		height: 1px;
	}

	.siteFooterContent {
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.siteFooterContent li {
		margin: 5px;
	}

	.siteFooterContent img {
		height: 30px;
	}

	.siteFooterContent li.visa img,
	.siteFooterContent li.alipay img,
	.siteFooterContent li.wechatpay img { height: 20px; }
}



/* #3 site links ------------------------------------- **/

.siteFooterSites {
	display: block;
	position: relative;
	margin: 0;
	padding: 50px 0;
	background-color: #f8f8f8;
	border-bottom: 1px solid #ccc;
}

.siteFooterSitesInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
}

.siteFooterSites ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	position: relative;
	margin: 0 -10px;
	padding: 0;
	list-style-type: none;
}

.siteFooterSites li {
	width: calc( 50% - 20px );
	margin: 0 10px;
	padding: 0;
}

.siteFooterSites a {}

.siteFooterSites img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0 0 10px;
	padding: 0;
	vertical-align: bottom;
	transition: all 0.3s;
}

.siteFooterSites span {}

.siteFooterSites a:hover img {
	opacity: 0.7;
}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.siteFooterSites {
		padding: 30px;
	}

	.siteFooterSitesInner {
		width: auto;
		max-width: none;
		margin: 0;
	}

	.siteFooterSites ul {
		display: block;
		position: relative;
		margin: 0;
	}

	.siteFooterSites li {
		width: auto;
		margin: 20px 0 0 0;
		padding: 0;
	}
	.siteFooterSites li:first-child {
		margin-top: 0;
	}	
}



/* #4 EC Links -------------------------------------- */


.siteFooterEC {
	display: block;
	position: relative;
	margin: 0;
	padding: 50px 0;
	box-sizing: border-box;
	background-color: #f8f8f8;
}

.siteFooterECInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 800px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.siteFooterECTitle {
	margin: 0 0 30px;
	padding: 0;
	
	font-size: inherit;
	font-weight: inherit;
	text-align: center;
}

.siteFooterECContent {}

.siteFooterECContent ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 0 -10px;
	padding: 0;
	list-style-type: none;
	box-sizing: border-box;
}

.siteFooterECContent li {
	margin: 0 10px;
	padding: 0;
}

.siteFooterECContent a {}

.siteFooterECContent img {
	width: 100%;
	max-width: none;
	height: auto;
	vertical-align: bottom;
	box-sizing: border-box;
}

.siteFooterECContent a:hover img {
	opacity: 0.7;
	transition: all 0.3s;
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.siteFooterEC {
		padding: 30px;
	}

	.siteFooterECInner {
		width: auto;
		max-width: none;
	}

	.siteFooterECTitle {
		margin: 0;
	}

	.siteFooterECContent ul {
		flex-wrap: wrap;
	}

	.siteFooterECContent li {
		width: calc( 50% - 20px );
		margin: 10px;
	}
}



/* #5 SNS ----------------------------------------- */


.siteFooterSNS {
	display: block;
	position: relative;
	margin: 50px 0 0 0;
	padding: 0;
}

.siteFooterSNSInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.siteFooterSNSContent {}

.siteFooterSNSContent ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 0 -20px;
	padding: 0;
	box-sizing: border-box;
	list-style-type: none;
}

.siteFooterSNSContent li {
	margin: 10px;
	padding: 0;
	box-sizing: border-box;
}

.siteFooterSNSContent a {}

.siteFooterSNSContent img {
	width: 40px;
	vertical-align: bottom;
}

.siteFooterSNSContent dl {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
}

.siteFooterSNSContent dt {
	margin: 0;
	padding: 0 10px 0 0;
}

.siteFooterSNSContent dd {
	margin: 0;
	padding: 0;
	font-size: smaller;
	white-space: nowrap;
}

/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
}


/* #6 logo -------------------------------------- */

.siteFooterLogo {
	display: block;
	position: relative;
	width: calc( 100% - 100px);
	max-width: 1000px;
	margin: 100px auto 0;
	padding: 0;
	text-align: center;
}

.siteFooterLogo a {}

.siteFooterLogo img {
	vertical-align: bottom;
}


/* #7 copyright ---------------------------------- */

.siteFooterCopyright {
	display: block;
	position: relative;
	width: calc( 100% - 100px);
	max-width: 1000px;
	margin: 100px auto 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-size: larger;
	font-weight: inherit;
	text-align: center;
}

.siteFooterCopyright span {}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.siteFooterCopyright span {
		display: none;
	}
}


/* #8 attension ---------------------------------- */

.siteFooterAttention {
	display: block;
	position: relative;
	width: calc( 100% - 100px);
	max-width: 1000px;
	margin: 10px auto 0;
	padding: 0;
	
	font-size: inherit;
	font-weight: inherit;
	text-align: center;
}

.siteFooterAttention img {
	width: 40px;
	vertical-align: middle;
}


/* #9 language selector ------------------------- */

.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {
	margin-top: 50px;
}





/** ============================================================================


	site nav


================================================================================ **/



/* 第2階層を開きっぱなしに */
.siteNav.main li div {
    max-height: 1000px;
}

.siteNav.main li.hasChild > a::before {
    display: none;
}



/** ===========================================================================


	Bread Climbs (overwrite : css/jQuery.sitecommon.css)


=============================================================================== **/



.siteBread {
	max-width: 1000px;
	padding-top: 10px;
}

.siteBread li.here {
	display: none;
}

@media screen and (max-width:767px) {

	.siteBread ul:not(:first-child) {
		display: none;
	}
}



/** ===========================================================================


	カテゴリーページ. 検索結果ページ    .posts.archive (css/post.css)


=============================================================================== **/



.posts.archive {
	padding-bottom: 50px;
}

.posts.archive .postsHeader {
	background-color: var(--color01);
	color: #ffffff;
}

.posts.archive .postsHeader a,
.posts.archive .postsHeader a:link,
.posts.archive .postsHeader a:visited {
	color: inherit;
}

.posts.archive .postsTitle {
	font-family: var( --mincho-font-family);
}


/* 英語タイトルがある時、日本語を小さく */
.posts.archive .postsEng {
	display: block;
    box-sizing: border-box;
    font-family: var(--eng-font-family);
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
}

.posts.archive.hasEng .postsTitle {
	font-size: larger;
    font-weight: 700;
}

/* カテゴリー+タグの時、タグを横に付ける */
.posts.archive.hasTag .postsTitle {
	display: inline-block;
    margin: 10px 0 0 0;
}

.posts.archive .postsTag {
	display: inline-block;
	margin: 0 0 0 20px;
}

.posts.archive .postsTag span {
	padding: 3px 10px;
	background-color: var(--color02);
}

/* 記事一覧に見出しを付ける */
.posts.archive .postsListHeader {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 0 50px;
	padding: 0;
}

.posts.archive .postsListHeader::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 33.33%;
	margin: 0;
	padding: 0;
	background-color: var(--color04);
	z-index: 1;
	transform: skewX(20deg);
}

.posts.archive .postsListTitle {
	display: block;
	position: relative;
	margin: 0;
	padding: 0 1em;
	font-family: var(--mincho-font-family);
	font-size: 22px;
	font-weight: 400;
	z-index: 10;
}

.posts.archive .postsListCount {
	font-family: --var(--gothic-font-family);
	font-size: 14px;
	font-weight: 400;
}



/* page */
.posts .postsPages a.page-numbers.next {
	min-width: 40px;
	text-align: left;
	text-indent: -9999px;
	overflow: hidden;
}

.posts .postsPages a.page-numbers.next::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 10px;
	margin: 0;
	padding: 0;
	
	background-color: #444444;
	clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
	transform: translate(-50%, -50%);
}
.posts .postsPages a.page-numbers.next:hover::before {
	background-color: #ffffff;
}


.posts .postsPages a.page-numbers.prev {
	min-width: 40px;
	text-align: left;
	text-indent: -9999px;
	overflow: hidden;
}
.posts .postsPages a.page-numbers.prev::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 10px;
	margin: 0;
	padding: 0;
	
	background-color: #444444;
	clip-path: polygon(100% 0%, 100% 100%, 0% 50%);
	transform: translate(-50%, -50%);
}
.posts .postsPages a.page-numbers.prev:hover::before {
	background-color: #ffffff;
}


/** for Smart Phone --------------------------------- **/

@media screen and (max-width:767px) {

	.posts.archive .postsEng {
	    font-size: 30px;
	}
	
	.posts.archive.hasEng .postsTitle {
		font-size: inherit;
	}
}



/** ===========================================================================


	投稿ページ  .post.single  (css/post.css)


=============================================================================== **/



.post.single {
	margin-bottom: 50px;
}


.post.single .postHeader {
/*	padding: 50px 0; */
	background-color: var(--color04);
}

.post.single .postFooterInner {
	padding: 30px;
	background-color: var(--color04);
}

.post.single .postFooter .postCategories h3,
.post.single .postFooter .postTags h3 {
	display: none;
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.post.single .postHeader {
		padding: 20px 0;
	}
	
	.post.single .postFooterInner {
		padding: 20px;
	}
}



/** ===========================================================================


	固定ページ  .post.page  (css/post/css)


=============================================================================== **/



.post.page {
	margin-bottom: 50px;

}

.post.page .postHeader {
	background-color: #ebeff1;
    background-color: var(--color01);
    color: #ffffff;
}

.post.page .postTitle {
	font-family: var(--mincho-font-family);
	font-weight: 400;
}

/* 英語見出しがある */
.post.page .postEng {
    display: block;
    box-sizing: border-box;
    font-family: var(--eng-font-family);
    font-size: 50px;
    font-weight: 400;
    line-height: 1;
}

.post.page.hasEng .postTitle {
    font-size: larger;
    font-weight: 700;
}







/*
.pageHeader.category .pageHeaderInner > *:first-child { margin-top: 0;    }
.pageHeader.category .pageHeaderInner > *:last-child  { margin-bottom: 0; }

.pageHeader.category.hasEng .pageHeaderTitle {
	font-size: 20px;
}

.pageHeader.category.hasEng .pageHeaderTitle a {
	color: var(--color03);
}
*/


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.post.page .postEng {
	    font-size: 30px;
	}
	
	.post.page.hasEng .postTitle {
		font-size: inherit;
	}
}

































/** ===========================================================================


	TOP Hero Visual


=============================================================================== **/


.wp-block-group.hero {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0 0 50%;
	box-sizing: border-box;
	
	background-image: url("img/bg-hero.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.wp-block-group.hero > .wp-block-group__inner-container {
	display: block;
	position: absolute;
	left: 5%;
	top: 50%;
	width: 90%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	transform: translateY(-50%);
}

.wp-block-group.hero h3.wp-block-heading {
	margin: 0;
	padding: 0;
	padding-bottom: 0;

	font-family: var(--mincho-font-family);
	font-size: 20px;
	font-weight: inherit;
	border-bottom: 0;
}
.wp-block-group.hero h3.wp-block-heading::before,
.wp-block-group.hero h3.wp-block-heading::after {
	display: none;
}

.wp-block-group.hero h2.wp-block-heading {
	display: block;
	margin: 30px 53% 0 -0.5em;
	padding: 0 0 0 1em;

	text-indent: -1em;
	font-family: var(--mincho-font-family);
	font-size: 42px;
	font-weight: inherit;
	line-height: 1.3;
}
.wp-block-group.hero h2 br:nth-of-type(2) {
	display: none;
}

.wp-block-group.hero h2.wp-block-heading::before,
.wp-block-group.hero h2.wp-block-heading::after {
	display: none;
}


.wp-block-group.hero h4 {
	margin: 30px 55% 30px 0;
	padding: 0;

	font-family: var(--mincho-font-family);
	font-size: 20px;
	font-weight: inherit;
	border-left: 0;
}

.wp-block-group.hero p {
	width: 26em;
	margin: 30px 0 0 0;
	padding: 0 0 0 30px;
	border-left: 1px solid #121212;
}



/* Simplified Chinese */
html[lang="zh-hans"] .wp-block-group.hero h2,
html[lang="zh-hans"] .wp-block-group.hero h3,
html[lang="zh-hans"] .wp-block-group.hero h4 {
	font-family: var(--scn-mincho-font-family);
}

/* English */
html[lang="en-US"] .wp-block-group.hero h2,
html[lang="en-US"] .wp-block-group.hero h3,
html[lang="en-US"] .wp-block-group.hero h4 {
	font-family: var(--en-mincho-font-family);
}
html[lang="en-US"] .wp-block-group.hero h2 {
	margin: 30px 0 0 -0.5em;
	text-indent: -0.5em;
}


/* Vietnamese */
html[lang="vi-VN"] .wp-block-group.hero h2,
html[lang="vi-VN"] .wp-block-group.hero h2,
html[lang="vi-VN"] .wp-block-group.hero h2 {
	font-family: var(--vi-mincho-font-family);
}

html[lang="vi-VN"] .wp-block-group.hero h2 {
	margin: 30px 0 0 -0.5em;
	text-indent: -0.5em;
}



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.wp-block-group.hero h3 {
		margin: 0 50% 0 0;
		font-size: 18px;
	}

	.wp-block-group.hero h2 {
		margin: 20px 55% 0 -0.5em;
		font-size: 34px;
	}
	.wp-block-group.hero h2 br:nth-of-type(2) {
		display: inline;
	}

	.wp-block-group.hero h4 {
		margin: 20px 55% 20px 0;
		font-size: 18px;
	}

	.wp-block-group.hero p {
		width: 20em;
		margin: 20px 52% 0 0;
		padding: 0 0 0 20px;
	}

	/* English */
	html[lang="en-US"] .wp-block-group.hero h2 {
		margin: 20px 0 0 -0.5em;
	}

	/* Vietnamese */
	html[lang="vi-VN"] .wp-block-group.hero h2 {
		margin: 20px 0 0 -0.5em;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.wp-block-group.hero {
		padding: 0 0 150%;
		background-image: url("img/bg-hero-sm.jpg");
	}

	.wp-block-group.hero > .wp-block-group__inner-container {
	}

	.wp-block-group.hero h3.wp-block-heading {
		margin: 0 35% 0 0;
		font-size: 12px;
	}

	.wp-block-group.hero h2.wp-block-heading {
		margin: 20px 45% 0 -0.5em;
		font-size: 24px;
	}

	.wp-block-group.hero h2.wp-block-heading br:nth-of-type(2) {
		display: inline;
	}

	.wp-block-group.hero h4.wp-block-heading {
		margin: 20px 45% 20px 0;
		padding: 0;
		font-size: 12px;
	}

	.wp-block-group.hero p {
		width: auto;
		margin: 20px 45% 0 0;
		padding: 0 0 0 10px;
		font-size: 12px;
	}
	
	.wp-block-group.hero p br {
		display: none;
	}

	/* English */
	html[lang="en-US"] .wp-block-group.hero h2 {
		margin: 20px 0 0 0.5em;
	}


	/* Vietnamese */
	html[lang="vi-VN"] .wp-block-group.hero h2 {
		margin: 20px 0 0 0.5em;
	}
}



/** ===========================================================================


	TOP Manifest


=============================================================================== **/




.wp-block-group.manifest {
	display: block;
	position: relative;
	margin: 0;
	padding: 10% 0;
	padding-bottom: calc( 10% + 90px );
	background-image:url("img/bg-home-message.jpg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.wp-block-group.manifest > .wp-block-group__inner-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.wp-block-group.manifest h2 {
	width: 100%;
	margin: 0;
	padding: 0 50px;
	box-sizing: border-box;
	
	font-family: var(--mincho-font-family);
	font-size: 50px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
}

.wp-block-group.manifest ul {
	margin: 50px 50px 0;
	padding: 0;
	list-style-type: none;
}

.wp-block-group.manifest li {
	display: block;
	position: relative;
	margin: 20px 0 0 0;
	padding: 0 0 0 60px;
	font-size: larger;
	font-weight: 500;
}

.wp-block-group.manifest li::before {
	content: "01"; 
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	
	color: #5e8db2;
    font-family: var(--mincho-font-family);
	font-size: 30px;
	font-weight: 400;
}
.wp-block-group.manifest li:nth-of-type(1)::before { content: "01."; }
.wp-block-group.manifest li:nth-of-type(2)::before { content: "02."; }
.wp-block-group.manifest li:nth-of-type(3)::before { content: "03."; }
.wp-block-group.manifest li:nth-of-type(4)::before { content: "04."; }
.wp-block-group.manifest li:nth-of-type(5)::before { content: "05."; }
.wp-block-group.manifest li:nth-of-type(6)::before { content: "06."; }
.wp-block-group.manifest li:nth-of-type(7)::before { content: "07."; }
.wp-block-group.manifest li:nth-of-type(8)::before { content: "08."; }
.wp-block-group.manifest li:nth-of-type(9)::before { content: "09."; }
.wp-block-group.manifest li:nth-of-type(10)::before { content: "10."; }


/* Simplified Chinese */
html[lang="zh-hans"] .wp-block-group.manifest h2,
html[lang="zh-hans"] .wp-block-group.manifest li::before {
	font-family: var(--scn-mincho-font-family);
}

/* English */
html[lang="en-US"] .wp-block-group.manifest h2,
html[lang="en-US"] .wp-block-group.manifest li::before {
	font-family: var(--en-mincho-font-family);
}

/* Vietnamese */
html[lang="vi-VN"] .wp-block-group.manifest h2,
html[lang="vi-VN"] .wp-block-group.manifest li::before {
	font-family: var(--vi-mincho-font-family);
}


/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.wp-block-group.manifest h2 {
		font-size: 30px;
	}

	.wp-block-group.manifest li {
		padding: 0 0 0 50px;
		font-size: inherit;
	}

	.wp-block-group.manifest li::before {
		font-size: 24px;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.wp-block-group.manifest {
		padding: 100px 30px;
		padding-bottom: 100px;
		background-position: center bottom;
	}

	.wp-block-group.manifest > .wp-block-group__inner-container {
		display: block;
	}

	.wp-block-group.manifest h2 {
		width: auto;
		padding: 0;
		font-size: 24px;
	}

	.wp-block-group.manifest ul {
		margin: 50px 0 0;
	}

	.wp-block-group.manifest li {
		margin: 20px 0 0 0;
		padding: 0 0 0 40px;
		font-size: inherit;
	}
	.wp-block-group.manifest li::before {
		font-size: 24px;
	}
}



/** -------------------------------------------------------


	埋め込みパーツ : お悩み一覧（カテゴリーページ用）


----------------------------------------------------------- **/



.insert.onayamis {
	display: block;
	position: relative;
	margin: 50px 0;
	padding: 30px 20px 25px;
	background-color: var(--color04);
}

.insert.onayamis .insertInner {}

.insert.onayamis .insertHeader {}

.insert.onayamis .insertTitle {
	display: block;
	position: absolute;
	left: 30px;
	top: 0;
	width: calc( 100% - 60px );
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	line-height: 1;
	font-family: var(--mincho-font-family);
	font-size: 26px;
	font-weight: 400;
	color: var(--color02);
	
	transform: translateY(-50%);
}

.insert.onayamis .insertTags {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.insert.onayamis .insertTags a {
	display: block;
	position: relative;
	width: calc( 50% - 20px );
	margin: 5px 10px;
	padding: 10px 20px;
	box-sizing: border-box;
	
	border: 1px solid var(--color02);
	background-color: #ffffff;
	
	color: var(--color02);
	text-decoration: none;
	font-weight: 700;
}
.insert.onayamis .insertTags a::before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--color02);
	border-left: 0;
	border-bottom: 0;
	transform: translateY(-50%) rotate(45deg);
}

.insert.onayamis .insertTags a:link,
.insert.onayamis .insertTags a:visited {
	color: var(--color02);
}

.insert.onayamis .insertTags a:hover {
	border-color: var(--color02);
	background-color: var(--color02);
	color: #ffffff;
}
.insert.onayamis .insertTags a:hover::before {
	border-color: #ffffff;
}


.insert.onayamis .insertTags span.empty {
	display: block;
	position: relative;
	width: calc( 50% - 20px );
	margin: 5px 10px;
	padding: 10px 20px;
	box-sizing: border-box;
	
	border: 1px solid var(--color02);
	background-color: #f5f5f5;
	
	color: var(--color02);
	text-decoration: none;
	font-weight: 400;
}





/** Responsive for tablet --------------------------------- **/
@media screen and (max-width:1024px) and (min-width:768px) {
}



/** Responsive for Mobile Phone --------------------------- **/
@media screen and (max-width:767px) {

	.insert.onayamis {
		padding: 20px 20px 15px;
	}
	
	.insert.onayamis .insertTitle {
		font-size: 22px;
	}

	.insert.onayamis .insertTags {
		display: block;
	}

	.insert.onayamis .insertTags a {
		width: auto;
		margin: 5px 0;
	}
	
	.insert.onayamis .insertTags span.empty {
		width: 100%;
		margin: 5px 0;
	}
}






/** ===========================================================================


	TOP : SERVICES


=============================================================================== **/



.wp-block-group.services {
	display: block;
	position: relative;
	margin: 0;
	padding: 90px 0;
	z-index: 2;
}

.wp-block-group.services::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 90px);
	height: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    background: #e4ebf0;
}

.wp-block-group.services > .wp-block-group__inner-container {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	z-index: 10;
}


/* ヘッダー */
.wp-block-group.services .wp-block-group.servicesHeader {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.wp-block-group.services .wp-block-group.servicesHeader > .wp-block-group__inner-container {
	width: 48%;
	box-sizing: border-box;
}

.wp-block-group.services .serviceEng {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	font-family: var(--eng-font-family);
	font-size: 70px;
	font-weight: 400;
	line-height: 1;
}

.wp-block-group.services .serviceTitle {
	margin: 10px 0 0 0;
	padding: 0;
	padding-bottom: 0;
	border-bottom: 0;
	
	color: #5e8db2;
	font-size: inherit;
	font-weight: inherit;
}
.wp-block-group.services .serviceTitle::after { display: none; }

.wp-block-group.services .wp-block-group.servicesHeader p {
}


/* お問い合わせ */
.wp-block-group.services .servicesMore {
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	width: 50%;
	margin: 0;
	padding: 0;
}

.wp-block-group.services .servicesMore a {
	display: block;
	position: relative;
	margin: 0;
	padding: 60px 50% 60px 40px;
	
	background-color: #16314b;
	border: 1px solid #16314b;
	
	color: #ffffff;
	text-decoration: none;
	transition: all 0.4s;
}
.wp-block-group.services .servicesMore a::before {
	content: "";
	display: block;
	position: absolute;
	left: 55%;
	top: 50%;
	width: calc( 35% + 10px );
	height: 1px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background-color: #ffffff;
	
	transform: translateY(-50%);
	transition: all 0.4s;
}
.wp-block-group.services .servicesMore a::after {
	content: "";
	display: block;
	position: absolute;
	left: 90%;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border: 1px solid #ffffff;
	border-left: 0;
	border-top: 0;
	
	transform: translateY(-50%) rotate(-45deg);
	transition: all 0.4s;
}

.wp-block-group.services .servicesMore a:hover {
	background-color: #ffffff;
	border-color: #16314b;
	color: #16314b;
}
.wp-block-group.services .servicesMore a:hover::before {
	background-color: #16314b;
}
.wp-block-group.services .servicesMore a:hover::after {
	border-color: #16314b;
}



/* パーツリスト */
.block.parts {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 50px auto 0;
	padding: 0;
}

.block.parts .partsInner {}

.block.parts .partsTabs {}

.block.parts .partsTabs ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.block.parts .partsTabs li {
	display: block;
	position: relative;
	margin: 0;
	padding: 20px 20px;
	box-sizing: border-box;
	
	cursor: pointer;
	
	background-color: var(--color02);
	border: 1px solid #ffffff;
	border-bottom: 0;

	color: #ffffff;
	font-size: larger;
	font-weight: 700;
	text-align: center;
}

.block.parts .partsTabs li.sel {
	background-color: #ffffff;
	color: var(--color02);
}

.block.parts .partsTabs a {}


/* 各パーツ */
.block.part {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	max-height: 0px;
	overflow: hidden;
	transition: all 0.5s;
}

.block.part.sel {
	max-height: 10000px;
}

.block.part a {
	text-decoration: none; 
}
.block.part a:link,
.block.part a:visited { color: inherit; }


.block.part .partInner {
	display: block;
	position: relative;
	margin: 0 0 100px;
	padding: 50px 50px 0;
	background-color: #ffffff;
}

.block.part .partHeader {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
}

.block.part .partImage {
	width: 40%;
	box-sizing: border-box;
}

.block.part .partImage a {}

.block.part .partImage img {}

.block.part .partText {
	width: 60%;
	margin: 0;
	padding: 0 50px 0 0;
	box-sizing: border-box;
}

.block.part a {}

.block.part .partEng {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	font-family: var(--eng-font-family);
	font-size: 70px;
	font-weight: 400;
	line-height: 1;
}

.block.part .partTitle {
	margin: 0;
	padding: 0;
	
	color: var(--color02);
	font-size: larger;
	font-weight: inherit;
}

.block.part .partLead {
	margin: 30px 0 0 0;
	padding: 0;
}

.block.part .insert.onayamis {
	margin-bottom: 0;
}

.block.part .partLinks {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	position: relative;
	margin: -10px 0 0;
	padding: 0;
	box-sizing: border-box;
	transform: translateY(50%);
}

.block.part .partLinks a {
	display: block;
	position: relative;
	width: 50%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	color: #ffffff;
	background-color: var(--color01);
	border: 1px solid var(--color01);
}
.block.part .partLinks a::before {
	content: "";
	display: block;
	position: absolute;
	left: 60%;
	top: 50%;
	width: calc( 30% + 10px );
	height: 1px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background-color: #ffffff;
	
	transform: translateY(-50%);
	transition: all 0.4s;
}
.block.part .partLinks a::after {
	content: "";
	display: block;
	position: absolute;
	left: 90%;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border: 1px solid #ffffff;
	border-left: 0;
	border-top: 0;
	
	transform: translateY(-50%) rotate(-45deg);
	transition: all 0.4s;
}



.block.part .partLinks a.list {}

.block.part .partLinks dl {
	display: block;
	position: relative;
	width: 60%;
	margin: 0;
	padding: 30px 0 30px 30px;
	box-sizing: border-box;
}

.block.part .partLinks dt {
	margin: 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-weight: 400;
	font-size: 30px;
	line-height: 1;
}

.block.part .partLinks dd {
	margin: 0;
	padding: 0;
}

.block.part .partLinks a.more {}



.block.part .partLinks a:nth-of-type(1) {
	background-color: var(--color03);
	border-color: var(--color03);
}


.block.part .partLinks a:hover {
	color: var(--color01);
	background-color: #ffffff;
	border-color: var(--color01);
}
.block.part .partLinks a:hover::before {
	background-color: var(--color01);
}
.block.part .partLinks a:hover::after {
	border-color: var(--color01);
}


/* マシン */

/*
.wp-block-group.services .block.machines {
	margin: 150px 0 0 0;
	padding: 0;
}

.wp-block-group.services .block.machines .hvSlider .view .prev {
    width: 20px;
    height: 40px;
	left : 0;
	transform: translateX(-100%);
}
.wp-block-group.services .block.machines .hvSlider .view .next {
    width: 20px;
    height: 40px;
	right : 0;
	transform: translateX(100%);
}
*/


/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.wp-block-group.services {
		margin: -30px 0 0 0;
	}

	.wp-block-group.services::before {
		width: calc(100% - 30px);
	}


	/* ヘッダー */
	.wp-block-group.services .wp-block-group.servicesHeader {
		width: auto;
		max-width: none;
		margin: 0 40px;
	}

	.wp-block-group.services .serviceEng {
		font-size: 60px;
	}

	.wp-block-group.services .serviceTitle {
		margin: 0;
	}

	/* お問い合わせ */

	/* ページ内リンク */
	.wp-block-group.services .servicesLinks {
		width: auto;
		max-width: none;
		margin: 50px 35px 0;
	}

	.wp-block-group.services .servicesLinks li {
		width: calc( 50% - 10px );
	}

	/* 各サービス */
	.wp-block-group.services .servicesGroup {
		width: auto;
		max-width: none;
		margin: 50px 40px 0;
	}

	.wp-block-group.services .servicesGroup::before {
		top: 30px;
		height: calc( 100% - 30px );
	}

	.wp-block-group.services .servicesGroup > .wp-block-group__inner-container {
		margin: 0 30px;
	}

	.wp-block-group.services .servicesGroup .servicesGroupText {
		width: 60%;
		padding: 10px 0 30px 30px;
	}

	.wp-block-group.services .servicesGroup h3 {
		font-size: 30px;
	}

	.wp-block-group.services .servicesGroup ul {
		margin: 20px 0 0 0;
	}

	.wp-block-group.services .servicesGroup .wp-block-image {
		width: 40%;
		margin: 0;
		padding: 0 0 30px;
	}

	/* 互い違いにする */
	.wp-block-group.services .servicesGroup:nth-child(odd) .servicesGroupText {
		padding: 10px 30px 30px 0;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.wp-block-group.services {
		margin: 0;
		padding: 50px 0;
		background: #e4ebf0;
	}
	.wp-block-group.services::before {
		display: none;
	}


	/* ヘッダー */
	.wp-block-group.services .wp-block-group.servicesHeader {
		width: calc( 100% - 60px );
		max-width: none;
	}

	.wp-block-group.services .wp-block-group.servicesHeader > .wp-block-group__inner-container {
		width: auto;
	}

	.wp-block-group.services .serviceEng {
		font-size: 50px;
	}


	/* お問い合わせ */
	.wp-block-group.services .servicesMore {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		margin: 30px 0 0 30px;
	}

	.wp-block-group.services .servicesMore a {
		padding: 30px 50% 30px 30px;
	}


	/* パーツリスト */
	.block.parts {
		width: auto;
		max-width: none;
		margin: 50px 20px 0;
	}
	
	.block.parts .partsTabs {
		margin: 0 20px 0;
	}

	.block.parts .partsTabs ul {
		flex-wrap: wrap;
	}

	.block.parts .partsTabs li {
		flex-grow: 1;
		min-width: 50%;
		padding: 10px 20px;
		font-size: inherit;
	}



	/* 各パーツ */
	.block.part .partInner {
		margin: 0 0 100px;
		padding: 20px 20px 0;
	}

	.block.part .partHeader {
		display: block;
	}

	.block.part .partImage {
		width: auto;
		box-sizing: border-box;
	}

	.block.part .partText {
		width: auto;
		margin: 30px 0 0 0;
		padding: 0;
	}

	.block.part .partEng {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		font-size: 50px;
	}

	.block.part .partLinks {
		display: block;
		margin: 0;
		transform: translateY(20px);
	}

	.block.part .partLinks a {
		width: auto;
	}

.block.part .partLinks dl {
	display: block;
	position: relative;
	width: 60%;
	margin: 0;
	padding: 30px 0 30px 30px;
	box-sizing: border-box;
}

.block.part .partLinks dt {
	margin: 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-weight: 400;
	font-size: 30px;
	line-height: 1;
}

.block.part .partLinks dd {
	margin: 0;
	padding: 0;
}

.block.part .partLinks a.more {}



.block.part .partLinks a:nth-of-type(1) {
	background-color: var(--color03);
	border-color: var(--color03);
}


.block.part .partLinks a:hover {
	color: var(--color01);
	background-color: #ffffff;
	border-color: var(--color01);
}
.block.part .partLinks a:hover::before {
	background-color: var(--color01);
}
.block.part .partLinks a:hover::after {
	border-color: var(--color01);
}

}



/** ===========================================================================


	shortcode : top : doctors


=============================================================================== **/



.block.doctors {
	display: block;
	position: relative;
	margin: 0;
	padding: 150px 0;
	background-image:url("img/bg-doctor.jpg");
	background-position: center top;
	background-repeat: repeat;
}

.block.doctors .blockInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
}

.block.doctors .blockHeader {}

.block.doctors .blockEng {
	margin: 0;
	padding: 0;

	color: #383838;
    font-family: Cormorant Garamond,"Noto Serif JP",serif;
    font-size: 80px;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1;
}

.block.doctors .blockTitle {
	margin: 0;
	padding: 0;
	
    color: #5e8db2;
	font-size: larger;
    font-weight: 400;
	line-height: 1;
}

.block.doctors .blockContent {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}


/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {
	
	.block.doctors {
		margin: 0;
		padding: 150px 0;
	}

	.block.doctors .blockInner {
		width: calc( 100% - 60px );
	}

	.block.doctors .blockEng {
		font-size: 60px;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.block.doctors {
		padding: 50px 0;
	}

	.block.doctors .blockInner {
		width: auto;
		max-width: none;
	}

	.block.doctors .blockEng {
		margin: 0 30px;
	    font-size: 50px;
	}

	.block.doctors .blockTitle {
		margin: 10px 30px 0;
		font-size: inherit;
	}

	.block.doctors .blockContent {
		display: block;
	}
}







/** ===========================================================================


	shortcode : each doctor insert


=============================================================================== **/


.insert.doctor {
	display: block;
	position: relative;
	margin: 100px 10px 0;
	padding: 0;
	box-sizing: border-box;
}

.insert.doctor .insertInner {}

.insert.doctor .insertImage {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
}
.insert.doctor .insertImage::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 72px;
	height: 72px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background: #e4ebf0;
	z-index: 1;
}
.insert.doctor .insertImage::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 111px;
	height: 141px;
	margin: 0;
	padding: 0;
	background: #93b1cc;
	z-index: 1;
}

.insert.doctor .insertImage img {
	display: block;
	position: relative;
	vertical-align: bottom;
	z-index: 10;
}

.insert.doctor .insertText {
	display: block;
	position: relative;
	margin: 0;
	padding: 30px 0 0 0;
	box-sizing: border-box;
}

.insert.doctor .insertHeader {}

.insert.doctor .insertCatch {
	font-size: smaller;
	line-height: 1.5;
}

.insert.doctor .insertTitle {
	clear: none;
	margin: 20px 0 0 0;
	padding: 0;
	font-size: 28px;
	line-height: 1;
}

.insert.doctor .insertEng {
	margin: 10px 0 0 0;
	padding: 0;
	
	font-family: Cormorant Garamond,"Noto Serif JP",serif;
	font-size: 20px;
	font-weight: inherit;
	color: #8e8e8e;
	line-height: 1;
}

.insert.doctor .insertContent {
	margin: 20px 0 0 0;
	padding: 0;
	line-height: 2;
}

.insert.doctor .insertContent h3.wp-block-heading {
	clear: none;
	color: #5e8db2;
	font-family: var(--mincho-font-family);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	
	border-bottom: 0;
	padding-bottom: 0;
}

.insert.doctor .insertContent h3.wp-block-heading::before,
.insert.doctor .insertContent h3.wp-block-heading::after {
	display: none;
}



.insert.doctor .insertContent {
	width: auto;
}

.insert.doctor .insertContent h4.wp-block-heading {
	color: #5e8db2;
	font-family: var(--mincho-font-family);
}

.insert.doctor .insertContent > *:first-child { margin-top: 0; }
.insert.doctor .insertContent > *:last-child  { margin-bottom: 0; }

.insert.doctor .insertSpec {
	margin: 30px 0 0 0;
	font-size: smaller;
}

.insert.doctor .insertSpec dl {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.insert.doctor .insertSpec dt {
	width: 5em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-weight: inherit;
}

.insert.doctor .insertSpec dd {
	width: calc( 100% - 5em );
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* 言語別 */
html[lang="en-US"] .insert.doctor .insertEng { display: none; }
html[lang="en-US"] .insert.doctor .insertTitle { font-family: var(--eng-font-family); font-size: 36px;  }


/* 院長 */
.insert.doctor.dreri {
	width: calc( 100% - 20px );
}

.insert.doctor.dreri .insertInner {}

.insert.doctor.dreri .insertImage {
	float: right;
	width: 40%;
	margin: 0 0 20px 50px;
	box-sizing: border-box;
}



/* アドバイザー */
.insert.doctor.ochiya {
	width: calc( 100% - 20px );
	padding: 30px;
	background-color: #ffffff;
	border: 3px solid #e4ebf0;
}

.insert.doctor.ochiya::before {
	content: "アドバイザー";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	padding: 5px 10px;
	white-space: nowrap;
	
	background-color: #316689;
	color: #ffffff;
}
html[lang="zh-CN"] .insert.doctor.ochiya::before { content: "特别顾问"; }
html[lang="en-US"] .insert.doctor.ochiya::before { content: "Special Consultant Doctor"; }
html[lang="vi"] .insert.doctor.ochiya::before { content: "Bác sỹ cố vấn chuyên môn đặc biệt"; }

.insert.doctor.ochiya .insertImage {
	float: right;
	width: 40%;
	margin: 0 0 20px 50px;
}



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.insert.doctor {
		width: auto;
		margin: 50px 20px 0;
	}

	.insert.doctor .insertImage {
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
	}

	.insert.doctor .insertText {
		margin: 0 10px;
		padding: 30px 0 0 0;
	}
	
	.insert.doctor .insertCatch {
		font-size: smaller;
	}

	.insert.doctor .insertTitle {
		font-size: 24px;
	}

	.insert.doctor .insertEng {
		font-size: larger;
	}

	.insert.doctor .insertContent h3.wp-block-heading {
		font-size: larger;
	}

	.insert.doctor .insertSpec {
		margin: 30px 0 0 0;
		font-size: smaller;
	}

	
	/* 言語別 */
	html[lang="en-US"] .insert.doctor .insertTitle { font-family: var(--eng-font-family); font-size: 28px;  }


	/* 院長 */
	.insert.doctor.dreri {
		width: auto;
	}

	.insert.doctor.dreri .insertImage {
		float: none;
		width: auto;
		margin: 0;
	}

	
	/* アドバイザー */
	.insert.doctor.ochiya {
		width: auto;
		padding: 40px 20px 20px;
		border-width: 1px;
	}
	.insert.doctor.ochiya::before {
		max-width: 100%;
	    white-space: wrap;
		font-size: smaller;
	}

	.insert.doctor.ochiya .insertImage {
		float: none;
		width: auto;
		margin: 0;
	}	
}



/** ===========================================================================


	shortcode : keio certified doctor


=============================================================================== **/



.block.certified {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 900px;
	margin: 100px auto 0;
	padding: 30px;
	box-sizing: border-box;
	
	background-color: var(--color04);
}

.block.certified .blockInner {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

.block.certified .blockmage {
	width: 15%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.block.certified .blockmage img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
	vertical-align: bottom;
}

.block.certified .blockText {
	width: 85%;
	margin: 0;
	padding: 0 0 0 30px;
	box-sizing: border-box;
}

.block.certified .blockTitle {
	padding-left: 0;

	font-size: larger;
	font-weight: inherit;
	color: var(--color03);
	line-height: 1.5 !important;
	
	border-bottom: 0;
	border-left: 0;
}
.block.certified .blockTitle::after {
	display: none;
}

.block.certified .blockContent {
	margin: 20px 0 0 0;
}

.block.certified .blockContent > *:first-child { margin-top: 0; }
.block.certified .blockContent > *:last-child  { margin-bottom: 0; }

.block.certified .blockText > *:first-child { margin-top: 0; }
.block.certified .blockText > *:last-child  { margin-bottom: 0; }



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

}

/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.block.certified {
		width: auto;
		max-width: none;
		margin: 50px 20px 0;
		padding: 20px;
	}

	.block.certified .blockInner {
		display: block !important;
	}

	.block.certified .blockmage {
		width: auto;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	.block.certified .blockText {
		width: auto;
		margin: 30px 0 0 0;
		padding: 0;
	}
}



/** ===========================================================================


	TOP : NEWS


=============================================================================== **/




.wp-block-group.news {
	display: block;
	position: relative;
	margin: 0;
	padding: 80px 0;
	box-sizing: border-box;
	
	background: #efefef;
}

.wp-block-group.news > .wp-block-group__inner-container ,
.wp-block-group.especial > .wp-block-group__inner-container{
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
}

.wp-block-group.news h2,.wp-block-group.especial h2{
	margin: 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-size: 70px;
	font-weight: 400;
	text-align: center;
	line-height: 1;
}

.wp-block-group.news h3,.wp-block-group.especial h3 {
	margin: 10px 0 0 0;
	padding: 0;
	
	color: #5e8db2;
	font-size: inherit;
	font-weight: inherit;
	text-align: center;
	border-bottom: 0;
}
.wp-block-group.news h3::after,
.wp-block-group.especial h3::after{
	display: none;
}

.wp-block-group.news .list.news {}

.wp-block-group.news .list.news ul {
	margin: 50px 0 0 0;
	padding: 0;
	list-style-type: none;
}

.wp-block-group.news .list.news li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #93b1cc;
}

.wp-block-group.news .list.news dl {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.wp-block-group.news .list.news dt {
	width: 20%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: var(--eng-font-family);
	font-size: 24px;
	font-weight: inherit;
}

.wp-block-group.news .list.news dd {
	width: 80%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.wp-block-group.news .list.news a {
	display: block;
	position: relative;
	margin: 0;
	padding: 20px 70px 20px 30px;
	box-sizing: border-box;

	color: inherit;
	text-decoration: none;
	
	transition: all 0.3s;
}

.wp-block-group.news .list.news a:link,
.wp-block-group.news .list.news a:visited,
.wp-block-group.news .list.news a:hover,
.wp-block-group.news .list.news a:active { color: inherit; }

.wp-block-group.news .list.news a::after {
	content: "";
	display: block;
	position: absolute;
	right: 40px;
	top: 50%;
    height: 13px;
    width: 13px;
	margin: 0;
	padding: 0;
    background-image: url("img/icon-external-window.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	
	transform: translate(0, -50%);
	transition: all 0.3s;
}

.wp-block-group.news .list.news a[target]:hover {
	background-color: #ffffff;
}

.wp-block-group.news .list.news a[target="_blank"]:hover::after {
	transform: translate(10px, -50%);
}


/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.wp-block-group.news > .wp-block-group__inner-container {
		width: auto;
		max-width: none;
		margin: 0 30px;
	}

	.wp-block-group.news h2,.wp-block-group.especial h2 {
		font-size: 60px;
	}
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.wp-block-group.news {
		padding: 50px 0;
	}

	.wp-block-group.news > .wp-block-group__inner-container {
		width: auto;
		max-width: none;
		margin: 0 30px;
	}

	.wp-block-group.news h2,.wp-block-group.especial h2 {
		font-size: 50px;
	}

	.wp-block-group.news .list.news ul {
		margin: 30px 0 0 0;
	}

	.wp-block-group.news .list.news dl {
		display: block;
	}

	.wp-block-group.news .list.news dt {
		width: auto;
		font-size: inherit;
	}

	.wp-block-group.news .list.news dd {
		width: auto;
		margin: 0;
	}

	.wp-block-group.news .list.news a {
		padding: 10px 40px 10px 0;
	}

	.wp-block-group.news .list.news a::after {
		right: 10px;
	}
}




























/** アクセス ------------------------------  **/


/*
.post.page.page-access {}

.post.page.page-access .postHeader {}

.post.page.page-access .postHeaderInner {}

.post.page.page-access .postTitle {}

.post.page.page-access .postContent {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: top;
	max-width: none;
	background-color: #ebeff1;
}

.post.page.page-access .access-address {
	display: block;
	position: relative;
	width: 30%;
	margin: 0;
	padding: 0 10px;
	box-sizing: border-box;
	
	vertical-align: center;
	color: #16314b;
}

.post.page.page-access .access-address table {
}

.post.page.page-access .access-address tr {}

.post.page.page-access .access-address td {
	border: 0;
	box-sizing: border-box;
	vertical-align: top;
}
.post.page.page-access .access-address tr td:nth-of-type(1) { width: 5em; white-space: nowrap; text-align: right; }
.post.page.page-access .access-address tr td:nth-of-type(2) { width: calc( 100% - 5em ); }
*/



.post.page.page-access .accessMap {
	display: block;
	position: relative;
	width: 100%;
	margin: 3em 0;
	padding: 0 0 56.25%;
	box-sizing: border-box;	
	vertical-align: center;
}

.post.page.page-access .accessMap iframe {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}


/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {
	
	.post.page.page-access .accessMap {
		padding: 0 0 100%;
	}
}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.post.page.page-access .accessMap {
		padding: 0 0 150%;
	}
}



/** ===========================================================================


	固定ページ : お問い合わせ


=============================================================================== **/



/* カレンダーはこちらボタン */
.contact-calendar-button {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	margin-top: 50px !important;
}

.contact-calendar-button a {
	display: block;
	position: relative;
	margin: 0;
	padding: 20px 50px;
	
	border: 1px solid #316689;
	background-color: #ffffff;
	
	color: #316689 !important;	
	font-size: inherit;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.contact-calendar-button a::after {
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	border: 1px solid #316689;
	border-left: 0;
	border-bottom: 0;
	transform: translateY(-50%) rotate(135deg);
}
.contact-calendar-button a:hover {
	border-color: #316689;
	background-color: #316689;
	color: #ffffff !important;	
}
.contact-calendar-button a:hover::after {
	border-color: #ffffff;
}


/* 電話でのお問い合わせ */
.wp-block-group.contact-tel {
	border: 1px solid #b8c9d9;
}

.wp-block-group.contact-tel > .wp-block-group__inner-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
}

.wp-block-group.contact-tel p {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.wp-block-group.contact-tel p strong {
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px 0 0;
	padding: 0 5px;
	
	border: 1px solid #316689;
	background-color: #ffffff;

	color: #316689;
	font-size: smaller;
	font-weight: inherit;
	white-space: nowrap;
}

.wp-block-group.contact-tel a {
	display: inline-block;
	vertical-align: middle;
	font-weight: inherit;
	font-size: 36px;
	line-height: 1;
	color: #16314b;
	text-decoration: none;
}

.wp-block-group.contact-tel p:nth-of-type(1) {
	width: 50%;
}

.wp-block-group.contact-tel p:nth-of-type(2) {
	width: 50%;
}

.wp-block-group.contact-tel p:nth-of-type(2) strong {
	background-color: #316689;
	color: #ffffff;
}

.wp-block-group.contact-tel p:nth-of-type(3) {
	width: 100%;
	margin: 15px 10px 0;
	padding: 15px 10px 0;
	border-top: 1px solid #b8c9d9;
}

.postContent.contactform {
	margin-top: 50px;
}


/* フォーム */
.inputForm {
	max-width: none;
}

.inputForm th,
.inputForm td {
	border-left: 0;
	border-right: 0;
}


/* 入力モード時の表示 */
.post.contact-mode-error .contact_by_head,
.post.contact-mode-error .contact_by_tel,
.post.contact-mode-error .contact_by_calendar {
	display: none;
}

.post.contact-mode-confirm .contact_by_head,
.post.contact-mode-confirm .contact_by_tel,
.post.contact-mode-confirm .contact_by_calendar {
	display: none;
}

.post.contact-mode-submit .contact_by_head,
.post.contact-mode-submit .contact_by_tel,
.post.contact-mode-submit .contact_by_calendar {
	display: none;
}


/** カレンダー --------------------------------- **/

.wp-block-group.contact_by_calendar {}

.wp-block-group.contact_by_calendar > .wp-block-group__inner-container {

}

.wp-block-group.contact_by_calendar > .wp-block-group__inner-container > .wp-block-heading {
	width: 100%;
	box-sizing: border-box;
}

.wp-block-group.contact_by_calendar .tables {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	position: relative;
	margin: 50px 0 0 0;
	padding: 0 0 80px;
	box-sizing: border-box;
}
.wp-block-group.contact_by_calendar .tables p.holiday {
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0;
	padding: 5px 10px;
	background-color: var(--color07);
	color: #ffffff;
	font-size: smaller;
	transform: translateX(-50%);
}

.wp-block-group.contact_by_calendar table {
	margin: 0 20px;
}
.wp-block-group.contact_by_calendar table:first-child {
	margin-left: 0;
}
.wp-block-group.contact_by_calendar table:last-child {
	margin-right: 0;
}

.wp-block-group.contact_by_calendar table caption {
	text-align: center;
}

.wp-block-group.contact_by_calendar table td {
	min-width: 45px;
	box-sizing: border-box;
	border-left: 0;
	border-right: 0;
	text-align: center;
	line-height: 1.2;
	border-color: #ffffff;
}


.wp-block-group.contact_by_calendar table thead {
	background-color: #f0f0f0;
}

.wp-block-group.contact_by_calendar table thead tr {}

.wp-block-group.contact_by_calendar table thead td {
	font-size: smaller;
}

.wp-block-group.contact_by_calendar table tbody {}

.wp-block-group.contact_by_calendar table tbody tr {}

.wp-block-group.contact_by_calendar table tbody td {
	padding: 10px 5px;
}

.wp-block-group.contact_by_calendar table tbody td.empty {}

.wp-block-group.contact_by_calendar table td.sun {
	color: #aa0000 !important;
}

.wp-block-group.contact_by_calendar table td.sat {
	color: #0000aa !important;
}

.wp-block-group.contact_by_calendar table td.holiday {
	color: #aa0000 !important;
}

.wp-block-group.contact_by_calendar table td.closed {
	background-color: var(--color07);
	color: #ffffff !important;
}

.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention {
	display: block;
	position: relative;
	margin: 50px 0 0 0;
	padding: 20px;
	box-sizing: border-box;
	
	border: 1px solid var(--color02);
	background-clor: var(--color04);
}

.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention > .wp-block-group__inner-container {}

.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention .wp-block-heading {
	padding-left: 0;
	padding-bottom: 10px;
	border-left: 0;
	border-bottom: 1px solid var(--color02);
	color: var(--color02);
}

.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention ul {}

.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention li {}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.contact-calendar-button {
		display: block;
		margin-top: 10px !important;
	}


	/* 電話でのお問い合わせ */
	.wp-block-group.contact-tel > .wp-block-group__inner-container {
		display: block;
	}

	.wp-block-group.contact-tel p:nth-of-type(1) { width: auto; }
	.wp-block-group.contact-tel p:nth-of-type(2) { width: auto; margin-top: 20px; }

	.wp-block-group.contact-tel p:nth-of-type(3) {
		width: 100%;
		margin: 15px 10px 0;
		padding: 15px 10px 0;
		border-top: 1px solid #b8c9d9;
	}

	.postContent.contactform {
		margin-top: 30px;
	}


	/** カレンダー --------------------------------- **/

	.wp-block-group.contact_by_calendar > .wp-block-group__inner-container > .wp-block-heading {
		width: 100%;
		box-sizing: border-box;
	}

	.wp-block-group.contact_by_calendar .tables {
		display: block;
		margin: 0;
	}

	.wp-block-group.contact_by_calendar table {
		margin: 30px auto 0;
		width: 100%;
	}
	.wp-block-group.contact_by_calendar table:first-child { margin-left: auto;  }
	.wp-block-group.contact_by_calendar table:last-child  { margin-right: auto; }

	.wp-block-group.contact_by_calendar table td {
		min-width: 40px;
	}

	.wp-block-group.contact_by_calendar .wp-block-group.calendar_attention {
		margin: 30px 0 0 0;
	}
}



/** ===========================================================================


	固定ページ : Q and A


=============================================================================== **/



.faqLinks {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin-left: -10px;
	margin-right: -10px;
}

.faqLinks li {
	width: calc( 50% - 20px );
	margin: 10px;
	padding: 0;
	list-style-type: none;
	box-sizing: border-box;
}

.faqLinks a {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px 50px;
	box-sizing: border-box;
	
	border: 1px solid var(--color03);
	background-color: #ffffff;
	color: var(--color03);
	text-align: center;
}
.faqLinks a::after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--color03);
	border-left: 0;
	border-bottom: 0;
	transform: translateY(-50%) rotate(135deg);
}

.faqLinks a:hover {
	border-color: var(--color03);
	background-color: var(--color03);
	color: #ffffff;
}
.faqLinks a:hover::after {
	border-color: #ffffff;
}





/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.faqLinks {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}

	.faqLinks li {
		width: auto;
		margin: 10px 0;
	}
}



/** ===========================================================================


	固定ページ : アクセス


=============================================================================== **/


/* 地図 */
.pageMap {
	display: block;
	position: relative;
	width: 100%;
	margin: 50px 0 0 0;
	padding: 0 0 50%;
	box-sizing: border-box;
	background-color: #f0f0f0;
}


/** Responsive for Tablet --------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.pageMap {
		padding: 0 0 100%;
	}
}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

	.pageMap {
		padding: 0 0 150%;
	}
}



/** ===========================================================================


	カテゴリーページ


=============================================================================== **/


/*
.siteMain.category {
	padding-bottom: 100px;
}
*/

.pageHeader.category {
	background-color: #ebeff1;
	background-image:url("img/bg-title-page.jpg");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: auto 100%;
}

.pageHeader.category a {
	color: inherit;
	text-decoration: none;
}

.pageHeader.category a:link,
.pageHeader.category a:visited {
	color: inherit;
}

.pageHeader.category .pageHeaderInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 80px 0;
}

.pageHeader.category .pageHeaderTitle {
	margin: 10px 0 0 0;
	padding: 0;
	font-family: var(--mincho-font-family);
	font-size: 40px;
	font-weight: inherit;
	line-height: 1;
}


/* 英語見出しがある */
.pageHeader.category .pageHeaderEng {
	margin: 10px 0 0 0;
	padding: 0;
	
	font-family: var(--eng-font-family);
	font-weight: inherit;
	font-size: 60px;
	line-height: 1.2;
}

.pageHeader.category .pageHeaderInner > *:first-child { margin-top: 0;    }
.pageHeader.category .pageHeaderInner > *:last-child  { margin-bottom: 0; }

.pageHeader.category.hasEng .pageHeaderTitle {
	font-size: 20px;
}

.pageHeader.category.hasEng .pageHeaderTitle a {
	color: var(--color03);
}


.siteMain.category .pageContent.tiles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto 100px;
	padding: 0;
	box-sizing: border-box;
}


/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	
	.siteMain.category {
		padding-bottom: 100px;
	}

	.pageHeader.category {
		background-image: none;
	}

	.pageHeader.category .pageHeaderInner {
		width: auto;
		max-width: none;
		margin: 0 20px;
		padding: 20px 0;
	}

	.pageHeader.category .pageHeaderTitle {
		font-size: 24px;
		line-height: 1.3;
	}


	/* 英語見出しがある */
	.pageHeader.category .pageHeaderEng {
		font-size: 40px;
	}

	.pageHeader.category.hasEng .pageHeaderTitle {
		font-size: inherit;
	}

	.siteMain.category .pageContent.tiles {
		width: auto;
		max-width: none;
		margin: 0 20px 100px;
	}
}












/** ===========================================================================


	POST : 各ドクター


=============================================================================== **/


.post.doctor {
	display: block;
	position: relative;
	width: calc( 33.33% - 20px );
	margin: 50px 10px 0;
	padding: 0;
	box-sizing: border-box;
}

.post.doctor .postInner {}

.post.doctor .postImage {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
}
.post.doctor .postImage::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 72px;
	height: 72px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background: #e4ebf0;
	z-index: 1;
}
.post.doctor .postImage::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 111px;
	height: 141px;
	margin: 0;
	padding: 0;
	background: #93b1cc;
	z-index: 1;
}

.post.doctor .postImage img {
	position: relative;
	vertical-align: bottom;
	left: auto;
	top: auto;
	height: auto;
	object-fit: contain;
	transform: none;
	z-index: 10;
}

.post.doctor .postText {
	display: block;
	position: relative;
	margin: 0;
	padding: 30px 0 0 0;
	box-sizing: border-box;
}

.post.doctor .postHeader {}

.post.doctor .postCatch {
	font-size: smaller;
	line-height: 1.5;
}

.post.doctor .postTitle {
	clear: none;
	margin: 20px 0 0 0;
	padding: 0;
	font-size: 28px;
	line-height: 1;
}

.post.doctor .postEng {
	margin: 10px 0 0 0;
	padding: 0;
	
	font-family: Cormorant Garamond,"Noto Serif JP",serif;
	font-size: 20px;
	font-weight: inherit;
	color: #8e8e8e;
	line-height: 1;
}

.post.doctor .postContent {
	margin: 20px 0 0 0;
	padding: 0;
	line-height: 2;
}

.post.doctor .postContent h3.wp-block-heading {
	clear: none;
	color: #5e8db2;
	font-family: var(--mincho-font-family);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5;
	
	border-bottom: 0;
	padding-bottom: 0;
}

.post.doctor .postContent h3.wp-block-heading::before,
.post.doctor .postContent h3.wp-block-heading::after {
	display: none;
}



.post.doctor .postContent {
	width: auto;
}

.post.doctor .postContent h4 {
	color: #5e8db2;
	font-family: var(--mincho-font-family);
}

.post.doctor .postContent > *:first-child { margin-top: 0; }
.post.doctor .postContent > *:last-child  { margin-bottom: 0; }

.post.doctor .postSpec {
	margin: 30px 0 0 0;
	font-size: smaller;
}

.post.doctor .postSpec dl {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.post.doctor .postSpec dt {
	width: 5em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-weight: inherit;
}

.post.doctor .postSpec dd {
	width: calc( 100% - 5em );
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* 言語別 */
html[lang="en-US"] .post.doctor .postEng { display: none; }
html[lang="en-US"] .post.doctor .postTitle { font-family: var(--eng-font-family); font-size: 36px;  }


/* 院長 */
.post.doctor.dreri {
	width: calc( 100% - 20px );
}

.post.doctor.dreri .postInner {}

.post.doctor.dreri .postImage {
	float: right;
	width: 40%;
	margin: 0 0 20px 50px;
	box-sizing: border-box;
}



/* アドバイザー */
.post.doctor.ochiya {
	width: calc( 100% - 20px );
	padding: 30px;
	background-color: #ffffff;
	border: 3px solid #e4ebf0;
}


.post.doctor.ochiya::before {
	content: "アドバイザー";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	padding: 5px 10px;
	white-space: nowrap;
	
	background-color: #316689;
	color: #ffffff;
}
html[lang="zh-CN"] .post.doctor.ochiya::before { content: "特别顾问"; }
html[lang="en-US"] .post.doctor.ochiya::before { content: "Special Consultant Doctor"; }
html[lang="vi"] .post.doctor.ochiya::before { content: "Bác sỹ cố vấn chuyên môn đặc biệt"; }

.post.doctor.ochiya .postImage {
	float: right;
	width: 40%;
	margin: 0 0 20px 50px;
}



/** Responsive for tablet --------------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {
	
	.post.doctor {
		width: auto;
		margin: 50px 20px 0;
	}

	.post.doctor .postImage {
		margin: 0;
		padding: 10px;
		box-sizing: border-box;
	}

	.post.doctor .postText {
		margin: 0 10px;
		padding: 30px 0 0 0;
	}
	
	.post.doctor .postCatch {
		font-size: smaller;
	}

	.post.doctor .postTitle {
		font-size: 24px;
	}

	.post.doctor .postEng {
		font-size: larger;
	}

	.post.doctor .postContent h3 {
		font-size: larger;
	}

	.post.doctor .postSpec {
		margin: 30px 0 0 0;
		font-size: smaller;
	}

	
	/* 言語別 */
	html[lang="en-US"] .post.doctor .postTitle { font-family: var(--eng-font-family); font-size: 28px;  }


	/* 院長 */
	.post.doctor.dreri {
		width: auto;
	}

	.post.doctor.dreri .postImage {
		float: none;
		width: auto;
		margin: 0;
	}

	
	/* アドバイザー */
	.post.doctor.ochiya {
		width: auto;
		padding: 40px 20px 20px;
		border-width: 1px;
	}
	.post.doctor.ochiya::before {
		max-width: 100%;
	    white-space: wrap;
		font-size: smaller;
	}

	.post.doctor.ochiya .postImage {
		float: none;
		width: auto;
		margin: 0;
	}	
}




/** ===========================================================================


	カテゴリー : ドクター一覧


=============================================================================== **/



.posts.archive.category-doctors {
	background-image:url("img/bg-doctor.jpg");
	background-position: center top;
	background-repeat: repeat;
}


.posts.archive.category-doctors .postsHeader {
	color: inherit;
	background-color: transparent;
}

.posts.archive.category-doctors .postsMain {
    margin-top: 0;
}

.posts.archive.category-doctors .postsEng {
	color: inherit;
}

.posts.archive.category-doctors .postsTitle {
	color: var(--color02);
}



/** Responsive for Mobile Phone --------------------------- **/

@media screen and (max-width:767px) {

/*
	.siteMain.category.category-doctors .pageContent.tiles {
		margin: 0 0 100px;
	}
*/
}



/** ---------------------------------------------------------------------------


	新TOP : サービス一覧


------------------------------------------------------------------------------- **/


body.page-id-718 .siteBread {
	display: none;
}


.block.services {
	display: block;
	position: relative;
	margin: 0;
	padding: 90px 0;
	z-index: 2;
}

.block.services::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 90px);
	height: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    background: #e4ebf0;
}


.block.services > .blockInner {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	z-index: 10;
}

.block.services .blockHeader {
	display: block;
	position: relative;
	width: calc( 100% - 180px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}
.block.services .blockHeaderInner {
	width: 48%;
	box-sizing: border-box;
}

.block.services .blockEng {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	font-family: var(--eng-font-family);
	font-size: 90px;
	font-weight: 400;
	line-height: 1;
}

.block.services .blockTitle {
	margin: 10px 0 0 0;
	padding: 0;
	
	color: #5e8db2;
	font-size: inherit;
	font-weight: inherit;
}

.block.services .blockLead {
	margin: 30px 0 0 0;
	padding: 0;
}

.block.services .blockLead p {}

.block.services .blockLead > *:first-child { margin-top: 0; }
.block.services .blockLead > *:last-child  { margin-bottom: 0; }

.block.services .blockMore {
	display: block;
	position: absolute;
	left: 50%;
	top: 90px;
	width: 50%;
	margin: 0;
	padding: 0;
}

.block.services .blockMore a {
	display: block;
	position: relative;
	margin: 0;
	padding: 60px 50% 60px 40px;
	
	background-color: #16314b;
	border: 1px solid #16314b;
	
	color: #ffffff;
	text-decoration: none;
	transition: all 0.4s;
}
.block.services .blockMore a::before {
	content: "";
	display: block;
	position: absolute;
	left: 55%;
	top: 50%;
	width: calc( 35% + 10px );
	height: 1px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	background-color: #ffffff;
	
	transform: translateY(-50%);
	transition: all 0.4s;
}
.block.services .blockMore a::after {
	content: "";
	display: block;
	position: absolute;
	left: 90%;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border: 1px solid #ffffff;
	border-left: 0;
	border-top: 0;
	
	transform: translateY(-50%) rotate(-45deg);
	transition: all 0.4s;
}

.block.services .blockMore a:hover {
	background-color: #ffffff;
	border-color: #16314b;
	color: #16314b;
}
.block.services .blockMore a:hover::before {
	background-color: #16314b;
}
.block.services .blockMore a:hover::after {
	border-color: #16314b;
}


.block.services .blockTabs {
	width: calc( 100% - 200px );
	max-width: 1000px;
	margin: 50px auto 0;
	padding: 0;
	z-index: 20;
}

.block.services .blockTabsInner {
	display: block;
	position: relative;
	margin: 0;
	padding: 12.5% 0 0 0;
	z-index: 20;
}


/* 各タブ */
.block.serviceTab {
	display: block;
	position: static;
	margin: 0;
	padding: 0;
}

/* 肌 */
.block.serviceTab.serviceTab01 {}

.block.serviceTab .tabTag {
	display: block;
	position: absolute;
	left: 50px;
	top: 0;
	width: calc( ( 100% - 100px ) / 7 );
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border: 1px solid #ffffff;
	background-color: var(--color02);
}
.block.serviceTab:nth-child(2) .tabTag { left: calc( 50px + (100% - 100px ) * 1 / 7 ); }
.block.serviceTab:nth-child(3) .tabTag { left: calc( 50px + (100% - 100px ) * 2 / 7 ); }
.block.serviceTab:nth-child(4) .tabTag { left: calc( 50px + (100% - 100px ) * 3 / 7 ); }
.block.serviceTab:nth-child(5) .tabTag { left: calc( 50px + (100% - 100px ) * 4 / 7 ); }
.block.serviceTab:nth-child(6) .tabTag { left: calc( 50px + (100% - 100px ) * 5 / 7 ); }
.block.serviceTab:nth-child(7) .tabTag { left: calc( 50px + (100% - 100px ) * 6 / 7 ); }

.block.serviceTab .tabTag dl {
	margin: 0;
	padding: 0;
}

.block.serviceTab .tabTag dt {
	margin: 0;
	padding: 0;
}

.block.serviceTab .tabTag img {
	width: 100%;
	vertical-align: bottom;
	opacity: 0.6;
	transition: all 0.3s;
}

.block.serviceTab .tabTag dd {
	display: block;
	position: absolute;
	left: 5%;
	top: 5%;
	width: 90%;
	margin: 0;
	padding: 0;

	line-height: 1.2;
	font-size: larger;
	font-weight: 700;
	color: #ffffff;
}

.block.serviceTab .tabContent {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	max-height: 0;
	overflow: hidden;
}

.block.serviceTab .tabContentInner {
	display: block;
	position: relative;
	margin: 0;
	padding: 50px 50px 110px;
	background-color: #ffffff;
}

.block.serviceTab .tabHeader {}

.block.serviceTab .tabHeaderInner {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
}

.block.serviceTab .tabImage {
	width: 40%;
	box-sizing: border-box;
}

.block.serviceTab .tabImage a {}

.block.serviceTab .tabImage img {}

.block.serviceTab .tabText {
	width: 60%;
	margin: 0;
	padding: 0 50px 0 0;
	box-sizing: border-box;
}

.block.serviceTab a {}

.block.serviceTab a:link,
.block.serviceTab a:visited {
	color: inherit;
}

.block.serviceTab .tabEng {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	font-family: var(--eng-font-family);
	font-size: 70px;
	font-weight: 400;
	line-height: 1;
}

.block.serviceTab .tabTitle {
	margin: 0;
	padding: 0;
	
	color: var(--color02);
	font-size: larger;
	font-weight: inherit;
}

.block.serviceTab .tabLead {
	margin: 30px 0 0 0;
	padding: 0;
}

.block.serviceTab .tabLead > *:first-child { margin-top: 0; }
.block.serviceTab .tabLead > *:last-child  { margin-bottom: 0; }

.block.serviceTab .tabNayami {
	display: block;
	position: relative;
	margin: 50px 0 0 0;
	padding: 30px 20px;
	background-color: var(--color04);
}

.block.serviceTab .tabNayami h4 {
	display: block;
	position: absolute;
	left: 30px;
	top: 0;
	width: calc( 100% - 60px );
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	line-height: 1;
	font-family: var(--mincho-font-family);
	font-size: 30px;
	font-weight: 400;
	color: var(--color02);
	
	transform: translateY(-50%);
}

.block.serviceTab .tabNayami .links {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.block.serviceTab .tabNayami a {
	display: block;
	position: relative;
	width: calc( 50% - 20px );
	margin: 5px 10px;
	padding: 10px 20px;
	box-sizing: border-box;
	
	border: 1px solid var(--color02);
	background-color: #ffffff;
	
	color: var(--color02);
	text-decoration: none;
	font-weight: 700;
}








.block.serviceTab .tabLinks a:nth-of-type(1) {
	background-color: var(--color03);
	border-color: var(--color03);
}


.block.serviceTab .tabLinks a:hover {
	color: var(--color01);
	background-color: #ffffff;
	border-color: var(--color01);
}
.block.serviceTab .tabLinks a:hover::before {
	background-color: var(--color01);
}
.block.serviceTab .tabLinks a:hover::after {
	border-color: var(--color01);
}




/* 顔 */
.block.serviceTab.serviceTab02 {}

/* 毛 */
.block.serviceTab.serviceTab03 {}

/* 身体 */
.block.serviceTab.serviceTab04 {}

/* 内科的治療 / ホルモン治療 */
.block.serviceTab.serviceTab05 {}

/* 顔 */
.block.serviceTab.serviceTab06 {}

/* その他 */
.block.serviceTab.serviceTab07 {}


/* 選択 */
.block.serviceTab .tabTag     { z-index: 10;  }
.block.serviceTab .tabTag img { opacity: 0.6; }

.block.serviceTab .tabTag a:hover img { opacity: 0.8; }

.block.serviceTab.sel .tabTag     { z-index: 20; }
.block.serviceTab.sel .tabTag img { opacity: 0;  }

.block.serviceTab .tabContent {
	max-height: 0;
	transition: all 1s;
	z-index: 20;
}

.block.serviceTab.sel .tabContent {
	max-height: 5000px;
	z-index: 10;
}



/** Responsive for Tablet --------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.block.services {
		padding: 50px 0;
	}
	
	.block.services::before {
		width: calc(100% - 50px);
	}

	.block.services .blockHeader {
		width: calc( 100% - 100px );
	}

	.block.services .blockEng {
		font-size: 80px;
	}

	.block.services .blockMore {
		top: 50px;
	}

	.block.services .blockMore a {
		padding: 50px 50% 50px 40px;
	}

	.block.services .blockTabs {
		width: calc( 100% - 120px );
	}

	.block.services .blockTabsInner {
		padding: 14% 0 0 0;
	}


	/* 各タブ */
	.block.serviceTab .tabTag {
		left: 0;
		width: calc( 100% / 7 );
	}
	.block.serviceTab:nth-child(2) .tabTag { left: calc( 100% * 1 / 7 ); }
	.block.serviceTab:nth-child(3) .tabTag { left: calc( 100% * 2 / 7 ); }
	.block.serviceTab:nth-child(4) .tabTag { left: calc( 100% * 3 / 7 ); }
	.block.serviceTab:nth-child(5) .tabTag { left: calc( 100% * 4 / 7 ); }
	.block.serviceTab:nth-child(6) .tabTag { left: calc( 100% * 5 / 7 ); }
	.block.serviceTab:nth-child(7) .tabTag { left: calc( 100% * 6 / 7 ); }

	.block.serviceTab .tabContentInner {
		display: block;
		position: relative;
		margin: 0;
		padding: 50px 50px 110px;
		background-color: #ffffff;
	}

	.block.serviceTab .tabEng {
		font-size: 50px;
	}

	.block.serviceTab .tabLinks dt {
		font-size: 26px;
	}
}



/** Responsive for Mobile Phone --------------------- **/

@media screen and (max-width:767px) {

	.block.services {
		padding: 50px 0;
	}

	.block.services::before {
		width: 100%;
	}

	.block.services .blockHeader {
		width: auto;
		max-width: none;
		margin: 0 20px;
	}
	.block.services .blockHeaderInner {
		width: auto;
	}

	.block.services .blockEng {
		font-size: 50px;
	}

	.block.services .blockMore {
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		margin: 20px 0 0 20px;
	}

	.block.services .blockMore a {
		padding: 30px 50% 30px 20px;
	}

	.block.services .blockTabs {
		width: auto;
		max-width: none;
		margin: 50px 20px 0;
	}

	.block.services .blockTabsInner {
		padding: 0;
	}


	/* 各タブ */
	.block.serviceTab .tabTag {
		display: block;
display: none;
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		margin: 0 20%;
		padding: 0;
		box-sizing: border-box;
	
		border: 1px solid #ffffff;
		background-color: var(--color02);
	}
	.block.serviceTab:nth-child(2) .tabTag,
	.block.serviceTab:nth-child(3) .tabTag,
	.block.serviceTab:nth-child(4) .tabTag,
	.block.serviceTab:nth-child(5) .tabTag,
	.block.serviceTab:nth-child(6) .tabTag,
	.block.serviceTab:nth-child(7) .tabTag { left: auto; }

	.block.serviceTab .tabContentInner {
		padding: 20px 20px 40px;
	}

	.block.serviceTab .tabHeader {}

	.block.serviceTab .tabHeaderInner {
		display: block;
	}

	.block.serviceTab .tabImage {
		width: auto;
	}

	.block.serviceTab .tabText {
		width: auto;
		margin: 30px 0 0 0;
		padding: 0;
	}

	.block.serviceTab .tabEng {
		font-size: 40px;
	}

	.block.serviceTab .tabTitle {
		font-size: inherit;
	}

	.block.serviceTab .tabNayami {
		display: block;
		position: relative;
		margin: 50px 0 0 0;
		padding: 30px 20px 15px;
		background-color: var(--color04);
	}

	.block.serviceTab .tabNayami h4 {
		left: 20px;
		width: calc( 100% - 40px );
		font-size: larger;
	}

	.block.serviceTab .tabNayami .links {
		display: block;
	}

	.block.serviceTab .tabNayami a {
		width: auto;
		margin: 5px 0;
		padding: 10px 20px;
	}

	.block.serviceTab .tabLinks {
		display: block;
		margin: -20px 20px 50px;
	}

	.block.serviceTab .tabLinks a {
		width: auto;
	}
	.block.serviceTab .tabLinks a::before {
		left: 70%;
		width: calc( 20% + 10px );
	}

	.block.serviceTab .tabLinks dl {
		width: 70%;
		padding: 20px 0 20px 30px;
	}

	.block.serviceTab .tabLinks dt {
		font-size: 24px;
	}
	
	.block.serviceTab .tabContent {
		max-height: 5000px;
		z-index: 10;
	}
}


/** ---------------------------------------------------------------------------


	主な使用機材


------------------------------------------------------------------------------- **/



.block.machines {
	display: block;
	position: relative;
	margin: 50px 0 0 0;
	padding: 0;
	box-sizing: border-box;
}

.block.machines a {
	text-decoration: none;
	color: inherit;
}
.block.machines a:link,
.block.machines a:hover {
	color: inherit;
}

.block.machines .machinesInner {
	display: block;
	position: relative;
	width: calc( 100% - 100px );
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

.block.machines .machinesHeader {
	
}

.block.machines a {}

.block.machines .machinesEng {
	margin: 0;
	padding: 0;
	font-family : var(--eng-title-font-family);
	font-size   : var(--eng-title-font-size);
	font-weight : var(--eng-title-font-weight);
	line-height : var(--eng-title-line-height);
}

.block.machines .machinesTitle {
    margin: 10px 0 0 0;
    padding: 0;
    color: #5e8db2;
    font-size: inherit;
    font-weight: inherit;
	line-height: 1;
	
	border-bottom: 0;
	padding-bottom: 0;
}
.block.machines .machinesTitle::after {
	display: none;
}


.block.machines .machinesList {
	display: block;
	position: relative;
	margin: 50px auto 0;
	padding: 0;
	box-sizing: border-box;
}

/*
.block.machines .machinesList .hvSlider {}
*/


.block.machines .machinesList .hvSlider .view .prev { top: 45%; transform: translate(-100% , -50%); }
.block.machines .machinesList .hvSlider .view .next { top: 45%; transform: translate( 100% , -50%); }



.block.machines .machinesList .hvSlider .view .prev a,
.block.machines .machinesList .hvSlider .view .next a {
	width: 20px;
	height: 80px;
	background-color: var(--color01);
}


.block.machines .machinesList .hvSlider .view .prev a::before,
.block.machines .machinesList .hvSlider .view .next a::before {
	border-color: #ffffff;
	border-width: 3px;
}

.block.machines .machinesList .hvSlider .pointer {
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
    margin: 10px 10% 0;
}


/** each machine **/
.tile.machine {
	display: block;
	position: relative;
	margin: 0;
	padding: 5px;
	box-sizing: border-box;
}

.tile.machine a {
	text-decoration: none;
}
.tile.machine a:link,
.tile.machine a:hover{ color: inherit; }


.tile.machine .machineInner {}

.tile.machine .machineImage {}

.tile.machine .machineImage img {}

.tile.machine .machineHeader {
	margin: 10px 5px 0;
}

.tile.machine .machineTitle {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-weight: inherit;
	text-align: center;
}

.tile.machine .machineTitle a {}



/** Responsive for Tablet --------------------------- **/

@media screen and (max-width:1024px) and (min-width:768px) {

	.block.machines .machinesList .hvSlider .screen > ul > li {
	    width: 0.33%;
	}
}


/** Responsive for Mobile Phone --------------------- **/

@media screen and (max-width:767px) {

	.block.machines .machinesInner {
		width: auto;
		max-width: none;
		margin: 0 30px;
	}
	
	.block.machines .machinesList .hvSlider .screen > ul > li {
	    width: 0.5%;
	}
}




/** -------------------------------------------------------

	記事共通

----------------------------------------------------------- **/



.post .postCategories a:link,
.post .postCategories a:visited {
	color: #ffffff;
	background-color: var(--color01);
}
.post .postCategories a:hover,
.post .postCategories a:active {
	color: #ffffff;
	background-color: #cc0000;
}




/** -------------------------------------------------------

	施術一覧

----------------------------------------------------------- **/



.post.tile {
	width: calc( 100% / 3 - 40px );
	margin: 40px 20px;
}

.post.tile::before {
	content: "";
	display: block;
	position: absolute;
	left: -5px;
	top: -5px;
	width: 30%;
	height: auto;
	margin: 0;
	padding: 0 0 30% 0;
	box-sizing: border-box;
	background-color: var(--color02);
	z-index: 1;
}

.post.tile .postInner {
	padding: 0;
	z-index: 10;
	background-color: #ffffff;
}

/* 表示しない */
.post.tile .postImage,
.post.tile .postDate,
.post.tile .postMore {
	display: none;
}

.post.tile .postHeader {
	margin-top: 0;
}

.post.tile a.postLink {
	display: block;
	position: relative;
	padding: 20px;
	color: inherit;
	
/*	background-color: #f5f5f5; */
	border: 1px solid var(--color02);
}
.post.tile a.postLink > * { margin: 20px 0; }
.post.tile a.postLink > *:first-child { margin-top: 0; }
.post.tile a.postLink > *:last-child  { margin-bottom: 0; }

.post.tile a.postLink::after {
	content: "";
	display: block;
	position: absolute;
	right: -4.5px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	
	border:1px solid var(--color02);
	border-left: 0;
	border-bottom: 0;
	background-color: #ffffff;
	
	transform: translateY(-50%) rotate(45deg);
}

.post.tile a.postLink:link,
.post.tile a.postLink:visited {
	color: inherit;
}
.post.tile a.postLink:hover,
.post.tile a.postLink:active {
	color: var(--color07);
	border-color: var(--color07);
}
.post.tile a.postLink:hover::after,
.post.tile a.postLink:active::after {
	border-color: var(--color07);
}



/* カテゴリー */
.post.tile .postCategories {
	margin-top: 0;
}

/* タグ */
.post.tile .postTags a:link,
.post.tile .postTags a:visited {
	color: inherit;
	background-color: var(--color04);
}
.post.tile .postTags a:hover,
.post.tile .postTags a:active {
	color: #ffffff;
	background-color: var(--color07);
}




/** Responsive for Mobile Phone --------------------- **/

@media screen and (max-width:767px) {

	.post.tile {
	    width: 100%;
		margin: 20px 0;
	}
	
	.post.tile::before {
		left: -3px;
		top: -3px;
	}
	
	.post.tile .postInner {
		padding: 20px 0 0 20px;
	}
}





/** ===========================================================================


	施術メニュー一覧 (/menu)


=============================================================================== **/



.postsAll {}

.postsAllCategory {
	display: block;
	position: relative;
	margin: 100px 0 0;
	padding: 30px 20px;
	box-sizing: border-box;
	
	background-color: var(--color04);
}

.postsAllCategoryTitle {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	margin: 0;
	padding: 0 40px;
	box-sizing: border-box;
	
	font-family: var(--mincho-font-family);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.2;
	
	transform: translateY(-50%);
}

.postsAllCategoryTitle a {
	color: inherit;
	text-decoration: none;
}

.postsAllCategoryCount {
	font-size: 16px;
	padding-left: 1em;
}

.postsAllCategoryList {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.postsAllCategoryList a {
	display: block;
	position: relative;
	width: calc( 50% - 20px );
	margin: 2px 10px;
	padding: 10px 25px 10px;
	box-sizing: border-box;
	
	border: 1px solid var(--color03);
	background-color: #ffffff;
	color: inherit;
}
.postsAllCategoryList a::after {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 6px;
	height: 6px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--color02);
	border-left: 0;
	border-bottom: 0;
	transform: translateY(-50%) rotate(45deg);
}

.postsAllCategoryList a:hover {
	background-color: #cc0000;
	color: #ffffff;
}
.postsAllCategoryList a:hover::after {
	border-color: #ffffff;
}



/** Responsive for Mobile Phone --------------------- **/

@media screen and (max-width:767px) {

	.postsAll {}

	.postsAllCategory {
		margin-top: 50px;
		padding: 30px 20px 20px;
	}

	.postsAllCategoryTitle {
		padding: 0;
		font-size: 22px;
	}

	.postsAllCategoryCount {
		font-size: 14px;
	}

	.postsAllCategoryList {
		display: block;
	}

	.postsAllCategoryList a {
		width: auto;
		margin: 2px 0;
	}
}



.btncenter{
	text-align:center;
}
.btncenter a{
		color:#fff;
}

.especial .especial-list{
    margin-top: 50px;
}

.especial{
background:#fff;
padding:40px 0;
}

.especial ul{display: flex; justify-content: space-between;}

.especial ul li{padding:0px; margin:0px auto; text-align: center;width: 30%;list-style-type: none;}






/** ===========================================================================


	検索結果


=============================================================================== **/





