/*--------------------------------------
layout
--------------------------------------*/
#content {
    padding: 0;
}
.elementor-section-wrap > section {
    margin-bottom: 0;
}
.elementor-widget:not(:last-child) {
    margin-bottom: 0;
}
.largeImg a {
    display: block;
}
.largeImg img {
    width: 100% !important;
}

@media screen and (max-width: 767px) {
	.container {
		max-width: 580px;
	}
}


/*--------------------------------------
main
--------------------------------------*/
#slide2 {
	display: none !important;
}
.caption h2 {
	text-align: left;
	line-height: 46px;
	font-family: "A1明朝", "A1 Mincho";
	font-size: 21px;
	color: #fff;
	letter-spacing: 0.38em;
	text-shadow: 2px 0 7px rgba(73, 76, 66, 0.5);
	position: absolute;
	bottom: 70px;
	left: 70px;
	max-width: 700px;
	width: 100%;
}
.caption h2 span {
	line-height: 61px;
	font-size: 39px;
	letter-spacing: 0.36em;
	display: block;
	margin-bottom: 15px;
}

@media screen and (max-width: 1400px) and (min-width: 1001px) {
	.caption h2 {
		line-height: 35px;
		letter-spacing: 1px;
		font-size: 20px;
		max-width: 600px;
		left: 40px;
		bottom: 40px;
	}
	.caption h2 span {
		letter-spacing: 2px;
		line-height: 45px;
		font-size: 32px;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 1000px) and (min-width: 768px) {
	.caption h2 {
		letter-spacing: 0;
		font-size: 15px;
		line-height: 1.8;
		max-width: 400px;
		left: 20px;
		bottom: 20px;
	}
	.caption h2 span {
		line-height: 1.4;
		letter-spacing: 0;
		font-size: 27px;
		margin-bottom: 8px;
	}
}
@media screen and (max-width: 767px) {
	#slide1 {
		display: none !important;
	}
	#slide2 {
		display: block !important;
	}
	.caption {
		display: table;
		width: 100%;
		height: 100%;
	}
	.caption h2 {
		text-align: center;
		letter-spacing: 1px;
		font-size: 15px;
		line-height: 2;
		display: table-cell;
		position: relative;
		vertical-align: middle;
		bottom: inherit;
		left: inherit;
		max-width: inherit;
		padding: 0 10%;
	}
	.caption h2 span {
		font-size: 28px;
		letter-spacing: 2px;
		line-height: 1.4;
		margin-bottom: 8px;
	}
}
@media screen and (max-width: 480px) {
	.caption h2 {
		letter-spacing: 0;
		line-height: 1.8;
		font-size: 13px;
	}
	.caption h2 span {
		letter-spacing: 0;
		font-size: 20px;
		margin-bottom: 5px;
		line-height: 1.3;
	}
}


/*--------------------------------------
about_section
--------------------------------------*/
.about_section {
	background: #90c5a5;
	padding: 43px 0 51px;
	position: relative;
}
.about_section:before {
	background: url(/wp-content/uploads/icon_main.png) no-repeat;
	width: 191px;
	height: 215px;
	content: '';
	display: block;
	right: 70px;
	position: absolute;
	top: -285px;
}
.about_column4 {
    margin-bottom: 49px;
}
.about_column4 .elementor-row {
    column-gap: 2.26%;
}
.about_column4 .elementor-row .elementor-column {
    width: 23.305% !important;
}
.about_column4 img {
	box-shadow: 0 2px 5px rgba(68, 68, 68, 0.2);
}

@media screen and (max-width: 1400px) and (min-width: 1001px) {
	.about_section:before {
		width: 153px;
		height: 172px;
		background-size: cover;
		top: -212px;
		right: 40px;
	}
}
@media screen and (max-width: 1000px) and (min-width: 768px) {
	.about_section:before {
		width: 115px;
		height: 129px;
		background-size: cover;
		top: -149px;
		right: 20px;
	}
}
@media screen and (max-width: 767px) {
	.about_section {
		padding: 0 0 25px;
	}
	.about_section:before {
		height: 107.5px;
		background-size: 80%;
		width: 90.5px;
		top: -33%;
		right: 5%;
	}
	.about_column3 {
		width: 50% !important;
		margin: 0 auto;
	}
	.about_column3 .elementor-column {
		width: 33.333%;
	}
	.about_column4 .elementor-row {
		column-gap: 6%;
	}
	.about_column4 .elementor-row .elementor-column {
		width: 47% !important;
		margin-bottom: 6%;
	}
}
@media screen and (max-width: 480px) {
	.about_section:before {
		background-size: 60%;
		right: 0;
		top:-60px;
		width: 65px;
	}
}


