@charset "utf-8";

/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
*/


/* =====================================
BASE
===================================== */

html {
	font-size: 62.5%;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	overflow-y: scroll;
	margin: 0;
	padding: 0;
	border: 0;
	text-align: left
}

:focus,
a:focus {
	outline: 0
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: text;
	text-decoration: none !important;
}

.elementor-column {
	position: relative;
	min-height: 1px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}

.elementor-widget-heading .elementor-heading-title {
	padding: 0;
	margin: 0;
	line-height: 1
}

@media screen and (max-width: 767px) {
	a[href^="tel:"] {
		pointer-events: auto;
		cursor: pointer;
		text-decoration:underline !important;
	}
}


/* =====================================
MODULE
===================================== */


/*--------------------------------------
Icon fonts
--------------------------------------*/

@font-face {
	font-family: icomoon;
	src: url(../img/fonts/icomoon.eot);
	src: url('../img/fonts/icomoon.eot#iefix') format('embedded-opentype'), url('../img/fonts/icomoon.ttf') format('truetype'), url('../img/fonts/icomoon.woff') format('woff'), url('../img/fonts/icomoon.svg#icomoon') format('svg');
	font-weight: 400;
	font-style: normal
}

[class*='icon-']:not([class*='eicon-']):before {
	display: inline-block;
	font-family: icomoon;
	speak: none;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.icon-blog:before {
	content: "\e900"
}

.icon-category:before {
	content: "\e901"
}

.icon-check:before {
	content: "\e902"
}

.icon-checked:before {
	content: "\e903"
}

.icon-down:before {
	content: "\e904"
}

.icon-facebook:before {
	content: "\e905"
}

.icon-google:before {
	content: "\e906"
}

.icon-line:before {
	content: "\e907"
}

.icon-twitter:before {
	content: "\e908"
}

.icon-arrow02:before {
	content: "\e909"
}

.icon-arrow01:before {
	content: "\e910"
}

.icon-search:before {
	content: "\e911"
}

.icon-tag:before {
	content: "\e912"
}





/* =====================================
Layout
===================================== */

#main {
	overflow: hidden
}


/*--------------------------------------
container
--------------------------------------*/

.container {
	padding: 0 20px;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box
}

.container:after {
	content: "";
	display: block;
	clear: both
}


/*--------------------------------------
header
--------------------------------------*/

#header .wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	background: #5E574B;
}


/* logo */

#header .logo a,
#header .logo img {
	display: block
}

#header .logo a:hover {
	text-decoration: none
}


/* header right box */

#header .right p a {
	display: block;
	transition: .5s ease;
	opacity: 1
}

#header .right p a:hover {
	transition: .5s ease;
	opacity: .7
}

#header .right .btn:hover {
	opacity: .7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)"
}


/* gnav */

.gnav .menu a {
	display: block
}

@media screen and (min-width: 961px) {
	.gnav_bottom {
		display: none
	}
}

@media screen and (min-width: 961px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		-moz-transition-duration: .3s;
		-o-transition-duration: .3s;
		-webkit-transition-duration: .3s;
		transition-duration: .3s
	}
	#menu-g_nav > li {
		-webkit-animation: navoverflowOut .3s ease 0 1 normal both;
		animation: navoverflowOut .3s ease 0 1 normal both;
	}
	#menu-g_nav > li:hover {
		overflow: visible;
		-webkit-animation: none;
		animation: none
	}
	#menu-g_nav > li:hover .sub-menu {
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha( opacity=100 )";
		top: 100%
	}
	#menu-g_nav .sub-menu li a:hover {
		background: rgba(160, 195, 215, 0.24);
		transition: .5s ease
	}
	#menu-g_nav .sub-menu:before {
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 10px 10px 10px;
		border-color: transparent transparent #b3ece2 transparent;
		position: absolute;
		content: "";
		top: -10px;
		left: 50%;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		z-index: 99
	}
}

@media screen and (max-width: 960px) {
	#header .right .right_left,
	#header .right .right_right {
		display: none!important
	}
}

@-webkit-keyframes navoverflowOut {
	0% {
		overflow: visible;
	}
	99% {
		overflow: visible;
	}
	100% {
		overflow: hidden;
	}
}

@keyframes navoverflowOut {
	0% {
		overflow: visible;
	}
	99% {
		overflow: visible;
	}
	100% {
		overflow: hidden;
	}
}

#header .toggleMenu {
	display: none;
	float: right
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box
}

.toggleMenu.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-42deg)
}

.toggleMenu.active .menu-trigger span:nth-of-type(2) {
	opacity: 0
}

.toggleMenu.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg)
}

@media screen and (max-width: 767px) {
	#header .logo {
		min-width: inherit;
		width: 70%;
		width: -webkit-calc(100% - 90px);
		width: calc(100% - 90px);
		margin-left: 5vw;
		float: none;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between
	}
	#header .logo img {
		display: block
	}
	#header .toggleMenu:before {
		left: 0;
		bottom: inherit!important
	}
	#header .toggleMenu:before,
	.gnav .in_logo a {
		top: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%)
	}
	.gnav .in_logo a {
		left: 3vw;
		position: absolute;
	}
}

@media screen and (max-width: 960px) {
	#header .toggleMenu {
		width: 70px;
		height: 70px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		margin: 0;
		cursor: pointer
	}
	.gnav,
	.right_left,
	.right_right {
		display: none
	}
	.gnav .container {
	}
	#header .menu > li {
		float: none;
		width: 100%;
		border-left: 0;
		height: inherit!important
	}

#menu-g_nav > li+li:before {
	display: none;
}
	#header .current-menu-parent.hover ul {
		position: relative;
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha(opacity=100)"
	}
	#header .right {
		width: 70px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 9999;
	}
	#header .gnav {
		width: 100%!important;
		left: 0!important;
		top: 0!important;
		background: #FED8DD;
		z-index: 1!important;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		position: fixed!important;
		bottom: inherit;
		height: 100%!important;
	}
	.gnav_in {
		z-index: 2;
		/* height: 100% */
	}
	#header .menu > li.menu-item-has-children.on > a:after {
		-webkit-transform: translate(-50%, 0) rotate(-135deg);
		transform: translate(-50%, 0) rotate(-135deg)
	}
	.h_contact_box img {
		display: block
	}
	.h_contact_box {
		margin-top: 5vw
	}
	.h_contact_box img {
		margin-left: auto;
		margin-right: auto
	}
	.post-header {
		margin-top: 0!important
	}
}

@media screen and (max-width: 960px) and (min-width: 768px) {
	#header .toggleMenu {
		width: 80px;
		height: 80px
	}
	#header .right {
		width: 80px
	}
}


/*--------------------------------------
Mainimage
--------------------------------------*/

#mainimage {
	position: relative;
	overflow: hidden;
}

#mainimage p {
	line-height: 1
}

#mainimage img {
	display: block;
	width: 100%;
	height: inherit;
	max-width: 100%
}

.bxslider {
	display: none!important
}

.bx-wrapper .bxslider {
	display: block!important
}

#mainimage img {
	width: 100%;
	position: relative;
}


/*--------------------------------------
main
--------------------------------------*/

#main {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}

#main > div {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	width: 100%
}

#main > div#sidebar_left,
#main > div#sidebar_right {
	max-width: 260px
}

#main > div#sidebar_left {
	margin-right: 30px
}

#main > div#sidebar_right {
	margin-left: 30px
}

@media screen and (min-width: 961px) {
	#main {
		overflow: hidden
	}
}


