@charset "utf-8";
/* 
Theme Name: Genova Template
File: content.css
Theme Author: Genova Design
Author URL: https://genova.co.jp/
Template: genova_tpl
Description: This file is reserved for under pages (not top-page) and other elements
Version: 1.3
*/


/*-----------------------------------------------------------
■ 1 Under page
-----------------------------------------------------------*/

/*--------------------------------------
	general
--------------------------------------*/

#wrapper {
	min-height: 600px;
	padding-top: 130px;
}

#main {
	padding: 50px 0;
}

.home #wrapper,
.home #main {
	padding: 0;
}

@media screen and (max-width: 1179px) {
	#wrapper {
		padding-top: 65px;
	}
}

@media screen and (max-width: 767px) {
	#wrapper {
		padding-top: 50px;
	}
	#main {
		padding: 30px 0;
	}
}


/*--------------------------------------
	title holder
--------------------------------------*/

.title-holder {
	display: table;
	width: 100%;
	height: 200px;
	background: #94C789;
	background-size: cover;
}

.title-holder .title-holder__inner {
	display: table-cell;
	vertical-align: middle;
	padding: 20px 0;
}

.title-holder .container h1,
.title-holder .container h2 {
	color: var(--main-text-color);
	font-weight: 700;
	font-size: 32px;
	letter-spacing: 5.4px;
	line-height: 1.2;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.title-holder {
		height: 140px;
	}
	.title-holder .container h1,
	.title-holder .container h2 {
		font-size: 26px;
	}
}


/*--------------------------------------
	bread
--------------------------------------*/

#bread {
	max-width: 1080px;
	width: 100%;
	padding: 0 30px;
	margin: 16px auto 0;
	text-align: center;
	line-height: 1.3;
}

#bread li {
	display: inline;
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #77716C;
}

#bread li + li::before {
	content: ">";
	padding-right: .3em;
}

#bread li a {
	vertical-align: baseline;
	text-decoration: underline;
	color: var(--main-text-color);
}

#bread li a:hover {
	text-decoration: none;
}


/*--------------------------------------
	titles
--------------------------------------*/

/* h2 */
.under-title__h2 {
	margin-top: 20px !important;
	padding: 24px 30px 25px;
	background: var(--wp--preset--color--pale-spring-bud);
}

.under-title__h2 h2 {
	font-size: 32px;
	line-height: 1.6;
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .under-title__h2 h2 {
    font-size: 24px;
  }
}

/* h3 */
.under-title__h3 {
	padding: 5px 0 15px 80px;
	border-bottom: 1px solid;
	position: relative;
}

.under-title__h3::before {
	content: '';
	width: 44px;
	height: 54px;
	display: block;
	background: url('../img/deco1.png') 0 0 / contain no-repeat;
	position: absolute;
	left: 25px;
	top: 0;
}

.under-title__h3 h3 {
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0;
}

/* h4 */
.under-title__h4 {
	position: relative;
	padding-left: 45px;
}

.under-title__h4::before {
	content: "";
	width: 23px;
	height: 23px;
	display: block;
	background: #93CBA2;
	transform: rotate(45deg);
	position: absolute;
	left: 5px;
	top: 5px;
}

.under-title__h4 h4 {
	font-size: 24px;
	line-height: 1.6;
	letter-spacing: 0;
}

/* h5 */
.under-title__h5 {
	padding-left: 30px;
	position: relative;
}
.under-title__h5::before {
	content: "";
	width: 16px;
	height: 16px;
	display: block;
	background: var(--main-text-color);
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: 9px;
}

.under-title__h5 h5 {
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0;
}


/*--------------------------------------
	btn
--------------------------------------*/

.btn a {
    position: relative;
    display: block;
    width: auto;
    padding: 12px 60px 12px 30px;
    margin: 0 auto;
    background: var(--wp--preset--color--middle-green-yellow);
    border-radius: 99px;
    color: #fff;
		font-family: 'Zen Maru Gothic', sans-serif;
		font-weight: 500;
		font-size: 20px;
		line-height: 1.5;
		letter-spacing: 0.04em;
    text-align: left;
}

.btn a::after {
	content: "";
	width: 20px;
	height: 100%;
	display: block;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='white'/%3E%3Cpath d='M6 9.5C5.72386 9.5 5.5 9.72386 5.5 10C5.5 10.2761 5.72386 10.5 6 10.5V10V9.5ZM14.3536 10.3536C14.5488 10.1583 14.5488 9.84171 14.3536 9.64645L11.1716 6.46447C10.9763 6.2692 10.6597 6.2692 10.4645 6.46447C10.2692 6.65973 10.2692 6.97631 10.4645 7.17157L13.2929 10L10.4645 12.8284C10.2692 13.0237 10.2692 13.3403 10.4645 13.5355C10.6597 13.7308 10.9763 13.7308 11.1716 13.5355L14.3536 10.3536ZM6 10V10.5H14V10V9.5H6V10Z' fill='%23AACD60'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	right: 25px;
	top: 0;
}

.btn a:hover {
	opacity: 0.7;
}

.btn a .elementor-button-content-wrapper {
	justify-content: flex-start;
}

/* elementor btn */
.btn.elementor-widget-button a.elementor-button {
	display: inline-block;
  width: 100%;
	margin: initial;
}

.btn a.elementor-button.elementor-size-xs {
	max-width: 200px;
}

.btn a.elementor-button.elementor-size-sm {
	font-size: 20px;
	width: auto;
	max-width: none;
}

.btn a.elementor-button.elementor-size-md {
	font-size: 18px;
	max-width: 300px;	
}

.btn a.elementor-button.elementor-size-lg {
	font-size: 21px;
	max-width: 350px;	
}

.btn a.elementor-button.elementor-size-xl {
	max-width: initial;
}


@media screen and (max-width: 767px) {

	.btn a {
		font-size: 16px;
		letter-spacing: 0.1em;
	}
	
	.btn a.elementor-button.elementor-size-lg {
		font-size: 20px;
		max-width: 300px;	
	}
	
}


/*-----------------------------------------------------------
■ 2 Blocks
-----------------------------------------------------------*/

/*--------------------------------------
	google calendar
--------------------------------------*/

.google-calendar {
	position: relative;
	height: 0;
	padding-top: 500px;
	overflow: hidden;
}

.google-calendar iframe {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height:100%;
}

@media screen and (max-width:767px) {

	.google-calendar {
		padding-top: 400px;
	}

}


/*--------------------------------------
	map
--------------------------------------*/

