@charset "utf-8";
body {
	background:rgba(255,255,255,1.00);
	color: #231815;
	max-width: 1920px;
	overflow-x: hidden;
	font-size: 16px;
}
/* CSS huck */
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	body {
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" ;
	}
}
/* 汎用 */
.no-padding {
	padding:0;
}
/* marginの設定 */
div#about , div#info , div#contact{
	margin-top:130px;
}
div#menu , div#menu_table , div#profile {
	margin-top:80px;
}
div#pagetop {
	margin-top:0px;
}
/* marginの調節 */
div.fitting {
	content: "";
	display: block;
	height:50px;
	margin:0;
	padding:0;
}

/* 共通設定 */

h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-shadow: 0 1px 1px #999;
	font-size:33px;
	margin-top:0px;
}
h2:after {
	content: "";
	display: block;
	border:1px solid #004ea2;
	width:100%;
}
h3 + span + hr {
	height:2px;
	background-color: #004ea2;
	margin:0 0 20px 0;
}
@media screen and (max-width: 991px) {
	h2 {
		margin-top:20px;
		font-size: 28px;
	}
}
a {
    color: #004ea2
}
a:hover {
    color: #004ea2;
}
.bold {
	font-weight: bold;
}

/* navbar custom */
.navbar-default {
	background: rgba(255,255,255,1);
	border: none;
	transition: background 0.7s;
}
/* main title */
.navbar-header h1 {
	font-size: 12px;
	margin: 0;
	padding-bottom: 8px;
}
.navbar-header p {
	margin-top: 1.25rem;
	margin-right: 1rem;
	display: block;
}
.navbar-header img {
	/*max-height: 84px;*/
}
.logo img {
	width: 340px;
	height: 100%;
}
.navbar-toggle {
	margin-top: 0px;
}
@media screen and ( max-width: 991px ) {
	.navbar-header p {
		display: inline;
		margin-right: 0;
	}
	.navbar-header img {
		max-width: 230px;
	}
}
a.navbar-brand {
	margin: 0;
	padding: 4px 0;
}
/* リンクの文字色 */
.navbar-default .navbar-nav > li > a {
	color: #fff;
	background: #63bfd1;
	text-shadow: none;
	transition: text-shadow 0.5s;
	transition: color 0.5s;
	text-align:center;
}
@media screen and (min-width: 991px) {
	.navbar-default .navbar-nav > li {
		width: 150px;
	}
}
/* オンマウス時 */
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
	color: #fff;
	background:none;
	text-decoration: none;
	transition: text-shadow 0.7s , color 0.4s;
	background: #004ea2;
}
/* ~767px */
@media screen and (max-width:767px){
	.navbar-default {
		background: rgba(255,255,255,0.85);
		border-color: rgba(32,32,32,0.90);
	}
	.navbar-default .navbar-nav > li {
		border-top:1px solid rgba(32,32,32,0.90);
		border-bottom:1px solid rgba(181,181,181,0.90);
	}
	.navbar-default .navbar-nav > li:first-child {
		border-top:2px solid rgba(64,64,64,0.60);
	}
	.navbar-default .navbar-nav > li a {
		background: #004ea2;
		text-shadow:none;
		transition: text-shadow 0.5s;
		transition: color 0.5s;
		text-align:center;
	}
	.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
		background: #63bfd1;
		color: #ccc;
		transition: color 0.5s;
	}
	.navbar-nav {
		margin-top:0;
		margin-bottom:0;
	}
}

/*****************/
/*****************/