/*--------------------------------------
Breadcrumb
--------------------------------------*/

#breadcrumb {
	width: 100%;
	font-size: 1rem;
	letter-spacing: 1px;
	margin-bottom: 60px;
	padding: 0 10px;
	box-sizing: border-box
}

#breadcrumb .breadcrumb_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap
}

#breadcrumb .breadcrumb_list .breadcrumb_item {
	padding-right: 20px;
	position: relative
}

#breadcrumb .breadcrumb_list .breadcrumb_item:last-child {
	padding-right: 0
}

#breadcrumb .breadcrumb_list .breadcrumb_item:not(:last-child):after {
	content: '>';
	display: block;
	position: absolute;
	right: 6px;
	top: 0
}

@media screen and (max-width: 767px) {
	#breadcrumb {
		margin-bottom: 7vw
	}
}


/*--------------------------------------
POSTS
--------------------------------------*/

.post-header .meta {
	font-size: .8em;
	padding: 7px 0;
	color: #555
}

.post-content {
	overflow: hidden
}

.post-image {
	float: left;
	width: 115px
}


/*--------------------------------------
SIDE
--------------------------------------*/

#sidebar {
	float: right;
	width: 20%
}

.widget h3 {
	padding-bottom: 7px
}

.widget li {
	line-height: 1.8em
}


/*--------------------------------------
FOOTER
--------------------------------------*/

#wpfront-scroll-top-container img,
.f_bnr img {
	display: block
}


/* =====================================
ASSETS(Unders)
===================================== */

.post-content.upage .li_02,
.post-content.upage .li_02_inul ul,
.post-content.upage .li_03,
.post-content.upage .li_03_inul ul,
.post-content.upage .li_04_inul ul,
.post-content.upage .li_narabi ul,
.post-content.upage .li_narabi_inul ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start
}

.post-content.upage .li_narabi ul,
.post-content.upage .li_narabi_inul ul {
	justify-content: flex-start
}

.post-content.upage .li_02 li,
.post-content.upage .li_02_inul li {
	width: 48%;
	margin-right: 0
}

.post-content.upage .li_02 li:nth-child(2n),
.post-content.upage .li_02_inul li:nth-child(2n) {
	margin-left: 4%
}
.post-content.upage .li_03 li,
.post-content.upage .li_03_inul li {
	width: 32%
}

.post-content.upage .li_03 li:not(:nth-child(3n + 1)),
.post-content.upage .li_03_inul li:not(:nth-child(3n + 1)) {
	margin-left: 2%
}

.post-content.upage .li_narabi ul li,
.post-content.upage .li_narabi_inul li {
	margin-right: 20px
}

.post-content.upage .li_04 li,
.post-content.upage .li_04_inul li {
	width: 23.5%;
}

.post-content.upage .li_04 li:not(:nth-child(4n + 1)),
.post-content.upage .li_04_inul li:not(:nth-child(4n + 1)) {
	margin-left: 2%;
}

@media screen and (max-width: 767px) {
	.post-content.upage .li_02 li,
	.post-content.upage .li_02_inul li,
	.post-content.upage .li_03 li,
	.post-content.upage .li_03_inul li,
	.post-content.upage .li_narabi ul li,
	.post-content.upage .li_narabi_inul li {
		width: 100%
	}
	.post-content.upage .li_narabi ul li,
	.post-content.upage .li_narabi_inul li {
		margin-right: 0
	}
	.post-content.upage .li_02 li:nth-child(2n),
	.post-content.upage .li_02_inul li:nth-child(2n) {
		margin-left: 0
	}
	.post-content.upage .li_03 li:not(:nth-child(3n + 1)),
	.post-content.upage .li_03_inul li:not(:nth-child(3n + 1)) {
		margin-left: 0
	}
	.post-content.upage .li_04 li,
	.post-content.upage .li_04_inul li {
		margin-left: 0;
		width: 100%;
	}
	.post-content.upage .li_04 li:not(:nth-child(4n + 1)),
	.post-content.upage .li_04_inul li:not(:nth-child(4n + 1)) {
		margin-left: 0;
		width: 100%;
	}
}

@media screen and (max-width: 1120px) and (min-width: 768px) {
	.post-content.upage .li_02 li,
	.post-content.upage .li_02_inul li {
		width: 100%;
		margin-right: 0
	}
	.post-content.upage .li_02 li:nth-child(2n),
	.post-content.upage .li_02_inul li:nth-child(2n) {
		margin-left: 0
	}
	.post-content.upage .li_03 li,
	.post-content.upage .li_03_inul li {
		width: 48%;
		margin-left: 0 !important;
	}
	.post-content.upage .li_03 li:not(:nth-child(2n+1)),
	.post-content.upage .li_03_inul li:not(:nth-child(2n+1)) {
		margin-left: 4% !important;
	}
	.post-content.upage .li_04 li,
	.post-content.upage .li_04_inul li {
		width: 32%;
	}
	.post-content.upage .li_04 li:not(:nth-child(4n + 1)),
	.post-content.upage .li_04_inul li:not(:nth-child(4n + 1)) {
		margin-left: 0 !important;
	}
	.post-content.upage .li_04 li:not(:nth-child(3n + 1)),
	.post-content.upage .li_04_inul li:not(:nth-child(3n + 1)) {
		margin-left: 2% !important;
	}
}

/*--------------------------------------
リスト_番号
--------------------------------------*/

.num_list {
	counter-reset: a
}

.num_list .elementor-icon-list-items li {
	position: relative
}

.num_list .elementor-icon-list-items li:last-child {
	margin-bottom: 0
}

.num_list .elementor-icon-list-items li:before {
	content: counter(a, decimal);
	counter-increment: a;
	display: block;
	left: 0;
	line-height: 24px;
	position: absolute;
	text-align: center
}


/*--------------------------------------
リスト_アンカーリンク
--------------------------------------*/

.anchorlinks .elementor-icon-list-items li {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box
}

.anchorlinks .elementor-icon-list-items li a {
	text-decoration: none!important
}

.anchorlinks .elementor-icon-list-items li a:before {
	-webkit-transition-duration: .6s;
	-ms-transition-duration: .6s;
	-moz-transition-duration: .6s;
	transition-duration: .6s;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	display: block;
	font-family: icomoon;
	speak: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e910"
}

.anchorlinks .elementor-icon-list-items li a:hover:before {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg)
}

.anchorlinks .elementor-icon-list-items li a:hover {
	text-decoration: none
}

@media screen and (max-width: 767px) {
	.anchorlinks .elementor-icon-list-items li {
		width: 100% !important;
		display: block !important;
		margin: 5px 0 !important;
	}
}


/*--------------------------------------
ビフォーアフター
--------------------------------------*/

.before_after {
	position: relative
}

.before_after:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%
}

.before_after .elementor-icon-list-items li {
	float: left;
	width: 46%;
	position: relative;
	text-align: center;
	margin-left: 8%
}

.before_after .elementor-icon-list-items li:first-child {
	margin: 0
}

@media screen and (max-width: 767px) {
	.before_after .elementor-icon-list-items li {
		float: none;
		width: 100%;
		margin-left: 0
	}
}


/*--------------------------------------
ボーター_枠囲
--------------------------------------*/

.post-content.upage .beta_box .elementor-widget-wrap .elementor-widget:last-child,
.post-content.upage .border_box .elementor-widget-wrap .elementor-widget:last-child {
	margin-bottom: 0!important
}

