@charset "utf-8";
/* -- general --*/

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 160%;
	color: #333;
	background: #fff;
}

header,
section,
footer {
	width: 100%;
	float: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-weight: lighter;
	color: #666;
}

a:hover,
a:focus,
a:visited {
	text-decoration: none;
	outline: none;
	border: none;
}

ul,
lo,
li {
	margin: 0;
	padding: 0;
	list-style: inside;
}

img {
	max-width: 100%;
}

.img-thumbnail {
	border-radius: 0;
}

.container {
	width: 100%;
	max-width: 990px;
}

.hover-opacity:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
	opacity: 0.7;
}

.hover-underline:hover {
	text-decoration: underline;
}

.wrap-main-description {
	min-height: 3px;
	font-size: 13px;
}

.main-description h1 {
	padding: 5px 0;
	color: #fff;
}

a {
	color: #2980b9;
}

.color-primary,
.header-telephone a,
.text-primary {
	color: #e83382 !important;
}

.border-primary {
	border-color: #e83382 !important;
}

.background-primary {
	background-color: #e83382 !important
}

/* -- end -- */

/* header */

.wrap-header {
	width: 100%;
	float: left;
	position: relative;
}

.slide {
	width: 100%;
	float: left;
	top: 0;
	left: 0;
	position: relative;
	/*border-bottom: 5px solid #70ABF5;*/
}

.wrap-slide {}

.bx-wrapper img {
	width: 100%;
	display: block;
	object-fit: cover;
	height: 550px;
}

.bxslider ._edEdit {
	height: 100%;
}

.banner-page .bx-wrapper img {
	height: 350px;
}

.wrap-menu {
	width: 100%;
	top: 0;
	border-bottom: solid 1px #509af4;
	position: absolute;
	z-index: 98;
	text-align: center;
}

.text-on-slide {
	width: 100%;
	position: absolute;
	top: 50%;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
	transform: translateY(-50%);
	color: #fff;
	text-align: center;
	z-index: 97;
}

.btn-sp {
	display: none;
}

.logo {
	float: none;
	display: inline-block;
	padding-right: 80px;
}

.logo a {
	display: block;
}

.main-navigation {
	padding: 20px 0;
	background: rgba(112, 171, 245, 0.58);
}

.main-menu {
	float: none;
	margin: 0;
	text-align: right;
	display: inline-block;
}

