@charset "UTF-8";
/*Reset
---------------------------------------------------------------------*/

/*html, body, div, span, object, iframe,*/
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
/*small, strong, sub, sup, var,b, i,
dl, dt, dd,ol, ul, li,*/
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
/*footer, header, */hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}
article,nav,section,header,footer,aside,main,address{
	display:block;
}
* {
	box-sizing: border-box;
}
nav ul,
nav li{
	list-style:none;
	margin:0;
	padding:0;
}
img {
	line-height:0;
	border:none;
	max-width:100%;
	height:auto;
	-moz-box-sizing: border-box;
 	-webkit-box-sizing: border-box;
	box-sizing:border-box;
}

/*フォーム*/
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 16px;
}
/* スマホ    @media screen and (max-width: 767px) ;*/
/* タブレット @media screen and (min-width: 768px) and (max-width: 991px) ;*/
/* PC       @media screen and (min-width: 992px) ;*/


/*body
---------------------------------------------------------------------*/
body{
	margin: 0px;
	padding: 0px;
	background-color: #FFF;
	color: rgba(51,51,51,1);
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
	line-height: 1.5;
	font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Yu Gothic Medium', '游ゴシック Medium', 'YuGothic', '游ゴシック体', 'メイリオ', sans-serif;
}

@media screen and (max-width: 767px){
	body{
		font-size:90%;
	}
}
/*wrapper
---------------------------------------------------------------------*/
#WRAPPER{
	margin:0px;
	padding:0px;
	height:100%;
	overflow-x: hidden;
	position: relative;
	background-color:rgba(255,255,255,1);
}
.wrapper_fixed{
	padding-top:100px !important;
}
.overlay {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	opacity: 0;
	transition: opacity .4s, visibility .4s;
    visibility: hidden;
	background-color:rgba(0,0,0,.5);
}
.overlay.open {
	opacity: 1;
    visibility: visible;
}

/*header
---------------------------------------------------------------------*/
#header{
    top:-100px;
	z-index:11;
	width:100%;
	padding:15px 2%;
	display:flex;
    align-items: center;
    justify-content:space-around;
}
#header.fixed{
	top: 0;
	right: 0;
	position: fixed;
	margin: 0;
    transition: all .65s;
    width: 10%;
    min-width:100px;
}
#header.fixed #headerlogo,
#header.fixed .pcmenu{
	display:none;
}
#headerlogo {
	text-align:center;
}
#headerlogo img{
	width:320px;
	display:block;
}
@media screen and (max-width: 767px){
	#headerlogo img{
		width:280px;
	}
}
#navi_spmenu{
	position: relative;
	cursor: pointer;
    width: 55px;
    height:55px;
	z-index:100;
	background-color:rgba(0,140,214,1);
	border-radius:50%;
    transition: all .4s;
}
#navi_spmenu span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 15px;
    height: 2px;
    border-radius: 5px;
	background: rgba(255,255,255,1) ;
  	width: 45%;
  }


#navi_spmenu span:nth-of-type(1) {
	top:16px;	
}

#navi_spmenu span:nth-of-type(2) {
	top:26px;
}

#navi_spmenu span:nth-of-type(3) {
	top:36px;
}


#navi_spmenu.active{
	background-color:rgba(181,181,181,1);
	/*border-radius:0;*/
}

#navi_spmenu.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(9px) rotate(-45deg);
}

#navi_spmenu.active span:nth-of-type(2) {
	opacity: 0;
}

#navi_spmenu.active span:nth-of-type(3){
    top: 36px;
    left: 15px;
    transform: translateY(-9px) rotate(45deg);
}


#headernavi{
	flex-grow:2;
}
.pcmenu{
	display:none;
}