.map {
	position: relative;
	width: 100%;
	padding-top: 400px;
}

.map iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border: none;
}
@media screen and (max-width:767px) {
  .map {
    padding-top: 300px;
  }
}


/*--------------------------------------
	treatment 診療科目
--------------------------------------*/

.treatment-block {
	padding: 55px;
	font-size: 16px;
	letter-spacing: 1.6px;
	color: #535353;
	background: #F0F5EF;
}

.treatment-block h2 {
	font-family: "秀英角ゴシック銀 B", "Shuei KakuGo Gin B";
	font-weight: bold;
	font-size: 33px;
	letter-spacing: 3.96px;
	color: #94C789;
}

.treatment-block .elementor-button {
	position: relative;
	width: 100%;
	font-family: "秀英角ゴシック銀 B", "Shuei KakuGo Gin B";
	font-weight: bold;
	text-align: left;
	line-height: 1;
	color: #FFFFFF;
	background: #94C789;
}

.treatment-block .elementor-button.elementor-size-sm {
	max-width: 250px;
	padding: 18px 25px;
	font-size: 18px;
	letter-spacing: 2px;
}

.treatment-block .elementor-button.elementor-size-md {
	max-width: 350px;
	padding: 20px 30px;
	font-size: 20px;
	letter-spacing: 2.4px;
}

.treatment-block .elementor-button.elementor-size-lg {
	max-width: 450px;  
	padding: 22px 30px;
	font-size: 22px;
	letter-spacing: 3.5px;
}