ul.menu li {
	display: inline-block;
	float: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.btn-contact a::after {
	color: #fff;
	padding-left: 10px;
	content: "";
	font-family: "FontAwesome";
	padding-right: 16px;
}

/*ul.menu li.active, ul.menu li:hover {
	background: rgba(51,153,102,1)
}*/

ul.menu li a {
	color: #fff;
	font-size: 16px;
	line-height: normal;
	padding: 0 20px;
	display: block;
}

.txt-des {
	font-size: 45px;
	font-weight: bold;
	line-height: 140%;
	letter-spacing: 2px;
}

.btn-contact {
	border: solid 1px #fff;
	display: inline-block;
	padding: 15px 15px;
	margin-top: 20px;
	border-radius: 5px;
}

.btn-contact a {
	font-size: 18px;
	color: #fff;
	display: block;
}

.btn-contact a ._edEdit {
	display: inline-block
}

.btn-contact a:hover {
	text-decoration: none;
}

/* end header */

/* content */

.wrap-content {
	padding-top: 20px;
	padding-bottom: 20px;
	width: 100%;
	float: left;
}

.main-content {
	width: 100%;
	float: left;
}

.wrap-content:nth-child(2n) {
	background-color: #eaf4fb;
}

.wrap-content:nth-child(2n) h4 {
	background-color: #eaf4fb;
}

.title-style01 {
	text-align: center;
	position: relative;
	margin-bottom: 15px;
}

.title-style01 h3 {
	border-bottom: 1px solid #70ABF5;
	display: inline-block;
	font-size: 40px;
	text-transform: uppercase;
	line-height: 120%;
	padding-bottom: 5px;
	text-align: center;
}

.title-style01 h4 {
	background-color: #fff;
	box-sizing: border-box;
	color: #333333;
	display: inline-block;
	font-size: 14px;
	padding: 3px 10px;
	position: relative;
	text-align: center;
	top: -12px;
}

.title-child {
	margin-bottom: 15px;
}

.title-child h5 {
	color: #333333;
	font-size: 20px;
	font-weight: bold;
	line-height: 140%;
	border-bottom: 2px solid #678790;
	padding-bottom: 5px;
}

.title-child h6 {
	background: #fdeaf2;
	border-left: 4px solid;
	display: inline-block;
	font-size: 17px;
	line-height: 140%;
	padding: 4px 8px 3px;
	width: 100%;
}

/* end content */

/* footer */

.wrap-footer {
	width: 100%;
	float: left;
}

.footer-firts {
	background: #333333;
	padding: 20px 0;
	width: 100%;
	float: left;
}

.footer-second {
	background: #3c3c3c;
	padding: 20px 0;
	width: 100%;
	float: left;
}

.footer-info {}

.footer-link-copyright {
	text-align: right;
}

.footer-info ul li {
	color: #fefee5;
	font-size: 13px;
	line-height: 160%;
	margin-bottom: 10px;
	list-style: none;
}

.footer-info ul li a {
	display: table-cell
}

.footer-info ul li div._edEdit {
	display: table-cell;
}

.footer-info ul li i {
	display: table-cell;
	padding-right: 10px;
	color: #52a7e0
}

.number-tel,
.number-mail {
	color: #fefee5;
	text-decoration: none;
}

.number-tel:hover,
.number-mail:hover {
	color: inherit;
	text-decoration: underline;
}

.copyright {
	color: #fff;
	font-size: 11px;
	line-height: 180%;
	padding-top: 20px;
	text-align: right;
}

ul.icon_list {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}

ul.icon_list li {
	display: inline-block;
	padding-left: 3px;
	padding-right: 3px;
}

ul.icon_list li a i {
	display: inline-block;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 50%;
	text-align: center;
	width: 30px;
	height: 30px;
	line-height: 30px;
	transition: all 1s ease;
	-webkit-transition: all 1s ease;
}

ul.icon_list li a i:hover {
	transform: rotate(720deg);
	-webkit-transform: rotate(720deg);
}

.footer-firts .fa-angle-double-up {
	font-size: 30px;
	color: #509AF4;
}

/* end footer */

/* page top*******************************/

/* service *******************************/

.service-item {
	margin-top: 0px;
}

.sv-img {
	width: 100%;
	float: left;
}

.sv-img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.sv-img ._edEdit img {
	width: 100% !important;
	left: 0;
	top: 0;
}

.sv-name {
	color: #333333;
	float: left;
	font-size: 14px;
	font-weight: bold;
	height: auto;
	line-height: 160%;
	padding: 10px 0;
	text-align: center;
	width: 100%;
}

.sv-des {
	width: 100%;
	float: left;
}

.sv-btn {
	width: 100%;
	float: left;
	text-align: center;
	padding: 5px 0 0 0;
}

.sv-btn a {
	color: #fff;
	font-weight: bold;
}

.sv-btn a span {
	padding: 3px 10px;
	background: #06C;
}

/* end service ***************************/

/* about ************************************/

/*.bg-about {
	background-color: #eaf4fb;
}*/

.content-wrap-news {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	height: 270px;
	overflow: hidden;
}

.content-wrap-news div._edEdit {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	height: 270px;
	overflow-y: scroll
}

.content-wrap-news p:nth-child(odd) {
	width: 20%;
	color: #e74c3c;
	border-bottom: solid 1px #ccc;
}

.content-wrap-news p:nth-child(even) {
	width: 80%;
	padding-left: 10px;
	padding-right: 10px;
	border-bottom: solid 1px #ccc;
	text-align: left;
}

.content-wrap-news p {
	margin-bottom: 0;
	padding: 10px 0;
}

#map iframe {
	height: 220px;
	width: 100%;
}

