@charset "UTF-8";
body{
    font-size:.97vw;
	background:url(images/share/body.png);
}
/*ChromeとOperaのみだけに適用されるCSSハック*/
_::content, _:future, body { 
	font-size:.97vw;
}
/*Firefoxだけに適用されるCSSハック*/
@-moz-document url-prefix() {
  body {
    font-size:.966vw;
  }
}
/*------------------------------------*/
#wrap{
	min-width:800px;
}
/*------------------------------------*/
/*ページヘッダー*/
#shareheader{
    background: rgba(255,255,255,.9);
    border-bottom: .2em solid #111194;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9999;
}
#header-u h1{
}
#header-l{
    width: 10%;
}
#header-r{
	width:88%;
}
/*------------------------------------*/
/*front*/
#mainimage{
    overflow: hidden;
    padding-bottom: 1em;
    border-bottom: 2em solid #000080;
}
#bgvid{
	position: absolute;
	left:0;
	top:0;
	z-index: -1;
	width:100vw;
	height:auto;
}
#front0{
	background:url(images/front/front0.jpg)center no-repeat;
	background-size:cover;
	padding:5em 0 7em;
	font-size:110%;
	text-shadow: 0 0 1em white,0 0 1em white,0 0 1em white,0 0 1em white,0 0 1em white,0 0 1em white,0 0 1em white;
}
#front0 h2{
	font-size:180%;
}
#front0 h2+p{
	margin-bottom:2em;
}
#front0 h2+p:before{
	content:"〜 ";
}
#front0 h2+p:after{
	content:" 〜";
}
#front0 li{
	width:30%;
	border:.2em solid white;
	border-radius: 1em;
	padding:1em;
}
#front0 h3{
	border-bottom:.1em solid green;
	font-size:160%;
	font-weight: bold;
	margin-bottom:.4em;
	color:#038668;
}
#front0 p{
	line-height: 150%;
}
#front1{
	padding:3em 0;
}
#front1>div{
	width:50%;
}
#front1l li:nth-of-type(1){
	margin-bottom:2em;
	padding:8em 2em 5em;
	background:url(images/front/front1l_off.png)left top 3em no-repeat;
	background-size:auto 10em;
}
#front1l li:nth-of-type(1):hover{
	background-image:url(images/front/front1l_on.png);
	transition-duration:0.4s;
}
#front1l li:nth-of-type(2){
	border-top:1px solid #aaa;
	padding-top:2em;
}
#front1 li>div:nth-of-type(1){
	width:20%;
}
#front1 li>div:nth-of-type(2){
	width:76%;
}
#front1l blockquote{
	margin:0 auto;
	font-size:90%;
	line-height:120%;
	padding-right:1em;
}
#front1l blockquote p span{
	color:#A00000;
}
#front1l h2{
	font-size:120%;
	font-weight: bold;
	margin-bottom:.4em;
}
#front1l h2 cite{
	font-style: normal;
}
#front2{
	margin-top:5em;
}
#front2:after{
	content: "";
    position: absolute;
    left: -10vw;
    top: 0;
    background:linear-gradient(#a2b2bf5e,#f7f7f7);
    width: 100vw;
    z-index: -1;
    height: 74em;
}
#front2 li{
	width:33.33%;
	margin:1em;
}
#front2 li:nth-of-type(2){
	-moz-transition-delay:.4s;
	-webkit-transition-delay:.4s;
	-o-transition-delay:.4s;
	-ms-transition-delay:.4s;
}
#front2 li:nth-of-type(3){
	-moz-transition-delay:.8s;
	-webkit-transition-delay:.8s;
	-o-transition-delay:.8s;
	-ms-transition-delay:.8s;
}
#fsbtn a{
    display: inline-block;
    padding: .4em 7em;
    background: #aaa;
    transition-duration: 0.4s;
    margin: 2em auto;
    color: white;
    font-size: 160%;
    line-height: 150%;
}
#fsbtn a:hover{
	background:#84b4d2;
}
#main01{
	position:absolute;
	left:0;
	top:0;
}
#mainimage:before{
	content: "";
    height: .5%;
    width: 0;
    position: absolute;
    left: 50%;
    bottom: 23%;
    background: red;
	-moz-transition-delay:.6s;
	-webkit-transition-delay:.6s;
	-o-transition-delay:.6s;
	-ms-transition-delay:.6s;
    transition-duration: 3s;
	z-index: 1;
}
.mainhr:before{
	width:80vw !important;
	left:10vw !important;
}
#main00 img{
	opacity: 0;
}
#main00:before{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:0;
	background:url(images/front/main02a.png) top center no-repeat;
	background-size:100% auto;
	-moz-transition-delay:2s;
	-webkit-transition-delay:2s;
	-o-transition-delay:2s;
	-ms-transition-delay:2s;
	transition-duration:.4s;
}
#main00:after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:0;
	background:url(images/front/main01a.png) bottom center no-repeat;
	background-size:100% auto;
	-moz-transition-delay:2s;
	-webkit-transition-delay:2s;
	-o-transition-delay:2s;
	-ms-transition-delay:2s;
	transition-duration:.4s;
}
.main00img:before,
.main00img:after{
	height:100% !important;
}
#topmovie:before{
	content:"";
	position:absolute;
	width:100%;
	height:52em;
	left:0;
	top:0;
	background:url(images/front/main00.png)center top no-repeat;
	background-size:100% auto;
	z-index: 1;
}
#topmovie:after{
	content:"";
	width:100%;
	height:52em;
	position:absolute;
	left:0;
	top:0;
	background:rgba(2, 147, 255, 0.4);
}
#overwhite{
	background:white;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	opacity: 0;
	-moz-transition-delay:2s;
	-webkit-transition-delay:2s;
	-o-transition-delay:2s;
	-ms-transition-delay:2s;
	transition-duration:.4s;
}
.overwhiteon{
	opacity: 1 !important;
}
#main03{
	position:absolute;
	left:0;
	top:0;
}
/*------------------------------------*/
/*グローバルナビ*/
#headnav{
	margin-bottom:.4em;
}
#headnav li{
	width:calc(100% / 6);
}
#headnav li a{
	display: block;
	color:black;
	overflow: hidden;
	height:1.5em;
}
#headnav li a span{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
}
#headnav li a span:nth-of-type(1){
	transition-duration:0.4s;
}
#headnav li a span:nth-of-type(2){
	opacity: 0;
}
.headnavspan2{
	opacity: 1 !important;
}
.headnavspan1{
	top:-2em !important;
	opacity: 0;
}
/*------------------------------------*/
/*ページタイトル*/
#sharetitle{
	background: rgba(255,255,255,.4);
}
#sharetitle h1{
	font-size: 400%;
    font-weight: bold;
    color: #1c588c;
    margin-top: -.8em;
    text-shadow: 0 -0.05em 0.05em white;
}
#sharetitle h1 span{
	display: block;
	font-size:30%;
	line-height: 120%;
	font-weight: normal;
}
/*-------------------------------------------------------------*/
/*パンくず*/
#breadcrumb{
	margin-bottom:7em;
	font-size:80%;
}
/*-------------------------------------------------------------*/
/*facebook*/
.facebook-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.facebook-wrapper > .fb-page {
    width: 100%;
}
.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
    width: 100% !important;
}
/*-------------------------------------------------------------*/
/*performance*/
#performance{
	padding:0 0 5em;
}
/*-------------------------------------------------------------*/
/*schedule*/
#schedule1p{
	font-size: 140%;
    line-height: 150%;
    margin: 2em auto 0;
    color: #ab1515;
}
/*-------------------------------------------------------------*/
/*service*/
#service1{
	padding-top:5em;
}
#service1l,
#service1r,
#service1r1>p,
#service1r3>p{
	width:50%;
	padding:.4em .4em 0 0;
}
#service1l>div>p{
	padding:.4em 0 .4em .4em;
}
#service1r2>p{
	padding:.4em .4em .4em 0;
}
#service1l1>div,
#service1l2>div,
#service1r2>div{
	position: absolute;
    bottom: 3em;
    left: 3em;
    width: calc(100% - 6em);
    background: linear-gradient(-45deg,rgba(0,0,0,.2),rgba(0,0,0,.5));
    padding: 1em;
	color:white;
}
#service1l1>div{
    left: auto;
    right: 2em;
    bottom: 2em;
    width: 40%;
}
#service1l2>div{
	bottom:2em;
	width:60%;
}
#service1 h2{
    font-size: 200%;
    font-weight: bold;
    margin-bottom: .4em;
    color: #eaf5ff;
    border-bottom: .1em solid green;
	line-height:200%;
}
#service1 div div:hover div{
	box-shadow:-.2em -.2em 0 rgba(255,255,255,.7),.4em .4em 0 rgba(0,0,0,.4);
}
#service2{
	padding:.4em;
}
#service2 ul{
	padding:2em 2em 0;
	background:url(images/service/service2.jpg) center no-repeat;
}
#service2 li{
	width:32%;
	margin-bottom:2em;
	padding:1em;
    border-radius: 3em 0;
}
#service2 li:nth-of-type(odd){
    background: rgba(241, 241, 241, 0.7);
}
#service2 li:nth-of-type(even){
	background:rgba(255,255,255,.7);
}
#service2 li:last-of-type{
	background:none;
}
#service2 li h2{
	font-size: 140%;
    font-weight: bold;
    background: url(images/share/title.png)left top no-repeat;
    background-size: auto 100%;
    padding: 1em 0 0 2em;
    border-bottom: 1px dotted #aaa;
    margin-bottom: .4em;
}
#front2:before{
	content:"";
	width:100%;
	height:8em;
	position:absolute;
	top:-7em;
	left:0;
	background:url(images/front/service_off.png)left 10% top no-repeat;
	background-size:auto 100%;
	transition-duration:0.4s;
	z-index: -1;
}
#front2:hover:before{
	background-image:url(images/front/service_on.png);
}
#frontpage #service2 h2{
	border-bottom:none;
	margin-bottom:0;
}
#frontpage #service2 li{
	width:24%;
	background:rgba(255,255,255,.5);
}
#frontpage #service2 li:nth-of-type(7) h2{
	font-size:130%;
}
/*-------------------------------------------------------------*/
/*review*/
#review{
	padding:7em 0;
}
#review li{
	margin-bottom:5em;
}
#review li:nth-of-type(even)>div:nth-of-type(2){
	-webkit-order:-1;-ms-flex-order:-1;order: -1;
}
#review li>div{
	width:48%;
}
#review h2{
	font-size:160%;
	font-weight: bold;
	border-bottom:.2em solid green;
	margin-bottom:.4em;
}
/*-------------------------------------------------------------*/
/*会社紹介*/
#company1{
	margin:3em auto;
}
#company1 h2,
#company3 h2{
	font-size:160%;
	border-bottom: .2em solid green;
	margin-bottom:2em;
}
#company1 h2{
	margin-bottom:.4em;
}
#company2{
    margin: 5em auto;
}
#company2>div{
	background:url(images/company/company1_off.png)left top no-repeat;
	background-size:auto 8em;
	transition-duration:0.4s;
}
#company2>div:hover{
	background:url(images/company/company1_on.png)left top no-repeat;
	background-size:auto 8em;
}
#company2>div>div:nth-of-type(1){
	width:50%;
}
#company2>div>div:nth-of-type(2){
	width:38%;
}
#company2 h2{
	font-size:120%;
	margin-bottom:1em;
}
#company3>div:nth-of-type(1){
	padding: 5em;
    background:url(images/company/company3_off.jpg)center no-repeat;
	background-size:cover;
    margin-bottom: 3em;
	transition-duration:0.4s;
}
#company3>div:nth-of-type(1):hover{
    background:url(images/company/company3_on.jpg)center no-repeat;
	background-size:cover;
}
#company3>div:nth-of-type(1)>div{
	box-shadow: 0 .5em 1em #4d6a96;
	background:rgba(255,255,255,.85);
	padding:1em 0;
}
#company3 table{
	border-spacing: 0;
}
#company3 th,
#company3 td{
	box-sizing: border-box;
	border-bottom:1px dotted #ccc;
}
#company3 th{
	width:16%;
	padding-left:2em;
}
#company3 td{
	width:84%;
}
#gmap{
	height:30em;
}
#gmap iframe{
	width:100%;
	height:100%;
}
/*------------------------------------*/
/*FAQ*/
#question1{
	padding:7em 0;
}
#question1 li p:nth-of-type(1){
	font-size: 110%;
    border-bottom: .1em dotted #0D568C;
    padding-top: 1em;
    padding-left: 1em;
    color: #243A65;
}
#question1 li p:nth-of-type(2){
    padding: 1em 1em 2em 4em;
    display: none;
    color: #555;
}
#question1 li{
	transition-duration:0.4s;
}
#question1 li:hover{
	background:#eee;
}
/*------------------------------------*/
/*求人情報*/
#recruit1{
	margin:5em auto;
	padding:7em 0;
	background:url(images/recruit/recruit1.jpg)center no-repeat;
	background-size:cover;
}
#recruit1>div{
	width:30%;
	margin-right:50%;
	margin-left:auto;
}
#recruit1>div:before{
	content: "";
    width: 150%;
    height: 180%;
    background: radial-gradient(at 50% 50%,white,rgba(255,255,255,0) 80%);
    position: absolute;
    left: -25%;
    top: -40%;
}
#recruit>div:not(#recruit1) h2{
	font-size:140%;
	font-weight: bold;
	border-bottom:.2em solid green;
	line-height: 150%;
	margin-bottom:2em;
}
#recruit2{
	background:url(images/recruit/recruit2.jpg)left bottom no-repeat;
	background-size:50% auto;
}
#recruit2:before{
	content:"";
	width:1px;
	height:90%;
	position:absolute;
	left:50%;
	bottom:0;
	background:#ddd;
}
#recruit2 h3{
	margin-bottom:3em;
}
#recruit2>div>div{
	width:48%;
}
#recruit2 th,
#recruit2 td{
	display: block;
}
#recruit2 th{
	border-bottom:1px dotted #ddd;
}
#recruit2 th:before{
	content:"▶　";
	color:green;
}
#recruit2 th span{
	font-size:200%;
}
#recruit2 td{
	padding-left:2em;
	color:#777;
}
#recruit3{
	padding:7em 0 5em;
	background:url(images/recruit/recruit3_off.jpg)right bottom no-repeat;
	background-size:auto 70%;
	transition-duration:0.4s;
}
#recruit3:hover{
	background-image:url(images/recruit/recruit3_on.jpg);
}
#recruit3 table{
    border-spacing: 0;
    width: 50%;
    margin-left: 10%;
    background: rgba(255,255,255,.5);
}
#recruit3 th,
#recruit3 td{
	padding:.6em 0;
}
#recruit4{
	padding:7em 0 3em;
}
#suke{
	color:red;
	margin-top:3em;
}
/*------------------------------------*/
/*お問い合わせ*/
#contact{
	padding:5em 0;
}
#contact h2{
}
.wpcf7{
	margin:3em auto 0;
}
.wpcf7 table{
	background:#aaa;
	border-spacing:1px;
	color:#333;
	width:100%;
	font-size:90%;
	margin-bottom:2em;
}
.wpcf7 th,
.wpcf7 td{
	background:white;
	font-weight:normal;
	text-align: left;
	padding:.5em;
}
.wpcf7 th{
	width:25%;
	background:#f1f1f1;
}
.wpcf7 td{
	width:75%;
}
.wpcf7 tr:last-child th{
	vertical-align: top;
}
.wpcf7 td input:not([type=radio]),
.wpcf7 td textarea{
	width:90%;
	font-size:100%;
	border:none;
}
.wpcf7 td .wpcf7-form-control-wrap{
	width:100%;
}
.wpcf7 td span.wpcf7-form-control>span:not(:first-child) input[type=radio]{
	margin:0 .4em 0 2em;
}
.wpcf7 td span.wpcf7-form-control>span:nth-of-type(1) input[type=radio]{
	margin-right:.4em;
}
.wpcf7 td textarea{
	border:1px solid #ccc;
}
.wpcf7-response-output{
	color:red;
	text-align: center;
}
.hissu,
.ninni{
	font-size:80%;
	padding:.2em;
	color:white;
	margin-left:.5em;
}
.hissu{
	background:red;
}
.ninni{
	background:#aaa;
}
input[type=checkbox]{
	cursor:pointer;
}
.wpcf7 input[type=submit]{
	font-size: 100%;
    padding: 0 2em;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 1px 1px 1px gray;
    margin-top: 2em;
	cursor:pointer;
    background: -moz-linear-gradient(#fff, #cecece);
    background: -webkit-linear-gradient(#fff, #cecece);
    background: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#cecece));
    background: -o-linear-gradient(#fff, #cecece);
    background: linear-gradient(#fff, #cecece);
}
.screen-reader-response{
	display: none !important;
}
.wpcf7-not-valid-tip{
	display:inline-block;
	font-size:90%;
	color:red;
}
.wpcf7-validation-errors{
	text-align: center;
	color:red;
}
.wpcf7 label{
	cursor:pointer;
}
.h3content{
	margin-bottom:1em;
}
/*------------------------------------*/
/*ページフッター*/
#footerbanner li{
	width:48%;
	margin-bottom:3em;
}
#footerbanner li img{
	transition-duration:0.4s;
}
#footerbanner li:hover img{
	opacity: 0;
}
#footerbanner li:nth-of-type(1){
	background:url(images/share/footerbanner01_on.jpg)center no-repeat;
	background-size:cover;
}
#footerbanner li:nth-of-type(2){
	background:url(images/share/footerbanner02_on.jpg)center no-repeat;
	background-size:cover;
}
#footerbanner li:nth-of-type(3){
	width:100%;
}
#footerbanner h3{
    font-size: 160%;
    border-bottom: .2em solid green;
    margin:2em auto 1em;
}
#footerask{
	width:30%;
}
#footerbanner li>div{
	background:url(images/share/footerask_off.png)center no-repeat;
	background-size:auto 100%;
	transition-duration:0.4s;
}
#footerbanner li>div:hover{
	background:url(images/share/footerask_on.png)center no-repeat;
	background-size:auto 100%;
}
#footerask+div{
	width:70%;
}
#footerask+div>div:nth-of-type(1){
	margin-bottom:1em;
}
#footerask+div>div>p:nth-of-type(1){
	font-size:120%;
}
#footertel p:nth-of-type(2){
	font-size:500%;
	line-height: 100%;
	color: #6882a2;
}
#footermail p:nth-of-type(2){
	font-size:340%;
	line-height: 100%;
}
#footermail p:nth-of-type(2) a{
	color: #717171;
}
#sharefooter{
	padding:5em 0 3em;
}
#footerlogo{
	width:10em;
	margin:1em auto 3em;
}
#copyright{
	margin-top:1em;
	border-top:1px solid #aaa;
	padding-top:1em;
}
#totop{
	background:#3a6b90;
	position:fixed;
	right:1em;
	bottom:1em;
	font-size:300%;
	color:white;
	cursor:pointer;
	transition-duration:0.4s;
	width:3vw;
	height:3vw;
	text-align: center;
	line-height:2.1vw;
}
#totop:hover{
	bottom:1.1em;
}
/*------------------------------------*/
/*検索結果*/
#searchbody>div>article{
    border:1px solid #ddd;
    border-radius: 1em;
    padding: 2em;
    margin-bottom: 1em;
}
#eventheader{
    text-align: right;
    font-size:120%;
    margin-bottom:2em;
}
#searchbody .entry-content{
    width:68%;
    min-height:11em;
}
#searchbody .thumbnail{
    height: auto;
    max-width: 30%;
    margin-right: 2%;
}
#searchbody .thumbnail>a{
    display: block;
    width: 100%;
    height: 100%;
}
#searchbody .entry-title{
    font-size:140%;
    font-weight:bold;
    margin-bottom:1em;
}
#searchbody .entry-title a{
    transition-duration:0.4s;
}
#searchbody .entry-title a:hover{
    letter-spacing: .1em;
}
/*------------------------------------*/
#notfound{
	padding:0 10%;
	margin:5em auto;
}
#notfound header{
	margin-bottom:2em;
}
#notfound>div:not(#breadcrumb){
	display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:flex;
	-webkit-justify-content:center;-ms-flex-pack: center;justify-content:center;
}
#notfound>div>div:nth-of-type(1){
	margin-right:3em;
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(1){
    font-size: 800%;
    line-height: 100%;
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(2){
	font-size:300%;
}
#notfound>div>div:nth-of-type(2) p:nth-of-type(1){
	margin-bottom:3em;
}
/*--------------------------------------------------------------------------*/
.ddn{display:none !important;}
.minwidth7{min-width:600px;width:70%;margin:0 auto;}
.minwidth8{min-width:680px;width:80%;margin:0 auto;}
.minwidth9{min-width:700px;width:90%;margin:0 auto;}
.txc{text-align: center !important;}
.txr{text-align: right !important;}
.flex{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:flex;}
.flexwrap{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.itemstart{align-items: flex-start;}
.itemcenter{align-items: center;}
.itemend{align-items: flex-end;}
.justifyspace{-moz-box-pack:justify;-ms-box-pack:justify;box-pack:justify;flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}
.justifyaround{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;}
.justifycenter{-webkit-justify-content:center;-ms-flex-pack: center;justify-content:center;}
.mincho{font-family:"ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";}