* {
margin: 0;
padding: 0;
list-style: none;
line-height: 150%;
}

html,body{
height: 100%;
}

a:hover{
opacity: .5;
}

section{
margin-bottom: 50px;
}

.inner{
width: 1000px;
margin: 0 auto;
}

section h1{
text-align: center;
margin-bottom: 20px;
}

section h1 img{
width: auto;
}





input[type=password], input[type=text], input[type=number], input[type=time], input[type=date], input[type=email] ,textarea{
outline: none;
color: #555;
min-height: 30px;
height: 34px;
padding: 3px 12px;
font-size: 14px;
background-image: none;
border: 1px solid #c5c6ca;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
font-size: 120%;
}




@media screen and ( max-width:699px ){
  .inner{
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
  }
  
  section .h{
    margin-bottom: 40px;
  }
  
  section .h h1{
    width: 80%;
    margin: auto;
  }
  section .h h1 img{
    height: 50px;
  }
}

/*****************************************
  
  H E A D E R
  
*****************************************/

#h{
height: 90px;
padding: 5px 20px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
position: fixed;
top:0;
left: 0;
width: 100%;
background: rgba(255,255,255,.8);
}

#h h1,
#h h1 img{
height: 70px;
}

#h nav ul{
display: flex;
}

#h nav li{
margin-left: 20px;
font-weight: bold;
}

#h nav li.close,
#h nav li.logo{
display: none;
}

#h nav a{
color: #000;
text-decoration: none;
}

#h .menu{
  display: none;
}

@media screen and ( max-width:699px ){
  #h{
    height: 70px;
  }
  #h h1,
  #h h1 img{
  height: 40px;
  }
  

  #h .menu{
    display: block;
  }
  #h nav{
    position: fixed;
    top:0;
    left: 100%;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,.2);
    -webkit-transition: opacity .3s linear, left .3s ease-out;
    -moz-transition: opacity .3s linear, left .3s ease-out;
    -o-transition: opacity .3s linear, left .3s ease-out;
    transition: opacity .3s linear, left .3s ease-out;
  }
  
  #h nav.in{
    left: 0;
  }
  #h nav ul{
    display: block;
    width: 70%;
    position: absolute;
    right: 0;
    padding: 40px;
    height: 100%;
    box-sizing: border-box;
    background: rgba(255,255,255,1);
  }
  #h nav li{
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #999;
  }
  
  #h nav li.close{
    display: list-item;
  }
  
  #h nav li.logo{
    display: block;
    width: 40%;
    position: absolute;
    bottom: 0;
    left: 50%;
    border-bottom: 0;
    transform: translateX(-50%);
  }
  
  #h nav li.logo img{
    width: 100%;
  }
}


/*****************************************
  
  B O D Y
  
*****************************************/
#body{
margin-top: 90px;
}

#body img{
width: 100%;
}

@media screen and ( max-width:699px ){
  #body{
    margin-top: 70px;
  }
}





/*****************************************
  
  P H O T O
  
*****************************************/
#photo{
}

#photo ul{
display: flex;
}
#photo li img{
width: 100%;
display: block;
}

@media screen and ( max-width:699px ){
  #photo ul{
    flex-wrap: wrap;
  }
  #photo li{
    width: 50%;
  }
}



/*****************************************
  
  S E R V I C E
  
*****************************************/
#service{
text-align: center;
}

#service .h p{
text-align: center;
}

#service .atcl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 50px;
}

#service article{
width: 49%;
background: #f5f5f5;
margin-bottom: 20px;
box-sizing: border-box;
padding: 40px 50px 50px 50px;
}

#service article header h1{
margin-bottom: 40px;  
}

#service article header h1 span{
padding: 0 5px;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: solid 2px #000;
}

#service article p{
text-align: left;
}

@media screen and ( max-width:699px ){
  #service article{
    width: 80%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}



/*****************************************
  
  C O M P A N Y
  
*****************************************/
#company{
}

#company dl{
display: flex;
width: 100%;
border-bottom: solid 1px #aaa;
border-left:solid 1px #aaa;
}

