html{
	height:100%;
	width:100%;
    text-align: center;
}

body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 500;
	height:100%;
	width:100%;
    background-color: #0086cc;
    text-align: center;
}

h1,h2{
    font-weight: normal;
}

#wrapper {
  width:100%;
  overflow:hidden;
}

#container{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width:100%;
    vertical-align:top;
}

header{
    margin:0 auto;
    padding:40px 0;
    background-color: #fff;
    width: 100%;
    text-align: center;
}
.logo{
    color:#0086cc;
    font-family: 'Sacramento', cursive;
    font-size:4rem;
}

.logo a{
    text-decoration: none;
}

.logo a:hover{
    text-decoration: none;
    opacity: 0.5 ;
}

.logo a:visited{
    color:#0086cc;
}

main{
    margin:0 auto;
    padding-top:10px;
    text-align: center;
    width:100%;
}

.alert{
    padding:50px 20px;
    width: 80%;
    vertical-align: bottom;
    background-color: #0086cc;
    color:#fff;
    font-size:2rem;
    font-family: 'Playfair Display', serif;
    border:solid 3px #fff;
    margin:0 auto;
    line-height:2.5rem;
}

.message{
    padding:80px 10px;
    width: 100%;
    vertical-align: bottom;
    background-color: #0086cc;
    color:#fff;
    font-size:4rem;
    font-family: 'Playfair Display', serif;
}

.address{
    padding:0 10px;
    margin:0px 10px 100px 10px;
    display: flex;
    justify-content:space-evenly;
    color:#fff;
}

@media screen and (max-width: 786px) {
.address {
    flex-direction: column;
    
  }
.logo{
    font-size:3rem;
}
.message{
    font-size:2.5rem;
    line-height: 3rem;
    }

.map{
    width:95%;
    padding-top:40px;
}
}

.midashi{
    font-size:1.8rem;
    line-height: 5rem;
}

.midashi2{
    font-size:1.8rem;
    line-height: 1rem;
    color:#0086cc;
}

.company{
    margin:0 auto;
    font-size:1.1rem;
    line-height: 2.4rem;
    text-align: center;
    flex-basis: 45%;
}

td.nowrap{
    white-space: nowrap;
}

td.tdleft{
    text-align: left;
    padding:0px 5px 25px 5px;
    line-height: 1.5rem;
}

.map{
    margin:0 auto; 
    width:90%;
    flex-basis: 45%;
}

.formarea{
    width:100%;
    background: #FFFFFF;
    padding-top:100px;
    padding-bottom: 80px
}

.form{
    width:65%;
	padding: 30px;
	margin: 20px auto;
}

.form input[type="text"],
.form input[type="date"],
.form input[type="datetime"],
.form input[type="email"],
.form input[type="number"],
.form input[type="search"],
.form input[type="time"],
.form input[type="tel"],
.form input[type="password"],
.form select,
.form textarea
{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	outline: none;
	display: block;
	width: 100%;
	padding: 7px;
	border: none;
	border-bottom: 1px solid #0086cc;
	background: transparent;
	margin-bottom: 10px;
	font-size: 1.1rem !important; 
	height: 60px;
}

.form textarea{
	resize:none;
	overflow: hidden;
    margin-bottom:50px;
}
.form input[type="button"], 
.form input[type="submit"]{
	background-color: #0086cc;
	border: 1px solid #0478b5;
	display: inline-block;
	cursor: pointer;
	color: #FFFFFF;
	font-size: 1.2rem;
	padding: 5px 50px;
	text-decoration: none;
	text-transform: uppercase;
    border-radius: 5px; 
}
.form input[type="button"]:hover, 
.form input[type="submit"]:hover {
    opacity: 0.5 ;
}

footer{
    text-align: center;
    margin-top:auto;
    margin-bottom:30px;
    line-height: 1rem;
    color:#fff;
    padding-top:35px;
}