@media  screen and (min-width: 992px) {
	.pcmenu{
		display:flex;
		position:relative;
		text-align:center;
		justify-content:center;
	}
	.pcmenu > li{
		margin:0 2%;
		position:relative;
	}
	.pcmenu li a{
		padding:5px 10px;
		display:block;
		display:flex;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;
		position:relative;
		height:3.5em;
		color: rgba(51,51,51,1);
	}
	.pcmenu li:after{
		display:block;
		position:absolute;
		bottom:3px;
		left:0;
		content:"";
		height:2px;
		width:0;
		background:rgba(0,140,214,1);
		border-radius:2px;
		transition: all .4s;
	}
	.pcmenu li:before{
		display:block;
		position:absolute;
		bottom:0;
		left:0;
		content:"";
	}
	.pcmenu li:hover:before{
		height:8px;
		width:8px;
		background:rgba(0,140,214,1);
		border-radius:10px;
	}
	.pcmenu > li > a:hover{
	}
	#body_top .pcmenu li.navi_top:after,
	#body_about .pcmenu li.navi_about:after,
	#body_business .pcmenu li.navi_business:after,
	#body_contact .pcmenu li.navi_contact:after,
	#body_recruit .pcmenu li.navi_recruit:after,
	#body_info .pcmenu li.navi_info:after,
	.pcmenu li:hover:after{
		width:100%;
	}
	
	.pcmenu li ul{
		background-color: rgba(255,255,255,.8);
		transform: scaleY(0) translateX(-50%);
		transform-origin: center top;
		width:200%;
		padding:5% 10%;
		position: absolute;
		top:3.5em;
		left: 50%;
		transition: all .4s;
		z-index:2;
	
	}
	.pcmenu li:hover ul{
		display:block;
		transform: scaleY(1) translateX(-50%);
		box-shadow:0px 3px 3px rgba(200,200,200,.5);
	}
	.pcmenu li ul li{
		font-size:90%;
		height:auto;
	}
	.pcmenu li ul li a{
		height:auto;
		padding:15px 5px;
		border-bottom:1px rgba(181,181,181,0.2) solid;
	}
	.pcmenu li ul li:last-child a{
		border-bottom:0px rgba(181,181,181,0.2) solid;
	}
	.pcmenu li ul li a:hover{
		color:rgba(0,140,214,1);
	}
	.pcmenu li ul li:before,
	.pcmenu li ul li:after{
		display:none;
	}
	
}



#mainnavi {
	color:#FFF;
	background-color:rgba(0,140,214,1);
	z-index:20;
    position: fixed;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	margin:0;
    padding:3% 5%;
	box-sizing:border-box;
	clear:both;
    overflow:hidden;
	opacity: 0;
    visibility: hidden;
	width:90%;
	max-height:90vh;
	max-width:1200px;
    overflow:auto;
	transition: opacity .4s, visibility .4s;
}
#mainnavi.open {
	opacity: 1;
    visibility: visible;
}
#mainnavi h2{
	background-color:rgba(255,255,255,1);
	border-radius:50px;
}
.mainnavi_logo{
	display:block;
	width:60%;
	max-width:240px;
	margin:auto;
}

.navi_all{
	padding:20px 0 0;
	margin:20px auto 0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.navi_all a{
	color:#FFF;
}
.navi_all div{
	width:32%;
	background-color:rgba(255,255,255,.2);
	margin:0 0 20px;
	padding:20px;
	border-radius:15px;
}
.navi_all div > ul{
	margin:0 0 20px;
}
/*
.navi_all > ul.navihome,
.navi_all > ul.navinews{
	width:49.5%;
}*/
.navi_all div > ul > li{
	font-size:1.1em;
	font-weight:bold;
}

.navi_all  ul ul{
	margin: 0;
	font-weight:normal;
	text-align:left;
}
.navi_all  ul ul li{
	font-size:80%;
}

.navi_all a{
	padding:5px 5px;
	display:block;
	position:relative;
}
.navi_all  ul ul a:after{
	display:block;
	content:"";
	border-top: solid 2px rgba(255,255,255,1);
	border-right: solid 2px rgba(255,255,255,1);
	width: 6px;
	height: 6px;
	position:absolute;
	right:0.5em;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg);
}
.navi_all  ul ul a:hover:after{
	right:0em;
	border-color:rgba(181,181,181,1);
}



@media screen and (max-width: 767px){
	#mainnavi {
		margin:0;
		padding:3% 5% 10%;
		max-height:100%;
		max-width:100%;
		width:100vw;
		height:100vh;
	}
	.navi_all div{
		width:100%;
		background-color:transparent;
		margin:0 0 0px;
		padding:0em;
		border-radius:0px;
	}
	.navi_all div > ul{
		background-color:rgba(255,255,255,.2);
		margin:0 0 20px;
		padding:1em;
		border-radius:20px;
	}
	
	.navi_all div > ul > li{
		font-size:1.2rem;
	}
	.navi_all ul ul li{
		font-size:1rem;
	}
	
	.navi_all a{
	}
}

ul.contact_box{
	list-style:none;
	margin:0 auto;
	padding:10px 0;
	background-color:rgba(0,140,214,1);
}
ul.contact_box li.contact_icon img{
	width:120px;
	padding:0 5%;
	margin:0 auto -10px;
}