.post-content.upage .beta_box h2:before,
.post-content.upage .beta_box h3:before,
.post-content.upage .beta_box h4:before,
.post-content.upage .beta_box h5:before,
.post-content.upage .beta_box h6:before,
.post-content.upage .border_box h2:before,
.post-content.upage .border_box h3:before,
.post-content.upage .border_box h4:before,
.post-content.upage .border_box h5:before,
.post-content.upage .border_box h6:before,s
.post-content.upage .beta_box_in h2:before,
.post-content.upage .beta_box_in h3:before,
.post-content.upage .beta_box_in h4:before,
.post-content.upage .beta_box_in h5:before,
.post-content.upage .beta_box_in h6:before,
.post-content.upage .border_box_in h2:before,
.post-content.upage .border_box_in h3:before,
.post-content.upage .border_box_in h4:before,
.post-content.upage .border_box_in h5:before,
.post-content.upage .border_box_in h6:before {
	position: absolute;
	content: "";
	background-image: none!important;
	background: #20976d!important;
	width: 18px!important;
	height: 18px!important;
	border-radius: 100%;
	top: 5px!important;
	left: 0!important
}

.post-content.upage .beta_box h2:after,
.post-content.upage .beta_box h3:after,
.post-content.upage .beta_box h4:after,
.post-content.upage .beta_box h5:after,
.post-content.upage .beta_box h6:after,
.post-content.upage .border_box h2:after,
.post-content.upage .border_box h3:after,
.post-content.upage .border_box h4:after,
.post-content.upage .border_box h5:after,
.post-content.upage .border_box h6:after,
.post-content.upage .beta_box_in h2:after,
.post-content.upage .beta_box_in h3:after,
.post-content.upage .beta_box_in h4:after,
.post-content.upage .beta_box_in h5:after,
.post-content.upage .beta_box_in h6:after,
.post-content.upage .border_box_in h2:after,
.post-content.upage .border_box_in h3:after,
.post-content.upage .border_box_in h4:after,
.post-content.upage .border_box_in h5:after,
.post-content.upage .border_box_in h6:after {
	display: none
}

@media screen and (max-width: 767px) {
	.beta_box,
	.border_box,
	.beta_box_in >div>div,
	.border_box_in >div>div {
		padding: 6vw !important;
	}

.beta_box02 {
	padding: 6vw 0 !important;
}
	.beta_box_in >div>div,
	.border_box_in >div>div {
		padding-bottom: 0vw !important;
	}
}


/*--------------------------------------
QA
--------------------------------------*/

.qa_list + .qa_list {
	margin-top: 50px
}

.qa_with_img .txt_in {
	-webkit-flex: 1;
	flex: 1;
	width: auto
}

@media screen and (max-width: 767px) {
	.qa_with_img .img_box {
		width: 100%;
		margin: 5vw 0 0
	}
	.qa_list + .qa_list {
		margin-top: 7vw
	}
	.qa_list.qa_list02 dd,
	.qa_list.qa_list02 dt {
		padding-top: 1vw !important;
	}

.qa_list.qa_list02 dt {
	padding-top: 2vw !important;
}
	.qa_list > dd {
		margin-top: 3vw !important;
	}
}



/*--------------------------------------
流れ
--------------------------------------*/

.flowList > li:last-child {
	margin-bottom: 0
}

.flowList > li:last-child:after {
	display: none
}

.flowList .img_wrap {
	/* display: flex; */
	/* flex-wrap: wrap; */
	/* align-items: flex-start; */
	/* justify-content: space-between; */
}

.flowList .txt_block {}

@media screen and (max-width: 767px) {
	.flowList .img_wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		flex-direction: column-reverse;
	}
	.flowList .img_box {
		position: relative;
		top: initial;
		right: initial;
		padding-left: 0;
		text-align: center;
		margin-bottom: 15px
	}
	.flowList > li {
		padding: 5vw 0 !important;
		margin-bottom: 12vw !important;
	}
	.flowList.step_img_mini figure {
		width: 100%;
		margin-right: auto;
		text-align: center;
		margin: 3vw 0 0!important
	}
	.flowList.step_img_mini figure img {
		width: 125px;
		margin-left: auto;
		margin-right: auto
	}
	.flowList .txt_block {
		width: 100%
	}
	.upage .flowList .img_wrap figure {
		width: 100% !important;
		margin-left: 0 !important;
		margin-top: 5vw !important
	}
}


/* -------------------------------------
flowList_tlver
------------------------------------- */

.flowList_tlver li {
	position: relative
}

@media screen and (max-width: 767px) {
	.flowList_tlver li + li {
		margin-top: 12vw
	}
}


/* -------------------------------------
診療時間表
------------------------------------- */

.upage .timetable {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse
}


/* =====================================
■ブログ
===================================== */


/*--------------------------------------
POSTS
--------------------------------------*/

.blog_con_in {
	float: left;
	width: 65%
}

.blog_con_in h2 {
	font-weight: 700;
	font-size: 1.8rem;
	margin-bottom: 20px;
	line-height: 1.6
}

#blogDetail .blog_con_in h2 {
	font-weight: normal;
	font-size: 3rem;
}

/*　blogList　*/

#blogList .post {
	font-size: 1pc;
	line-height: 2;
	padding-bottom: 35px
}

.posts_list > li:last-child {
	border: 0
}

.posts_list .txt_block {
	width: 100%
}

.posts_list .post-image + .txt_block {
	float: right;
	width: 80%;
	width: -webkit-calc(100% - 150px);
	width: calc(100% - 150px)
}

.posts_list .date {
	margin-top: 20px
}

.posts_list li {
	width: 100%;
	margin-bottom: 30px;
	position: relative;
	padding-bottom: 30px
}

.posts_list li:after {
	content: '';
	clear: both;
	display: block;
	height: 0;
	font-size: 0;
	visibility: hidden
}

.posts_list li .category {
	width: 100%;
	margin-bottom: 20px
}

.post .category a,
.posts_list .category a {
	display: inline-block;
	min-width: 107px;
	height: 25px;
	padding: 2px 8px;
	font-size: 9pt;
	font-weight: 700;
	letter-spacing: 0;
	color: #fff;
	line-height: 23px;
	box-sizing: border-box;
	text-transform: uppercase;
	text-decoration: none!important
}

.posts_list .category a {
	margin-right: 1em
}

.post .category a:before,
.posts_list .category a:before {
	font-size: 10px;
	margin-right: 7px;
	vertical-align: baseline
}

.posts_list li .post-image {
	position: relative;
	overflow: hidden;
	min-height: 26px
}

.posts_list li .post-image a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 100%
}

.posts_list li .post-image a span {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(1);
	transition: ease-in-out .2s
}

.posts_list li .post-image a:hover span {
	transform: scale(1.1)
}

.posts_list li .post-image span.noimage {
	line-height: 0;
	text-indent: 100%;
	overflow: hidden
}

.posts_list h3 {
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 20px;
	letter-spacing: 0;
	font-weight: 700;
	width: 100%
}

.posts_list h3 a {
	text-decoration: none!important
}

.posts_list .excerpt {
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0
}


/*　blogDetail　*/

#blogDetail .post {
	font-size: 14px;
	line-height: 1.7
}

#blogDetail .post-header {
	padding: 0;
	margin-bottom: 25px
}

#blogDetail .post-header .post-meta {
	margin-bottom: 45px
}

#blogDetail .post-header .post-meta li.date {
	margin-top: 22px
}

