/* ==== cssreset-min.css ==== */
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/

html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h2,p,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}img{border:0}address,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}th{text-align:left}h2{font-size:100%;font-weight:normal}

/* ==== content.css ==== */
@charset "utf-8";

/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
Author: the Takahiro Sahashi
Author URI: http://pmen.net/
Description: genova template.
Version: 1.0
*/

/* =====================================
BASE
===================================== */
html {
  font-size: 100% !important;
}

body {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serifsans-serif !important;
  font-size: 15px !important;
  color: #736f6f !important;
  letter-spacing: 0.15em !important;
  line-height: 2 !important;
  -webkit-text-size-adjust: 100% !important;
}

a {
  text-decoration: none;
  color: #e5005a;
}

a:hover {
  opacity: 0.7;
}

/*--------------------------------------
Pc sp change
--------------------------------------*/
.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}

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

/*--------------------------------------
2-1. header common
--------------------------------------*/
/* 140EX HEADER */

/* #header .header_menu .g_nav > li:nth-child(2) > span, #header .header_menu .g_nav > li:nth-child(2) > a {
	padding: 0 22px;
}
#header .header_menu .g_nav > li:nth-child(3) > span, #header .header_menu .g_nav > li:nth-child(3) > a {
	padding: 0 55px;
}
#header .header_menu .g_nav > li:nth-child(4) > span, #header .header_menu .g_nav > li:nth-child(4) > a {
	padding: 0 8px;
}
#header .header_menu .g_nav > li:last-child > a, #header .header_menu .g_nav > li:last-child > span {
	padding: 0 62px;
	letter-spacing: 5px;
} */


/* -------------------------------------
top_mainimage
------------------------------------- */

#mainimage {
  line-height: 0;
  z-index: 99;
}

/* -------------------------------------
gnv_tmp_width_1000
------------------------------------- */

/* -------------------------------------
h2_title
------------------------------------- */

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

/* -------------------------------------
times
------------------------------------- */

/* -------------------------------------
MAP
------------------------------------- */

/* -------------------------------------
news_h2.titleBg
------------------------------------- */


/* -------------------------------------
time_hours_box
------------------------------------- */

/* -------------------------------------
feature_box
------------------------------------- */

/* -------------------------------------
menu_box
------------------------------------- */

/* =====================================
■.greeting_box 
===================================== */

/* =====================================
■recruit_box
===================================== */

/* =====================================
■web_box
===================================== */

/* =====================================
■loopslider
===================================== */

/* =====================================
■map_list_box
===================================== */

/* =====================================
■sidebar
===================================== */
#sidebar {
  float: none !important;
  /* width: 400px !important; */
  position: fixed;
  right: 0;
  bottom: 200px;
  z-index: 100;
  line-height: 13px;
  /* background: none; */
}

#sidebar ul li:first-child {
  border-left: none;
}

#sidebar ul li:last-child {
  width: 75px;
}

#sidebar ul li {
  width: 75px;
  /*float: left;
	border-left: 1px solid #fff;*/
  box-sizing: border-box;
  margin-bottom: 2px;
}

#sidebar ul li img {
  width: 100%;
}

/*
#sidebar ul li:last-child img {
    border-radius: 0 5px 0 0;
}
#sidebar ul li:first-child img {
    border-radius: 5px 0 0 0;
}
*/

/* =====================================
■footer
===================================== */


/* -------------------------------------
UNDER
------------------------------------- */
.under .elementor-section.elementor-section-boxed>.elementor-container {
  max-width: 1040px;
  padding: 0 20px;
  box-sizing: border-box;
}

@media screen and (max-width:767px) {
  .under .elementor-section.elementor-section-boxed>.elementor-container {
    max-width: inherit;
    padding: 0 15px;
    box-sizing: border-box;
  }
}

/* -------------------------------------
under_title
------------------------------------- */
/* -------------------------------------
under_h2
------------------------------------- */

/* -------------------------------------
under_h3
------------------------------------- */

/* -------------------------------------
under_h4
------------------------------------- */

/* -------------------------------------
under_h5
------------------------------------- */

#content {
  max-width: 1040px;
  padding: 34px 20px 60px;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  min-height: 870px;
}

.under #content {
  max-width: inherit;
  padding: 40px 0 60px;
}

.under #content p {
  margin-bottom: 20px;
}

.under #content p:last-child {
  margin-bottom: 0 !important;
}

.context img {
  display: block;
  float: left;
  width: auto;
  margin: 0 20px 0 0;
}

@media screen and (max-width: 767px) {
  .context img {
    float: none;
    width: auto;
    margin: 0 auto 20px;
  }
}

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

  #content {
    padding: 35px 20px;
  }
}

/* -------------------------------------
under_img
------------------------------------- */

/* -------------------------------------
under_common
------------------------------------- */

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

#base:not(.recruitPage) .elementor-row,
#base:not(.recruitPage) .elementor-column.elementor-col-50 {
  display: block !important;
}

#base:not(.recruitPage) .elementor-column.elementor-col-50 {
  width: 100% !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

/*--------------------------------------
UNDER  Q&A
--------------------------------------*/
/* 既存 */


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


/* =====================================
■新着情報
===================================== */


/*--------------------------------------
新着情報一覧
--------------------------------------*/


/*--------------------------------------
詳細記事
--------------------------------------*/


/* =====================================
■navigation
===================================== */
/* navigation */

/* pagination */



/* =====================================
■notfound
===================================== */

/* =====================================
■sitemap
===================================== */

/* =====================================
■inquiryForm
===================================== */
/* #inquiryForm {
max-width: 1040px;
width: 100%;
margin: 0 auto;
padding: 20px;
box-sizing: border-box;
}
.inquiryFormTable {
min-height: 870px;
} */

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

  /* #inquiryForm {
	padding: 15px;
} */
}



/* =====================================
■20230607 追加
===================================== */