.treatment-block .elementor-button::after {
	content: "";
	position: absolute;
	right: 20px;
	top: calc(50% - 4.5px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4.5px 0 4.5px 7px;
	border-color: transparent transparent transparent #ffffff;
}


@media screen and (max-width: 1024px) and (min-width: 768px) {

	.treatment-block {
		padding: 30px;
	}

}


@media screen and (max-width: 767px) {

	.treatment-block {
		padding: 30px 15px;
	}

	.treatment-block .elementor-button-wrapper {
		text-align: center;
	}

}


/*--------------------------------------
	timetable
--------------------------------------*/

.timetable table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.timetable table th,
.timetable table td {
	padding: 10px 0;
	border-bottom: 1px solid var(--wp--preset--color--tea-green);
	vertical-align: middle;
	font-size: 15px;
	line-height: 24px;
	letter-spacing: 0.1em;
	text-align: center;
}
.timetable table thead th {
	font-weight: normal;
}
.timetable table thead th:first-child {
	width: 32%;
	text-align: left;
}
.timetable table tbody td:first-child {
	text-align: left;
	word-break: keep-all;
	white-space: nowrap;
}
.timetable .txt {
	margin-top: 16px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.04em;
}
.timetable .txt .blank {
	display: none;
}
.timetable.white,
.timetable.white .txt_color {
	color: #fff;
}
.timetable.white table th,
.timetable.white table td {
	border-bottom-color: #fff;
}
@media screen and (max-width: 767px) {
	.timetable table thead th:first-child {
		width: 33%;
	}
	.timetable .txt {
		font-size: 13px;
	}
	.timetable .txt .blank {
		display: inline;
	}
}

/*--------------------------------------
	image wrap
--------------------------------------*/

.image-wrap__left img {
	max-width: 300px;
	float: left;
	margin: 0 15px 15px 0;
}

.image-wrap__right img {
	max-width: 300px;
	float: right;
	margin: 0 0 15px 15px;
}

@media (max-width: 767px) {
	.image-wrap__left img,
	.image-wrap__right img {
		display: block;
		float: none;
		width: auto;
		max-width: 100%;
		margin: 0 auto 20px;
	}
}

/*--------------------------------------
	frame-box
--------------------------------------*/

.frame-box {
	padding: 25px 35px !important;
	border: 1px solid #9f9f9f;
	border-radius: 20px !important;
}
.frame-box .elementor-image-box-title {
	padding: 7px 10px;
	background: var(--wp--preset--color--pale-spring-bud);
	font-family: "Inter", sans-serif;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: center;
}
.frame-box .elementor-image-box-description {
	margin: 30px 35px 0 !important;
}
@media screen and (max-width: 767px) {
	.frame-box {
		padding: 25px 20px !important;
	}
	.frame-box .elementor-image-box-title {
		font-size: 18px;
	}
	.frame-box .elementor-image-box-description {
		margin: 20px 0 0 !important;
		
	}
}

.frame_C {
	margin-top: 0 !important;
	padding: 20px 40px 30px !important;
	border: 1px solid;
	border-radius: 20px !important;
}

.frame_C .elementor-element {
	margin-top: 0 !important;
}
.frame_C .elementor-heading-title {
	padding-bottom: 10px;
	border-bottom: 1px solid;
	font-family: "Inter", sans-serif;
	font-size: 22px;
	line-height: 1.6;
	text-align: center;
}
.frame_C .frame__content {
	margin-top: 20px !important;
	padding: 0 30px;
	color: #454545;
}
.frame_C .elementor-icon-list-items .elementor-icon-list-item + .elementor-icon-list-item {
	margin-top: 10px;
}
.frame_C.green {
	color: var(--wp--preset--color--middle-green-yellow);
}
@media screen and (max-width: 1024px) {
	.frame_C {
		padding: 15px 20px 20px !important;
	}
	.frame_C .frame__content {
		padding: 0;
	}
}

/*--------------------------------------
	photo box
--------------------------------------*/

.photo .elementor-element {
	margin-top: 0 !important;
}
.photo .elementor-widget-heading {
  margin-top: 20px !important;
}
.photo .elementor-heading-title {
	font-size: 20px;
	line-height: 1.6;
	text-align: center;
}

/*--------------------------------------
	Q&A
--------------------------------------*/

.qa .qa__block + .qa__block {
	margin-top: 40px;
}

.qa__block dt,
.qa__block dd {
	display: table;
	width: 100%;
	margin-bottom: 20px;
}

.qa__block .qa__num {
	display: table-cell;
	padding-right: 20px;
	vertical-align: top;
}

.qa__block dt .qa__num span,
.qa__block dd .qa__num span {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0;
	line-height: 40px;
	color: #fff;
	background: #94C789;
}

.qa__block dd .qa__num span {
	color: #94C789;
	background: #eff9e5;
}

.qa__block .qa__text {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}

.qa_list dt .qa__text {
	font-size: 18px;
}

.qa_E .elementor-element {
	margin-top: 0 !important;
}
.qa_E .qa__item .question,
.qa_E .qa__item .answer {
	padding-left: 60px;
	border-left: 4px solid;
	position: relative;
}
.qa_E .qa__item .question::before,
.qa_E .qa__item .answer::before {
	content: '';
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 31px;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 15px;
}
.qa_E .qa__item .question {
	color: var(--wp--preset--color--middle-green-yellow);
	font-size: 24px;
	position: relative;
}
.qa_E .qa__item .question::before {
	content: 'Q';
}
.qa_E .qa__item .answer::before {
	content: 'A';
	top: 10px;
}
@media screen and (max-width: 450px) {
	.qa_E .qa__item .question,
	.qa_E .qa__item .answer {
		padding-left: 40px;
	}
	.qa_E .qa__item .question::before,
	.qa_E .qa__item .answer::before {
		font-size: 27px;
		left: 10px;
	}
	.qa_E .qa__item .question {
		font-size: 20px;
	}
}

/*--------------------------------------
	flow
--------------------------------------*/

body:not(.home) .flow .elementor-element {
	margin-top: 0 !important;
}
.flow .flow__item {
	font-family: 'Inter', sans-serif;
	position: relative;
}
.flow .flow__item + .flow__item {
	margin-top: 10px;
}
.flow .flow__item:not(.last) {
	padding-bottom: 50px !important;
}
.flow .flow__item:not(.last)::after {
	content: '';
	display: block;
	border: 34px solid transparent;
	border-bottom: 0;
	border-top-color: var(--wp--preset--color--middle-green-yellow);
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}
.flow .flow__item .flow__content {
	padding: 20px 0 20px 150px;
	position: relative;
	z-index: 1;
}
.flow .flow__item .flow__img img {
	border-radius: 0 10px 10px 0;
}
.flow .flow__item .flow__ttl .elementor-heading-title {
	font-size: 24px;
	line-height: 1.6;
}
.flow .flow__item .flow__txt {
	line-height: 2;
	color: #22201E;
}
.flow .flow__item .flow__txt p {
	margin-bottom: 0;
}
.flow .flow__item .flow__step {
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--middle-green-yellow);
	border-radius: 100%;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 40px;
	left: 0;
}
.flow .flow__item .flow__step .elementor-heading-title {
	font-size: 40px;
	line-height: 1.1;
}
.flow .flow__item .flow__step .elementor-heading-title small {
	font-size: 30px;
}
.flow .flow__item .flow__step .elementor-widget-container {
	height: auto !important;
}
@media screen and (max-width: 1024px) {
	.flow .flow__item .flow__img img {
		border-radius: 10px;
	}
}
@media screen and (max-width: 450px) {
	.flow .flow__item .flow__content {
		padding: 35px 0 20px;
	}
	.flow .flow__item .flow__ttl .elementor-heading-title {
		font-size: 20px;
	}
	.flow .flow__item .flow__step {
		width: 80px;
		height: 80px;
		top: -20px;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.flow .flow__item .flow__step .elementor-heading-title {
		font-size: 30px;
	}
	.flow .flow__item .flow__step .elementor-heading-title small {
		font-size: 20px;
	}
}

.flow_D .elementor-element {
	margin-top: 0 !important;
}
.flow_D .flow__item {
	padding: 35px 45px;
	border: 1px solid var(--wp--preset--color--middle-green-yellow);
}
.flow_D .flow__item:not(.last) {
	margin-bottom: 30px;
}
.flow_D .flow__item:not(.last)::after {
	content: '';
	border: 18px solid transparent;
	border-bottom: 0;
	border-top-color: var(--wp--preset--color--middle-green-yellow);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
}
.flow_D .flow__item .flow__ttl .elementor-heading-title {
	padding-left: 45px;
	font-size: 20px;
	line-height: 1.6;
	position: relative;
}
.flow_D .flow__item .flow__ttl .elementor-heading-title .number {
	width: 33px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--middle-green-yellow);
	border-radius: 100%;
	font-family: 'Inter', sans-serif;
	font-size: 20px;
	line-height: 1;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
.flow_D .flow__item .flow__txt {
	color: #22201E
}
@media screen and (max-width: 450px) {
	.flow_D .flow__item {
		padding: 25px 20px;
	}
}


/*--------------------------------------
	features
--------------------------------------*/

.features .feature__item .feature__content .elementor-element {
	margin-top: 0 !important;
}
.features .feature__item .feature__content {
	margin: 60px -250px 0 0;
	padding: 55px 20px 40px 50px;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
	border-radius: 16px;
	color: #5A574D;
	font-family: 'Inter', sans-serif;
	position: relative;
	z-index: 1;
}
.features .feature__item .feature__content p {
	margin-bottom: 0 !important;
}
.features .feature__item .feature__number {
	position: absolute;
	top: 0;
	left: 30px;
	transform: translateY(-50%);
}
.features .feature__item .feature__number .elementor-heading-title {
	color: var(--wp--preset--color--middle-green-yellow);
	font-size: 100px;
	line-height: 1;
}
.features .feature__item .feature__ttl .elementor-heading-title {
	font-size: 24px;
	line-height: 1.6;
}
.features .feature__item .feature__content .feature__txt {
	margin-top: 20px !important;
	line-height: 1.2;
}
.features .feature__item .feature__img img {
	border-radius: 16px;
}
.features .feature__item.reverse .feature__content {
	margin-right: 0;
	margin-left: -250px;
}

@media screen and (max-width: 1199px) {
	.features .feature__item .feature__content {
		margin: 0 !important;
		padding: 65px 50px 40px;
		border-radius: 0 0 16px 16px;
	}
	.features .feature__item .feature__img img {
		border-radius: 16px 16px 0 0;
	}
}
@media screen and (max-width: 450px) {
	.features .feature__item .feature__content {
		padding: 45px 20px;
	}
	.features .feature__item .feature__number {
		left: 10px;
	}
	.features .feature__item .feature__number .elementor-heading-title {
		font-size: 80px;
	}
	.features .feature__item .feature__ttl .elementor-heading-title {
		font-size: 20px;
	}
}

/*--------------------------------------
	num list
--------------------------------------*/

.num-list {
	counter-reset: li;
}

.num-list .elementor-icon-list-items li {
	position: relative;
	padding-left: 35px;
	margin-bottom: 15px;
}

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

.num-list .elementor-icon-list-items li::before {
	content: counter(li, decimal);
	counter-increment: li;
	position: absolute;
	left: 0;
	top: 4px;
	display: block;
	width: 24px;
	height: 24px;
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	letter-spacing: 0;
	color: #fff;
	background: #94C789;
}


/*--------------------------------------
	check list
--------------------------------------*/

.check-list .elementor-icon-list-items li {
	position: relative;
	padding: 3px 0 3px 35px;
}

.check-list .elementor-icon-list-items li::before {
	content: "";
	position: absolute;
	left: 0 !important;
	top: 5px;
	display: block;
	height: 21px;
	width: 21px;
	border: 2px solid #93CBA2;
}

.check-list .elementor-icon-list-items li::after {
	content: "";
	position: absolute;
	left: 10px !important;
	top: 3px;
	display: block;
	width: 11px;
	height: 17px;
	border: solid #93CBA2;
	border-width: 0 4px 4px 0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.list-square .elementor-icon-list-items li {
	position: relative;
	padding: 3px 0 3px 25px;
}

.list-square .elementor-icon-list-items li::before {
	content: "";
	height: 15px;
	width: 15px;
	display: block;
	background: var(--wp--preset--color--coffee);
	position: absolute;
	left: 0 !important;
	top: 9px;
}
.list-square.green .elementor-icon-list-items li::before {
	background: var(--wp--preset--color--middle-green-yellow);
}
.list-circle .elementor-icon-list-items li {
	position: relative;
	padding: 3px 0 3px 25px;
}
.list-circle .elementor-icon-list-items li::before {
	content: "";
	height: 15px;
	width: 15px;
	display: block;
	background: var(--wp--preset--color--coffee);
	border-radius: 100%;
	position: absolute;
	left: 0 !important;
	top: 9px;
}
.list-circle.green .elementor-icon-list-items li::before {
	background: var(--wp--preset--color--middle-green-yellow);
}


/*--------------------------------------
	anchor link list
--------------------------------------*/

.anchor-links {
	padding: 60px 105px;
	border: 1px solid;
	list-style: none;
}
.anchor-links ul {
	display: flex;
	flex-wrap: wrap;
	column-gap: 50px;
	row-gap: 25px;
}
.anchor-links .elementor-icon-list-items li {
	padding-left: 16px;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0;
	line-height: 1.6;
	position: relative;
}
.anchor-links .elementor-icon-list-items li a:before {
	content: "";
	width: 10px;
	height: 15px;
	display: block;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 18' fill='none'%3E%3Cpath d='M0.930023 1.5L10.536 9.09424L0.930023 16.688' stroke='%2393CBA2' stroke-width='3'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	top: 8px;
	left: 0;
	-webkit-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	-moz-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.anchor-links .elementor-icon-list-items li a:hover:before {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}
.anchor-links .elementor-icon-list-items li a:hover .elementor-icon-list-text {
	text-decoration: none;
	color: #93CBA2;
}
@media screen and (max-width: 1024px) {
	.anchor-links {
		padding: 30px 50px;
	}
}
@media screen and (max-width:767px) {
	.anchor-links {
		padding: 20px;
	}
	.anchor-links ul {
		flex-direction: column;
		row-gap: 10px;
	}
	.anchor-links .elementor-icon-list-items li {
		display: block;
		width: 100%;
		margin: 5px 0;
	}
}


/*--------------------------------------
	post box
--------------------------------------*/

.post-box {
	padding: 40px 40px 48px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 10px 0 rgba(0,0,0,0.25);
	position: relative;
}

.post-box__header h3 {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.08em;
	text-align: center;
}

.post-box__summary-link {
	display: block;
	height: 48px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M16.7071 8.70711C17.0976 8.31658 17.0976 7.68342 16.7071 7.29289L10.3431 0.928932C9.95262 0.538408 9.31946 0.538408 8.92893 0.928932C8.53841 1.31946 8.53841 1.95262 8.92893 2.34315L14.5858 8L8.92893 13.6569C8.53841 14.0474 8.53841 14.6805 8.92893 15.0711C9.31946 15.4616 9.95262 15.4616 10.3431 15.0711L16.7071 8.70711ZM0 8V9H16V8V7H0V8Z' fill='%23AACD60'/%3E%3C/svg%3E") right center / 16px no-repeat;
	border-top: 1px solid var(--wp--preset--color--middle-green-yellow);
	position: absolute;
	bottom: 0;
	left: 40px;
	right: 40px;
}

.post-box__summary-link:hover {
	text-decoration: none;
}

.post-box dl {
	padding: 16px 0;
	border-bottom: 1px dashed var(--wp--preset--color--middle-green-yellow);
	font-size: 15px;
	line-height: 24px;
	letter-spacing: 0;
}
.post-box dl:last-child {
	border-bottom: 0;
}

.post-box dl dt {
	font-weight: 500;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0;
	color: var(--wp--preset--color--middle-green-yellow);
}

.post-box dl dt .new-label {
	display: inline-block;
	width: 37px;
	height: 13px;
	padding: 0;
	margin: -2px 0 0 10px;
	vertical-align: middle;
	line-height: 13px;
	font-size: 9px;
	font-weight: bold;
	letter-spacing: 0;
	text-indent: 0;
	text-align: center;
	color: #fff;
	background: var(--wp--preset--color--middle-green-yellow);
}

.post-box dl dd a:hover {
	text-decoration: underline;
}


/*--------------------------------------
table style
--------------------------------------*/
.two-columns-table table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.two-columns-table th,
.two-columns-table td {
	border-bottom: 1px solid #CBCAC9;
	vertical-align: top;
	line-height: 1.6;
}
.two-columns-table tr th:first-child,
.two-columns-table tr td:first-child {
	border-bottom: 1px solid var(--wp--preset--color--coffee);
}
.two-columns-table th {
	width: 30%;
	padding: 13px 0px 10px 14px;

}
.two-columns-table td {
	padding: 13px 14px 10px;
}

.table_C table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.table_C th,
.table_C td {
	padding: 10px 15px;
	border: 1px solid #CBCAC9;
	vertical-align: top;
	line-height: 1.6;
}
.table_C tr th:first-child,
.table_C tr td:first-child {
	background: rgba(170,205,96,0.6);
	font-size: 20px;
}

.table_D table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.table_D th,
.table_D td {
	padding: 10px 15px;
	border: 1px solid #CBCAC9;
	vertical-align: top;
	line-height: 1.6;
}
.table_D tr th,
.table_D tr th:first-child,
.table_D tr td:first-child {
	background: rgba(170,205,96,0.6);
}

.table_F table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.table_F th,
.table_F td {
	padding: 10px 15px;
	border: 1px solid #CBCAC9;
	line-height: 1.6;
}
.table_F tr th:first-child,
.table_F tr td:first-child {
	background: var(--wp--preset--color--middle-green-yellow);
	border-bottom-color: #fff;
	font-size: 20px;
}


/*-----------------------------------------------------------
■ 2 Blog
-----------------------------------------------------------*/

/*--------------------------------------
	post
--------------------------------------*/

#posts {
	float: left;
	width: 65%;
}

#blogDetail,
#blogList {
	min-height: 850px;
	margin-top: 40px;
	margin-bottom: 103px;
}

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

.posts__list li {
	position: relative;
	float: left;
	width: 45%;
	margin-left: 10%;
	margin-bottom: 75px;
}

.posts__list li:nth-child(2n+1) {
	margin-left: 0;
	clear: both;
}

.posts__list li .post__category {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	line-height: 1;
	z-index: 10;
}

.post .post__category a,
.posts__list .post__category a {
	display: inline-block;
	min-width: 107px;
	height: 25px;
	padding: 2px 8px;
	font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 23px;
	text-transform: uppercase;
	color: #fff;
	background: #94C789;
}

.post .post__category a:hover,
.posts__list .post__category a:hover {
	background: #8cc856;
}

.post .post__category a.news,
.posts__list .post__category a.news {
	background: #354fa8;
}

.post .post__category a.news:hover,
.posts__list .post__category a.news:hover {
	background: #4560bd;
}

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

.posts__list li .post__image {
	position: relative;
	overflow: hidden;
	min-height: 26px;
  	margin-bottom: 20px;
}

.posts__list li .post__image a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 54%;
}

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