.post .date,
.posts_list .date {
	font-size: 10px;
	letter-spacing: 0
}

.date_tag {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 10px
}

.date_tag .date {
	width: 8em
}

.date_tag .tag {
	-webkit-flex: 1;
	flex: 1;
	font-size: 10px
}

.date_tag .tag a {
	text-decoration: none!important
}

.date_tag .tag a:after,
.date_tag .tag a:before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 100%
}

.post .date span,
.posts_list .date span {
	margin-left: 10px
}

.post .date span:before,
.posts_list .date span:before {
	color: #7e8fab!important
}

.posts_list .date span:before {
	padding-right: 5px;
}

.post .date span a,
.posts_list .date span a {
	vertical-align: baseline
}

.post .date span a:hover,
.posts_list .date span a:hover {
	text-decoration: underline
}

#blogDetail .post-image img {
	width: 100%;
	max-width: 100%
}

#blogDetail .post-image {
	width: 100%;
	text-align: center;
	float: none;
	line-height: 1;
	margin-bottom: 20px
}

.post-content {
	overflow: hidden;
	line-height: 2.3;
	letter-spacing: 0
}

div#blogDetail .post-content img {
	width: auto;
	height: auto;
	max-width: 100%;
	box-sizing: border-box
}

.bloginfo_box {
	display: table;
	width: 100%;
	background: #ebe9e7;
	margin-top: 60px
}

.bloginfo_box .blog_name {
	display: table-cell;
	width: 50%;
	border-right: 1px solid #bfbebd;
	box-sizing: border-box;
	padding: 29px 30px;
	vertical-align: middle
}

.bloginfo_box .blog_name .icon-blog {
	display: block;
	position: relative;
	padding-left: 25px;
	font-size: 1pc;
	line-height: 1.6
}

.bloginfo_box .blog_name .icon-blog:before {
	display: block;
	font-size: 15px;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -8px
}

.bloginfo_box .share_btn {
	display: table-cell;
	width: 50%;
	padding: 30px 10px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle
}

.bloginfo_box .share_btn li {
	display: inline-block;
	margin: 0 5px;
	vertical-align: middle
}

.bloginfo_box .share_btn li a {
	display: block;
	overflow: hidden;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	font-size: 0;
	line-height: 1;
	text-decoration: none !important;
}

.bloginfo_box .share_btn li a:before {
	color: #fff
}

.bloginfo_box .share_btn .icon-facebook {
	background: #4967a3
}

.bloginfo_box .share_btn .icon-facebook:hover {
	background: #587cc1
}

.bloginfo_box .share_btn .icon-facebook:before {
	font-size: 26px;
	margin-top: 9pt
}

.bloginfo_box .share_btn .icon-line {
	background: #18bc01
}

.bloginfo_box .share_btn .icon-line:hover {
	background: #1cde00
}

.bloginfo_box .share_btn .icon-line:before {
	font-size: 29px;
	margin-top: 11px
}

.bloginfo_box .share_btn .icon-twitter {
	background: #11bbef
}

.bloginfo_box .share_btn .icon-twitter:hover {
	background: #13c7fe
}

.bloginfo_box .share_btn .icon-twitter:before {
	font-size: 24px;
	margin-top: 14px
}

.bloginfo_box .share_btn .icon-google {
	background: #e05c4f
}

.bloginfo_box .share_btn .icon-google:hover {
	background: #fb7468
}

.bloginfo_box .share_btn .icon-google:before {
	font-size: 20px;
	margin-top: 15px
}


/* navigation */

.navigation {
	overflow: hidden;
	margin-top: 52px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between
}


/* pagination */

.pagination {
	overflow: hidden;
	position: relative;
	padding-top: 52px;
	margin-top: 30px
}

.pagination ul {
	text-align: center
}

.pagination ul li {
	display: inline-block;
	width: 30px;
	font-weight: 700
}

.pagination ul li a,
.pagination ul li span.dots {
	display: block;
	width: 100%;
	height: 40px;
	font-size: 1pc;
	background: #cbcac9;
	color: #373431;
	line-height: 40px;
	letter-spacing: 0;
	font-weight: 400;
	border-radius: 5px;
	position: relative;
	text-align: center;
	box-sizing: border-box;
	text-decoration: none!important
}

.pagination ul li span.dots {
	background: 0
}

.pagination ul li span.current {
	display: block;
	width: 100%;
	height: 40px;
	font-size: 1pc;
	background: #7e8fab;
	line-height: 40px;
	letter-spacing: 0;
	font-weight: 400;
	border-radius: 5px;
	position: relative;
	text-align: center;
	box-sizing: border-box
}

.pagination ul li .prev {
	left: 0;
	padding-left: 8px
}

.pagination ul li .next,
.pagination ul li .prev {
	display: block;
	width: 75pt;
	position: absolute;
	top: 52px;
	box-sizing: border-box
}

.pagination ul li .next {
	right: 0;
	padding-right: 8px;
	font-weight: 700
}

.pagination ul li .prev span:before {
	display: block;
	position: absolute;
	left: 8px;
	top: 50%;
	margin-top: -5px;
	font-size: 10px
}

.pagination ul li .next span:before {
	display: block;
	position: absolute;
	right: 8px;
	top: 50%;
	margin-top: -5px;
	font-size: 10px
}

.pagination a:hover {
	opacity: 1!important;
	background: #7e8fab
}

@media screen and (max-width: 1120px) and (min-width: 768px) {
	.blogside {
		float: right;
		width: 30%
	}
	.bloginfo_box .share_btn li {
		margin: 0 3px
	}
	.bloginfo_box .share_btn li a {
		width: 40px;
		height: 40px
	}
	.bloginfo_box .share_btn .icon-facebook:before {
		font-size: 22px;
		margin-top: 9px
	}
	.bloginfo_box .share_btn .icon-line:before {
		font-size: 25px;
		margin-top: 8px
	}
	.bloginfo_box .share_btn .icon-twitter:before {
		font-size: 20px;
		margin-top: 11px
	}
	.bloginfo_box .share_btn .icon-google:before {
		font-size: 1pc;
		margin-top: 9pt
	}
}

@media screen and (max-width: 767px) {
	#blogDetail .post-header {
		margin-bottom: 20px
	}
	#blogDetail .post-header .post-meta li.date,
	#blogDetail .post-header li.category {
		float: none
	}
	.blog_con_in {
		float: none;
		width: 100%
	}
	.bloginfo_box {
		display: block
	}
	.bloginfo_box .blog_name {
		display: block;
		width: 100%;
		border-right: 0;
		border-bottom: 1px solid #bfbebd;
		box-sizing: border-box;
		padding: 20px;
		text-align: center
	}
	.bloginfo_box .blog_name .icon-blog {
		display: inline-block;
		text-align: left
	}
	.bloginfo_box .share_btn {
		display: block;
		width: 100%;
		padding: 20px 10px;
		box-sizing: border-box
	}
	.navigation {
		margin-top: 35px
	}
	.navigation ul {
		clear: both;
		padding-top: 20px
	}
	.pagination {
		padding-top: 95px
	}
	.pagination ul li .next,
	.pagination ul li .prev {
		top: 30px;
		width: 48%
	}
	.posts_list li {
		float: none;
		width: 100%;
		margin-left: 0;
		padding-bottom: 5vw;
		margin-bottom: 5vw
	}
	#blogDetail .blog_con_in h3 {
		font-size: 19px
	}
	.post-image {
		width: 20vw
	}
	.posts_list .post-image + .txt_block {
		width: 80%;
		width: -webkit-calc(100% - 24vw);
		width: calc(100% - 24vw)
	}
	.blog_con_in h2 {
		margin-bottom: 3vw
	}
	.blog_con_in .posts_list .date {
		margin-top: 0
	}
	.posts_list li .category {
		margin-bottom: 4vw;
		margin-top: -2vw
	}
	.posts_list li .category a {
		margin-top: 2vw;
		margin-right: 2vw
	}
	.blogside .recentBox li .post-image,
	.blogside .recentBox li .post-image a {
		width: 20vw!important;
		height: 20vw!important
	}
	.blogside .recentBox li .post-image {
		margin-left: 2vw
	}
}