ul.contact_box li{
	text-align:center;
}
ul.contact_box li.contact_btn{
	margin:15px 5px;
	padding:0px;
	position: relative;
}
ul.contact_box li.contact_btn a{
	display:flex;
	justify-content:center;
	padding:5% 0% 2%;
	font-weight:normal;
	letter-spacing:0.2em;
	min-width:280px;
	font-size:1.4em;
	white-space:nowrap;
	overflow: hidden;
	position: relative;
	transition:all 0.3s ease-in-out;
	z-index: 2;
	color:#FFF;
}
ul.contact_box li.contact_btn a::before,
ul.contact_box li.contact_btn a::after{
	content:'';
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
	background-image: repeating-linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%, #FFF), repeating-linear-gradient(45deg, #FFF 25%, transparent 25%, transparent 75%, #FFF 75%, #FFF);
	background-position: 0 0, 3px 3px;
	background-size: 6px 6px;
	width:100%;
	height:2px;
	transition:all 0.3s ease-in-out;
}

ul.contact_box li.contact_btn a::after{
	width:0;
	background:#008CD6;
}
ul.contact_box li.contact_btn a:hover{
	color: rgba(51,51,51,1);
}
ul.contact_box li.contact_btn a:hover::after {
	width:100%;
}

@media (min-width: 768px){
ul.contact_box{
	display:flex;
	align-items:center;
	justify-content:center;
}
ul.contact_box li.contact_icon{
	order:2;
}
ul.contact_box li.contact_btn:nth-child(1){
	order:1;
}
ul.contact_box li.contact_btn:nth-child(3){
	order:3;
}
ul.contact_box li.contact_btn a{
	width:48%;
}
}
@media (min-width: 992px){
ul.contact_box li.contact_btn a{
	min-width:360px;
}
}
/* タブレット縦 */
@media screen and (min-width: 768px) and (max-width: 991px) and (orientation: portrait) {
ul.contact_box li.contact_btn a{
	letter-spacing:0em;
	font-size:1.2em;
}

}


/*main
---------------------------------------------------------------------*/
#main{
	overflow:hidden;
	margin:0px auto;
	position:relative;
	padding:0px;
	background:rgba(181,181,181,.1) url(../img/h1.png) no-repeat right top;
	background-size:100%;
}



/*maincol
---------------------------------------------------------------------*/
#maincol{
	overflow:hidden;
	margin:0px auto 0;
	padding:0px;
	position:relative;
	background-color:#FFF;
}

#maincol article {
	margin:0px 0;
	padding:30px 0;
	overflow:hidden;
}
.fadein{
	opacity : 0;
}
#maincol article:nth-of-type(1),
.fadein.view{
	animation-name:fadeUpAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	transition: opacity 1s;
}
@media (max-width: 767px){
	#body_top #maincol .fadein:nth-of-type(1){
		animation-name:fadeUpAnime;
		animation-duration:1s;
		animation-fill-mode:forwards;
	}
}
@keyframes fadeUpAnime{
  from {
	transform: translateY(100px);
    opacity: 0;
  }
  to {
	transform: translateY(0);
    opacity: 1;
  }
}



#maincol article > .inner{
	padding:5%;
}
#maincol article {
	background-color:rgba(255,255,255,.1);
}
#maincol article:nth-of-type(2n) {
	background-color:rgba(0,140,214,.1);
}




/*sidecol
---------------------------------------------------------------------*/
#sidecol{
	overflow:hidden;
	margin:0px auto;
	padding:0px;
	position:relative;
	z-index:10;
}

/*totop
---------------------------------------------------------------------*/
#totop{
	position:fixed;
	bottom:-90px;
	right:3%;
	z-index:10;
	text-align:center;
}
#totop a{
	display: block;
	margin: auto;
	background-color: rgba(181,181,181,.9);
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	/*border-radius:50%;*/
	box-shadow:2px 5px 5px rgba(0,0,0,0.5);
	font-size:0;
}
#totop a:hover{
	opacity:0.8;
}
#totop a:after{
	display:block;
	content:"";
	border-top: solid 3px rgba(255,255,255,1);
	border-right: solid 3px rgba(255,255,255,1);
	width: 10px;
	height: 10px;
	position:absolute;
	right:50%;
	top: 50%;
	transform: translate(50%, -25%) rotate(-45deg);
}

/* Fixed */
#totop.bottomfixed {
	margin: 0 0px 0 0;
	bottom:5%;
	right:3%;
	position: fixed;
	transition: 0.5s ease-in;
	-webkit-transition: 0.5s ease-in;
	-moz-transition: 0.5s ease-in;
}

/*footer
---------------------------------------------------------------------*/

#footer{
	margin:0px auto;
	position:relative;
	padding:0px 0px 0;
	background-color:rgba(255,255,255,1);
}
#footer h2{
	font-size:2rem;
	margin:0 0 1em 0;
	letter-spacing:2px;
	text-align:center;
	font-weight:normal;
}
#footer h2 small{
	display:block;
	font-size:1rem;
}