.posts__list li .post__image a:hover span {
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);

}

.posts__list li .post__image span.noimage {
	overflow: hidden;
	line-height: 0;
	text-indent: 100%;
}

.posts__list h3 {
	margin-bottom: 35px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0;
}

.posts__list h3 a:hover {
	color: #FFAEA2;
}

.posts__list .post__excerpt {
	margin-bottom: 16px;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0;
	color: #72706E;
}


@media screen and (max-width: 1000px) {

	.posts__list li {
		width: 48%;
		margin-left: 4%;
	}

	.posts__list li:nth-child(2n+1) {
		margin-left: 0;
	}

}


@media screen and (max-width: 767px) {

	#posts {
		float: none;
		width: 100%;
	}

	.posts__list li {
		margin-bottom: 50px;
	}

}


@media screen and (max-width: 480px) {

	.posts__list li {
		float: none;
		width: 100%;
		margin-left: 0;
	}

	#blogDetail .post__header h2 {
		font-size: 22px;
		line-height: 1.4;
	}

	#blogDetail .post__content h3 {
		padding: 26px 5px 26px 20px;
		margin: 35px 0 30px;
		font-size: 20px;
		line-height: 1.4;
	}

	#blogDetail .post__content h4 {
		font-size: 19px;
	}

}


/*--------------------------------------
	blog detail
--------------------------------------*/

