@charset "UTF-8";

* {
  list-style-type: none;
  text-decoration: none;
  margin: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

html {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  height: 100%;
  font-family: Arial, Roboto, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  background: #fff;
  color: #333;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  letter-spacing: 0.1em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 35.2px 0;
  margin: 2.2rem 0;
  font-weight: bold;
}

h1 a,
h1 a:hover,
h2 a,
h2 a:hover,
h3 a,
h3 a:hover,
h4 a,
h4 a:hover,
h5 a,
h5 a:hover,
h6 a,
h6 a:hover {
  color: #333;
  text-decoration: none;
}

a {
  color: #fff;
  transition: .8s;
  text-decoration: none;
}

a:hover {
  color: #a9a9a9;
  text-decoration: none;
}

a .img-link:hover {
  opacity: .8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}

ul {
  list-style-type: none;
  padding-left: 0;
}

img {
  max-width: 100%;
  height: auto;
}

html,
body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

body {
  min-height: 100vh;
  background: url("../images/underneath_background.png") top 50% left 50% no-repeat;
  background-size: cover;
}

footer {
  margin-top: auto;
}

.main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 15px;
  height: 100%;
  color: #002a5c;
  text-align: center;
}

.main picture {
  margin: 0 auto;
}

.footer {
  background-color: #000;
  color: lightgray;
  padding: 30px;
  text-align: center;
  font-weight: 300;
  font-size: 12px;
  position: relative;
}

.footer p {
  padding: 5px;
}

.footer-underneath {
  font-size: 16px;
}

.footer-a {
  color: lightgray;
  transition: 0.3s;
}

.footer-a:hover {
  color: gray;
}

.footer .link-group {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  padding: 15px;
  border-radius: 3px;
}

.footer .link-group .link-item {
  color: #eee;
  font-size: 13px;
  font-weight: bold;
  white-space: nowrap;
}

.footer .link-group .link-item:not(:last-child) {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .footer .link-group {
    border: 0;
    padding: 0;
    top: unset;
    right: unset;
    position: relative;
    margin-top: 20px;
  }
}