#footer h3{
	font-size:1.2rem;
	margin:1em 0;
	padding:10px 0;
	font-weight:normal;
	text-align:center;
}




#footernavi{
	background-color:rgba(0,140,214,1);
	color:rgba(255,255,255,1);
	padding:20px 0px;
}



#footerlogo{
	margin-top:30px;
}
@media (min-width: 768px){
	#footerlogo .inner{
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		align-items:center;
	}
	.footer_logo{
		width:30%;
		max-width:200px;
	}
}

.footer_logo img{
	width:200px;
	display:block;
	margin:0 auto 1em;
}
#copyright{
	text-align:center;
}

@media screen and (max-width: 767px){
	#footer .navi_all{
		display:none;
	}
	#copyright{
		font-size:11px;
	}
}
@media (orientation: portrait) and (max-width: 991px){
}
/*Common
---------------------------------------------------------------------*/
#topicpath{
	font-size:12px;
	margin-bottom:1em;
	padding:0.5em 0;
}

/*wordpress用*/
#blog .inner {
	display: flex;
	justify-content: space-between;
}
.page_link {
	display: flex;
}
a.page-numbers,
span.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: #0c59a1;
	background-color: #fff;
	border: 1px solid #0c59a1;
	width: 50px;
	height: 50px;
	/*border-radius: 50%;*/
	margin: 8px;
}
.page-numbers.current {
	color: #fff;
	background-color: #0c59a1;
	border: 1px solid #0c59a1;
}
.prev,
.next {
	background-color: transparent !important;
	border: 0px solid #0c59a1 !important;
}

.sidebar h2,
#sp_menu h2 {
	/*background: none !important;*/
	background-size: 75px !important;
	height: 75px !important;
	margin: 0 0 0.5em 0 !important;
	padding: 8px 0 0 0.5em !important;
	font-size: 1.2em !important;
	white-space: nowrap;
	min-width: 200px;
}
#sp_menu h2 {
	background: url(../img/h2.svg) no-repeat 0px 0px;
}
.sidebar li,
#sp_menu li {
	list-style: none;
}
.sidebar ul,
#sp_menu ul {
	padding-left: 1em;
	margin-bottom: 2em;
}
#form-search {
	margin-bottom: 2em;
}
#search {
	width: 100%;
	border: 1px solid #999;
}
.btn-search,
#sp_menu .btn-search {
	background-color: #eee;
	width: 100%;
	margin-top: 4px;
}
@media (max-width: 767px) {/*スマホ向け*/
	#search {
	}
	.btn-search {
	}
}

#post_area {
	padding-right: 1em;
}
@media (max-width: 767px) {/*スマホ向け*/
	#post_area {
		padding-right: 0;
	}
}
#post_area h2 {
	margin-top: 36px !important;
}
#post_area h2:first-of-type {
	margin-top: -15px !important;
}
#post_area p,
#post_area ul,
#post_area ol,
#post_area th,
#post_area td {
	font-size: 1.2em;
}
.post-categories {
	padding: 0;
}
.post-categories li {
	display: inline-block;
	list-style: none;
	background-color: #eee;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
#wpmenu_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #008cd6;
	color: #fff;
	width: 55px;
	height: 55px;
	position: fixed;
	top: 15px;
	right: 8px;
	z-index: 100;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.5s;
}
#wpmenu_btn.close_btn {
	background-color: #999;
}
#wpmenu_btn::before {
	display: block;
	content: "menu";
	color: #fff;
	text-align: center;
}
#wpmenu_btn.close_btn::before {
	content: "close";
}
#sp_menu {
	background-color: rgba( 255,255,255, 1 );
	width: 100%;
	height: 100%;
	padding: 0 2% 0 2%;
	position: fixed;
	top: 0;
	left: 0;
	overflow-y: scroll;
	z-index: 99;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s;
}
.sp_menu-active {
	visibility: visible !important;
	opacity: 1 !important;
}
#sp_menu ul.sp {
	padding-left: 0;
}
#sp_menu .sp li img {
	width: 280px;
}
#sp_menu li {
	list-style: none;
	padding-left: 0;
}
.blog_title {
}
.blog_title a {
	display: block;
	text-align: center;
	color: #fff;
	background-color: #008cd6;
	font-weight: 900;
	font-size: 18px;
	border-radius: 8px;
}

@media (max-width: 767px) {/*スマホ向け*/
	#sidemenu {
	}
	.sidebar {
		display: none;
	}
}

/**/