#map {
	width: 100%;
	float: left;
}

.ab-col-left {
	padding-left: 50px;
	background: url(../images/type-anchor.png) left top no-repeat;
}

.ab-col-left::before {}

/* end about *****************************/

/* end page top********************************/

/* -- fix images raku --*/

.data-wrap {
	width: 100% !important;
	vertical-align: middle;
	border: none;
}

#formAdmin {
	height: 0;
}

.bxslider ._edEdit {
	height: 100%;
}

/* -- end fix images raku --*/

.wrap-primary-table {
	margin-bottom: 15px
}

.primary-table {
	width: 100%;
}

.table_column_type_title_left tr td:first-child {
	background: #f28eba;
	min-width: 30%;
	text-transform: uppercase;
	color: #505050;
	text-align: left;
	border-bottom: 1px dashed #fff;
}

.table_column_type_title_left tr:last-child td {
	border-bottom: none
}

.primary-table tr td {
	padding: 10px 15px;
	font-size: 14px;
}

.content-text,
.content-text-images {
	margin-bottom: 20px;
}

.content-text img {
	max-width: 100%;
}

.table_column_type_title_left tr td:last-child {
	background: #fff;
	border: solid 1px #ccc
}

.table_column_type_title_top tr td {
	background-color: #f9f7f4;
	border: solid 1px #dddddd;
	box-sizing: border-box;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}

.gallery-item {
	margin-bottom: 30px;
	text-align: center
}

#gallery {
	margin-top: 15px;
}

/* -- faq -- */

.wrap-faq {
	margin-bottom: 10px;
}

.wrap-faq .question p,
.wrap-faq .answer p {
	font-size: 13px;
}

.wrap-faq .question {
	cursor: pointer;
	position: relative;
	padding-right: 45px;
	padding-left: 45px;
}

.wrap-faq .question span,
.wrap-faq .answer span {
	font-size: 20px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #ff8400;
}

.wrap-faq .question span:first-child {
	color: #8c8c8c;
}

.wrap-faq .question span.pull-left {
	left: 15px;
}

.wrap-faq .question span.pull-right {
	right: 15px;
}

.wrap-faq .answer {
	display: none;
	position: relative;
	padding-left: 45px;
}

.wrap-faq .answer span.pull-left {
	left: 15px;
}

.gallery-item img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.gallery-item ._edEdit img {
	border: none !important;
	width: 100% !important;
	height: 200px;
	object-fit: cover;
}

/* -- end faq -- */

.text_on_slide_2 {
	box-sizing: border-box;
	color: #ffffff;
	font-size: 20px;
	line-height: 140%;
	text-align: center;
	width: 100%;
}

img.alignright {
	float: right
}

img.alignleft {
	float: left
}

img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto
}

.content-text-images {
	text-align: center
}

/* add style */

a {
	color: #2980b9;
}

.footer-info ul li i,
.content-wrap-news p:nth-child(odd) {
	color: #fff ;
}

.title-child h5 {
	border-bottom: solid 2px #2e87f4 !important;
	;
}

.sv-btn a span {
	background: #2e87f4 !important;
	;
}

.border-primary {
	border-color: #2e87f4 !important;
}

.background-primary {
	background-color: #2e87f4 !important
}

.primary-navigation ul li a:hover,
.primary-navigation ul li.active a,
.primary-navigation ul li.current-menu-item a {
	background: #2e87f4;
}

/**/

.title-style-second,
.wrap-navigation-slider,
.navigation-footer-item a .bg-navigation-footer span {
	background: #ffaacf;
}

.primary-navigation ul li {
	background: #ec5899;
}

.primary-navigation ul li {
	border-bottom: 1px solid #2e87f4;
	border-top: 1px solid #ffaacf;
}