/*--------------------------------------
news_section
--------------------------------------*/
.news_section {
	background: url(/wp-content/uploads/top_bgimg01.jpg) no-repeat top left;
	background-size: cover;
	padding: 48px 0 59px;
}
.news_section h2 {
	line-height: 1.2;
	font-family: "A1明朝", "A1 Mincho";
	font-size: 28px;
	color: #665c56;
	border-bottom: 1px solid #74c293;
	letter-spacing: 9px;
	padding: 0 95px 23px 0;
	position: relative;
}
.news_section h2 a {
    top: 21px;
	right: 0;
	color: #262626 !important;
	font-size: 15px !important;
	letter-spacing: 5px;
	position: absolute;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: normal;
}
.news_section h2 a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.news_section {
		background: url(/wp-content/uploads/top_bgimg01_sp.jpg) no-repeat top left;
		background-size: cover;
		padding: 50px 0;
	}
	.news_section h2 a {
		top: 14px;
	}
}


/*--------------------------------------
link_section
--------------------------------------*/
.link_section section {
    margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
	.link_section section {
		margin-bottom: 0;
	}
}


/*--------------------------------------
menu_section
--------------------------------------*/
.bnrPanel ul {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.bnrPanel ul li {
	width: 50%;
	border-top: 1px solid #fff;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.bnrPanel ul li:nth-child(1) {
	border-right: 1px solid #fff;
}
.bnrPanel ul li:nth-child(n+3) {
	width: 25%;
	border-right: 1px solid #fff;
}
.bnrPanel ul li:nth-child(6) {
	border-right: none;
}
.bnrPanel ul li a {
	position: relative;
	display: block;
	padding: 7.9% 0 9.5%;
	color: #fff !important;
	text-align: center;
	z-index: 1;
}
.bnrPanel ul li:nth-child(n+3) a {
	padding: 15.7% 0 18.1%;
}
.bnrPanel ul li:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(/wp-content/uploads/top_bgimg02.jpg) no-repeat center center;
	background-size: cover;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	-webkit-transition-duration: 0.7s;
	transition-duration: 0.7s;
	z-index: -1;
}
.bnrPanel ul li:hover:before {
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.bnrPanel ul li a:after {
	content: "";
	position: absolute;
	right: 11px;
	bottom: 14px;
	border-top: 9px solid transparent;
	border-right: 9px solid #fff;
}
.bnrPanel ul li:hover {
	background-size: 120%;
	text-decoration: none;
}
.bnrPanel ul li:nth-child(2):before {
	background: url(/wp-content/uploads/top_bgimg03.png) no-repeat center center;
	background-size: cover;
}
.bnrPanel ul li:nth-child(3):before {
	background: url(/wp-content/uploads/top_bgimg04.png) no-repeat center center;
	background-size: cover;
}
.bnrPanel ul li:nth-child(4):before {
	background: url(/wp-content/uploads/top_bgimg05.png) no-repeat center center;
	background-size: cover;
}
.bnrPanel ul li:nth-child(5):before {
	background: url(/wp-content/uploads/top_bgimg06.png) no-repeat center center;
	background-size: cover;
}
.bnrPanel ul li:nth-child(6):before {
	background: url(/wp-content/uploads/top_bgimg07.png) no-repeat center center;
	background-size: cover;
}
.menu_inner {
	display: block;
	max-width: 424px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.bnrPanel ul li:nth-child(n+3) .menu_inner {
	max-width: 295px;
}
.menu_ttl {
	text-align: center;
	line-height: 1.2;
	color: #fff;
	font-family: "秀英明朝 M", "Shuei Mincho M";
	display: block;
	border-bottom: 1px solid #b6b7ae;
	font-size: 34px;
	letter-spacing: 12px;
	padding-bottom: 27px;
	margin-bottom: 18px;
}
.bnrPanel ul li:nth-child(n+3) .menu_ttl {
	border-bottom: 1px solid #fff;
	letter-spacing: 6px;
}
.menu_txt {
	text-align: center;
	line-height: 1.2;
	color: #fff;
	font-family: "秀英明朝 M", "Shuei Mincho M";
	display: block;
	font-size: 14px;
	letter-spacing: 3px;
}
.bnrPanel ul li:nth-child(n+3) .menu_txt {
	font-size: 16px;
}
@media screen and (max-width: 1150px) and (min-width: 768px) {
	.menu_ttl {
		letter-spacing: 0 !important;
		font-size: 24px;
		padding-bottom: 18px;
	}
	.menu_txt {
		font-size: 12px !important;
		letter-spacing: 0 !important;
	}
}
@media screen and (max-width: 767px) {
	.bnrPanel ul {
		display: block;
	}
	.bnrPanel ul li {
		width: 100% !important;
	}
	.bnrPanel ul li:nth-child(1), .bnrPanel ul li:nth-child(n+3) {
		border-right: none;
	}
	.bnrPanel ul li:nth-child(1):before {
		background: url(/wp-content/uploads/top_bgimg02_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.bnrPanel ul li:nth-child(2):before {
		background: url(/wp-content/uploads/top_bgimg03_sp.png) no-repeat center center;
		background-size: cover;
	}
	.bnrPanel ul li:nth-child(3):before {
		background: url(/wp-content/uploads/top_bgimg04_sp.png) no-repeat center center;
		background-size: cover;
	}
	.bnrPanel ul li:nth-child(4):before {
		background: url(/wp-content/uploads/top_bgimg05_sp.png) no-repeat center center;
		background-size: cover;
	}
	.bnrPanel ul li:nth-child(5):before {
		background: url(/wp-content/uploads/top_bgimg06_sp.png) no-repeat center center;
		background-size: cover;
	}
	.bnrPanel ul li:nth-child(6):before {
		background: url(/wp-content/uploads/top_bgimg07_sp.png) no-repeat center center;
		background-size: cover;
	}
	.menu_inner {
		max-width: 424px !important;
	}
	.bnrPanel ul li a {
		padding: 40px 0 !important;
	}
	.menu_ttl {
		font-size: 28px;
		letter-spacing: 6px !important;
		padding-bottom: 18px;
		margin-bottom: 15px;
	}
}


/*--------------------------------------
greeting_section
--------------------------------------*/
.greeting_section {
	padding: 57px 0 89px;
	position: relative;
	z-index: 1;
}
.greeting_section:after {
	background: url(/wp-content/uploads/top_bgimg08.png) no-repeat;
	width: 444px;
	height: 357px;
	content: '';
	right: 0;
	bottom: 17px;
	position: absolute;
	z-index: -1;
}
.greeting_section .elementor-row {
    display: block;
}
.greeting_right {
    float: right;
    width: 29.9% !important;
    margin-top: 14px;
}
.greeting_left {
    float: left;
    width: 59% !important;
}
.greeting_left h2 {
    font-family: "秀英明朝 M", "Shuei Mincho M";
    font-size: 32px;
    color: #665c56;
    line-height: 70px;
    letter-spacing: 10px;
    margin-bottom: 30px;
}
.greeting_left h2 span {
    color: #62b583;
}
.greeting_left p {
    font-size: 16px;
    color: #696969;
    line-height: 45px;
    letter-spacing: 2.5px;
    margin-bottom: 47px;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
	.greeting_left h2 {
		letter-spacing: 8px;
	}
}
@media screen and (max-width: 767px) {
	.greeting_section {
		padding: 50px 0;
	}
	.greeting_section:after {
		background: url(/wp-content/uploads/top_bgimg08_sp.png) no-repeat;
		width: 347px;
		height: 343px;
		bottom: 50px;
	}
	.greeting_right {
		float: none;
		width: 100% !important;
		margin-top: 0;
	}
	.greeting_left {
		float: none;
		width: 100% !important;
		margin-top: 30px;
	}
	.greeting_left h2 {
		text-align: center;
		margin-bottom: 20px;
	}
	.greeting_left p {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 480px) {
	.greeting_left h2 {
		letter-spacing: 0;
		font-size: 26px;
		line-height: 2;
	}
}


/*--------------------------------------
recruit_section
--------------------------------------*/
.recruit_section {
	background: url(/wp-content/uploads/top_bgimg09.jpg) no-repeat top left;
	background-size: cover;
	padding: 55px 0 80px;
}
.topTit_h1,
.topTit_h2 {
    text-align: center;
    line-height: 1.2;
    color: #fff;
    font-family: "秀英明朝 M", "Shuei Mincho M";
    letter-spacing: 5px;
}
.topTit_h1 h1,
.topTit_h2 h2 {
    font-size: 24px;
    position: relative;
    padding-top: 76px;
}
.topTit_h1 h1:before,
.topTit_h2 h2:before {
    background: url(/wp-content/uploads/icon_img03.png) no-repeat;
	background-size: cover !important;
    width: 43px;
    height: 55px;
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
    top: 0;
}
.topTit_h1 h1 sub,
.topTit_h2 h2 sub {
    font-size: 16px;
    margin: 8px 0 0;
    display: block;
}
.recruit_section .topTit_h2 {
    margin-bottom: 46px;
}
.recruit_section .topTit_h2 h2 {
	font-size: 36px;
	letter-spacing: 7px;
	padding-top: 83px;
}
.recruit_section .topTit_h2 h2:before {
    background: url(/wp-content/uploads/icon_img01.png) no-repeat;
    width: 54px;
    height: 74px;
}
.recruit_section .elementor-row {
    display: block;
}
.recruit_left {
    width: 31% !important;
    float: left;
}
.recruit_right {
    float: right;
    width: 59% !important;
    margin-top: 13px;
}
.recruit_right p {
    font-size: 16px;
    line-height: 40px;
    color: #ffffff;
    letter-spacing: 2px;
    margin-bottom: 36px;
}
.recruit_section .elementor-button {
    color: #665c56;
    background: #fff;
}
.recruit_section .elementor-button:before {
    border-right: 9px solid #eb9997;
}

@media screen and (max-width: 767px) {
	.recruit_section {
		background: url(/wp-content/uploads/top_bgimg09_sp.jpg) no-repeat top left;
		background-size: cover;
		padding: 50px 0;
	}
	.recruit_section .topTit_h2 {
		margin-bottom: 30px;
	}
	.recruit_section .topTit_h2 h2 {
		font-size: 32px;
		letter-spacing: 2px;
	}
	.recruit_left {
		width: 100% !important;
		float: none;
	}
	.recruit_right {
		float: none;
		width: 100% !important;
		margin-top: 20px;
	}
	.recruit_right p {
		margin-bottom: 25px;
	}
}


/*--------------------------------------
access_section
--------------------------------------*/
.access_section {
	background: url(/wp-content/uploads/top_bgimg10.jpg) no-repeat center center;
	background-size: cover;
	padding: 64px 0 69px;
}
.access_section .topTit_h1,
.access_section .topTit_h2 {
	margin-bottom: 51px;
}
.access_section .topTit_h1 h1,
.access_section .topTit_h2 h2 {
	color: #665c56;
	font-size: 36px;
	letter-spacing: 7px;
	padding-top: 62px;
}
.access_section .topTit_h1 h1:before,
.access_section .topTit_h2 h2:before {
	background: url(/wp-content/uploads/icon_img02.png) no-repeat;
	width: 56px;
	height: 56px;
}
.access_section .topTit_h1 h1 sub,
.access_section .topTit_h2 h2 sub {
	font-size: 15px;
	color: #5eb380;
	letter-spacing: 6px;
	margin-top: 11px;
}
.access_section .elementor-row {
    display: block;
}
.access_left {
    float: left;
    width: 48.5% !important;
}
.map {
    padding-top: 148%;
}
.access_right {
    float: right;
    width: 49% !important;
}
table.table_access {
	margin-bottom: 30px;
}
.table_access th,
.table_access td {
	font-size: 18px;
	color: #665c56;
	vertical-align: top;
	line-height: 30px;
	text-align: left;
	font-weight: normal;
	border-bottom: 1px solid #e6e5e3;
	border-top: 1px solid #e6e5e3;
	padding: 8px 0;
}
.table_access th {
	letter-spacing: 3px;
	width: 22%;
}
.table_access td {
	letter-spacing: 3.5px;
}
.table_access td a {
	color: #665c56;
}
.access_section .elementor-button {
    max-width: 232px;
    font-size: 18px;
    letter-spacing: 2px;
    padding: 15px 10px 20px;
}
.access_section .elementor-button:before {
    border-top: 6px solid transparent;
    border-right: 6px solid #fff;
    right: 4px;
    bottom: 5px;
}
table.timetable {
	margin: 35px 0 16px;
}
.access_right p {
    font-size: 18px;
    color: #665c56;
    line-height: 25px;
    margin-bottom: 0;
    letter-spacing: 4.3px;
}
.access_right p:nth-child(1) {
    margin-bottom: 15px;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
	.table_access th,
	.table_access td {
		letter-spacing: 0;
	}
	.table_access th {
		width: 25%;
	}
}
@media screen and (max-width: 767px) {
	.access_section {
		background: url(/wp-content/uploads/top_bgimg10_sp.jpg) no-repeat center center;
		background-size: cover;
		padding: 50px 0;
	}
	.access_section .topTit_h1,
	.access_section .topTit_h2 {
		margin-bottom: 30px;
	}
	.access_section .topTit_h1 h1,
	.access_section .topTit_h2 h2 {
		padding: 0 0 0 75px;
		display: inline-block;
		text-align: left;
	}
	.access_section .topTit_h1 h1:before,
	.access_section .topTit_h2 h2:before {
		left: 0;
		transform: translateY(-50%);
		top: 50%;
	}
	.access_left {
		float: none;
		width: 100% !important;
		margin-bottom: 30px;
	}
	.map {
		padding-top: 260px;
		margin-bottom: 30px;
	}
	.access_right {
		float: none;
		width: 100% !important;
	}
}
@media screen and (max-width: 480px) {
	.table_access th,
	.table_access td {
		letter-spacing: 0;
		font-size: 15px;
	}
}