/*--------------------------------------
BLOGSIDE
--------------------------------------*/

.blogside a {
	text-decoration: none!important
}

.blogside {
	float: right;
	width: 28%
}

.blogside h2.widgettitle {
	display: none
}

.blogside h2 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1;
	padding-bottom: 9px;
	margin-bottom: 24px
}

.blogside h2 span {
	font-size: 14px;
	letter-spacing: 0;
	vertical-align: middle;
	display: inline-block;
	margin-left: 10px
}

.blogside .searchBox {
	margin-bottom: 40px
}

.blogside .searchBox label {
	display: none
}

.blogside .searchBox #searchform {
	position: relative
}

.blogside .searchBox #s {
	background: #ebe9e7;
	border: 0;
	height: 55px;
	width: 100%;
	padding: 0 40px 0 14px;
	box-sizing: border-box;
	color: #72706e;
	font-size: 13px;
}

.blogside .searchBox #searchsubmit,
.blogside .searchBox .icon-search:before {
	position: absolute;
	right: 1pc;
	top: 50%;
	margin-top: -8px
}

.blogside .searchBox #searchsubmit {
	background: 0;
	border: 0;
	width: 15px;
	height: 15px;
	font-size: 0;
	cursor: pointer
}

.blogside .categoryBox ul li {
	padding-bottom: 1pc;
	margin-bottom: 18px
}

.blogside .categoryBox ul li:last-child {
	margin-bottom: 0
}

.blogside .categoryBox ul li a {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: capitalize
}

.blogside .categoryBox ul li a,
.blogside .categoryBox ul li a span {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	display: block
}

.blogside .categoryBox ul li a span {
	font-size: 14px;
	letter-spacing: 0;
	line-height: 1;
	text-transform: initial
}

.blogside .recentBox {
	margin-bottom: 50px
}

.blogside .categoryBox {
	margin-bottom: 50px;
}

.blogside .recentBox li {
	font-size: 13px;
	padding-bottom: 13px;
	margin-bottom: 13px;
	line-height: 1.3
}

.blogside .recentBox li:last-child {
	margin-bottom: 0
}

.blogside .recentBox li .recent_thumbnail {
	float: right;
	width: 3pc;
	height: 3pc;
	margin-left: 9pt;
	position: relative;
	overflow: hidden
}

.blogside .recentBox li .recent_thumbnail a {
	display: block;
	width: 3pc;
	height: 3pc;
	line-height: 1
}

.blogside .recentBox li .recent_thumbnail a span {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1)
}

.blogside .recentBox li .recent_thumbnail a:hover {
	transform: scale(1.1)
}

.blogside .recentBox li h2 a {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	display: block
}

.blogside .recent_date {
	font-size: 10px;
	margin-top: 5px
}

.blogside .recentBox li a {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between
}

.blogside .recentBox li .recent_title {
	-webkit-flex: 1;
	flex: 1
}

.blogside .recentBox li .post-image {
	margin-left: 20px
}

.blogside .recentBox li .post-image,
.blogside .recentBox li .post-image a {
	width: 3pc!important;
	height: 3pc!important;
	display: block
}

.blogside .recentBox li .post-image span {
	background-size: cover;
	width: 100%;
	height: 100%;
	display: block;
	background-position: center center;
}

.blogside .tagBox {
	margin-bottom: 40px
}

.blogside .tagBox h2 {
	margin-bottom: 9pt
}

.blogside .tagBox a {
	display: inline-block;
	padding: 7px 10px;
	font-size: 14px!important;
	line-height: 1;
	border-radius: 3px;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	margin-bottom: 9px;
	letter-spacing: 0;
	word-break: break-all
}

.archiveBox {
	font-size: 14px;
	line-height: 1.4
}

.archiveBox > ul > li {
	margin-top: 20px
}

.archiveBox > ul > li:first-child {
	margin: 0
}

.archiveBox ul li p {
	position: relative;
	margin: 0;
	padding-left: 22px;
	cursor: pointer;
	display: inline-block
}

.archiveBox ul li p.acv_open,
.archiveBox ul li p:hover {
	font-weight: 700
}

.archiveBox ul li p:before {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	width: 8px;
	height: 8px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box
}

.archiveBox ul li p.acv_open:before {
	top: 1px;
	left: 2px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}

.archiveBox ul li a:link {
	text-decoration: underline
}

.archiveBox ul li a:hover {
	font-weight: 700
}

.archiveBox ul li ul {
	margin-left: 44px
}

.archiveBox ul li li {
	margin-top: 10px
}

.archiveBox ul li ul.hide {
	display: none
}

@media screen and (max-width: 1120px) and (min-width: 768px) {
	.blogside {
		float: right;
		width: 30%
	}
	.blogside h2 span {
		font-size: 9pt
	}
}

@media screen and (max-width: 767px) {
	.blogside {
		float: none;
		width: 100%;
		padding: 46px 0 0;
		box-sizing: border-box;
		margin-top: 35px
	}
}


/*--------------------------------------
ブロック
--------------------------------------*/

.elementor-section-wrap > .elementor-section-boxed {
	padding: 0
}

.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
	padding: 0!important
}

#footer .f_bottom .elementor-section-boxed,
.container,
.container_in .elementor-container,
.elementor-top-section.elementor-section-boxed > .elementor-container,
.post-header > * {
	padding: 0 20px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto
}

.post-content.upage .elementor-column.beta_box,
.post-content.upage .elementor-column.border_box,
.post-content.upage .elementor-column.beta_box_in,
.post-content.upage .elementor-column.border_box_in,
.post-content.upage .elementor-widget,
.post-content.upage .elementor-widget:not(:last-child):not(.elementor-widget-spacer) {
	margin-bottom: 30px
}

.post-content.upage .elementor-widget-spacer {
	margin-bottom: 0!important
}

.elementor-widget:not(:last-child).elementor-widget-spacer {
	margin-bottom: 0
}

.col_02_block .elementor-col-50 {
	width: 48%!important
}

.post-content.upage .col_02_block .elementor-col-50 .elementor-widget {
	margin-bottom: 0!important
}

.col_02_block .elementor-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between
}

@media screen and (max-width: 767px) {
	.container,
	.container_in .elementor-container,
	.elementor-top-section.elementor-section-boxed > .elementor-container,
	.post-header > * {
		padding: 0 6vw
	}
	.post-content.upage .elementor-column.beta_box,
	.post-content.upage .elementor-column.border_box,
	.post-content.upage .elementor-column.beta_box_in,
	.post-content.upage .elementor-column.border_box_in,
	.post-content.upage .elementor-widget,
	.post-content.upage .elementor-widget:not(:last-child):not(.elementor-widget-spacer) {
		margin-bottom: 6vw
	}
	.col_02_block .elementor-row {
		display: block
	}
	.col_02_block .elementor-col-50 {
		width: 100%!important
	}
	.col_02_block .elementor-col-50 + .elementor-col-50 {
		margin-top: 6vw
	}
}


