@charset "UTF-8";
body{
    font-size:14px;
}
/*------------------------------------*/
#wrap {
    width:96%;
    margin:0 auto;
	padding-top:4.1em;
}
/*------------------------------------*/
/*ページヘッダー*/
#shareheader{
    position: fixed;
    z-index: 9000;
    width: 100vw;
    top: 0;
    left: 0;
    background: white;
    padding: 1.5em 0 .5em;
    border-bottom: .2em solid #127b23;
}
#header-u h1{
}
#header-l{
	font-size:180%;
	padding-left:1em;
	width:100%;
}
#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:105%;
	text-align: center;
}
#header-r{
	margin-left:auto;
}
#header-r a{
}
/*------------------------------------*/
/*グローバルナビ*/
#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: "";
    width: 96%;
    position: fixed;
    top: 0;
    left: 2%;
    height: 100vh;
    background: url(images/front/m_titleimage.jpg)center top 4em 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: 24.5em;
    width: 100%;
    letter-spacing: .1em;
}
.sharetitle{
	z-index: -1;
	padding-bottom:10em;
}
.sharetitle>div:not(#front0){
    position: fixed;
    top: 16.5em;
    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:160%;
	text-align: center;
}
.sharetitle h1:before{
	content:"";
	position:absolute;
	left:50%;
	width:10em;
	margin-left:-5em;
	height:100%;
	z-index: -1;
}
#companytitle{
	background:url(images/company/titleimage.jpg) center top 4.1em no-repeat;
    background-size: 100% auto;
	background-attachment: fixed;
}
#servicetitle{
    background: url(images/service/titleimage.jpg)center top 4.1em no-repeat;
    background-size: 100% auto;
    background-attachment: fixed;
}
#contacttitle{
	background:url(images/contact/titleimage.jpg) center top 4.1em no-repeat;
    background-size: 100% auto;
	background-attachment: fixed;
}
#privacytitle{
	background:url(images/privacy-policy/titleimage.jpg) center top 4.1em 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;
}
#front05 li{
	width:calc(100% / 3);
}
#front1{
	padding:5em 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: 5em 0 7em;
    background: #f7f6f5;
}
#front2 li{
	width:100%;
	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%;
}
#front2 li:nth-of-type(3){
	background:url(images/front/front2r.jpg) center no-repeat;
	background-size:auto 100%;
}
#front2 li div{
	height:12em;
	background:rgba(255,255,255,.8);
	padding:1em;
	border-radius: 1em;
	margin-top:14em;
	transition-duration:0.8s;
}
#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;
}
#front3:before{
	content:"";
	position:fixed;
	top:8em;
	left:2%;
	width:96%;
	height:calc(100vh - 8em);
    background: url(images/front/front3back.jpg)center no-repeat;
    background-size:cover;
}
#front3:after{
	content:"";
	height:5em;
	width:100%;
	background:white;
	position: absolute;
	bottom:-5em;
	left:0;
}
#front3>p img{
	opacity: 0;
}
#front3 h2{
	font-size:140%;
	font-weight: 400;
	margin-bottom:1em;
}
#front3>div{
    position: fixed;
    left: 4%;
    top: 32%;
    width: 96%;
    text-align: center;
    color: #010a4e;
}
/*-------------------------------------------------------------*/
/*会社概要*/
#company1{
	padding:5em 0;
}
#company1>div>div:nth-of-type(1){
    padding: 0em 2em 5em 1em;
}
#company2{
    padding: 3em 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;
	wdith:25%;
}
#company2 table td{
	width:75%;
}
#map{
    height: 40em;
    padding: 5em 0;
}
/*------------------------------------*/
/*プライバシーポリシー*/
#privacy>section{
	margin-bottom:5em;
}
#privacy p{
	margin-bottom:1em;
}
/*-------------------------------------------------------------*/
/*事業内容*/
#service{
	padding:5em 0;
}
#service li:not(#kenchiku){
	padding-top:5em;
}
#service li>div{
	width:100%;
}
#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;
}
#contact h2{
	font-size: 140%;
    letter-spacing: .5em;
}
#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: 2em;
    left: 0;
    width: 100%;
    color: white;
    text-align: center;
    font-weight: bold;
    font-size: 120%;
    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{
    background:rgba(255,255,255,.6);
    padding: 3em 1em;
}
.wpcf7{
	margin:3em auto 0;
}
.wpcf7 table{
	border-spacing:0;
	color:#333;
	width:100%;
	font-size:90%;
	margin-bottom:2em;
}
.wpcf7 th,
.wpcf7 td{
	background:white;
	font-weight:normal;
	text-align: left;
    letter-spacing: 0;
	display: block;
}
.wpcf7 th{
	background:#f1f1f1;
}
.wpcf7 td{
	border:1px solid #ddd;
	border-radius: .2em;
	margin-bottom:1em;
}
.wpcf7 tr:nth-of-type(4) td,
.wpcf7 tr:nth-of-type(5) td{
	border:none;
}
.wpcf7 tr:last-child th{
	vertical-align: top;
}
.wpcf7 td input:not([type=radio]),
.wpcf7 td textarea{
	width:100%;
	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]{
}
.wpcf7 td span.wpcf7-form-control>span:nth-of-type(1) input[type=radio]{
	margin-right:.4em;
}
.wpcf7 td textarea{
    height: 8em;
}
.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]{
    padding: .4em 4em;
    border-radius: 5px;
    margin: 0em auto 1em;
    cursor: pointer;
    background: #4aaece;
    color: white;
    font-size: 120%;
}
.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;
}
.wpcf7 .doui{
	margin:1em auto 2em;
}
/*------------------------------------*/
/*404*/
#notfound{
	padding:0 10%;
	margin:5em auto;
}
#notfound header{
	margin-bottom:2em;
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(1){
    font-size: 30vw;
    line-height: 100%;
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(2){
	font-size:300%;
    line-height: 100%;
    margin-bottom: 2em;
}
#notfound>div>div:nth-of-type(2) p:nth-of-type(1){
	margin-bottom:3em;
}
/*--------------------------------------------------------------------------*/
/*ページフッター*/
#sharefooter #footernav{
	display: none;
}
#footercontact{
	background:#F7F8F9;
	padding: 2em 0;
	border-bottom:1px solid #aaa;
}
#footercontact li{
    padding: 2em;
	background:white;
    width: 90%;
	text-align: center;
    margin: 1em auto;
}
#footercontact li:nth-of-type(1){
	-webkit-order:2;-ms-flex-order:2;order:2;
}
#footercontact li:nth-of-type(1) .button1 a{
	background:#4a290f;
}
#footercontact li:nth-of-type(2) p:nth-of-type(2){
    font-size: 220%;
    line-height: 240%;
	text-decoration: underline;
}
#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: bold;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
	margin-bottom:.4em;
}
#footercontact h3 span{
	color:#aaa;
	margin-left:1em;
	font-size:80%;
}
/*--------------------------------------------------------------------------*/
.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;
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;
}
#copyright{
    font-size: 70%;
	background:white;
}
#mnav>div{
    position: fixed;
    left: -70%;
    top: 4em;
    height: calc(100vh - 4em);
    background: rgba(255,255,255,.9);
    width: 70%;
	z-index: 9999;
	transition-duration:0.4s;
}
#mnav>div>div:nth-of-type(2){
	position: absolute;
	left:0;
	bottom:2em;
	width:100%;
	padding-left:2em;
}
#mnav>div>div:nth-of-type(2) li{
	width:3em;
	margin-bottom:1em;
	margin-right:1em;
}
.mnavdiv{
	left:0 !important;
}
.menu-trigger,
.menu-trigger span {
display: inline-block;
transition: all .4s;
box-sizing: border-box;
}
.menu-trigger {
	position: fixed;
    height: 3em;
    width: 3em;
    border-radius: .5em;
    margin-top: .5em;
    right: 1em;
    top: 0;
    z-index: 9000;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: .2em;
    background-color: #127b23;
    border-radius: .1em;
}
.menu-trigger span:nth-of-type(1) {
top: 12%;
}
.menu-trigger span:nth-of-type(2) {
top: 46%;
}
.menu-trigger span:nth-of-type(3) {
bottom: 12%;
}
.menu-trigger.active span:nth-of-type(1) {
-webkit-transform: translateY(1em) rotate(-315deg);
transform: translateY(1em) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-1.05em) rotate(315deg);
transform: translateY(-1.05em) rotate(315deg);
}
#mnav>div>div:nth-of-type(1) ul{
	display: block;
	border-top:none;
	padding-top:4em;
}
#mnav>div>div:nth-of-type(1) li{
	width:60vw;
	margin:0 auto 1em;
	padding-left:1em;
	line-height:300%;
}
#mnav>div>div:nth-of-type(1) li:nth-of-type(odd){
	border-right:none;
}
#mnav li:nth-of-type(1){
	border-left:.5em solid brown;
}
#mnav li:nth-of-type(2){
	border-left:.5em solid green;
}
#mnav li:nth-of-type(3){
	border-left:.5em solid #3964ff;
}
#mnav li:nth-of-type(4){
	border-left:.5em solid orange;
}
#mnav li:nth-of-type(5){
	border-left:.5em solid #ecc121;
}
#mnav li a{
	display: block;
}
/*------------------------------------*/
#privacy{
	background:white;
	padding-top:5em;
}
#privacy1{
	width:80%;
	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;
}
/*--------------------------------------------------------------------------*/
.mdn{display:none !important;}