@charset "utf-8";

html {
  font-size: 100%;
}

body {
  font-family: "Hiragino Kaku Gothic proN", "メイリオ", sans-serif;
  color: #555555;
  line-height: 1.5;
  /* 行間を開ける。単位は指定しないのが一般的 */
}

img {
  width: 100%;
}

.wrapper {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 10px;
}

header {
  border-top: 10px solid #8c6239;
}

.header_logo {
  width: 60px;
  height: 60px;
}

.header_logo_title {
  margin: 0 30px;
}

.header_nav {
  margin-left: auto;
}

.header_content {
  display: flex;
  align-items: center;
  margin: 10px auto;
}

header nav ul {
  display: flex;
}

header nav ul li {
  margin-left: 30px;
}

header nav ul li a {
  text-decoration: none;
  color: #555555;
}

header nav ul li a:hover,
header nav ul li a:active,
header nav ul li.current a {
  color: #8c6239;
}

#main_image {
  width: 100%;
  height: 50vh;
  background-image: url(../images/cafe.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.contents {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

#main_content {
  width: 65%;
}

#sidebar {
  width: 31%;
}

#home h2 {
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom: 1px solid #8c6239;
  font-size: 1.2rem;
}

#info dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

#info dt {
  width: 7em;
}

#info dd {
  width: calc(100% - 7em);
}

#info dt,
#info dd {
  margin-bottom: 10px;
}

#campaign ul li {
  margin-bottom: 10px;
  list-style-type: none;
}

#sidebar ul li {
  margin-bottom: 20px;
  list-style-type: none;
}

footer {
  margin-top: 70px;
  padding: 30px;
  text-align: center;
  color: #ffffff;
  background-color: #a67c52;
}

footer ul {
  margin-bottom: 20px;
  font-size: 0.9rem;
}

footer ul li {
  display: inline-block;
  margin: 5px;
}

footer ul li a {
  color: #ffffff;
}

footer ul li a:link {
  text-decoration: none;
}

footer ul li a:hover,
footer ul li a:active {
  opacity: .7;
}

small {
  font-size: 0.7rem;
}

@media(max-width: 600px) { /* カッコ内を満たす（ブレイクポイント）時に{}内が適用になる */
  html {
    font-size: 87.5%;
  }

  .header_logo {
    width: 60px;
  }

  .contents {
    flex-direction: column;
    margin-top: 10px;
  }

  #main_content,
  #sidebar {
    width: 100%;
  }
}
/* レスポンシブのメデイアクエリの設定（CSSの機能の一つで表示する画面の環境に応じて適用するスタイルを切り替えることができる機能） */

/* 一部共通 */
.heading {
  text-align: center;
}

.content_image {
  padding: 30px 70px;
  text-align: center;
}

.content_image_catch {
  width: 50%;
  height: 70%;
}

.content_text {
  text-align: center;
}

.content_text_area {
  text-align: start;
  margin: 0 80px;
}

.info_content {
  padding: 10px 0;

}

.parking_image {
  width: 60%;
  height: 60%;
  margin: 0 auto;
}

/* access.html */
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}

.access_info {
  text-align: center;
}