/*--------------------------------------
テキスト
--------------------------------------*/

#footer a img,
#main a,
.over img {
	text-decoration: underline;
	opacity: 1;
}

.elementor-widget-image-box .elementor-image-box-description {
	text-align: left
}

.elementor-widget .elementor-icon-list-item em a {
	display: inline!important
}

sup {
	vertical-align: text-bottom;
	font-size: 70%
}

strong {
	font-weight: 700
}

@media screen and (min-width: 1121px) {
#footer a img,
#main a,
.over img {
	transition: .5s ease;
	-webkit-transition: .5s ease
}

#footer a:hover,
#footer a:hover img,
#main a:hover,
.over:hover img {
	opacity: .7;
	transition: .5s ease;
	-webkit-transition: .5s ease;
	text-decoration: none!important
}

}
/*--------------------------------------
画像
--------------------------------------*/

.img_border img {
	display: block!important;
	position: relative;
	border: 1px solid #ccc!important
}

.float_r figure {
	float: right;
	margin-bottom: 15px!important
}

.float_r .elementor-image-box-wrapper {
	display: block!important
}

@media screen and (max-width: 767px) {
	.elementor-image-box-img,
	.float_r figure {
		width: 100%!important;
		margin-bottom: 4vw!important
	}
	.float_r figure {
		float: inherit
	}
}


/*--------------------------------------
タイトル
--------------------------------------*/

.post-content.upage > div > div > div > section:first-child > div > div > div > div > div > div:first-child h2,
.post-content.upage > div > div > div > section:first-child > div > div > div > div > div > div:first-child h3,
.post-content.upage > div > div > div > section:first-child > div > div > div > div > div > div:first-child h4,
.post-content.upage > div > div > div > section:first-child > div > div > div > div > div > div:first-child h5,
.post-content.upage > div > div > div > section:first-child > div > div > div > div > div > div:first-child h6 {
	margin-top: 0
}


/*--------------------------------------
ボタン
--------------------------------------*/

.elementor-button {
	text-decoration: none!important;
	position: relative!important
}

.btn_mt00 .elementor-button {
	margin-top: 0!important
}

@media screen and (max-width: 767px) {
	.elementor-button {
		min-width: inherit!important;
		display: block!important
	}
}


/*--------------------------------------
table
--------------------------------------*/

.table_color {
	width: 100%
}

.table_price tr > *,
.table_price.table_color tbody th {
	width: 50%;
	text-align: center;
	padding: 5px
}

.table_price.table_price03 td,
.table_price.table_price03 th {
	width: 33%!important
}

.table_price.table_price04 td,
.table_price.table_price04 th {
	width: 25%!important
}

.table_col03 td,
.table_col03 th {
	width: 33.333333%
}

.tdc td,
.thc th,
.theadc thead th {
	text-align: center
}

.table_col01with02 tbody th,
.table_col01with02 thead th:first-child {
	width: 26%!important
}

.table_col01with02 tbody td,
.table_col01with02 thead th:not(:first-child) {
	width: 37%
}


/*--------------------------------------
sitemappage_sitemap
--------------------------------------*/

.sitemappage_sitemap,
.sitemappage_sitemap li,
.sitemappage_sitemap li a {
	position: relative
}

.sitemappage_sitemap li:before,
.sitemappage_sitemap:before {
	content: "";
	background-image: linear-gradient(to right, #888, #888 5px, transparent 5px, transparent 10px);
	background-size: 8px 1px;
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 1px
}

.sitemappage_sitemap:before {
	top: inherit;
	bottom: 0
}

.sitemappage_sitemap li a {
	width: 100%;
	display: block;
	padding: 20px 30px 18px 30px;
	text-decoration: none!important;
	line-height: 1.6;
}

.sitemappage_sitemap li li {
	margin-left: 40px
}

.sitemappage_sitemap li a:before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	border-radius: 50%
}

.sitemappage_sitemap li a:after {
	border-right: 2px solid #888;
	border-bottom: 2px solid #888;
	width: 10px;
	height: 10px;
	position: absolute;
	content: "";
	top: 50%;
	right: 20px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg)
}

.sitemappage_sitemap li a span {
	display: none
}

.sitemappage_sitemap .sub-menu {
	display: block!important
}

@media screen and (max-width: 767px) {
	.sitemappage_sitemap li a {
		padding: 10px 20px
	}
	.sitemappage_sitemap li a:after {
		right: 7px
	}
}


/* =====================================
■お問い合わせ
===================================== */

body#inquiry #header .wrap {
	justify-content: center
}

body#inquiry #header .right {
	display: none
}

body#inquiry #header .logo {
	float: none;
	margin: 0;
	justify-content: center
}

body#inquiry .gnav,
body#inquiry #header .toggleMenu {
	display: none!important
}

body.page-id-425 {
	background: #fff
}

.wrap_contact {
	max-width: 50pc;
	margin: 0 auto;
	padding: 0 20px
}

.wrap_contact .btn a {
	margin: 0 auto
}

.inquiryForm_message {
	text-align: center
}

.step_list {
	width: 467px;
	margin: 0 auto 90px
}

.step_list li {
	float: left;
	width: 75pt;
	margin-left: 83px;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	position: relative
}

.step_list li:first-child {
	margin: 0
}

.step_list li span {
	display: block;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	text-align: center;
	line-height: 57px;
	margin: 0 auto 9pt;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0;
	position: relative;
}

.step_list li span:after {
	display: block;
	content: "";
	width: 130px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 54px
}

.step_list li:last-child span:after {
	display: none
}

.inquiryForm_message .step_catch {
	font-size: 1pc;
	text-align: center;
	letter-spacing: .05em;
	margin-bottom: 44px
}

.inquiryFormTable {
	font-size: 1pc;
	padding-top: 22px
}

.inquiryFormTable dl {
	display: table;
	width: 100%
}

.inquiryFormTable dd,
.inquiryFormTable dt {
	display: table-cell;
	padding: 20px 0 24px;
	text-align: left;
	vertical-align: top
}

.inquiryFormTable dt {
	border-right: 0;
	position: relative;
	width: 29%;
	padding-top: 31px;
	letter-spacing: .1em;
	box-sizing: border-box;
	font-weight: 700;
	padding-right: 5pc
}

.inquiryFormTable dd {
	box-sizing: border-box;
	position: relative;
	padding-right: 40px
}

form .s_txt div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start
}

form .s_txt div span input {
	width: 75pt;
	margin-right: 1em
}

.wpcf7-form-control-wrap {
	display: block
}

.inquiryFormTable input,
.inquiryFormTable select,
.inquiryFormTable textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 13px 14px 14px;
	background: #fff;
	border-radius: 5px;
	font-size: 1pc
}

dd.with_tl {
	width: 100%;
	display: block
}

.with_tl p + p {
	margin-top: 0!important
}

dd.with_tl + dd.with_tl {
	padding-top: 0!important
}

.inquiryFormTable select {
	position: relative;
	background: #fff url(../img/ico_select.png)no-repeat right center;
	background-size: 50px 50px;
	background-size: contain;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none
}

.inquiryFormTable select::-ms-expand {
	display: none
}