#blogDetail .post {
	padding-bottom: 35px;
	font-size: 14px;
	line-height: 1.7;
	color: #0F0E0E;
}

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

#blogDetail .post__header h1 {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

#blogDetail .post__header .post__meta {
	margin-bottom: 45px;
}

#blogDetail .post__header .post__meta .post__date {
	margin-top: 22px;
}


@media screen and (max-width: 767px) {

	#blogDetail .post__header .post__category,
	#blogDetail .post__header .post__meta .post__date {
		float: none;
	}

}


/*--------------------------------------
	post date
--------------------------------------*/

.post .post__date,
.posts__list .post__date {
	font-size: 10px;
	letter-spacing: 0;
	color: #94C789;
}

.post .post__date span,
.posts__list .post__date span {
	margin-left: 10px;
}

.post .post__date span::before,
.posts__list .post__date span::before {
	margin-right: 5px;
	font-size: 9px;
}

.post .post__date span a,
.posts__list .post__date span a {
	vertical-align: baseline;
	color: #94C789;
}

.post .post__date span a:hover,
.posts__list .post__date span a:hover {
	text-decoration: underline;
}

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

.post__content a {
	color: #0000ee;
	text-decoration: underline;
}

.post__content h2 {
	font-size: 1.5em;
}

.post__content h3 {
    font-size: 1.4em;
}

.post__content h4 {
    font-size: 1.3em;
}

.post__content h5 {
    font-size: 1.2em;
}

div#blogDetail .post__content img {
	width: auto;
	height: auto;
	max-width: 100%;
}


/*--------------------------------------
	bloginfo box
--------------------------------------*/

.blog-info-box {
	display: table;
	width: 100%;
	margin-top: 60px;
	background: #EBE9E7;
}

.blog-info-box .blog-info-box__name {
	display: table-cell;
	width: 50%;
	padding: 29px 30px;
	border-right: 1px solid #BFBEBD;
	vertical-align: middle;
}

.blog-info-box .blog-info-box__name .icon-blog {
	position: relative;
	display: block;
	padding-left: 25px;
	font-size: 16px;
	line-height: 1.6;
	color: #373431;
}

.blog-info-box .blog-info-box__name .icon-blog::before {
	position: absolute;
	left: 0;
	top: 50%;	
	display: block;
	margin-top: -8px;
	font-size: 15px;
	color: #94C789;
}

.blog-info-box .blog-info-box__share {
	display: table-cell;
	width: 50%;
	padding: 30px 10px;
	vertical-align: middle;
	text-align: center;
}

.blog-info-box .blog-info-box__share li {
	display: inline-block;
	margin: 0 5px;
	vertical-align: middle;
}

.blog-info-box .blog-info-box__share li a {
	display: block;
	overflow: hidden;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	font-size: 0;
	line-height: 1;
}

.blog-info-box .blog-info-box__share li a::before {
	color: #fff;
}

.blog-info-box .blog-info-box__share .icon-facebook {
	background: #4967A3;
}

.blog-info-box .blog-info-box__share .icon-facebook:hover {
	background: #587cc1;
}

.blog-info-box .blog-info-box__share .icon-facebook::before {
	margin-top: 12px;
	font-size: 26px;
}

.blog-info-box .blog-info-box__share .icon-line {
	background: #18BC01;
}

.blog-info-box .blog-info-box__share .icon-line:hover {
	background: #1cde00;
}

.blog-info-box .blog-info-box__share .icon-line::before {
	font-size: 29px;
	margin-top: 11px;
}