/*--- carousel caption custom ---*/
.carousel-caption {
	position: absolute;
	right: 8%;
	top: 39%;
	left: 8%;
	z-index: 1;
	padding-top: 20px;
	padding-bottom:20px;
	color: #fff;
	text-align: center;
}
.carousel-caption h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:40px;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 1.0);
}
.carousel-caption h2 + p.business_hours {
	text-decoration: underline;
	font-size:18px !important;
}
.carousel-caption p {
	font-size:26px;
	margin: 3px 0 0 0;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 1.0);
}
/* アイコン位置の調整 */
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-arrow-left,
.carousel-control .glyphicon-arrow-right {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-block;
	margin-top: -10px;
	font-size:24px;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-arrow-left {
	left: 50%;
	margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-arrow-right {
	right: 50%;
	margin-right: -10px;
}

/* responsive carousel */
@media (max-width:767px){
	.carousel-inner div {
		position:relative;
		overflow:hidden;
		width:100%;
		height:390px;
	}
	.carousel-inner div img {
		position:absolute;
		left:50%;
		min-width:748px;
		min-height:390px;
		margin-left:-374px;
	}
	.carousel-caption h1 {
		font-size:32px;
	}
	.carousel-caption h1 + p.business_hours {
		font-size:15px !important;
	}
	.carousel-caption p {
		font-size:13px;
	}
}
/* read more button */
span.read_more:before {
	content: "";
	display: block;
}
span.read_more {
	display: inline-block;
	margin:2px 10px 7px;
}
span.read_more a {
	display: block;
	background-color:#004ea2;
	border-radius: 2px;
	color: #fff;
	padding: 13px 26px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.02em;
}
span.read_more a:hover {
	display: block;
	background-color: #c9caca;
	color: #231815;
	text-decoration: none;
}


/*------ id=about ------*/
#about .about-image {
	background:url(images/top_info.jpg) center right no-repeat;
	height:300px;
}
#about .row:nth-child(2) {
	margin-top:32px;
}
@media screen and (max-width: 767px) {
	#about .about-image , #about .about-image-right {
		width:70%;
		height:200px;
	}
}

/*------ id=menu ------*/
#menu h2 + p {
	margin-bottom: 18px;
}
/* レスポンシブ処理 */
#menu img {
	max-width: 100%;
	height: auto;
}
#menu div.menu_list {
	text-align: center;
}
.menu_list h3 {
	font-size:17px;
	margin:15px auto 0px;
	height:40px;/* 高さを固定してデザインを安定させる。*/
}
.menu_list h3 + span {
	display: block;
	text-align: right;
	margin-right:10px;
	font-style: italic;
}
.menu_list hr {
	height:1px;
}
.menu_list p {
	font-size:13px;
	margin-bottom:20px;
}
.row .menu_list:nth-child(1) {
	padding-top:0px;
}
.row .menu_list:nth-child(2) {
	padding-top:60px;
}
@media screen and (max-width: 1200px) {
	.row .menu_list {
		padding-top:0px !important;
	}
}
@media screen and (max-width: 767px) {
	.menu_list img {
		max-width:70% !important;
		height:auto;
	}	
	.menu_list h3 {
		height:20px;
	}
}

/*------ id=menu_table ------*/
#menu_table h3 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:30px;
	letter-spacing: 0.04em;
	text-shadow: 0 1px 1px #999;
	height:38px;
}
#menu_table table {
	font-size:13.5px;
}
#menu_table th {
	font-weight:normal !important;
	width:80%;
}
#menu_table td {
	font-style: italic;
	padding-right: 0px;
	padding-left:0px;
	min-width:90px;/* 値段が改行されるのを防ぐ */
}
#menu_table table {
	border-bottom:1px solid #ddd;
}
@media screen and (max-width: 767px) {
	/* レスポンシブテーブル */
	#menu_table th , #menu_table td {
		display: block;
		width:100%;
	}
	#menu_table td {
		text-align: right;
	}
	#menu_table th {
		padding-bottom:0;
	}
	#menu_table td {
		border-top: none;
		padding-top:0;
	}
}