.primary-navigation ul li:first-child {
	border-top: 2px solid #2e87f4;
}

.primary-table tr:first-child td {}

.table_column_type_title_top tr:first-child td {
	background: #2e87f4 !important;
	color: #fff;
	text-align: center;
	font-size: 16px;
}

.table_column_type_title_top tr:first-child td:first-child {
	border-left: solid 1px #2e87f4 !important
}

.table_column_type_title_top tr:first-child td:last-child {
	border-right: solid 1px #2e87f4 !important
}

.table_column_type_title_left tr td:first-child {
	background: #2e87f4 !important;
	color: #fff;
	font-weight: bold;
}

.table_column_type_title_left tr:first-child td:first-child {
	border-top: solid 1px #2e87f4 !important
}

.footer-firts {
	background: #e6e4e6 !important;
}

.footer-second {
	background: #509af4 !important;
}

.title-child h6 {
	background: transparent !important;
}

.wrap-content:nth-child(2n),
.wrap-content:nth-child(2n) h4 {
	background: #ffffff !important;
}

ul.menu li a {
	color: #ffffff !important;
	font-weight: bold;
}

/**/

header .menu-item:hover a{
	background: #009aff;
    border-radius: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
}
header .current-menu-item a{
	background: #009aff;
    border-radius: 20px;
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}
.service-item img{
	border: 2px solid  #0000FF !important;
}
.hv-o:hover{
	opacity: 0.8;
}
.link{
	color: inherit !important;
}
.link:hover{
	text-decoration: underline !important;
}
.rows{
	width: 100%;
	float: left;
}
.title-child h6{
	color: #2E87F4;
}
.title-child h6 div{
	color: #2E87F4;
	font-weight: bold;
}
.primary-table tr td p{
	margin: 0;
}
.content-text-images img{
	border: 1px solid #2E87F4;
	padding: 5px;
}
.lt_sc{
	letter-spacing: -0.8px;
}
.show_sp{
	display: none;
}
.hide_sp{
	display: inline-block;
}
.txt_white{
	color: #fff;
}
.txt_white:hover{
	color: #fff;
	text-decoration: underline;
}
.mg_ft{
	margin-bottom: 20px !important;
}
textarea{
	resize: none;
}
.tbcontact_w{
	width: 25%;
}
.title_blog{
	float: left;
	color: #ff0000;
	padding-left: 20px;
}
.date_blog{
	float: left;
	color: #009aff;
	font-weight: bold;
	word-wrap: break-word;
}
.blog_hr{
	padding: 10px 0;
}
.txt_note{
	font-weight: bold;
	font-size: 20px;
	color: #2E87F4;
	text-align: center;
}
.pd-0{
	padding: 0;
}
/* end add style */
.bx-wrapper img {
	height: calc(440vw / 1200 * 100);
}


@media screen and (max-width:1100px) {
	.logo {
		padding: 20px 0 20px 0;
	}
	.main-navigation {
		padding: 0 0 0px 0
	}
}

@media screen and (min-width:768px) {
	ul.menu {
		display: inline-block !important;
	}
}

@media screen and (max-width:768px) {
	.col-sm-4 {
		width: 100%
	}
	.sv-img img {
		height: auto
	}
	.content-wrap-news p:nth-child(2n+1) {
		width: 25%;
	}
	.content-wrap-news p:nth-child(2n) {
		width: 75%;
	}
}