.blog-info-box .blog-info-box__share .icon-twitter {
	background: #11BBEF;
}

.blog-info-box .blog-info-box__share .icon-twitter:hover {
	background: #13C7FE;
}

.blog-info-box .blog-info-box__share .icon-twitter::before {
	margin-top: 14px;
	font-size: 24px;
}

.blog-info-box .blog-info-box__share .icon-google {
	background: #E05C4F;
}

.blog-info-box .blog-info-box__share .icon-google:hover {
	background: #fb7468;
}

.blog-info-box .blog-info-box__share .icon-google::before {
	margin-top: 15px;
	font-size: 20px;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {

	.blog-info-box .blog-info-box__share li {
		margin: 0 3px;
	}

	.blog-info-box .blog-info-box__share li a {
		width: 40px;
		height: 40px;
	}

	.blog-info-box .blog-info-box__share .icon-facebook::before {
		margin-top: 9px;
		font-size: 22px;
	}

	.blog-info-box .blog-info-box__share .icon-line::before {
		margin-top: 8px;		
		font-size: 25px;
	}

	.blog-info-box .blog-info-box__share .icon-twitter::before {
		margin-top: 11px;		
		font-size: 20px;
	}

	.blog-info-box .blog-info-box__share .icon-google::before {
		margin-top: 12px;
		font-size: 16px;
	}

}

@media screen and (max-width: 767px) {
	
	.blog-info-box {
		display: block;
	}

	.blog-info-box .blog-info-box__name {
		display: block;
		width: 100%;
		padding: 20px;
		border-right: none;
		border-bottom: 1px solid #BFBEBD;
		text-align: center;
	}

	.blog-info-box .blog-info-box__name .icon-blog {
		display: inline-block;
		text-align: left;
	}

	.blog-info-box .blog-info-box__share {
		display: block;
		width: 100%;
		padding: 20px 10px;
	}

}


/*--------------------------------------
	navigation
--------------------------------------*/

.navigation {
	margin-top: 52px;
	overflow: hidden;
}

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

.navigation .prev {
	float: left;
	width: 100px;
}

.navigation .next {
	float: right;
	width: 100px;
}

.navigation a {
	position: relative;
	display: block;
	width: 100%;
	height: 40px;
	border-radius: 5px;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 40px;
	letter-spacing: 0.1em;
	color: #373431;
	background: #BFBEBD;
}

.navigation a:hover {
	background: #94C789;
}

.navigation .prev a span {
	padding-left: 8px;
}

.navigation .next a span {
	padding-right: 8px;
}

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

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

.navigation ul {
	display: -webkit-flex;
	display: flex;
	max-width: 200px;
	margin: 0 auto;
}

.navigation li {
	display: -webkit-flex;
	display: flex;
	margin: 0 1px 0 2px;
	width: 30px;
}


@media screen and (max-width: 767px) {

	.navigation {
		margin-top: 35px;
	}

	.navigation ul {
		padding-top: 20px;
		clear: both;
	}
	
}


/*--------------------------------------
	pagination
--------------------------------------*/

.pagination {
	position: relative;
	padding-top: 52px;
	border-top: 1px solid #72706E;
	overflow: hidden;
}

.pagination ul {
	text-align: center;
}

.pagination ul li {
	display: inline-block;
	width: 30px;
	font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004";
}

.pagination ul li a, .pagination ul li span.dots {
	position: relative;
	display: block;
 	width: 100%;
	height: 40px;
	border-radius: 5px;
	text-align: center;
	font-size: 16px;
	line-height: 40px;
	letter-spacing: 0;
	font-weight: 400;
	color: #373431;
 	background: #BFBEBD;
}

.pagination ul li span.dots {
	background: none;
}

.pagination ul li a:hover {
	background: #94c789;
}

.pagination ul li span.current {
	position: relative;
	display: block;
	width: 100%;
	height: 40px;
	border-radius: 5px;
	text-align: center;
	font-size: 16px;
	line-height: 40px;
	letter-spacing: 0;
	font-weight: 400;
	color: #373431;
	background: #94c789;
}

.pagination ul li .prev {
	position: absolute;
	left: 0;
	top: 52px;
	display: block;
	width: 100px;
	padding-left: 8px;
}

.pagination ul li .next {
	position: absolute;
	right: 0;
	top: 52px;
	display: block;
	width: 100px;
	padding-right: 8px;
	font-weight: bold;
}

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

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



/*-----------------------------------------------------------
■ 2 Side
-----------------------------------------------------------*/

/*--------------------------------------
	general
--------------------------------------*/

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

.blogside h2.widgettitle {
	display: none;
}

.blogside h2 {
	padding-bottom: 9px;
	margin-bottom: 24px;
	border-bottom: 2px solid #373431;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #373431;
}

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


@media screen and (max-width: 1000px) and (min-width: 768px) {

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

	.blogside h2 {
		font-size: 14px;
		letter-spacing: 0;
	}

	.blogside h2 span {
		font-size: 12px;
	}

}


@media screen and (max-width: 767px) {

	.blogside {
		float: none;
		width: 100%;
		padding: 46px 0 0;
		border-top: 1px solid #5D5555;
		margin-top: 35px;
	}

}


/*--------------------------------------
	search box
--------------------------------------*/

.blogside .search-box {
	margin-bottom: 40px;
}

.blogside .search-box label {
	display: none;
}

.blogside .search-box #searchform {
	position: relative;
}

.blogside .search-box #s {
	height: 55px;
	width: 100%;
	padding: 0 40px 0 14px;
	border: none;
	font-size: 13px;
	color: #72706E;
	background: #EBE9E7;
}

.blogside .search-box .icon-search::before {
	position: absolute;
	right: 16px;
	top: 50%;
	margin-top: -8px;
	color: #94C789;
}

.blogside .search-box #searchsubmit {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 15px;
	height: 15px;
	border: none;
	margin-top: -8px;
	font-size: 0;
	background: none;
	cursor: pointer;
}


/*--------------------------------------
	category box
--------------------------------------*/

.blogside .category-box {
	margin-bottom: 50px;
}

.blogside .category-box ul li {
	padding-bottom: 16px;
	border-bottom: 1px solid #b8c2c1;
	margin-bottom: 18px;
	text-transform: uppercase;
	color: #000;
}

.blogside .category-box ul li:last-child {
	margin-bottom: 0;
}

