@charset "utf-8";

/**
 *
 * TopPage
 *
 */

/*===============================================
●index.css 画面の横幅が641px以上
===============================================*/
@media screen and (min-width: 641px){
img{
    max-width: 100%;
    height: auto;
    width /***/:auto;　;
}

/* MAIN VISUAL */
.main-visual {
	position: relative;
	z-index: 0;

	height: 460px;
}
.main-visual:before {
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 100%);
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 0) 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1 );
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100px;
	height: 100%;
	z-index: 5;	
}
.main-visual:after {
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 1) 100%);
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 1) 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1 );
	content: "";
	position: absolute;
	right: 0px;
	top: 0px;
	width: 100px;
	height: 100%;
	visibility: visible;
	z-index: 5;	
}

.main-visual .main-visual-inner {
	position: relative;
	height: 460px;	
	background: #D7EFF2 url(/img/main-visual.jpg) center top no-repeat;
}
.main-visual .main-visual-inner:after {
	background: url(/img/obi.png) center bottom no-repeat;
	background-size: 100% 36px;
	width: 100%;
	height: 36px;
	min-width: 1110px;
	margin: 0 auto;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	visibility: visible;
	
}


.main-visual h2 {
	padding-top: 75px;
	font-weight: normal;
	text-align: left;
	font-size: 40px;
	color: #00AC9A;
	line-height: 1.2em;
	margin-bottom: 20px;
	text-shadow: 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white;
	font-weight: normal;
}

.main-visual p {
	font-size: 16px;
	color: #000000;
	line-height: 1.97em;
	margin-top: 20px;

	text-align: left;
	text-shadow: 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white;
	width: 520px;
}
.main-visual ul {
	text-align: left;
	margin-top: 20px;
}
.main-visual ul li {
	display: inline-block;
	margin-right: 5px;
}


/* TITLE MAIN */
.title-main {
	color: #37A2B5;
	font-size: 28px;
	background: url(/img/title-line.png) left center repeat-x;
	margin: 75px auto 40px;
	text-align: center;
}
.title-main span {
	color: #37A2B5;
	font-size: 28px;	
	display: inline-block;
	padding: 0 60px;
	background: white;
	font-weight: normal;
	letter-spacing: 10px;	
}

/* MAIN FEATURE */
.main-feature {
	
}
.main-banners {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 50px;
}
.main-banners > div {
	
}
.main-banners:after {
	content: none;
}
.main-feature h2 {
	color: #37A2B5;
	font-size: 27px;
	background: url(/img/title-line.png) left center repeat-x;
	margin: 75px auto 40px;
	text-align: center;
}
.main-feature h2 span {
	color: #37A2B5;
	font-size: 27px;	
	display: inline-block;
	padding: 0 60px;
	background: white;
	font-weight: normal;
	letter-spacing: 5px;
}
.list-feature {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;	
}
.list-feature > li {
	width: 540px;	
	margin-bottom: 10px;
}
.list-feature .feature-title {
	position: relative;	
}
.list-feature .feature > a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;

}

.list-feature a:hover {
	opacity: 0.7;
}

.list-feature > li p {
	font-size: 14px;
	line-height: 1.65em;
	color: black;
	padding: 15px 0;
}

/* MAIN NEWS */
.main-news {
	padding-bottom: 30px;
	background: #E6F4F7;
	padding: 30px 0 30px;

}

.main-news .box-990 {
	width: auto;
}
.main-news .box-news {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	flex-wrap: nowrap;	
}
.main-news .box-news > div {
	width: 480px;
	margin-left: 50px;
	margin-right: 50px;
	padding-top: 20px;	
}
.main-news .box-news:after {
	content: none;
}
.main-news .box-news > div h2 {
	border-bottom: 1px solid #bbb;
	padding-bottom: 5px;
	text-align: left;
	color: black;
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 25px;
}