#company dl:nth-of-type(1){
border-top:solid 1px #aaa;
}
#company dt{
width: 20%;
background: #f2f2f2;
padding: 10px;
}

#company dd{
padding: 10px;
width: 80%;
border-right: solid 1px #aaa;
}

#company iframe{
margin-top: 30px;
}




/*****************************************
  
  C O N T A C T
  
*****************************************/
#contact{
background: #f2f2f2;
padding: 50px 0;
}

#contact article header h1{
text-align: left;
padding: 5px 0;
border-left: solid 4px #044199;
padding-left: 10px;
font-size: 120%;
}
#contact .tel{
margin-bottom: 20px;
}

#contact strong{
color: #044199;
font-size: 200%;
}

#contact .tel span{
padding: 5px;
background: #044199;
color: #fff;
font-size: 80%;
padding: 3px 10px;
margin-right: 10px;
display: inline-block;
}

form{
background: #bfe9ff;
padding: 20px;
box-sizing: border-box;
margin-bottom: 20px;
}

form span{
padding: 5px;
background: #c00;
color: #fff;
font-size: 80%;
padding: 3px 10px;
border-radius: 40px;
margin-left: 10px;
vertical-align: middle;
display: inline-block;
}

form dl{
width: 100%;
align-items: center;
display: flex;
box-sizing: border-box;
margin-bottom: 30px;
}

form dt{
width: 30%;
}

form dd{
width: 70%;
}

form dd input{
width: 40%;
margin: 0;
}

form dd textarea{
width: 95%;
height: 100px;
}

#contact .text{
width: 70%;
margin: 0 auto;
}

#contact .submit{
text-align: center;
}

input[type=submit]{
border: 0;
background: linear-gradient(to right,#032b78, #0557bc);
color: #fff;
padding: 15px;
font-weight: bold;
width: 400px;
margin: 0 auto;
cursor: pointer;
}

input[type=button]{
border: 0;
background: linear-gradient(to right,#770303, #bc0505);
color: #fff;
padding: 15px;
font-weight: bold;
width: 400px;
margin: 0 auto;
}


@media screen and ( max-width:699px ){
  #contact{
    margin-bottom: 30px;
  }
  #contact article{
    width: 90%;
    margin: 0 auto;
  }
  form{
    width: 100%;
  }
  form dl{
    display: block;
  }
  form dt,
  form dd{
    width: 100%;
  }
  form dd input{
    width: 95%;
  }
  
  input[type=submit]{
    width: 70%;
  }
}

/*****************************************
  
  F O O T E R
  
*****************************************/

footer{
height: 90px;
padding: 5px 20px;
box-sizing: border-box;
position: relative;
align-items: center;
justify-content: space-between;
}

footer h1,
footer h1 img{
height: 70px;
}
footer h1{
position: absolute;
left: 20px;
top:5px;
}

footer nav{
text-align: center;
width: 100%;
}

footer nav ul{
text-align: center;
}

footer nav li{
margin-left: 20px;
font-weight: bold;
display: inline-block;
}


footer nav a{
color: #000;
text-decoration: none;
}

@media screen and ( max-width:699px ){
  footer{
    padding-bottom: 30px;
    margin-bottom: 30px;
    height: auto;
  }
  footer h1{
    position: static;
    text-align: center;
    margin-bottom: 40px;
  }
}


/*****************************************
  
  D U M M Y
  
*****************************************/
#dumm{
width: 100%;
height: 100%;
position: fixed;
top:0;
left: 0;
background: rgba(255,255,255,.7);
display: table;
display: none;
}

#dummInner{
display: table-cell;
vertical-align: middle;
}

#view{
width: 50%;
margin: 0 auto;
padding: 20px;
background: #fff;
border-radius:10px;
box-shadow: 0 0 8px grey;
}

#view h1{
text-align: center;
}

#view input[type=button],
#view input[type=submit]{
width: 47%;
cursor: pointer;
}

#view .submit{
display: flex;
justify-content: space-between;
}

#view em{
text-decoration: none;
font-style: normal;
}

@media screen and ( max-width:699px ){
  #view{
    width: 80%;
  }
  #view h1 img{
    height: 50px;
  }
  
}