.blogside .category-box ul li a {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #373431;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.blogside .category-box ul li a span {
	display: block;
	font-size: 14px;
	letter-spacing: 0;
	line-height: 1;
	color: #373431;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.blogside .category-box ul li a:hover,
.blogside .category-box ul li a:hover span {
	color: #94C789;
}


/*--------------------------------------
	recent box
--------------------------------------*/

.recent-box {
	margin-bottom: 50px;
}

.recent-box li {
	padding-bottom: 13px;
	border-bottom: 1px solid #BFBEBD;
	margin-bottom: 22px;
	font-size: 13px;
	line-height: 1.3;
}

.recent-box li:last-child {
	margin-bottom: 0;
}

.recent-box li .recent-box__thumbnail {
	position: relative;
	float: right;
	width: 48px;
	height: 48px;
	margin-left: 12px;
	overflow: hidden;
}

.recent-box li .recent-box__thumbnail a {
	display: block;
	width: 48px;
	height: 48px;
	line-height: 1;
}

.recent-box li .recent-box__thumbnail a span {
	display: block;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
}

.recent-box li .recent-box__thumbnail a:hover {
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.recent-box li h3 a {
	color: #373431;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.recent-box li h3 a:hover {
	color: #94C789;
}

.recent-box__date {
	margin-top: 5px;
	font-size: 10px;
	color: #72706E;
}

.recent-box li .recent-box__date {
	margin-top: 15px;
}


/*--------------------------------------
	tag box
--------------------------------------*/

.blogside .tag-box {
	margin-bottom: 40px;
}

.blogside .tag-box h2 {
	margin-bottom: 12px;
}

.blogside .tag-box .tagcloud a {
	display: inline-block;
	padding: 7px 10px;
	border: 1px solid #72706E;
	margin-bottom: 9px;
	border-radius: 3px;
	font-size: 14px !important;
	letter-spacing: 0;
	line-height: 1;
	color: #373431;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.blogside .tag-box .tagcloud a:hover {
	color: #fff;
	background: #72706E;
}


/*--------------------------------------
	archive box
--------------------------------------*/

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

.archive-box > ul > li {
	margin-top: 20px;
}

.archive-box > ul > li:first-child {
	margin: 0;
}

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

.archive-box ul li p:visited {
	color: #373431;
}

.archive-box ul li p:hover {
	font-weight: bold;
	color: #94C789;
}

.archive-box ul li p.acv_open {
	font-weight: bold;
	color: #94C789;
}

.archive-box ul li p::before {
	content: '';
	position: absolute;
	top: 4px;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	border-right: 1px solid #94C789;
	border-bottom: 1px solid #94C789;
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

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

.archive-box ul li a {
	color: #373431;
}

.archive-box ul li a:link {
	text-decoration: underline;
}

.archive-box ul li a:visited {
	color: #373431;
}

.archive-box ul li a:hover {
	color: #94C789;
	font-weight: bold;
}

.archive-box ul li a:active {
	color: #94C789;
}

.archive-box ul li ul {
	margin-left: 44px;
}

.archive-box ul li li {
	margin-top: 10px;
}

.archive-box ul li ul.hide {
	display: none;
}


/*-----------------------------------------------------------
 ■ 4 Special under pages
-----------------------------------------------------------*/

/*--------------------------------------
	sitemap
--------------------------------------*/

.sitemap > ul {
	margin: 0 auto;
	background: none;
}

.sitemap > ul > li {
	position: relative;
	border-bottom: 1px dashed #ccc;
	margin: 0;
	line-height: 1.4;
}

.sitemap > ul > li:first-child {
	border-top: 1px dashed #ccc;
}

.sitemap > ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 25px;
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #94C789;
}

.sitemap > ul > li a {
	position: relative;
	display: block;
	padding: 19px 40px 15px 20px;
	background: none;
}

.sitemap > ul > li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	margin-top: -5px;
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sitemap > ul > li a:hover {
	color: #94C789;
}


/*-----------------------------------------------------------
 ■ 5 Contact
-----------------------------------------------------------*/

.wrap_contact {
	max-width: 800px;
	margin: 0 auto;
}

.inquiryForm_message {
	text-align: center;
}

/* step list */
.step_list {
	width: 467px;
	margin: 0 auto 90px;
}

.step_list li {
	position: relative;
	float: left;
	width: 100px;
	margin-left: 83px;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color: #BFBEBD;
}

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

.step_list li span {
	position: relative;
	display: block;
	width: 54px;
	height: 54px;
	margin: 0 auto 12px;
	border-radius: 50%;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 58px;
	color: #fff;
	background: #BFBEBD;
}

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

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

.step_list li.current {
	color: #373431;
}

.step_list li.current span {
	background: #94C789;
}

.step_list li span.current:after {
	background: #94C789;
}

.inquiryForm_message .step_catch {
	margin-bottom: 44px;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.05em;
	color: #373431;
}

.inquiryFormTable {
	padding-top: 22px;
	border-top: 1px solid #707070;
	font-size: 16px;
}

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

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

.inquiryFormTable dt {
	position: relative;
	width: 29%;
	padding-top: 31px;
	border-right: none;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #2C2F30;
}

.inquiryFormTable dd {
	position: relative;
}

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

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

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

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

.inquiryFormTable input,
.inquiryFormTable textarea,
.inquiryFormTable select {
	display: block;
	width: 100%;
	padding: 13px 14px 14px;
	border: 1px solid #BFBEBD;
	border-radius: 5px;
	color: #333;
	background: #EBE9E7;
}

.inquiryFormTable textarea { 
	resize: vertical; 
}

.inquiryFormTable select {
	position: relative;
	background: #ECECEC url(/wp-content/themes/genova_tpl/img/icons/ico_select.svg) no-repeat 96% center;
	background-size: 12px 10px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

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

.inquiryFormTable input:focus,
.inquiryFormTable textarea:focus,
.inquiryFormTable select:focus {
	box-shadow: 0 0 3px 1px #80cbc4;
}

/* checkbox and radio*/
.inquiryFormTable input[type="checkbox"],
.inquiryFormTable input[type="radio"] {
    -moz-opacity: 0;
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
}

.inquiryFormTable input[type="radio"] + span::before,
.inquiryFormTable input[type="checkbox"] + span::before {
	display: inline-block;
	margin-bottom: 2px;
	margin-right: 10px;
	font-family: 'icomoon';
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	speak: none;
	vertical-align: middle;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.inquiryFormTable input[type="checkbox"] + span::before {
	content: "\ea53";
	border-radius: 2px;
}

.inquiryFormTable input[type="checkbox"]:checked + span::before {
	content: "\ea52";
	color: #354fa8;
}

.inquiryFormTable input[type="checkbox"]:focus + span::before{
	box-shadow: 0px 0px 2px 2px #80cbc4;
}

.inquiryFormTable input[type="radio"] + span::before {
	content: "\ea56";
	border-radius: 50%;
}

.inquiryFormTable input[type="radio"]:checked + span::before {
	content: "\ea54";
	color: #354fa8;
}

.inquiryFormTable input[type="radio"]:focus + span::before{
	box-shadow: 0px 0px 2px 2px #80cbc4;
}

/* checkbox and radio confimation screen */
.confirm_table input[type="checkbox"]:not(:checked) + span,
.confirm_table input[type="radio"]:not(:checked) + span{
	display: none;
}

.inquiryFormTable .wpcf7-checkbox > span:first-child,
.inquiryFormTable .wpcf7-radio > span {
	padding-top: 10px;
}

.inquiryFormTable .wpcf7-radio {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.inquiryFormTable .wpcf7-radio > .wpcf7-list-item {
	width: auto;
	margin-right: 20px;
}

.inquiryFormTable .wpcf7-radio > .wpcf7-list-item:last-child {
	margin-right: 0;
}

.failed .verified_table.inquiryFormTable input.wpcf7-validates-as-required,
.invalid .verified_table.inquiryFormTable input.wpcf7-validates-as-required {
	border: 1px solid #94C789;
	background: #fff;
	box-shadow: 0 0 5px rgba(111, 186, 44, 0.5);
}

.inquiryFormTable input.wpcf7-not-valid {
	border: 1px solid #D93636 !important;
	background: #FDD2D2 !important;
}

.inquiryFormTable .comment {
	display: block;
	margin-top: 0.4em;
	font-size: 13px;
	letter-spacing: 0;
	color: #63696A;
}

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

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

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

.inquiryFormTable .btBox input[type="submit"] {
	display: block;
	width: 100%;
	padding: 29px 32px 28px 30px;
	border: none;
	margin: 0 auto;
	border-radius: 0 !important;
	font-size: 26px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #fff;
	background: #354FA8 url(/wp-content/themes/genova_tpl/img/icons/ico_arrow02.png) no-repeat 95% center !important;
	background-size: 6px 10px;
	cursor: pointer;
	outline: 0px;
	-webkit-appearance: none;
}

.inquiryFormTable .btBox input[type="submit"].disabled {
	padding: 29px 40px 28px 40px;
	opacity: 1 !important;
	color: #BFBEBD;
	background: #72706E url(/wp-content/themes/genova_tpl/img/icons/ico_arrow01.png) no-repeat 96% center !important;
	background-size: 6px 10px;
	pointer-events: none;
	cursor: default;
}

.inquiryFormTable .btBox input[type="submit"].abled {
	padding: 29px 40px 28px 40px;
	background-position: 96% center !important;
}

.inquiryFormTable .wpcf7-back {
	float: left;
	width: 37.5% !important;
	padding: 29px 30px 28px;
	border: none;
	margin: 0 auto;
	border-radius: 0 !important;
	outline: 0px;
	text-align: left;
	font-size: 26px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #fff;
	background: #72706E url(/wp-content/themes/genova_tpl/img/icons/ico_arrow02.png) no-repeat 92% center !important;
	background-size: 6px 10px;
	cursor: pointer;
	-webkit-appearance: none;
}

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

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

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

.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 {
	vertical-align: top;	
	font-size: 25px;
	color: #94C789;
}

.inquiryFormTable .wpcf7-not-valid-tip {
	color: #DE5050;
	font-weight: normal;
	display: block;
	font-size: 12px;
}

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

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

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

.failed .confirm_table input[type="text"],
.failed .confirm_table input[type="tel"],
.failed .confirm_table input[type="email"],
.failed .confirm_table input[type="date"],
.failed .confirm_table textarea,
.failed .confirm_table select,
.failed .confirm_table input[type="checkbox"] {
	display: none;
}

.failed .confirm_table .required,
.failed .confirm_table .optional {
	display: none;
}

.failed .confirm_table .wpcf7-list-item-label {
	display: none;
}

.failed .confirm_table span.comment {
	display: none;
}

.failed .confirm_table .wpcf7-form-control-wrap.your-email_confirm {
	display: none;
}

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

.failed .confirm_table .wpcf7-list-item {
	padding-left: 0;
}

.failed .confirm_table dt,
.failed .confirm_table dd {
	padding: 12px 0 10px;
}

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


@media screen and (max-width: 1060px) {

	.inquiryFormTable dt {
		width: 35%;
	}

}


@media screen and (max-width: 767px) {

	.step_list {
		width: 400px;
		margin: 0 auto 60px;
	}

	.step_list li {
		margin-left: 50px;
	}

	.inquiryFormTable dl {
		display: block;
	}

	.inquiryFormTable dt,
	.inquiryFormTable dd {
		display: block;
		width: 100%;
		padding: 0;
	}

	.inquiryFormTable dd {
		padding: 10px 0 30px;
	}

	.inquiryFormTable .required,
	.inquiryFormTable .optional {
		position: static;
		display: inline-block;
		margin-left: 20px;
		margin-top: -2px;
		vertical-align: middle;
	}

	.inquiryFormTable .btBox {
		margin: 50px 0;
	}

	.inquiryFormTable .btBox input[type="submit"],
	.inquiryFormTable .wpcf7-back {
		text-align: center;
		float: none;
		width: 100% !important;
		padding: 29px 20px 28px 20px;
		font-size: 20px;
		background-position: 96% center !important;
	}

	.inquiryFormTable .btBox input[type="submit"].disabled,
	.inquiryFormTable .btBox input[type="submit"].abled {
		padding: 29px 20px 28px 20px;
	}

	.inquiryFormTable .wpcf7-back {
		margin-bottom: 15px;
	}

	.file_btn {
		margin-top: 0;
	}

	.failed .confirm_table dt,
	.failed .confirm_table dd {
		padding: 5px 0;
	}

}


@media screen and (max-width: 480px) {

	.step_list {
		width: 270px;
	}

	.step_list li {
		width: 70px;
		margin-left: 30px;
		font-size: 16px;
	}

	.step_list li span:after {
		width: 60px;
	}

	.inquiryForm_message .step_catch {
		font-size: 12px;
		letter-spacing: 0;
	}

	.inquiryFormTable .btBox input[type="submit"],
	.inquiryFormTable .wpcf7-back {
		font-size: 16px;
		letter-spacing: 0.1em;
	}

}