.main-news .box-news > div.main-access {
	position: relative;
	/*background: url(/img/main-access.png) 0 0 no-repeat;*/
	height: 250px;
	width: 538px !important;
	padding-top: 0;	
}
.main-access .main-access-map {
	position: absolute;
	left: 0;
	top: 0;
}
.main-access .main-access-map:hover + .btn-main-access a {
	text-decoration: underline;
}
.main-access h2 {
	font-size: 23px !important;
	line-height: 27px;
	border: none !important;
}
.main-access h2:before {
	background: url(/img/title-main-access-1.png) 0 0 no-repeat;
	width: 25px;
	height: 27px;
	display: inline-block;
	visibility: visible;
	content: "";
	vertical-align: middle;
	margin-right: 5px;
}
.main-access h2:after {
	background: url(/img/title-main-access-2.png) center center no-repeat;
	width: 30px;
	height: 27px;
	display: inline-block;
	visibility: visible;
	content: "";
	vertical-align: middle;	
	margin-left: 8px;
}
.main-access .btn-main-access {
	width: 183px;
	height: 29px;
	position: absolute ;
	right: 10px;
	bottom: 50px;
}
.main-access .btn-main-access a {
	display: block;
	text-align: center;
	color: white;
	font-size: 16px;
	line-height: 29px;
	border-radius: 20px;
	background: #FFBF00;
}

/* main banner */
.main-banner {
	
}
.main-banner-top {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;	

	margin: 0 auto;
	padding: 55px 0;
}