/* gallery - swiper */
div#gallery .swiper-container {
	width: 100%;
	margin: 0px auto 70px;
}
div#gallery .swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	}
div#gallery .swiper-slide img {
	max-height: 450px;
	width: auto;
}
/* pagination */
.swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	display: inline-block;
	border-radius: 100%;
	background: #999;
	opacity: 0.65;
	transition: all 0.3s ease-in-out;
}
.swiper-pagination-bullet-active {
	opacity: 1;
	background: #63bfd1;
	transition: all 0.3s ease-in-out;
}
.gallery_img {
	padding-left: 15px;
	padding-right: 15px;
}
/* ページトップ */
div#pagetop {
	border-bottom:1px solid #999;
	background:url(images/pagetop.jpg) center center no-repeat;
}
div#pagetop div {
	height:145px;
	position: relative;
	padding:0;
}
div#pagetop a {
	min-width:195px; /* デザイン崩れを防ぐ */
	font-size:39px;
	color:#FFf;
	text-shadow: 1px 1px 1px #999;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0);
	animation: move-text 2400ms infinite;
}
@media screen and ( max-width: 768px ){
	div#pagetop a {
		font-size: 20px;
	}
}
div#pagetop a span {
	font-size:33px;
}
div#pagetop a:hover {
	color:#EEE;
	text-decoration: none;
	text-shadow: 1px 2px 1px #333;
}
div#pagetop a:focus {
	text-decoration: none;
}
@keyframes move-text {
	0% { left: 50%; top: 50%;}
	50% { left: 50%; top: 53%;}
	100% { left: 50%; top: 49%;}
}

/* フッターメニュー */
footer#footer_info {
	font-size:15px;
	border-top:1px solid rgba(32,32,32,0.70);
	padding-top:50px;
	background-color: #63bfd1;
	color: #fff;
}
#footer_info h3 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:23px;
	margin-top:0px;
	text-shadow: 0 1px 1px #999;
}
#footer_info h3:after {
	content: "";
	display: block;
	border:1px solid #fff;
	width:100%;
}
#footer_info div.footer_sitemenu ul {
	list-style:none;
	padding-left:3px;
}
#footer_info div.footer_sitemenu ul li:before {
	font-size:10px;
	content: "◆";
	margin-right:5px;
}
#footer_info div.footer_address ul {
	list-style: none;
	padding:0;
}
#footer_info div.footer_address ul li {
	padding-top:2px;
	padding-bottom:2px;
}
/* 右下のやつ */
.footer-cm {
	background: #004ea2;
	padding: 15px 10px;
	text-align: center;	border-radius: 25px;
}
.cm-open {
	font-size: 22px;
	font-weight: bold;
}
.contact-cm {
	margin-top: 20px;
	background: #fff;
	border-radius: 25px;
	text-align:center;
	padding: 20px 0;
	color: #231815;
}
.contact-cm span.cm-num {
	display: block;
	font-size: 22px;
	font-weight: bold;
	text-decoration: underline;
}
.cm-form a {
	display: block;
	font-size: 16px;
	font-weight: bold;
	background: #004ea2;
	padding: 10px 0;
	margin: 15px 10px 0px 10px;
	color: #fff;
	text-decoration: none;
}
.cm-form a:hover {
	background: #63bfd1;
}


/*--- コピーライト ---*/
footer div.copyright {
	background-color: #63bfd1;
	font-size:14px;
	margin-top:24px;
	padding:10px 0 22px;
	text-align:center;
}
/* icon */
span.circle_icon {
	display: inline-block;
	position: relative;
}
span.circle_icon a {
	display: block;
	background-color: #63bfd1;
	border-radius: 25px;
	font-size:27px;
	width:50px;
	height:50px;
}
span.circle_icon a i {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%,-50%,0);
	color:#FFF;
	transition: transform 0.2s ease-in-out;
}
span.circle_icon a:hover {
	background: rgba(126,175,144,1.00);
	transform: scale(1.18);
	transition: transform 0.2s ease-in-out;
}
span.circle_icon a:hover i {
	color:#FFF;
}

/*-----------------------------------------------*/
/* info */
div#info h2 {
	margin-top: 13px;
}
div#info h3 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:22px;
	letter-spacing: 0.04em;
	text-shadow: 0 1px 1px #999;
}
div.info_image {
	text-align: center;
}
div.info_image div {
	max-width:768px;
}
img.responsive {
	max-width: 100%;
	height: auto;
}
table.info_table th {
	font-weight: normal;
	min-width: 122px;
}
table.info_table th:before {
	content: "◆";
	display: inline-block;
	margin-right:6px;
	font-size:12px;
}
table.info_table tr:last-of-type {
	border-bottom:1px solid #ddd;
}
h2#access {
	margin-top:-50px;
	padding-top:90px;
}
div#info #map_canvas{
	position: relative;
	padding: 35px 0 56.25% 0;
	height: 0;
	overflow: hidden;
}
div#info #map_canvas iframe ,
div#info #map_canvas object,
div#info #map_canvas .embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
@media screen and (min-width:768px) and (max-width: 991px) {
	/* 位置調整 調整が要らないときは削除 */
	h2#access {
		margin-top:-110px;
		padding-top:160px;
	}
}
@media screen and (max-width: 991px) {
	div#info #map_canvas{
		padding: 55px 0 66.25% 0;
	}
}
@media screen and (max-width: 767px) {
	table.info_table tr th , table.info_table tr td {
		display: block;
		width:100%;
	}
	table.info_table tr th {
		color:#FFF;
		background: rgba(162,212,170,1.00);
	}
}