/* ==== content_recruit.css ==== */
@charset "utf-8";
body {
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 16px !important;
	color: #4A4D54 !important;
	letter-spacing: 0.02em !important;
	background: #F3F5F4;
}
img {
	width: auto;
	max-width: 100%;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
}
p:not(:last-child) {
	margin-bottom: 32px;
}
strong {
	font-weight: bold;
}
/* =====================================
layout
===================================== */
.elementor-section.elementor-section-boxed > .elementor-container {
	padding: 0 20px !important;
	max-width: 1120px !important;
}
.containerBox {
	width: 100%;
	max-width: 1120px;
	padding: 0 20px;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.containerBox:after {
	content: "";
	display: block;
	clear: both;
}

/* =====================================
mainimage
===================================== */
#mainimage {
	position: relative;
}
#mainimage .mainCatch {
	position: absolute;
	right: 6%;
	bottom: -14%;
	width: 35%;
	z-index: 10;
}
@media screen and (max-width: 767px) {
	#mainimage .mainCatch {
		bottom: -12%;
		width: 62%;
	}
}
/* =====================================
bnrSec
===================================== */
.bnrSec {
	background: #3E896A;
	padding: 7% 0;
}
@media screen and (min-width: 768px) {
	.bnrSec ul li {
		float: left;
		width: 24.7%;
		margin-left: 0.4%;
		margin-top: 0.5%;
	}
	.bnrSec ul li:nth-child(4n+1) {
		margin-left: 0;
	}
	.bnrSec ul li:nth-child(-n+4) {
		margin-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.bnrSec {
		padding: 16% 0 45px;
	}
	.bnrSec ul {
		max-width: 660px;
		margin: 0 auto;
	}
	.bnrSec ul li {
		float: left;
		width: 49%;
		margin-left: 2%;
		margin-top: 2%;
	}
	.bnrSec ul li:nth-child(2n+1) {
		margin-left: 0;
	}
	.bnrSec ul li:nth-child(-n+2) {
		margin-top: 0;
	}
}
/* =====================================
タイトル
===================================== */
.titleWrap {
	text-align: center;
}
.titleWrap h2 {
	display: inline-block;
	padding: 0 70px !important;
	position: relative;
}
.titleWrap h2:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 3px;
	height: 75px;
	background: #7EC131;
	transform: rotate(-30deg);
}
.titleWrap h2:after {
	position: absolute;
	content: "";
	right: 0;
	top: 0;
	width: 3px;
	height: 75px;
	background: #7EC131;
	transform: rotate(30deg);
}
.titleWrap span {
	display: block;
}
.titleWrap span.mainTxt {
	color: #3E896A;
	font-family: "montserrat", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
	font-size: 59px;
}
.titleWrap span.subTxt {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-top: 24px;
}
@media screen and (max-width: 767px) {
	.titleWrap h2 {
		padding: 0 35px !important;
	}
	.titleWrap span.mainTxt {
		font-size: 34px;
	}
	.titleWrap span.subTxt {
		font-size: 15px;
		margin-top: 10px;
	}
	.titleWrap h2:before,
	.titleWrap h2:after {
		height: 50px;
	}
}
@media screen and (max-width: 767px) {
	.titleWrap h2 {
		padding: 0 20px !important;
	}
}
/* =====================================
院長からのご挨拶
===================================== */
.messageSec {
	background: #F3F5F4;
	padding: 94px 0 50px;
	position: relative;
}
.messageSec:before {
	position: absolute;
	right: 0;
	top: 0;
	content: "";
	width: 35%;
	height: 17%;
	min-height: 185px;
	background: url(../images/bg_circle.png) repeat;
}
.messageSec .titleWrap {
	background: url(../images/title_icon01.png) no-repeat center top;
	background-size: 48px;
	padding-top: 65px;
	margin-bottom: 30px !important;
}
.messageSec .leadTxt {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 31px;
	letter-spacing: 0.044em;
	display: inline-block;
	line-height: 1.9;
	margin-bottom: 36px !important;
}
.borderTxt {
	display: inline-block;
	padding-bottom: 8px;
	border-bottom: 2px solid #3E896A;
	line-height: 1.2;
}
@media screen and (min-width:768px) and (max-width:1000px){
	.messageSec .leadTxt {
		font-size: 25px;
	}
}
@media screen and (max-width: 767px) {
	.messageSec {
		padding: 45px 0 0;
	}
	.messageSec:before {
		width: 50%;
		height: 150px;
		min-height: 150px;
	}
	.messageSec .leadTxt {
		font-size: 22px;
		margin-bottom: 25px !important;
	}
	.messageSec img {
		max-width: 240px !important;
	}
}
/* =====================================
動画
===================================== */
.movieSec {
	background: #F3F5F4;
	position: relative;
	padding: 90px 0 100px;
}
.movieSec:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 38%;
	height: 35%;
	background: url(../images/bg_circle.png) repeat;
}
.movieSec:after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 65%;
	background: #217B5F;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #217B5F), color-stop(1.00, #3E896A));
	background: -webkit-linear-gradient(top, #217B5F 0%, #3E896A 100%);
	background: -moz-linear-gradient(top, #217B5F 0%, #3E896A 100%);
	background: -o-linear-gradient(top, #217B5F 0%, #3E896A 100%);
	background: -ms-linear-gradient( top, #217B5F 0%, #3E896A 100%);
	background: -linear-gradient(top, #217B5F 0%, #3E896A 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#217B5F', endColorstr='#3E896A',GradientType=0 );
}
.movieWrap {
	max-width: 765px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.movieWrap a {
	cursor: pointer;
	display: block;
	width: 100%;
}
.movieWrap a:hover {
	opacity: 1;
}
@media screen and (max-width: 767px) {
	.movieSec {
		padding: 45px 0;
	}
}
/* =====================================
STAFF VOICE 
===================================== */
.staffSec {
	padding: 90px 0 147px;
}
.staffSec:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	width: 39%;
	height: 19%;
	background: url(../images/bg_circle.png) repeat;
}
.staffSec:after {
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	width: 38%;
	height: 30%;
	background: url(../images/bg_circle.png) repeat;
}
.staffSec .titleWrap {
	background: url(../images/title_icon02.png) no-repeat center top;
	background-size: 27px 40px;
	padding-top: 65px;
	margin-bottom: 40px !important;
}
.staffSec .inner {
	overflow: hidden;
}
.staffSec .interviewBox {
	background: #fff;
	padding: 35px 8% 75px;
	display: flex;
	position: relative;
	z-index: 10;
}
.staffSec .interviewBox .picBox {
	width: 30%;
	text-align: center;
}
.staffSec .interviewBox .detailBox {
	width: 70%;
	padding-left: 35px;
	box-sizing: border-box;
}
.staffSec .interviewBox .pic {
	margin-bottom: 27px;
}
.staffSec .interviewBox .date {
	font-size: 16px;
	line-height: 1.1;
	color: #3E896A;
	font-weight: bold;
	margin-bottom: 5px;
}
.staffSec .interviewBox .name {
	color: #4A4D54;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 26px;
	letter-spacing: 0.08em;
	line-height: 1.2;
}
.staffSec .interviewBox .detailBox .lead {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	letter-spacing: 0.08em;
	line-height: 1.6;
	margin-bottom: 19px;
	margin-top: 15%;
}
@media screen and (min-width:768px) and (max-width:1000px){
	.staffSec .interviewBox .name {
		font-size: 21px;
	}
}
@media screen and (max-width: 767px) {
	.staffSec {
		padding: 45px 0;
	}
	.staffSec:before {
		width: 50%;
		height: 130px;
	}
	.staffSec:after {
		height: 224px;
	}
	.staffSec .interviewBox {
		padding: 0 20px 40px;
		display: block;
		background: none;
		height: 100%;
		box-sizing: border-box;
	}
	.staffSec .interviewBox:before {
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: calc(100% - 125px);
		background: #fff;
		z-index: -5;
	}
	.staffSec .interviewBox .picBox,
	.staffSec .interviewBox .detailBox {
		width: 100%;
		padding: 0;
	}
	.staffSec .interviewBox .pic {
		margin-bottom: 10px;
	}
	.staffSec .interviewBox .pic img {
		margin: 0 auto;
		max-width: 175px;
	}
	.staffSec .interviewBox .date {
		font-size: 13px;
	}
	.staffSec .interviewBox .name {
		font-size: 21px;
	}
	.staffSec .interviewBox .detailBox .lead {
		text-align: center;
		font-size: 18px;
		letter-spacing: 0.04em;
		line-height: 1.5;
		margin-top: 20px;
	}
}
/* =====================================
points
===================================== */
.pointSec {
	background: url(../images/bgPoint.png) no-repeat center;
	background-size: cover;
	padding: 98px 0 136px;
	overflow: hidden;
}
.pointSec .titleWrap {
	background: url(../images/title_icon03.png) no-repeat center top;
	background-size: 62px 45px;
	padding-top: 56px;
	margin-bottom: 40px !important;
}
.pointSec .titleWrap:before {
	position: absolute;
	bottom: -40px;
	left: 45px;
	content: "";
	width: 279px;
	height: 213px;
	background: url(../images/pointTit_left.png) no-repeat;
	background-size: contain;
}
.pointSec .titleWrap:after {
	position: absolute;
	bottom: -40px;
	right: 45px;
	content: "";
	width: 283px;
	height: 224px;
	background: url(../images/pointTit_right.png);
	background-size: contain;
}
.pointSec .titleWrap span.mainTxt,
.pointSec .titleWrap span.subTxt {
	color: #fff;
}
@media screen and (min-width:1001px) and (max-width:1200px){
	.pointSec .titleWrap:before {
		left: -15px;
	}
	.pointSec .titleWrap:after {
		right: -15px;
	}
}
@media screen and (min-width:768px) and (max-width:1000px){
	.pointSec .titleWrap:before {
		left: -110px;
	}
	.pointSec .titleWrap:after {
		right: -115px;
	}
}
@media screen and (min-width: 768px) {
	.pointSec ul li {
		float: left;
		width: 48.6%;
		margin-left: 2.8%;
		margin-top: 2.8%;
	}
	.pointSec ul li:nth-child(2n+1) {
		margin-left: 0;
	}
	.pointSec ul li:nth-child(-n+2) {
		margin-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.pointSec {
		background: url(../images/bgPoint_sp.png) no-repeat center;
		background-size: cover;
		padding: 50px 0;
		text-align: center;
	}
	.pointSec .titleWrap {
		display: inline-block;
	}
	.pointSec .titleWrap:before {
		position: absolute;
		bottom: -30px;
		left: -62px;
		content: "";
		width: 78px;
		height: 79px;
		background: url(../images/pointTit_left_sp.png);
		background-size: contain;
	}
	.pointSec .titleWrap:after {
		position: absolute;
		bottom: -30px;
		right: -62px;
		content: "";
		width: 80px;
		height: 78px;
		background: url(../images/pointTit_right_sp.png);
		background-size: contain;
	}
}
@media screen and (max-width: 374px) {
	.pointSec .titleWrap:before {
		left: -42px;
	}
	.pointSec .titleWrap:after {
		right: -52px;
	}
}

/* =====================================
features
===================================== */
.featureSec {
	background: #fff;
	padding: 98px 0 130px;
	overflow: hidden;
}
.featureSec .titleWrap {
	background: url(../images/title_icon04.png) no-repeat center top;
	background-size: 35px 34px;
	padding-top: 63px;
	margin-bottom: 11% !important;
}
.featureSec .titleWrap:before {
	position: absolute;
	bottom: -10px;
	left: 20px;
	content: "";
	width: 262px;
	height: 186px;
	background: url(../images/featureTit_left.png) no-repeat;
	background-size: contain;
}
.featureSec .titleWrap:after {
	position: absolute;
	bottom: -10px;
	right: 15px;
	content: "";
	width: 265px;
	height: 186px;
	background: url(../images/featureTit_right.png) no-repeat;
	background-size: contain;
}
.featureSec li {
	position: relative;
	padding: 0 20px 60px;
	margin-top: 50px;
}
.featureSec li:first-child {
	margin-top: 0;
}
.featureSec li:before {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	width: 40%;
	height: 80%;
	background: url(../images/bg_circle.png) repeat;
	max-height: 385px;
}
.featureSec li:nth-child(2n):before {
	right: 0;
	left: inherit;
}
.featureSec li .inner {
	display: flex;
	/* 	align-items: center; */
	max-width: 1080px;
	margin: 0 auto;
}
.featureSec .picBox {
	width: 49%;
}
.featureSec .picBox .boxInner {
	position: relative;
}
.featureSec .picBox .boxInner .num {
	position: absolute;
	left: 0;
	bottom: -67px;
	z-index: 5;
	width: 33%;
	max-width: 167px;
}
.featureSec li:nth-child(2n) .picBox .num {
	right: 0;
	left: inherit;
}
.featureSec .txtBox {
	width: 51%;
	padding: 30px 0 0 6%;
	box-sizing: border-box;
}
.featureSec .title {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 26px;
	letter-spacing: 0.08em;
	line-height: 1.6;
	margin-bottom: 21px;
}
.featureSec .title .bgTxt {
	background: #F9F6D3;
}
@media screen and (min-width: 768px) {
	.featureSec li:nth-child(2n) .inner {
		flex-direction: row-reverse;
	}
	.featureSec li:nth-child(2n) .txtBox {
		padding: 30px 6% 0 0;
	}
}
@media screen and (min-width:1001px) and (max-width:1200px){
	.featureSec .titleWrap:before {
		left: -15px;
	}
	.featureSec .titleWrap:after {
		right: -15px;
	}
}
@media screen and (min-width:768px) and (max-width:1000px){
	.featureSec .title {
		font-size: 22px;
	}
	.featureSec .titleWrap:before {
		left: -130px;
	}
	.featureSec .titleWrap:after {
		right: -130px;
	}
}
@media screen and (max-width: 767px) {
	.featureSec {
		padding: 50px 0;
	}
	.featureSec .titleWrap {
		display: inline-block;
		margin-bottom: 50px !important;
	}
	.featureSec .titleWrap:before {
		position: absolute;
		bottom: -20px;
		left: -72px;
		content: "";
		width: 75px;
		height: 79px;
		background: url(../images/featureTit_left_sp.png);
		background-size: contain;
	}
	.featureSec .titleWrap:after {
		position: absolute;
		bottom: -20px;
		right: -72px;
		content: "";
		width: 73px;
		height: 79px;
		background: url(../images/featureTit_right_sp.png);
		background-size: contain;
	}
	.featureSec li {
		padding: 30px 20px 0;
	}
	.featureSec li:before {
		bottom: inherit;
		top: 0;
		width: 76%;
		height: 195px;
	}
	.featureSec li .inner {
		display: block;
	}
	.featureSec .picBox {
		width: 100%;
	}
	.featureSec .picBox .boxInner .num {
		bottom: -35px;
		max-width: 90px;
	}
	.featureSec .txtBox {
		width: 100%;
		padding: 0;
		margin-top: 40px;
	}
	.featureSec .title {
		font-size: 22px;
		letter-spacing: 0.04em;
	}
}
@media screen and (max-width: 374px) {
	.featureSec .titleWrap:before {
		left: -58px;
	}
	.featureSec .titleWrap:after {
		right: -58px;
	}
}
/*--------------------------------------
スクロールアニメーション
--------------------------------------*/
.fadeInTrigger {
	opacity: 0;
}
.fadeIn{
	animation-name: fadeInAnime !important;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity:0;
}
@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* =====================================
program
===================================== */
.programSec {
	padding: 100px 0 130px;
	overflow: hidden;
}
.programSec .titleWrap {
	background: url(../images/title_icon05.png) no-repeat center top;
	background-size: 27px 38px;
	padding-top: 63px;
	margin-bottom: 50px !important;
}
.programSec .titleWrap:before {
	position: absolute;
	bottom: -10px;
	left: 20px;
	content: "";
	width: 255px;
	height: 205px;
	background: url(../images/programTit_left.png);
	background-size: contain;
}
.programSec .titleWrap:after {
	position: absolute;
	bottom: -10px;
	right: 15px;
	content: "";
	width: 269px;
	height: 193px;
	background: url(../images/programTit_right.png);
	background-size: contain;
}
.tabList {
	display: flex;
	align-items: flex-end;
}
.tabList li {
	background: #efefef;
	width: 25%;
	border-radius: 10px 10px 0 0;
}
.tabList li:nth-child(1) {
	background: #8FC94D;
}
.tabList li:nth-child(2) {
	background: #5CC159;
}
.tabList li:nth-child(3) {
	background: #28AE92;
}
.tabList li:nth-child(4) {
	background: #229C98;
}
.tabList li a {
	display: block;
	padding: 0 5px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	height: 100%;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	letter-spacing: 0.02em;
	line-height: 1.5;
}
.tabList li a:hover {
	opacity: 1;
}
.tabList li .tab_inner {
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tabList li.current .tab_inner {
	height: 89px;
}
.tabContents {
	clear: both;
	display: none;
	padding: 50px 55px;
	background: #fff;
}
.tabContents.current {
	display: block;
}
.periodList {
	list-style-type: none;
	display: table;
	width: 100%;
	padding-right: 37px;
	margin: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.periodList li {
	display: table-cell;
	position: relative;
	background: #EFF3F2;
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
	width: 33.33%;
	height: 70px;
	padding: 0 0 0 35px;
	box-sizing: border-box;
}
.periodList li:before,
.periodList li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	margin: auto;
}
.periodList li:before {
	top: -5px;
	right: -25px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 40px 0 40px 25px;
	z-index: 10;
}
.periodList li:after {
	top: 0;
	right: -20px;
	border-style: solid;
	border-color: transparent transparent transparent #EFF3F2;
	border-width: 35px 0 35px 20px;
	z-index: 10;
}
.tabContents .inner {
	height: 100% !important;
}
.tabContents .itemWrap {
	margin-top: 36px;
	display: flex;
}
.tabContents .column3 .itemBox {
	width: 33.33%;
	padding: 0 10px;
	box-sizing: border-box;
}
.tabContents .column2 .itemBox {
	width: 50%;
	padding: 0 10px;
	box-sizing: border-box;
}
.tabContents .itemWrap dt {
	font-size: 17px;
	font-weight: bold;
	color: #4A4D54;
	margin-bottom: 6px;
}
.tabContents .itemWrap .circleList li {
	position: relative;
	padding-left: 20px;
	font-size: 15px;
}
.tabContents .itemWrap .circleList li:before {
	position: absolute;
	top: 11px;
	left: 0;
	content: "";
	width: 10px;
	height: 10px;
	background: #3e896a;
	border-radius: 50%;
}
@media screen and (min-width:1001px) and (max-width:1200px){
	.programSec .titleWrap:before {
		left: -15px;
	}
	.programSec .titleWrap:after {
		right: -15px;
	}
}
@media screen and (min-width:768px) and (max-width:1000px){
	.programSec .titleWrap:before {
		left: -130px;
	}
	.programSec .titleWrap:after {
		right: -130px;
	}
	.tabContents {
		padding: 30px;
	}
}
@media screen and (max-width: 767px) {
	.programSec {
		padding: 50px 0;
		text-align: center;
	}
	.programSec .titleWrap {
		display: inline-block;
	}
	.programSec .titleWrap:before {
		position: absolute;
		bottom: -20px;
		left: -50px;
		content: "";
		width: 71px;
		height: 81px;
		background: url(../images/programTit_left_sp.png);
		background-size: contain;
	}
	.programSec .titleWrap:after {
		position: absolute;
		bottom: -20px;
		right: -50px;
		content: "";
		width: 71px;
		height: 81px;
		background: url(../images/programTit_right_sp.png);
		background-size: contain;
	}
	.tabList li a {
		padding: 0;
		font-size: 14px;
		letter-spacing: 0;
	}
	.tabContents {
		padding: 20px 15px 35px;
		text-align: left;
	}
	.tabContents .inner {
		overflow-x: scroll;
	}
	.tabContents .scrollArea {
		min-width: 600px;
	}
}
/* =====================================
医院体験見学会
===================================== */
.tourSec {
	background: #fff;
	padding: 90px 0 50px;
	overflow: hidden;
}
.balloonTxt {
	position: relative;
	display: inline-block;
	padding: 16px 66px;
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 22px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	background: #F9F6D3;
	border-radius: 40px;
}
.balloonTxt:before {
	content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #F9F6D3;
}
.tourSec .titleWrap {
	background: url(../images/title_icon06.png) no-repeat center top;
	background-size: 36px 28px;
	padding-top: 48px;
	margin-bottom: 50px !important;
}
.tourSec h2 {
	line-height: 1;
}
.tourSec .titleWrap span.subTxt {
	margin-top: 12px;
}
.tourSec li .detailBox {
	line-height: 1.875;
}
.tourSec li .detailBox .lead {
	color: #3E896A;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 800;
    font-style: normal;
    font-size: 22px;
    letter-spacing: 0.02em;
    line-height: 1.54;
    margin-bottom: 14px;
}
@media screen and (min-width: 768px) {
	.tourSec .leadBox {
		position: relative;
	}
	.tourSec .leadBox:before {
		position: absolute;
		top: 0;
		left: 20px;
		content: "";
		width: 267px;
		height: 157px;
		background: url(../images/tourTit_left.png) no-repeat;
		background-size: contain;
	}
	.tourSec .leadBox:after {
		position: absolute;
		top: 0;
		right: 15px;
		content: "";
		width: 271px;
		height: 166px;
		background: url(../images/tourTit_right.png) no-repeat;
		background-size: contain;
	}
	.tourSec li {
		display: flex;
		align-items: center;
		position: relative;
	}
	.tourSec li:not(:first-child) {
		margin-top: 85px;
	}
	.tourSec li .picBox,
	.tourSec li .detailBox {
		width: 50%;
	}
	.tourSec li:nth-child(2n) {
		flex-direction: row-reverse;
	}
	.tourSec li:nth-child(2n) .picBox,
	.tourSec li:nth-child(2n-1) .detailBox {
		padding-left: 135px;
	}
	.tourSec li:nth-child(2n) .detailBox,
	.tourSec li:nth-child(2n-1) .picBox{
		padding-right: 135px;
	}
	.tourSec li:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
		background-size: 115px 115px !important;
	}
	.tourSec li:nth-child(1):before {
		background: url(../images/time_txt01.png) no-repeat center center;
	}
	.tourSec li:nth-child(2):before {
		background: url(../images/time_txt02.png) no-repeat center center;
	}
	.tourSec li:nth-child(3):before {
		background: url(../images/time_txt03.png) no-repeat center center;
	}
	.tourSec li:nth-child(4):before {
		background: url(../images/time_txt04.png) no-repeat center center;
	}
	.tourSec li:nth-child(5):before {
		background: url(../images/time_txt05.png) no-repeat center center;
	}
	.tourSec li:nth-child(6):before {
		background: url(../images/time_txt06.png) no-repeat center center;
	}
	.tourSec li:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -2px;
		width: 4px;
		height: calc(150% + 85px);
		background: #3E896A;
	}
	.tourSec li:first-child:after {
		top: 50%;
	}
	.tourSec li:last-child:after {
		display: none;
	}
}
@media screen and (min-width:1001px) and (max-width:1200px){
	.tourSec .leadBox:before {
		left: -15px;
	}
	.tourSec .leadBox:after {
		right: -15px;
	}
}
@media screen and (min-width:768px) and (max-width:1000px){
	.tourSec .leadBox:before {
		left: -130px;
	}
	.tourSec .leadBox:after {
		right: -130px;
	}
	.tourSec li:nth-child(2n) .picBox,
	.tourSec li:nth-child(2n-1) .detailBox {
		padding-left: 85px;
	}
	.tourSec li:nth-child(2n) .detailBox,
	.tourSec li:nth-child(2n-1) .picBox{
		padding-right: 85px;
	}
}
@media screen and (max-width: 767px) {
	.tourSec {
		padding: 50px 0;
	}
	.balloonTxt {
		font-size: 13px;
		padding: 16px 20px;
		display: block;
		max-width: 265px;
		margin: 0 auto;
	}
	.tourSec .titleWrap {
		display: inline-block;
		position: relative;
	}
	.tourSec .titleWrap:before {
		position: absolute;
		bottom: -10px;
		left: -85px;
		content: "";
		width: 75px;
		height: 81px;
		background: url(../images/tourTit_left_sp.png) no-repeat;
		background-size: contain;
	}
	.tourSec .titleWrap:after {
		position: absolute;
		bottom: -10px;
		right: -85px;
		content: "";
		width: 75px;
		height: 81px;
		background: url(../images/tourTit_right_sp.png) no-repeat;
		background-size: contain;
	}
	.tourSec li {
		padding-left: 95px;
		position: relative;
	}
	.tourSec li:not(:first-child) {
		margin-top: 50px;
	}
	.tourSec li:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
	}
	.tourSec li:nth-child(1):before {
		background: url(../images/time_txt01.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:nth-child(2):before {
		background: url(../images/time_txt02.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:nth-child(3):before {
		background: url(../images/time_txt03.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:nth-child(4):before {
		background: url(../images/time_txt04.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:nth-child(5):before {
		background: url(../images/time_txt05.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:nth-child(6):before {
		background: url(../images/time_txt06.png) no-repeat left top;
		background-size: 62px;
	}
	.tourSec li:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 29px;
		width: 4px;
		height: calc(100% + 50px);
		background: #3E896A;
	}
	.tourSec li:last-child:after {
		display: none;
	}
	.tourSec li .detailBox {
		margin-top: 20px;
	}
	.tourSec li .detailBox .lead {
		font-size: 18px;
		letter-spacing: 0;
	}
}
/* =====================================
よくあるご質問
===================================== */
.faqSec {
	padding: 0 0 130px;
	background: #fff;
}
.faqSec .titleArea {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 21px;
	letter-spacing: 0.08em;
	line-height: 1.86;
	text-align: center;
	background: url(../images/bgFaq.png) no-repeat center bottom;
	background-size: auto 264px;
	padding-bottom: 253px;
}
.faqSec .titleArea p {
	display: inline-block;
	position: relative;
	padding: 0 80px;
}
.faqSec .titleArea p:before,
.faqSec .titleArea p:after {
	position: absolute;
	content: "";
	width: 72px;
	height: 135px;
	top: 30px;
}
.faqSec .titleArea p:before {
	left: 0;
	background: url(../images/faqTit_left.png);
	background-size: contain;
}
.faqSec .titleArea p:after {
	right: 0;
	background: url(../images/faqTit_right.png);
	background-size: contain;
}
.faqSec .faqArea .inner {
	border-top: 2px solid #3E896A;
	background: #F3F5F4;
	padding: 80px 70px 76px;
}
.faqSec .faqArea .titleBox h2 {
	line-height: 1;
}
.faqSec .faqArea .titleBox h2 .lead {
    color: #3E896A;
    font-family: "montserrat", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
    font-size: 59px;
	letter-spacing: 0.088em;
}
.faqSec .faqArea .titleBox h2 .txt {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	text-align: center;
}
.faqSec .faqArea dl {
	background: #fff;
	padding: 37px 6%;
}
.faqSec .faqArea dl:not(:first-child) {
	margin-top: 15px;
}
.faqSec .faqArea dl dt {
	color: #3E896A;
	font-family: zen-old-mincho, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 20px;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-bottom: 8px;
}
@media screen and (min-width: 1001px) {
	.faqSec .faqArea .titleBox {
		display: flex;
		align-items: center;
		margin-bottom: 50px;
	}
	.faqSec .faqArea .titleBox h2 {
		display: flex;
		width: 44%;
		align-items: center;
		position: relative;
	}
	.faqSec .faqArea .titleBox h2:after {
		content: "";
		width: 2px;
		height: 62px;
		background: #D8E3DE;
		position: absolute;
		right: 0;
		top: 50%;
		margin-top: -31px;
	}
	.faqSec .faqArea .titleBox h2 .txt {
		width: calc(100% - 144px);
	}
	.faqSec .faqArea .titleBox p {
		padding-left: 55px;
	}
}
@media screen and (max-width: 1000px) {
	.faqSec .faqArea .titleBox {
		margin-bottom: 25px;
	}
	.faqSec .faqArea .titleBox h2 {
		text-align: center;
		margin-bottom: 20px;
	}
	.faqSec .faqArea .titleBox h2 span {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.faqSec {
		padding: 0;
	}
	.faqSec .titleArea {
		font-size: 15px;
		background: none;
		padding-bottom: 0;
	}
	.faqSec .titleArea p {
		padding: 0 40px;
	}
	.faqSec .titleArea p:before, .faqSec .titleArea p:after {
		width: 35px;
		height: 66px;
	}
	.faqSec .faqArea .titleBox h2 .lead {
		font-size: 46px;
	}
	.faqSec .faqArea .titleBox h2 .txt {
		font-size: 16px;
		margin-top: 10px;
	}
	.faqSec .faqArea .containerBox {
		padding: 0;
	}
	.faqSec .faqArea .inner {
		padding: 35px 20px;
	}
	.faqSec .faqArea dl {
		padding: 25px 20px;
	}
}
@media screen and (max-width: 375px) {
	.faqSec .titleArea {
		letter-spacing: 0;
	}
}


/* =====================================
募集要項
===================================== */
.jobSec {
	background: #F8F6E1;
	padding: 104px 0 75px;
}
.jobSec .titleWrap {
	background: url(../images/title_icon07.png) no-repeat center top;
	background-size: 31px 39px;
	padding-top: 63px;
	margin-bottom: 50px !important;
}
.jobSec .titleWrap span.subTxt {
	margin-top: 17px;
}
.recruitTable th,
.recruitTable td {
	padding: 26px 45px;
	text-align: left;
	vertical-align: top;
}
.recruitTable th {
	background: #3E896A;
	width: 250px;
	color: #fff;
	font-weight: bold;
	border-bottom: 1px solid #83ad9b;
	padding: 26px 10px 26px 40px;
	box-sizing: border-box;
}
.recruitTable td {
	border-bottom: 1px solid #D6D7D6;
	background: #fff;
}
.recruitTable .tip {
	font-size: 14px;
}
@media screen and (min-width:768px) and (max-width:1000px){
	.jobSec .titleWrap span.mainTxt {
		font-size: 48px;
	}
}
@media screen and (max-width: 767px) {
	.jobSec {
		padding: 50px 0;
	}
	.jobSec .titleWrap {
		margin-bottom: 30px !important;
	}
	.jobSec .titleWrap h2:before,
	.jobSec .titleWrap h2:after {
		top: 22px;
	}
	.jobSec .titleWrap span.mainTxt {
		font-size: 30px;
	}
	.recruitTable th,
	.recruitTable td {
		padding: 15px 10px !important;
		text-align: left;
		font-size: 14px;
	}
	.recruitTable th {
		width: 100px;
	}
	.recruitTable .tip {
		font-size: 12px;
	}
}
/* =====================================
申し込みフォーム
===================================== */
.formSec {
	background: #f8f6e1; 
	background: -moz-linear-gradient(top,  #f8f6e1 0%, #f8f6e1 50%, #efefe5 51%, #efefe5 100%);
	background: -webkit-linear-gradient(top,  #f8f6e1 0%,#f8f6e1 50%,#efefe5 51%,#efefe5 100%);
	background: linear-gradient(to bottom,  #f8f6e1 0%,#f8f6e1 50%,#efefe5 51%,#efefe5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f6e1', endColorstr='#efefe5',GradientType=0 );
	text-align: center;
}

/* ==== style.css ==== */
@charset "utf-8";

/*
Theme Name: genova_tpl
Theme URI: http://genova.co.jp/
Description: genova template.
Version: 1.0
*/

/* =====================================
	BASE
===================================== */
html {
	font-size: 62.5%;
}
body {
	font-family: 'Meiryo', 'メイリオ', Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	/* font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; */
	/* font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; */
	font-size: 1.6em;
	color: #333;
	letter-spacing: .1em;
	line-height: 2em;
}
a {
	text-decoration: none;
	color: #e5005a;
}
a:focus, *:focus {
	outline: none;
}


/* =====================================
	MODULE
===================================== */
/*--------------------------------------
  汎用
--------------------------------------*/
/* float */
/* clears */
.clearfix {
	*zoom: 1;
}
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
/* text indent */
/* text-align */
.tac {
	text-align: center!important;
}
/* font-weight */

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

/*--------------------------------------
  Pc sp change
--------------------------------------*/
.sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .pc {
    display: none!important;
  }
  .sp {
    display: block!important;
  }
}


/* =====================================
	Layout
===================================== */
/*--------------------------------------
	container
--------------------------------------*/

/*--------------------------------------
	header
--------------------------------------*/
/* general */
/* logo */
/* header right box */
/* gnav */
/* sp */
/*
@media screen and (max-width: 480px) {
  .toggleMenu {
    width: 60px;
    height: 60px;
    line-height: 1.6;
  }
  .toggleMenu:after {
    font-size: 12px;
  }
  .toggleMenu .menu-trigger {
    width: 38px;
    height: 26px;
    margin: 8px auto 0;
  }
  .toggleMenu .menu-trigger span {
    height: 3px;
  }
  .toggleMenu .menu-trigger span:nth-of-type(2) {
    top: 11px;
  }

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

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

/*--------------------------------------
  Mainimage
--------------------------------------*/
#mainimage img {
	width: 100%;
}

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

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

/*--------------------------------------
	SIDE
--------------------------------------*/
#sidebar {
	float: right;
	/*width: 20%;*/
}

/*--------------------------------------
	FOOTER
--------------------------------------*/
/* .ai_popup_content li p:after{
	content:"";
	width:4px;
	height:7px;
	background-image:url("");
} */
@media screen and (max-width: 767px) {
/* 	.ai_bnr_wrapper{
		    text-align: left;
    max-width: unset;
    width: 100%;
    right: -50%;
	} */
/* .topbnr1 img{
    width: 50%;
}
.ai_bnr_wrapper img {
width: 50%;
} */
}

/* ==== frontend.min.css ==== */
/*! elementor - v1.9.2 - 16-01-2018 */.elementor{-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual}.elementor *,.elementor :after,.elementor :before{-webkit-box-sizing:border-box;box-sizing:border-box}.elementor a{-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.elementor img{height:auto;max-width:100%;border:none;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.elementor:after{position:absolute;opacity:0;width:0;height:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (min-width:1025px){.elementor:after{content:"desktop"}}@media (min-width:768px) and (max-width:1024px){.elementor:after{content:"tablet"}}@media (max-width:767px){.elementor:after{content:"mobile"}}.elementor-section{position:relative}.elementor-section .elementor-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto;position:relative}.elementor-section.elementor-section-boxed>.elementor-container{max-width:1140px}.elementor-row{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}@media (max-width:1024px){.elementor-row{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.elementor-column-wrap{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.elementor-column-wrap,.elementor-widget-wrap{width:100%;position:relative}.elementor-widget{position:relative}.elementor-widget:not(:last-child){margin-bottom:20px}.elementor-column{position:relative;min-height:1px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated{padding:10px}@media (min-width:768px){.elementor-column.elementor-col-50{width:50%}.elementor-column.elementor-col-100{width:100%}}@media (max-width:767px){.elementor-column{width:100%}.elementor-reverse-mobile>.elementor-container>.elementor-row{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.elementor-clearfix:after{content:"";display:block;clear:both;width:0;height:0}.elementor-widget-heading .elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title>a{color:inherit;font-size:inherit}.elementor-widget-image .elementor-image>a{display:block}.elementor-widget-image .elementor-image img{vertical-align:middle}

/* ==== post-2247.css ==== */
.elementor-2247 .elementor-element.elementor-element-2c78725{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-a45e4fa > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-5047c5b .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-fc1117b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-01c6f10 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-7cc6350 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-735a9ce{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-65eed0b > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-b06cb37 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-fa39c3d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-9b974fa > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0px 60px 0px 0px;}.elementor-2247 .elementor-element.elementor-element-d746a9f .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-389698a .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-f0bc152 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-05e475b{text-align:center;}.elementor-2247 .elementor-element.elementor-element-05e475b .elementor-image img{max-width:100%;opacity:1;}.elementor-2247 .elementor-element.elementor-element-05e475b .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-06342f5{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-2081bd4 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-5700c8e .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-e14ffb2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-689b2ce > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-cc9f2ab{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-6c8ec6d > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-df1de44 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-83e018a .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-0cb5213{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-333f35a > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-67d6e2b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-66a47a6 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-7f4aa4f .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-59b7658 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-7a0849e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-2d418f9 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-5d455c1{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-1aa18ad > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-87d9598 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-e4047c8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-0b07f5a > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-b551e4d .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-78ab316{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-19f9927 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-3d716cb{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-a7016b0 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-ede134e .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-f77951e .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-cd6d847{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-02de6be > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-a8aca2c .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-301250b{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-bc0bcca > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-91dc783 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-590460c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-0709c6a > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-b47455d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-c4c8a8e > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-97443bc .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-a140235 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-0c625cc{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-9fe25ca > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2247 .elementor-element.elementor-element-8987083 .elementor-widget-container{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}@media(max-width:767px){.elementor-2247 .elementor-element.elementor-element-9b974fa > .elementor-element-populated{margin:0px 0px 0px 0px;}.elementor-2247 .elementor-element.elementor-element-f0bc152 > .elementor-element-populated{margin:0px 0px 30px 0px;}}@media(min-width:768px){.elementor-2247 .elementor-element.elementor-element-9b974fa{width:64%;}.elementor-2247 .elementor-element.elementor-element-f0bc152{width:36%;}}

/* ==== custom: smooth scroll ==== */
html {
	scroll-behavior: smooth;
}

/*
 * 手書きの追加CSS（purgecssの対象外・purge後にそのまま追記される）。
 * - STAFF VOICE カルーセル（ネイティブJS実装、slick非依存）の見た目
 * - 動画インタビュー（movieWrap）の再生用video要素の最低限のサイズ指定
 * いずれも元テーマCSSには存在しないため、ここで新規に定義する。
 */

/*
 * ==== z-index修正：ドットが装飾パターン(.staffSec:after)に覆われる問題 ====
 * .staffSec:after は右下の装飾ドット柄パターン（幅38%×高さ30%、position:absolute）。
 * z-indexを指定していない（auto）が、position:absoluteのため通常のスタッキング順序上
 * .elementor-container（本文コンテンツ）より後に描画され、ウィンドウ幅によっては
 * STAFF VOICEカルーセルのドットナビゲーション行がこのパターン領域と重なり、
 * ドットがパターンの下に隠れて見えなくなる（環境・幅依存で発生。ユーザー報告により判明）。
 * 対策として .elementor-container 側に正のz-indexを与えて確実に上に描画されるようにし、
 * 対応として .staffSec:after 側は明示的に z-index:0 として基準を揃える。
 * .elementor-section .elementor-container はページ全体の全セクションに影響するため、
 * 適用後はフルページで他セクションのレイアウト崩れがないことを確認済み。
 */
.elementor-section .elementor-container {
	position: relative;
	z-index: 3;
}
.staffSec:after {
	z-index: 0;
}

/*
 * STAFF VOICE カルーセルの track/slide は、Elementorが同梱するslick用の
 * 汎用CSS（.slick-track / .slick-slide、display:none等）と衝突するため、
 * あえて slick-track / slick-slide という名前を避け、独自クラス名で
 * 元テーマCSS（.staffSec .slick-track / .staffSec .slick-slide）と
 * 同等の見た目を再現する。
 */
.staffSec .staffCarousel-track {
	display: flex;
}
.staffSec .staffCarousel-slide {
	height: auto;
	background: #fff;
	margin: 0 40px;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.staffSec .staffCarousel-slide {
		background: none;
		margin: 0 10px;
	}
}

/*
 * ==== STAFF VOICE カルーセル：centerMode+centerPadding相当 ====
 * centerPaddingの値そのものはJS（script.jsのgetStaffCenterPadding）が
 * window.innerWidthを厳密な未満比較で判定し、インラインstyleで設定する。
 * 本番のslick.js自体の挙動が「width < breakpoint」であり、CSSのmedia query
 * （以下＝境界値を含む）では境界ちょうどの幅で1px相当の差異が生じるため。
 * ここでのpaddingはJS実行前の初期値・フォールバックとして base値のみを指定する。
 */
.staffSec .inner.staffCarousel-viewport {
	position: relative;
	padding: 0 164px;
	box-sizing: border-box;
}

/*
 * 矢印・ドットは本番の slick-theme.css（本番用にカスタマイズされたもの）の値を
 * そのまま踏襲する。本番では専用画像（arrow_left.png / arrow_right.png）による
 * 円形矢印ボタンが使われているため、CSS三角形ではなく画像を背景表示する。
 */

/* ==== 矢印（本番同様、専用画像を背景表示） ==== */
.staffCarousel-arrow {
	position: absolute;
	top: 50%;
	margin-top: -41px;
	display: block;
	width: 82px;
	height: 82px;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: none;
	z-index: 2;
	/* buttonのデフォルト外観（背景色・枠）を消し、画像のみを表示する */
	appearance: none;
	-webkit-appearance: none;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 82px;
}
.staffCarousel-arrow:hover,
.staffCarousel-arrow:focus {
	color: transparent;
	outline: none;
}
/* 本番のslick-theme.cssにも同様のhoverルールがあるが、アイコンフォント用の
   :before疑似要素にcontentを設定していないため実質的に見た目は変化しない */
.staffCarousel-arrow:hover::before,
.staffCarousel-arrow:focus::before {
	opacity: 1;
}
.staffCarousel-arrow--prev {
	left: 160px;
	background-image: url(../images/arrow_left.png);
}
.staffCarousel-arrow--next {
	right: 160px;
	background-image: url(../images/arrow_right.png);
}
@media screen and (max-width: 1366px) {
	.staffCarousel-arrow--prev {
		left: 100px;
	}
	.staffCarousel-arrow--next {
		right: 100px;
	}
}
@media screen and (max-width: 1030px) {
	.staffCarousel-arrow--prev {
		left: 50px;
	}
	.staffCarousel-arrow--next {
		right: 50px;
	}
}
@media screen and (max-width: 767px) {
	/* margin-topはこのブレークポイントで上書きしない（本番同様、ベースの
	   margin:-41pxがそのまま適用され、実質的な位置は top:145px - 41px = 104px となる） */
	.staffCarousel-arrow {
		top: 145px;
		width: 41px;
		height: 41px;
		background-size: 41px;
	}
	.staffCarousel-arrow--prev {
		left: 20px;
	}
	.staffCarousel-arrow--next {
		right: 20px;
	}
}

/* ==== ドットナビゲーション（カードの下・通常フローに配置。絶対配置で重ねない） ==== */
.staffCarousel-dots {
	display: block;
	width: 100%;
	padding: 0;
	margin: 33px 0 0;
	list-style: none;
	/* z-indexはposition:staticの要素には効かないため、position:relativeを明示する
	   （元slick-theme.cssからそのまま踏襲したためz-index単体では無効だった） */
	position: relative;
	z-index: 100;
	line-height: 1;
	text-align: center;
}
.staffCarousel-dots li {
	position: relative;
	display: inline-block;
	width: 11px;
	height: 11px;
	margin-right: 24px;
	padding: 0;
	cursor: pointer;
}
.staffCarousel-dots li:last-child {
	margin-right: 0;
}
.staffCarousel-dots button {
	display: block;
	font-size: 0;
	line-height: 0;
	width: 11px;
	height: 11px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: #ccc;
	position: relative;
	border-radius: 50%;
	padding: 0;
}
.staffCarousel-dots button.is-active {
	background: #3e896a;
}
@media screen and (max-width: 767px) {
	.staffCarousel-dots {
		margin-top: 10px;
	}
}

/* ==== 動画インタビュー（movieWrap）：video要素の最低限のサイズ指定 ==== */
.movieWrap .viemo video {
	display: block;
	width: 100%;
	height: auto;
}