.btn-banner-1 {
	
	position: relative;
	width: 540px;
	height: 140px;
	box-sizing: border-box;
	border: 1px solid #CCCCCC;
	border-bottom: 5px solid #54B9CB;
background: rgb(243,243,243);
background: -moz-linear-gradient(top, rgba(243,243,243,1) 0%, rgba(255,255,255,1) 18%, rgba(255,255,255,1) 83%, rgba(237,237,237,1) 100%);
background: -webkit-linear-gradient(top, rgba(243,243,243,1) 0%,rgba(255,255,255,1) 18%,rgba(255,255,255,1) 83%,rgba(237,237,237,1) 100%);
background: linear-gradient(to bottom, rgba(243,243,243,1) 0%,rgba(255,255,255,1) 18%,rgba(255,255,255,1) 83%,rgba(237,237,237,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#ededed',GradientType=0 );	
}
.btn-banner-1 a {
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.btn-banner-1 a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.btn-banner-1 .btn-banner-1-pic {
	position: absolute;
	right: 14px;
	top: 14px;	
}
.btn-banner-1 .btn-banner-1-title {
	font-size: 33px;
	color: #54B9CB;
	padding-top: 45px;
	padding-left: 35px;
	font-weight: normal;
}
.btn-banner-1 .btn-banner-1-text {
	font-size: 16px;
	color: #54B9CB;	
	margin-top: 15px;
	padding-left: 35px;
}

.main-banner-bottom {
	
}
.list-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;	
}
.list-btn li {
	width: 255px;
	margin-bottom: 22px;
	height: 84px;
}
.list-btn li a {
	line-height: 1.6em;
	font-size: 20px;
	color: white;
	background: #54B9CB;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 30px;
	box-sizing: border-box;
	position: relative;
	vertical-align: middle;
}
.list-btn li a:after {
	width: 10px;
	height: 21px;
	background: url(/img/list-btn.png) 0 0 no-repeat;
	content: "";
	position: absolute;
	right: 27px;
	top: 30px;
	visibility: visible;	
	display: inline-block;
}
.list-btn li a:hover {
	text-decoration: none;
	opacity: 0.7;
}


/* main case */
.main-case {
	
}
.main-case h2 {
	color: #37A2B5;
	font-size: 34px;
	background: url(/img/title-line.png) left center repeat-x;
	margin: 75px auto 40px;
	text-align: center;
}
.main-case h2 span {
	color: #37A2B5;
	font-size: 34px;	
	display: inline-block;
	padding: 0 60px;
	background: white;
	font-weight: normal;
	letter-spacing: 5px;
}
.main-case .title-main-case-1  {
	font-size: 21px;
	color: white;
	text-align: center;
	width: 283px;
	height: 38px;
	line-height: 38px;
	margin: 40px auto 30px;
	background: #FF8000;
}
.main-case .title-main-case-2  {
	font-size: 21px;
	color: white;
	text-align: center;
	width: 283px;
	height: 38px;
	line-height: 38px;
	margin: 10px auto 30px;
	background: #85B200;	
}

.main-case .title-main-case-3  {
	font-size: 21px;
	color: white;
	text-align: center;
	width: 353px;
	height: 38px;
	line-height: 38px;
	margin: 10px auto 30px;
	background: #00a3da;	
}

.list-case {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;	
}
.list-case li {
	width: 200px;
	margin: 0 23px;
}
.list-case a {
	display: block;
	width: 100%;
	height: 100%;
}
.list-case a:hover {
	opacity: 0.7;
	text-decoration: none;
}
.list-case .case-pic {
	
}
.list-case .case-title {
	text-align: center;
	font-size: 20px;
	color: #000000;
	padding: 10px 0;
}


/* main greeting */
.main-greeting {
	border-bottom: 5px solid #37A2B5;
	overflow: hidden;
}
.main-greeting h2 {
	font-size: 26px;
	color: #37A2B5;
	line-height: 1.2em;
	text-align: center;
	font-weight: normal;
	margin-bottom: 40px;
}

.main-greeting .main-greeting-inner {
	background: url(/img/bg-main-greeting.jpg) 50% 0 repeat-x;
	height: 525px;
	position: relative;
	
	overflow: hidden;

	margin: 0 auto;
		
}
.main-greeting .main-greeting-inner .box-1400 {
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
}
.main-greeting .main-greeting-inner .box-1400 > div {
	width: 50%;
	box-sizing: border-box;
	padding: 50px 0 0 50px;
	overflow: hidden;
	height: 525px;
}
.main-greeting .main-greeting-inner .box-1400:after {
	content: none;
}
.main-greeting .main-greeting-inner .box-1400 > div:last-child {
	overflow: scroll;
}
.main-greeting p {
	font-size: 16px;
	line-height: 1.9em;
	color: black;
	text-align: left;
	margin-bottom: 15px;
}





}
/*===============================================
●index.css  画面の横幅が640pxまで
===============================================*/
@media screen and (max-width:640px){
img{
    max-width: 100%;
    height: auto;
    width /***/:auto;　;
}


/* MAIN VISUAL */
.main-visual {
	position: relative;
	z-index: 0;


}
.main-visual:before {

}

.main-visual .main-visual-inner {
	position: relative;
	
	background: url(/img/main-visual-sp.jpg) center top no-repeat;
	background-size: cover;
	height: 200px;
}

.main-visual .box-1110 {
	position: static;
}

.main-banners {

	padding-top: 0px;
}
.main-banners > div {
	margin-bottom: 10px;
}
.main-banners:after {
	content: none;
}
.main-visual h2 {
	/* padding-top: 110px; */
	text-align: left;
	font-size: 22px;
	color: #00AC9A;
	line-height: 1.2em;
	margin-bottom: 20px;
	text-shadow: 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white;
	font-weight: normal;
	position: absolute;
	left: 50%;
	top: 30%;
	width: 100%;
	transform: translate(-50%, 0%);
	box-sizing: border-box;
	padding-left: 25px;
}


.main-visual p {
	font-size: 13px;
	color: #000000;
	line-height: 1.97em;
	/* margin-top: 20px; */
	text-align: center;
	text-shadow: 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white, 0px 0px 10px white;
	margin-top: 230px;
	position: absolute ;
	left: 0;
	top: 0;
	text-align: left;
	padding: 15px;
}
.main-visual ul {
	text-align: center;
	/* margin-top: 20px; */
	position: absolute ;
	left: 0;
	top: 100%;
	top: calc(100% - 35px);
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 10px;
	box-sizing: border-box;
}
.main-visual ul li {
	display: block;
	width: 15%;
	z-index: 10;
}
.main-visual ul li img {
	width: 100%;
}
.main-visual-recruit {
	position: absolute;
	bottom: -30px;
	right: -20px;
}


/* TITLE MAIN */
.title-main {
	text-align: center;
	font-size: 20px;
	color: #37A2B5;
	line-height: 1.2em;
	margin: 50px auto 30px;
	position: relative;
	font-weight: normal;
}
.title-main span {
	font-size: 20px;
	color: #37A2B5;	
}
/*.title-main:before {
	content: "";
	display: block;
	background: url(/img/title-main.jpg) 0 0 no-repeat;
	width: 396px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 35px;
}
.title-main:after {
	content: "";
	display: block;
	background: url(/img/title-main.jpg) 0 0 no-repeat;
	width: 396px;
	height: 1px;
	position: absolute;
	right: 0;
	top: 35px;
}*/

/* MAIN FEATURE */
.main-feature {
	margin-top: 160px;
	padding: 0 15px;
}
.main-feature h2 {
	text-align: center;
	font-size: 20px;
	color: #37A2B5;
	line-height: 1.2em;
	margin: 50px auto 30px;
	position: relative;
	font-weight: normal;
}
.list-feature {
	
}
.list-feature > li {
	text-align: center;
	margin-bottom: 10px;
}
.list-feature .feature {
	position: relative;	
}
.list-feature .feature > a {
	display: block;
	width: 100%;
	height: 100%;
}

.list-feature .feature > a:hover {
	opacity: 0.7;
}

.list-feature > li p {
	display: none;
}



/* MAIN NEWS */
.main-news {
	padding-top: 15px;
	padding-bottom: 15px;
	background: #E6F4F7;
	margin: 20px auto;
}


.main-news .box-news {
	
}
.main-news .box-news > div {
	padding: 15px 15px;
}
.main-news .box-news > div .title-main:before, .main-news .box-news > div .title-main:after {
	content: none;
}
.main-news .box-news h2 {
	border-bottom: 1px solid #bbb;
	padding-bottom: 5px;
	text-align: left;
	color: black;
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 15px;
}

.main-news .box-news h3 {
	font-size: 18px;
	color: #000000;
	border-bottom: 1px solid #BBBBBB;
	padding-bottom: 5px;
	margin-bottom: 20px;
}

.main-news .box-news > div.main-access {
position: relative;
/*background: url(/img/main-access.png) 0 27px no-repeat;*/
background-size: contain;


margin: 0 15px;
}
.main-access h2 {
border-bottom: none !important;
padding-bottom: 5px;
text-align: left;
color: black;
font-size: 18px;
font-weight: normal;
margin-bottom: 15px;

width: 100%;
}
.main-access h2:before {
	background: url(/img/title-main-access-1.png) 0 0 no-repeat;
	width: 25px;
	height: 27px;
	display: inline-block;
	visibility: visible;
	content: "";
	vertical-align: middle;
	margin-right: 5px;
}
.main-access h2:after {
	background: url(/img/title-main-access-2.png) center center no-repeat;
	width: 30px;
	height: 27px;
	display: inline-block;
	visibility: visible;
	content: "";
	vertical-align: middle;	
	margin-left: 8px;
}
.main-access .btn-main-access {
	margin: 10px auto 0;
	height: 29px;

	width: 100%;
}
.main-access .btn-main-access a {
	display: block;
	text-align: center;
	color: white;
	font-size: 16px;
	line-height: 29px;
	border-radius: 20px;
	background: #FFBF00;
}

/* main banner */
.main-banner {
	
}
.main-banner-top {
	margin: 0 auto;
	padding: 0px 15px;
}

.btn-banner-1 {

}
.btn-banner-1 a {
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.main-banner-top > div:nth-child(1) a {
	text-indent: -9999em;
	background: url(/img/main-banner-1-sp.jpg) center top no-repeat;
	background-size: contain;
	height: 0;
	padding-top: 25.98%;
	margin-bottom: 10px;
}
.main-banner-top > div:nth-child(2) a {
	text-indent: -9999em;
	background: url(/img/main-banner-2-sp.jpg) center top no-repeat;
	background-size: contain;
	height: 0;
	padding-top: 25.98%;
	margin-bottom: 15px;
}
.btn-banner-1 a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.btn-banner-1 .btn-banner-1-pic {
	position: absolute;
	right: 14px;
	top: 14px;	
}
.btn-banner-1 .btn-banner-1-title {
	font-size: 20px;
	color: #54B9CB;
	padding-top: 15px;
	padding-left: 35px;
	font-weight: normal;
}
.btn-banner-1 .btn-banner-1-text {
	font-size: 14px;
	color: #54B9CB;	
	margin-top: 15px;
	padding-left: 15px;
}

.main-banner-bottom {
	padding: 0 15px;
}
.list-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;	
}
.list-btn li {
	width: 49%;
	margin-bottom: 10px;
}
.list-btn li a {
	line-height: 1.2em;
	font-size: 16px;
	color: white;
	background: #54B9CB;
	display: block;
	width: 100%;
	height: 100%;
	padding: 15px 20px;
	box-sizing: border-box;
	position: relative;
}
.list-btn li a:after {
	width: 10px;
	height: 21px;
	background: url(/img/list-btn.png) 0 0 no-repeat;
	content: "";
	position: absolute;
	right: 17px;
	top: 12px;
	visibility: visible;	
	display: inline-block;
}
.list-btn li a:hover {
	text-decoration: none;
	opacity: 0.7;
}


/* main case */
.main-case {
	
}
.main-case h2 {
	color: #37A2B5;
	font-size: 24px;
	background: url(/img/title-line.png) left center repeat-x;
	margin: 75px auto 40px;
	text-align: center;
}
.main-case h2 span {
	color: #37A2B5;
	font-size: 24px;	
	display: inline-block;
	padding: 0 40px;
	background: white;
	font-weight: normal;
	letter-spacing: 5px;
}
.main-case .title-main-case-1  {
	font-size: 18px;
	color: white;
	text-align: center;
	width: 283px;
	height: 38px;
	line-height: 38px;
	margin: 40px auto 30px;
	background: #FF8000;
}
.main-case .title-main-case-2  {
	font-size: 18px;
	color: white;
	text-align: center;
	width: 283px;
	height: 38px;
	line-height: 38px;
	margin: 10px auto 30px;
	background: #85B200;	
}

.main-case .title-main-case-3  {
	font-size: 18px;
	color: white;
	text-align: center;
	width: 283px;
	height: 38px;
	line-height: 38px;
	margin: 10px auto 30px;
	background: #00a3da;	
}

.list-case {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap: wrap;

	margin: 0 auto;	
}
.list-case:after {
	content: none;
}
.list-case li {
	width: 48%;
	text-align: center;
}
.list-case a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;	
}
.list-case a:hover {
	opacity: 0.7;
	text-decoration: none;
}
.list-case .case-pic {
	
}
.list-case .case-title {
	text-align: center;
	font-size: 16px;
	color: #000000;
	padding: 0px 0;
}


/* main greeting */
.main-greeting {

}
.main-greeting h2 {
	font-size: 18px;
	color: #0085B2;
	line-height: 1.2em;
	text-align: center;
	font-weight: normal;
	margin-bottom: 15px;
}

.main-greeting .main-greeting-inner .box-1400 > div:first-child {
	background: url(/img/bg-main-greeting-sp.jpg) center top no-repeat !important;
	background-size: contain !important;
	height: 0px;
	padding-top: 31.875%;
}
.main-greeting .main-greeting-inner .box-1400 > div:last-child {
	padding: 15px;
}
.main-greeting h3 {
	text-align: left;
	font-size: 20px;
	color: #26261F;
	font-weight: normal;
	padding: 20px 0 20px;
}

.main-greeting p {

	line-height: 1.9em;
	color: black;
	text-align: left;
	margin-bottom: 15px;
}
.main-greeting p:last-child {
	text-align: right;
}


}