.inquiryFormTable input[type="checkbox"] {
	display: none;
	width: 2pc;
	height: 2pc;
	border: 0;
	position: relative;
	margin-right: 0;
	visibility: hidden;
	z-index: 1;
	-webkit-appearance: none;
	background: 0;
	box-sizing: border-box
}

.inquiryFormTable .wpcf7-list-item {
	width: 100%;
	display: block;
	margin: 0 0 13px;
	box-sizing: border-box
}

.wpcf7-list-item-label {
	position: relative
}

span.wpcf7-list-item-label:after,
span.wpcf7-list-item-label:before {
	display: none
}

.inquiryFormTable .comment {
	display: block;
	font-size: 13px;
	margin-top: .4em;
	letter-spacing: 0
}

.inquiryFormTable .optional,
.inquiryFormTable .required {
	font-size: 14px;
	font-weight: 700;
	padding-left: 0;
	width: 46px;
	height: 22px;
	border-radius: 10px;
	text-align: center;
	display: inline-block;
	line-height: 22px;
	position: absolute;
	top: 36px;
	right: 28px
}

.inquiryFormTable .btBox {
	text-align: center;
	margin: 103px 0 5pc
}

.inquiryFormTable .btBox:after {
	content: "";
	display: table;
	clear: both
}

.inquiryFormTable .btBox input[type="submit"] {
	background: url(../img/ico_arrow02.png)no-repeat 95% center!important;
	background-size: 6px 10px!important;
	border: 0;
	width: 100%;
	color: #fff;
	display: block;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	margin: 0 auto;
	border-radius: 0!important;
	outline: 0;
	-webkit-appearance: none;
	font-size: 2.6rem;
	letter-spacing: .1em;
	padding: 30px 30px 30px 30px;
	text-align: center;
	font-weight: 700;
}

.inquiryFormTable .btBox input[type="submit"].disabled {
	background: url(../img/ico_arrow01.png)no-repeat 96% center!important;
	background-size: 6px 10px!important;
	opacity: 1!important;
	pointer-events: none;
	cursor: default;
}

.inquiryFormTable .btBox input[type="submit"].abled {
	background: #f89d10
}

.inquiryFormTable .wpcf7-back {
	width: 37.5%!important;
	background: url(../img/ico_arrow02_r.png)no-repeat 15px center!important;
	background-size: 6px 10px!important;
	border: 0;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	margin: 0 auto;
	border-radius: 0!important;
	outline: 0;
	-webkit-appearance: none;
	font-size: 2.6rem;
	letter-spacing: .1em;
	padding: 30px 2pc 30px 40px;
	float: left;
	text-align: center
}

.inquiryFormTable .wpcf7-submit {
	width: 58.5%!important;
	float: right;
	text-align: left
}

.inquiryFormTable .btBox input[type="button"]:hover,
.inquiryFormTable .btBox input[type="submit"]:hover {
	opacity: .8
}

span.verify_icon {
	position: absolute;
	width: 25px;
	height: 25px;
	right: -42px;
	top: 13px;
	display: none
}

.verified_table .wpcf7-validates-as-required:not(.wpcf7-not-valid) + .verify_icon {
	display: block
}

.verified_table .wpcf7-validates-as-required:not(.wpcf7-not-valid) + .verify_icon:before {
	font-size: 25px;
	vertical-align: top
}

.confirm_table .verify_icon {
	display: none!important
}

.inquiryFormTable .wpcf7-not-valid-tip {
	font-weight: 400;
	display: block;
	font-size: 9pt
}

.file_btn {
	display: block;
	overflow: hidden;
	position: relative;
	width: 123px;
	height: 30px;
	font-size: 14px;
	line-height: 30px;
	text-align: center;
	cursor: pointer;
	margin-top: 13px
}

.file_btn .wpcf7-form-control-wrap {
	opacity: 0;
	filter: alpha(opacity=0);
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	width: 100%;
	height: 30px
}

div.wpcf7 input[type="file"] {
	padding: 0;
	border: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 30px
}

.custom-wpcf7c-confirmed .confirm_table .optional,
.custom-wpcf7c-confirmed .confirm_table .required,
.custom-wpcf7c-confirmed .confirm_table .wpcf7-form-control-wrap.your-email_confirm,
.custom-wpcf7c-confirmed .confirm_table .wpcf7-form-control-wrap.your-tel_confirm,
.custom-wpcf7c-confirmed .confirm_table .wpcf7-list-item-label,
.custom-wpcf7c-confirmed .confirm_table input[type="checkbox"],
.custom-wpcf7c-confirmed .confirm_table input[type="email"],
.custom-wpcf7c-confirmed .confirm_table input[type="tel"],
.custom-wpcf7c-confirmed .confirm_table input[type="text"],
.custom-wpcf7c-confirmed .confirm_table select,
.custom-wpcf7c-confirmed .confirm_table span.comment,
.custom-wpcf7c-confirmed .confirm_table textarea {
	display: none
}

.result_txt {
	display: block;
	word-break: break-all;
	white-space: pre-wrap
}

.custom-wpcf7c-confirmed .confirm_table .wpcf7-list-item {
	padding-left: 0
}

.custom-wpcf7c-confirmed .confirm_table dd,
.custom-wpcf7c-confirmed .confirm_table dt {
	padding: 9pt 0 10px
}

.wpcf7-mail-sent-ok,
div.wpcf7 .ajax-loader,
div.wpcf7-validation-errors {
	display: none!important
}


/*______________________________________________________________________________
ラジオボタン

*/

.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: 75pt
}

.radio_style span:before {
	width: 5vw;
	height: 5vw;
	left: 0
}

.radio_style input:checked + .radio_txt:after,
.radio_style span:before {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%)
}

.radio_style input:checked + .radio_txt:after {
	width: 2.9vw;
	height: 2.9vw;
	left: 1.1vw
}

.confirm_table .radio_style span:before,
.confirm_table .radio_txt {
	display: none
}

.confirm_table .radio_style span {
	padding: 0
}

.confirm_table .radio_style label {
	margin: 0
}

.confirm_table .form_narabi {
	margin: 0;
	display: table
}

.confirm_table .form_narabi li {
	margin: 0;
	display: table-cell
}

.confirm_table .radio_style input[type="radio"] {
	display: none
}


/*______________________________________________________________________________
チェックボックス
*/

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: 75pt
}

.checkbox_style span:before {
	content: "";
	display: block;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%)
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: .6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg)
}


/*______________________________________________________________________________
ラジオボタン+チェックボックスの並び
*/

.form_narabi {
	margin-top: -4vw
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw
}

@media screen and (max-width: 1120px) {
	.inquiryFormTable dt {
		width: 35%
	}
}

@media screen and (max-width: 767px) {
	.wrap_contact {
		padding: 0
	}
	.step_list {
		width: 25pc;
		margin: 0 auto 60px
	}
	.step_list li {
		margin-left: 50px
	}
	.inquiryFormTable dl {
		display: block
	}
	.inquiryFormTable dd,
	.inquiryFormTable dt {
		display: block;
		padding: 0;
		width: 100%;
		box-sizing: border-box
	}
	.inquiryFormTable dd {
		padding: 10px 40px 30px 0
	}
	.inquiryFormTable .optional,
	.inquiryFormTable .required {
		position: static;
		margin-left: 20px;
		display: inline-block;
		margin-top: -2px;
		vertical-align: middle
	}
	.inquiryFormTable .btBox {
		margin: 50px 0
	}
	.inquiryFormTable .btBox input[type="submit"],
	.inquiryFormTable .wpcf7-back {
		width: 100%!important;
		float: none;
		font-size: 20px;
		padding: 28px 20px 28px;
		box-sizing: border-box;
		text-align: center;
	}
	.inquiryFormTable .wpcf7-back {
		margin-bottom: 15px
	}
	.file_btn {
		margin-top: 0
	}
	.custom-wpcf7c-confirmed .confirm_table dd,
	.custom-wpcf7c-confirmed .confirm_table dt {
		padding: 5px 0
	}
	.step_list {
		width: 270px
	}
	.step_list li {
		width: 70px;
		margin-left: 30px;
		font-size: 1pc
	}
	.step_list li span:after {
		width: 60px
	}
	.inquiryForm_message .step_catch {
		font-size: 9pt;
		letter-spacing: 0
	}
	.inquiryFormTable .btBox input[type="submit"],
	.inquiryFormTable .wpcf7-back {
		font-size: 1pc;
		letter-spacing: .1em;
		/* background-size: 6px 10px!important; */
	}
}

