@charset "UFT-8";
body{
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    min-height: 100vh;
    display: grid;
    grid-template:
      "header" 200px
      "nav   " 60px
      "main  " 1fr
      "footer" 30px;
}
header{
    grid-area: header;
}
main{
    grid-area: main;
}
nav{
    grid-area: nav;
    background-color: #191970;
}
footer{
    grid-area: footer;
    background-color: #191970;
    display: flex;
    justify-content: center;
    align-items: center;
}
footer p{
    color: #fff;
    font-size: 0.875rem;
}

/* メニューバー */
nav ul{
    display:flex;
    justify-content: center;
    margin: 0;
    padding: 6px;
    list-style-type: none;
}
nav a{
    display: block;
    border-radius: 4px;
    padding: 12px 24px;
    text-decoration: none;
    color: white;
}
nav li a:hover{
    background-color: lavender;
    color: darkblue;
}
nav ul li.current{
    border-radius: 4px;
    background-color: #4169e1;
}

/* 共通 */
a{
    text-decoration: none;
}
img{
    max-width: 100%;
}
li{
    list-style: none;
}
ul{
    list-style-type: disc;
}

/* トップ画像 */
#top-img{
    background-image: url(images/most1.jpg);

}
.top-bg{
    background-size: cover;
    background-position:  top;
}
.logo{
    display: flex;
    justify-content: flex-end;
    padding: 0px;
}
.logo-txt{
    height:120px;
    line-height:120px;
    justify-content: flex-start;
    vertical-align: bottom;
    color: aliceblue;
    padding: 10px;
}
.logo img{
    width: 300px;
}
.logo a{
    color: mediumblue;
}

/* キャッチコピー */
.catch-title{
    text-align: center;
    font-size: 3rem;
    margin: 30px;
}
.catch-title p{
    font-size: 1.3rem;
}

/* News & Topics */
.news-title{
    font-size: 1.5rem;
    font-style: italic;
}
#news{
    display: flex;
    justify-content: center;
}
#news ul{
    display: flex;
    justify-content: space-between;
    width: 100%;
}
#news li{
    width: 32%;
}
#news img{
    width: 330px;
    height: 200px;
    padding: 0 10px;
}
#news p{
    padding: 0  5px;
    text-align: center;

}
/* その他のnews & Topics */
.news-info{
    width: 100%;
    margin: 5px;
    font-size: 1.2rem;
}
.news-info ul{
    display: table;
    padding: 5px;
    border-bottom: solid 1px darkgray;
}
.news-info li{
    display: table-cell;
    font-size: 1rem;
    padding: 5px;

}
    .box{
        margin: 5px 0;
        background-color: lightcyan;
        border-left: solid 5px #4169e1;
    }

/*Webフォント*/
.wf-sawarabimincho {
     font-family: "Sawarabi Mincho";
}

/* BUSINESS */
#business{
    display: flex;
    justify-content: center;
    margin-top: 20px;
}
#business ul{
    display: flex;
    justify-content: space-between;
    width: 100%;
    list-style-type: disc;
}
#business li{
    width: 30%;
    border: solid 1px white;
    border-radius: 5%;
    background-color: #ffefff;
    text-align: center;
    margin-left: 20px;

}
#business img{
    width: 150px;
    height: 150px;
    padding: 10px;
}
#business p{
    padding: 0 10px;
    color: black;
    background-color: aliceblue;
}
#business h3{
    font-size: 0.875rem;
    color: darkgray;
    background-color: aliceblue;
}
.business-title{
    margin-top: 50px;
    border-bottom: solid 1px darkgray;
    font-size: 1.5rem;
}
.business-info{
    display: flex;
    justify-content: space-between;
}
.business-left{
    width: 68%;
    margin: 20px;
}
.business-left li{
    list-style-type: disc;
}
.business-right{
    width: 28%;
    margin: 20px;
}
.business-info img{
    width: 300px;
    height: 200px;
}
.business-info p{
    font-size: 1.1rem;
}

/* ACCESS */
#access-map{
    width: 80%;
    margin: 0 auto;
}
iframe{
    width: 100%;
}

/* フォーム */
.wrapper{
    max-width: 600px;
    margin: 0 auto;
}
form div{
    margin-bottom: 30px;
}
label{
    display: block;
    font-size: 1.125rem;
}
input[type="text"],
input[type="email"],
textarea{
    background: snow;
    border: 1px darkgray solid;
    padding: 10px;
    font-size: 1rem;
    width: 100%;
}
input[type="text"],
input[type="email"]{
    max-width: 480px;
}
textarea{
    max-width: 480px;
    height: 6rem;
}
input[type="submit"]{
    border: none;
    cursor: pointer;
    line-height: 1;
}
/* ボタン */
.button{
    font-size: 1.4rem;
    background: #202020;
    color: #fff;
    padding: 20px 36px;
    border-radius: 5%;
}
.button:hover{
    background: gray;
}

/* テーブル */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
}

th, td {
  padding: 0.5em;
  border: 1px solid #ddd;
  text-align: center;
}

/* contact */
#contact{
    width: 80%;
    margin: 0 auto;
    font-size: 1.5rem;

}

/* レスポンシブ対応 */
@media screen and (max-width: 600px) {
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