@media screen and (max-width:767px) {
	.txt_note{
		font-size: 16px;
	}
	.service-item {
		margin-bottom: 20px;
	}
	.contact_hide_sp{
		display: none;
	}
	.contact_txt_center{
		text-align: center;
	}
	body{
		font-size: 12px;
	}
	.title-style01 h3{
		font-size: 25px;
	}
	.title-style01 h4{
		font-size: 12px;
	}
	.title-child h5{
		font-size: 16px;
	}
	.title-child h6{
		font-size: 14px;
	}
	.show_sp{
		display: inline-block;
	}
	.hide_sp{
		display: none;
	}
	.primary-table tr td{
		width: 100%;
		float: left;
		max-width: 100%;
	}
	.primary-table tr td:first-child{
		text-align: center;
	}
	.pd_0{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.btn-sp {
		display: block;
		float: left;
		width: 100%;
	}
	ul.menu {
		display: none;
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		z-index: 999;
	}
	.wrap-menu {
		border-bottom: none;
		text-align: left;
		padding: 0 0px;
	}
	.logo {
		text-align: left;
		padding-right: 0;
	}
	.main-menu {
		float: right;
		width: 40px;
		font-size: 20px;
		color: #fff;
		border: solid 1px #fff;
		text-align: center;
		padding: 5px;
		margin-top: 15px;
		margin-right: 15px;
	}
	.wrap-slide .bx-wrapper .bx-viewport {
		height: 350px !important;
	}
	.bx-wrapper img {
		display: block;
		height: 350px;
		object-fit: cover;
		width: 100%;
	}
	.txt-des {
		font-size: 32px;
	}
	.ab-col-left {}
	ul.menu li {
		width: 100%;
		float: left;
		text-align: left;
		background: #505050 none repeat scroll 0 0;
		border-bottom: 1px solid #ccc;
	}
	ul.menu li a {
		padding: 15px 10px;
	}
	header .menu-item:hover a{
		padding-top: 15px;
		padding-bottom: 15px;
		border-radius: 0;
	}
	header .current-menu-item a{
		padding-top: 15px !important;
		padding-bottom: 15px !important;
		border-radius: 0;
	}
	.sv-img img {
		width: 100%;
	}
	ul.icon_list {
		text-align: center;
		margin-top: 10px;
	}
	.copyright {
		text-align: center;
	}
	.ab-col-left {
		margin-top: 10px;
	}
	.sv-img img {
		width: 100%;
		height: auto !important;
		object-fit: cover;
	}
	.sv-img ._edEdit img {
		width: 100% !important;
		left: 0;
		top: 0;
	}
	.content-text-images {
		text-align: center;
	}
	.content-text-pad-left {
		padding-left: 0;
	}
	.gallery-item img {
		width: 100%;
		height: auto !important;
		object-fit: cover;
	}
	.gallery-item ._edEdit img {
		border: none !important;
		width: 100% !important;
		height: auto !important;
		object-fit: cover;
		left: 0 !important;
		top: 0 !important;
	}
	.map {
		margin-top: 20px
	}
}

@media screen and (max-width:640px) {
	.content-wrap-news p:nth-child(odd) {
		width: 100%;
		color: #e74c3c;
		border-bottom: solid 1px #ccc;
	}
	.content-wrap-news p:nth-child(even) {
		width: 100%;
		padding: 10px 0;
		border-bottom: solid 1px #ccc;
	}
	.sv-img img {
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
}

@media screen and (max-width:480px) {
	.banner-page .bx-wrapper img {
		height: 255px;
	}
	.main-navigation {
		background: rgb(180, 213, 255);
	}
	.bx-wrapper img {
		display: block;
		height: 267px;
		object-fit: contain;
		width: 100%;
	}
	.wrap-slide .bx-wrapper .bx-viewport {
		height: 195px !important;
	}
	.txt-des {
		font-size: 24px;
	}
	.btn-contact {}
	.btn-contact a {
		font-size: 14px
	}
	.logo a img {
		max-width: 220px;
	}
	.text-on-slide {
		padding: 0 10px;
	}
	.btn-contact {
		padding: 10px;
	}
	.logo-ft img {
		max-width: 220px
	}
}

@media screen and (max-width:350px) {
	.txt-des {
		font-size: 18px;
	}
	.bx-wrapper img {
		display: block;
		height: 262px;
		object-fit: contain;
		width: 100%;
	}
	.wrap-slide .bx-wrapper .bx-viewport {
		height: 185px !important;
	}
}
