@charset "UTF-8";
body{
    font-size:1.14vw;
}
/*ChromeとOperaのみだけに適用されるCSSハック*/
_::content, _:future, body { 
	font-size:1.14vw;
}
/*Firefoxだけに適用されるCSSハック*/
@-moz-document url-prefix() {
  body {
    font-size:1.06vw;
  }
}
/*------------------------------------*/
#wrap{
	min-width:800px;
}
/*------------------------------------*/
/*ページヘッダー*/
#shareheader{
	position: fixed;
    z-index: 9999;
    width: 100vw;
    height: 4em;
    background:white;
    border-bottom: .2em solid #127b23;
	display: none;
}
#header-u h1{
}
#header-l{
	font-size:200%;
	padding-left:1em;
	padding-top:.5em;
}
#header-l a{
	color: #164177;
}
#header-l a>span:nth-of-type(1){
	font-size:70%;
	margin-right:.5em;
}
#header-l a>span:not(:nth-of-type(1)){
	position: relative;
	display: inline-block;
}
#header-l a>span:not(:nth-of-type(1)) span{
	font-size:50%;
	position:absolute;
	top:-1.5em;
	left:0;
	display: inline-block;
	width:100%;
	text-align: center;
}
#header-r{
	margin-left:auto;
}
/*------------------------------------*/
/*グローバルナビ*/
#headnav{
	margin-bottom:.4em;
}
#headnav ul{
	height: 3.6em;
}
#headnav li:before{
	content:"";
	width:0;
	position:absolute;
	bottom:0;
	left:0;
	height:1px;
	transition-duration:0.4s;
}
#headnav li:hover:before{
	width:100%;
}
#headnav li:nth-of-type(1){
	border-left:.5em solid brown;
}
#headnav li:nth-of-type(1):before{
	background:brown;
}
#headnav li:nth-of-type(2){
	transition-delay:.1s;
	border-left:.5em solid green;
}
#headnav li:nth-of-type(2):before{
	background:green;
}
#headnav li:nth-of-type(3){
	transition-delay:.2s;
	border-left:.5em solid #3964ff;
}
#headnav li:nth-of-type(3):before{
	background:#3964ff;
}
#headnav li:nth-of-type(4){
	transition-delay:.3s;
	border-left:.5em solid #ecc121;
}
#headnav li:nth-of-type(4):before{
	background:#ecc121;
}
#headnav li a{
	display: block;
    padding: .2em 1em;
    margin: 0 1em;
	width:6em;
	transition-duration:0.4s;
}
#headnav li a:hover{
}
/*------------------------------------*/
/*ページタイトル*/
#fronttitle>p:before{
	content:"";
	position:fixed;
	width:100vw;
	height:100vh;
	top:0;
	left:0;
	background:url(images/front/titleimage.jpg)center top no-repeat;
	background-size:100% auto;
}
.bghide:before{
	content:none !important;
}
#fronttitle>p img{
	opacity:0;
}
#fronttitle h1 span{
	font-size:80%;
}
#fronttitle>div:nth-of-type(1){
    position: fixed;
    top: 29em;
    width: 100%;
    letter-spacing: .1em;
}
.sharetitle>div:not(#front0){
    position: fixed;
    top: 10em;
    width: 100%;
    letter-spacing: .4em;
	padding-right:.4em;
}
#fronttitle h1{
	font-size:200%;
	font-weight: 400;
}
#fronttitle h1+p span{
	color:#0065ff;
	font-weight: bold;
}
.sharetitle>p img{
	opacity: 0;
}
.sharetitle h1{
	font-size:200%;
	text-align: center;
	color:white;
}
.sharetitle>div:not(#front0):before{
	content:"";
	position:absolute;
	left:50%;
	width:20em;
	margin-left:-10em;
	background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.4) 10%,rgba(0,0,0,.4) 90%,rgba(0,0,0,0)100%);
	height:100%;
}
#companytitle{
	background:url(images/company/titleimage.jpg) center top no-repeat;
    background-size: 100% auto;
	background-attachment: fixed;
}
#servicetitle{
    background: url(images/service/titleimage.jpg)center top no-repeat;
    background-size: 100% auto;
    background-attachment: fixed;
}
#contacttitle{
	background:url(images/contact/titleimage.jpg) center top no-repeat;
    background-size: 100% auto;
	background-attachment: fixed;
}
#privacytitle{
	background:url(images/privacy-policy/titleimage.jpg) center top no-repeat;
    background-size: 100% auto;
	background-attachment: fixed;
}
.pagearticle{
	background:white;
	z-index: 1;
}
/*-------------------------------------------------------------*/
/*トップページ*/
#front0{
	position:fixed;
	top:1em;
	left:2%;
	width:98%;
}
#front0>p:nth-of-type(1){
	font-size:140%;
}
#front0>p:nth-of-type(1) span{
	font-size:75%;
	margin-right:.2em;
}
#front0 a{
	display: block;
	padding:0 1em;
	color:white;
}
#front0 li a:hover{
	text-decoration: underline;
}
#front0 ul{
	width:80%;
}
#front0 li:last-of-type{
	margin-left:auto;
}
#front05{
	padding-top:2em;
	background:white;
}
#front1{
	padding:15em 0;
	background:white;
}
#front1 h2{
	font-size:200%;
	color:#003e5d;
	margin-bottom:.4em;
	padding-right:.4em;
}
#front1 h2:before{
	content:"";
	height:1px;
	width:0;
	background:#159e3b;
	position:absolute;
	left:50%;
	bottom:0;
	transition-duration:3s;
}
#front1 h2 span{
	font-size:80%;
	margin:0 .2em;
}
#front1 .front1h2:before{
	width:80%;
	left:10%;
}
#front2{
    padding: 8em 0 10em;
    background: #f7f6f5;
}
#front2 li{
	width:28%;
	padding:1em;
	overflow: hidden;
	height:30em;
	transition-duration:0.8s;
}
#front2 li:nth-of-type(1){
	background:url(images/front/front2l.jpg)center no-repeat;
	background-size:auto 100%;
}
#front2 li:nth-of-type(2){
	background:url(images/front/front2c.jpg) center no-repeat;
	background-size:auto 100%;
	transition-delay:.2s;
	margin:0 2%;
}
#front2 li:nth-of-type(3){
	background:url(images/front/front2r.jpg) center no-repeat;
	background-size:auto 100%;
	transition-delay:.4s;
}
#front2 li:hover{
	background-size:auto 110%;
}
#front2 li div{
	height:12em;
	background:rgba(255,255,255,.6);
	padding:1em;
	border-radius: 1em;
	margin-top:14em;
	transition-duration:0.8s;
}
#front2 li:hover div{
	background:rgba(255,255,255,.8);
}
#front2 h2{
	font-size:120%;
	margin-bottom:2em;
}
#front2 h2:before{
	position:absolute;
	bottom:-.5em;
	left:50%;
	width:50%;
	height:1px;
	background:#aaa;
	margin-left:-25%;
}
#front2 h3{
	font-size: 140%;
	font-weight: 400;
	border-bottom:1px solid #aaa;
	margin-bottom:.4em;
	letter-spacing: .5em;
	padding-left:.5em;
}
#front2 h3 span{
	font-size:75%;
}
#front2 p{
	font-size:90%;
}
#front2 .f2btn a{
	display: inline-block;
    padding: 0 2em 0 1.5em;
    margin-top: 1em;
    transition-duration: 0.4s;
    color: white;
}
#front2 .f2btn a:hover{
	box-shadow:0 .2em .5em gray;
	text-decoration: underline;
}
#front2 li:nth-of-type(1) a{
    background:linear-gradient(135deg,#7d2f07,#461e0a);
}
#front2 li:nth-of-type(2) a{
    background:linear-gradient(135deg,#159e3b,#127b23);
}
#front2 li:nth-of-type(3) a{
    background:linear-gradient(135deg,#0065ff,#004bbd);
}
#front3{
    margin: 0 auto 5em;
	z-index: -1;
    background: url(images/front/front3back.jpg)center no-repeat;
    background-size:100% auto;
	background-attachment: fixed;
}
#front3:after{
	content:"";
	width:100vw;
	height:5em;
	position: absolute;
	bottom:-5em;
	left:0;
	background:white;
}
#front3>p{
}
#front3>p img{
	opacity: 0;
}
#front3 h2{
	font-size:140%;
	font-weight: 400;
	margin-bottom:.4em;
}
#front3>div{
    position: fixed;
    left: 0;
    top: 32%;
    width: 100%;
    text-align: center;
    color: #010a4e;
	display: none;
}
/*-------------------------------------------------------------*/
/*会社概要*/
#company1{
	padding:10em 0;
}
#company1>div>div:nth-of-type(1){
	width:50%;
	padding:7em 2em 7em 1em;
	margin-left:auto;
}
#company1>div>div:nth-of-type(2){
	width:50%;
}
#company2{
    padding: 7em 0;
    border-top: .5em solid green;
    border-bottom: .5em solid brown;
    background: #f7f5f0;
}
#company2 table{
	border-top:1px solid #859aa9;
	border-spacing: 0;
}
#company2 table th,
#company2 table td{
    border: 1px solid #859aa9;
    border-top: none;
}
#company2 table th{
	border-right:none;
	background: #eaeaea;
}
#map{
    height: 40em;
    padding: 5em 0;
}
/*------------------------------------*/
/*プライバシーポリシー*/
#privacy>section{
	margin-bottom:5em;
}
#privacy p{
	margin-bottom:1em;
}
/*-------------------------------------------------------------*/
/*事業内容*/
#service{
	padding:5em 0;
}
#service li{
	padding-top:5em;
}
#service li>div{
	width:50%;
	padding:1em;
}
#service li:nth-of-type(2)>div:nth-of-type(2){
	-webkit-order:-1;-ms-flex-order:-1;order: -1;
}
#service li:last-of-type{
	margin-bottom:0;
}
#service h2,
#company1 h2,
#contact h2{
	font-size:160%;
	font-weight: 400;
	border-bottom:1px solid #bbb;
	letter-spacing: 1em;
	margin-bottom:1em;
}
#company2 h2{
	margin-bottom:1em;
}
#service li:nth-of-type(1) h2,
#company1 h2{
	border-left:1em solid brown;
}
#service li:nth-of-type(2) h2{
	border-left:1em solid green;
}
#service li:nth-of-type(3) h2{
	border-left:1em solid #3964ff;
}
#service li>div:nth-of-type(1) p,
#company1 p{
	margin-bottom:.5em;
	padding-left:1em;
}
#service li>div:nth-of-type(1) p:before{
	content:"・";
	margin-left:-1em;
}
#service li:nth-of-type(3)>div>div{
	position: absolute;
    top: 3.5em;
    left: 0;
    width: 100%;
    color: white;
    text-align: center;
    font-weight: bold;
	font-size:140%;
	line-height:240%;
}
#service li:nth-of-type(3)>div>div p span{
	font-size:240%;
	margin:0 .1em;
	text-shadow:0 0 .2em black;
}
#servicebtn{
    border-bottom: 3px double #ffc51e;
    display: inline-block;
    padding: 0 1em;
    line-height: 120%;
	cursor:pointer;
    color: #ffc51e;
}
#servicebtn:hover{
	border-color:white;
}
/*------------------------------------*/
/*お問い合わせ*/
#contact1{
	padding:5em 0;
}
#contact h2{
	letter-spacing: .2em;
}
#contact+footer #footercontact li{
	margin:0 2em;
}
.wpcf7{
	margin:5em 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;
	position: relative;
}
.wpcf7 td{
	width:75%;
}
.wpcf7 tr:last-child th{
	vertical-align: top;
}
.wpcf7 td input:not([type=radio]),
.wpcf7 td .typeradio,
.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: 0 .1em .1em;
    color: white;
    position: absolute;
    right: .6em;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0;
}
.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;
}
/*------------------------------------*/
#privacy{
	background:white;
	padding:5em 0;
}
#privacy1{
	min-width:600px;
	width:70%;
	margin:0 auto;
}
#privacy1>p{
	text-align: right;
}
#privacy section{
	margin-bottom:2em;
}
#privacy h2{
	font-weight: bold;
	margin-bottom:1em;
}
#privacy section div{
	padding-left:1em;
}
#privacy p{
	margin-bottom:1em;
}
/*------------------------------------*/
/*ページフッター*/
#footercontact{
	padding:5em 0;
}
#footercontact{
	background:#F7F8F9;
	padding: 5em 0;
}
#footercontact li{
    padding: 2em;
    width: 32%;
    background: white;
}
#footercontact li:nth-of-type(1) .button1 a{
	background:#4a290f;
}
#footercontact li:nth-of-type(2) p:nth-of-type(1){
    font-size: 220%;
    line-height: 240%;
}
#footercontact li:nth-of-type(2) p:nth-of-type(3){
    line-height: 340%;
    text-align: center;
    background: #107922;
    color: white;
}
#footercontact li:nth-of-type(3) p:nth-of-type(1){
    padding: 1em 0 .1em;
    font-size: 120%;
}
#footercontact li:nth-of-type(3) p:nth-of-type(2){
	background:#3f76ca;
	text-align: center;
}
#footercontact h3{
    font-size: 140%;
    font-weight: 400;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
	margin-bottom:.4em;
	color:#003e5d;
}
#footercontact h3 span{
	color:#aaa;
	margin-left:1em;
	font-size:80%;
}
#copyright{
	padding:.5em 0 5em;
	font-weight: 300;
}
#footernav{
	border-bottom:1px solid #ddd;
}
#footernav li a{
	display: block;
	padding: .4em 1em;
	color:gray;
}
#footernav li a:hover{
	color:#107922;
}
/*------------------------------------*/
#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;
}
/*--------------------------------------------------------------------------*/
.button1{
	overflow: hidden;
	text-align: center;
	position:relative;
	margin: 1em auto;
}
.button1 a:before{
content:"";
background:rgba(255,255,255,.3);
border-radius: 50%;
position:absolute;
left:0;
top:0;
width:0;
height:0;
-webkit-transition:0.4s;-moz-transition:0.4s;-o-transition:0.4s;-ms-transition:0.4s;transition:0.4s;
}
.button1 a:hover:before{
width:200%;
height:200%;
left:-100%;
top:-100%;
}
.button1 a{
	color:white;
	display: block;
	padding:1em 0;
}
.button1 a:after{
    content: "";
    width: 1.5em;
    height: 100%;
    position: absolute;
    top: 0;
    right: 1.5em;
    background: url(images/front/front1rarr@2.png)center no-repeat;
    background-size: 100% auto;
    transform: scale(.8);
    opacity: 0;
}
.button1:hover a:after{
    animation: front1rarr 1.4s forwards;
}
@-webkit-keyframes front1rarr{60%{right:.8em;-webkit-transform:scale(1);opacity:1;}100%{right:.8em;-webkit-transform:scale(1);opacity:1;}}
@-moz-keyframes front1rarr{60%{right:.8em;-moz-transform:scale(1);opacity:1;}100%{right:.8em;-moz-transform:scale(1);opacity:1;}}
@keyframes front1rarr{60%{right:.8em;transform:scale(1);opacity:1;}100%{right:.8em;transform:scale(1);opacity:1;}}
/*--------------------------------------------------------------------------*/
.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";}