@media screen and (min-width: 768px) {
	/*______________________________________________________________________________
ラジオボタン */
	.radio_style label {
		margin: 0
	}
	.radio_style span {
		padding-left: 40px;
		padding-right: 30px
	}
	.radio_style span:before {
		width: 26px;
		height: 26px
	}
	.radio_style input:checked + .radio_txt:after {
		height: 1pc;
		width: 1pc;
		left: 6px
	}
	/*______________________________________________________________________________
チェックボックス */
	.checkbox_style span:before {
		width: 26px;
		height: 26px
	}
	.checkbox_style span {
		padding-left: 40px;
		padding-right: 30px
	}
	.checkbox_style input:checked + .checkbox_txt:after {
		width: 11px;
		height: 15px;
		left: 7px;
		top: 8px
	}
	.checkbox_style_narabi li {
		margin-top: 10px
	}
	.checkbox_style_narabi {
		margin-top: -10px
	}
	/*______________________________________________________________________________
ラジオボタン+チェックボックスの並び */
	.form_narabi {
		padding-top: 10px;
		margin-top: -10px
	}
	.form_narabi li {
		margin-top: 10px;
		line-height: 2
	}
}


/* =====================================
■step_narabi
===================================== */

.step_narabi {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: -3.333333%
}

.step_narabi > li {
	width: 33.333333%;
	line-height: 1;
	position: relative;
	padding-left: 3.333333%;
	margin-top: 3.333333%
}

.step_narabi img {
	display: block
}

.step_narabi > li:not(:first-child):before {
	display: block;
	content: "";
	border-bottom: 20px solid transparent;
	border-top: 20px solid transparent;
	position: absolute;
	top: 50%;
	left: 3%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%)
}

@media screen and (max-width: 767px) {
	.step_narabi > li {
		width: 50%;
		padding-left: 5vw;
		margin-top: 6%
	}
	.step_narabi {
		margin-top: -6%
	}
	.step_narabi > li:not(:first-child):before {
		border-width: 4vw 0 4vw 2.8vw;
		left: 1.5vw
	}
}


/* =====================================
■ 下層
===================================== */

.tabl_ori_kamoku td,
.tabl_ori_kamoku thead th:not(:first-child) {
	width: 45%
}

.tabl_ori_kamoku tbody th,
.tabl_ori_kamoku thead th:first-child {
	width: 10%
}

.post-content.upage a[target="_blank"] {
	background-size: 1em
}

.elementor-widget-image-box .elementor-image-box-img {
	text-align: center
}

.elementor-widget-image-box .elementor-image-box-img img {
	display: block;
	margin-left: auto;
	margin-right: auto
}

.post-content.upage a {
	word-break: break-all
}

.prof_img_box {
}

.prof_img_box .img {
	max-width: 330px;
	margin-left: 50px
}

.prof_img_box .txt {
	-webkit-flex: 1;
	flex: 1
}

#footer img,
.elementor img {
	height: auto !important;
	max-width: 100% !important;
	border: 0 !important;
	-webkit-border-radius: 0 !important;
	border-radius: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	display: block
}

.post-content.upage .col_03 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between
}

.post-content.upage .col_03 li {
	width: 32%;
	margin-top: 2%
}

.post-content.upage .col_03 img {
	display: block
}

.googlecal {
	position: relative;
	overflow: hidden
}

.googlecal iframe {
	width: 100%;
	height: 100%
}
.upage .col_block02 > div > div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.upage .col_block02 > div > div > div {
	width: 47% !important;
}

.upage .col_block03 > div > div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.upage .col_block03 > div > div > div {
	width: 31.5% !important;
}


.upage .col_block04 > div > div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.upage .col_block04 > div > div > div {
	width: 23.5% !important;
}

.kakomi_narabi > div > div > div {
	width: 48% !important;
}

.kakomi_narabi > div > div {
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.prof_img_box {
		flex-direction: column
	}
	.prof_img_box .txt {
		width: 100%
	}
	.post-content.upage .sp_col_02 li {
		width: 49%
	}
	.googlecal {
		height: 100vw
	}
	.table_scroll {
		overflow-x: auto;
	}
	.table_scroll:before {
		content: "※横スクロールで全体を見ることができます。";
	}
	.table_scroll table {
		width: 250vw;
		table-layout: fixed;
	}
	.upage .col_block02 > div > div > div {
		width: 100% !important;
	}
	.upage .col_block03 > div > div > div {
		width: 100% !important;
	}
	.upage .col_block04 > div > div {
		flex-direction: column;
	}
	.upage .col_block04 > div > div > div {
		width: 100% !important;
	}
	.kakomi_narabi > div > div > div {
		width: 100% !important;
	}
}
@media screen and (min-width: 768px) {
	.upage .col_block03 > div > div > div:not(:nth-child(3n+1)) {
		margin-left: 2.75%;
	}
	.upage .col_block04 > div > div > div:not(:nth-child(4n+1)) {
		margin-left: 2%;
	}
}

@media screen and (max-width: 1120px) and (min-width: 768px) {
	.kakomi_narabi > div > div {
		display: block;
	}
	.kakomi_narabi > div > div > div {
		width: 100% !important;
	}
}

@media screen and (min-width: 768px) {
	.col_h {
		margin-top: 50px;
	}
}
/*****************************
------------------------------
ふわっとフェードイン
------------------------------
*****************************/
.sa {
	opacity: 0;
	transition: all 1s ease;
}

.sa--longtime-ss {
	opacity: 0;
	transition: all 2.5s ease;
}

.sa--longtime-s {
	transition: all 3s ease;
}

.sa--longtime-m {
	transition: all 4s ease;
}


.sa.show {
opacity: 1;
-webkit-transform: none;
		transform: none;
}

.sa--lr {
-webkit-transform: translate(-100px, 0);
		transform: translate(-100px, 0);
}

.sa--rl {
-webkit-transform: translate(100px, 0);
		transform: translate(100px, 0);
}

.sa--up {
-webkit-transform: translate(0, 100px);
		transform: translate(0, 100px);
}

.sa--down {
-webkit-transform: translate(0, -100px);
		transform: translate(0, -100px);
}

.sa--scaleUp {
-webkit-transform: scale(0.5);
		transform: scale(0.5);
}

.sa--scaleDown {
-webkit-transform: scale(1.5);
		transform: scale(1.5);
}

.sa--rotateL {
-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
}

.sa--rotateR {
-webkit-transform: rotate(-180deg);
		transform: rotate(-180deg);
}

.img_bg_block .inner {
	overflow: visible;
}