/* アレンジしたやつ～ */
@media screen and (max-width: 767px ) {
.nav-img {
	display: inline;
	max-width: 28px !important;
	width: 100%;
}
}
@media screen and (min-width:768px ) {
	.nav-img {
		width: 50px;
		display: block;
		margin: 0 auto;
	}
}
#main-info {
  margin-top: 60px;
  background: #63bfd1;
  color: #fff;
  padding-top: 50px;
  padding-bottom: 45px;
}
#main-info h2 {
  text-align: center;
}
#main-info h2:after {
  border-bottom-color: #fff;
}
#main-info img {
  margin-bottom: 15px;
}

#main-recruit {
	margin-top: -60px;
 	padding-top: 120px;
 	background: url(images/rec-bg.png) bottom left no-repeat;
 	padding-bottom: 60px;
}
#main-recruit h3 {
  background: #004ea2;
  padding: 6px 9px;
  color: #fff;
}
@media screen and ( max-width:767px ){
	#main-recruit p {
		padding:5px;
		background: rgba(255,255,255,0.7);
	}
}

.font-big {
	font-weight: bold;
}
ul.target {
	margin: 20px 15px;
	padding: 0;
}
.target li {
	list-style: none;
	padding-top: 6px;
	padding-bottom: 6px;
	border-top: 1px solid #231815;
}
.target li:before {
	content: "■";
	display: inline-block;
}
.target li:last-of-type {
	border-bottom: 1px solid #231815;
}
ul.target.no-border {
	margin: 10px 15px;
}
.target.no-border li {
	border: none !important;
}

div#work {
	margin-top: -120px;
}
@media screen and ( max-width: 1024px ) {
	div#work {
		margin-top: -60px;
		padding-top: 100px;
	}
}

/* 事業所のテーブル */
table.office {
	margin-bottom: 30px;
}
table.office th {
	min-width: 120px;
	text-align: center;
}
table.office th {
	border-right: 1px solid #fff;
}
table.office th , table.office td {
	padding: 8px;
}
table.office tr:nth-child(odd) {
	background: #f9f9f9;
}
table.office tr:nth-child(even) {
	background: color-mix(in sRGB, #63bfd1, #fff 85%);
}
/* 関連法人のところ */
#off {
	padding-bottom: 70px;
}
#off h3 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size:22px;
	letter-spacing: 0.04em;
	text-shadow: 0 1px 1px #999;
}
.com {
	padding: 0;
}
.com li {
	list-style: none;
}
.com li:before {
	content: "■";
	display: inline-block;
}
.com li a {
	color: #231815;
}
/* グーグルマップ */
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.font-em {
	color: #004ea2;
	font-weight: bold;
}
/* お問い合わせ */
#contact {
	margin-bottom: 60px;
}
.formtable {
	margin-top: 15px;
}
.formtable th , .formtable td {
	padding-top: 14px;
	padding-bottom: 14px;
	padding-left: 20px;
	padding-right: 20px;
}
.formtable th {
	text-align: center;
	border-right: 2px solid #fff;
	min-width: 180px;
}
table.formtable tr:nth-child(odd) {
	background: #f9f9f9;
}
table.formtable tr:nth-child(even) {
	background: #e3efff;
}
table.formtable textarea {
	display: inline-block;
	width: 100%;
}
@media screen and (max-width:768px){
	table.formtable th , table.formtable td {
		width: 100%;
		display: block;
	}
	table.formtable input[type="text"] {
		display: inline-block;
		width: 100%;	
	}
}