@charset "utf-8";
html {
  font-size: 62.5%;
  color: #808080;
  background-color: #ffffff;
}
body {
  font-family: "HiraginoSans-W3", "ヒラギノ角ゴシック W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.4rem;
}
p,
ul,
ol {
  line-height: 1.85;
}
a {
  color: #2983C8;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
h2,
h3 {
  color: #4D4D4D;
}
img {
  max-width: 100%;
  height: auto;
}
.wide-block {
  padding: 20px 0;
  background-position: 50% 0;
}
.wide-block .wide-block-content {
  max-width: 980px;
  margin: 0 auto;
}
.wide-block h1 {
  font-size: 2.4rem;
  line-height: 1.25;
}
.wide-block h2 {
  font-size: 4.8rem;
  line-height: 1.25;
}
@media (min-width: 768px) {
  .wide-block {
    padding: 40px 0;
  }
}
.header-block {
  box-sizing: border-box;
  min-height: 420px;
  padding: 20px 0;
  font-size: 1.6rem;
  color: #ffffff;
  background-image: url("../image/image_bg_purple.png");
}
@media (min-width: 768px) {
  .header-block {
    padding: 50px 0;
  }
  .header-block .col-sm-6 {
    padding: 0;
  }
  .header-block h1 {
    padding: 30px 0 25px;
  }
}
.information-block {
  padding: 16px 0;
  background-color: #F9F3FB;
}
.information-block ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
  color: #808080;
}
.information-block ul li {
  margin-left: 0;
  padding-left: 0;
}
.sites-block .site h3:first-child:before {
  content: "";
  display: block;
  width: 120px;
  height: 120px;
  margin: 20px auto 20px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media (min-width: 768px) {
  .sites-block .site h3:first-child:before {
    margin-top: -20px;
  }
}
.sites-block .site p {
  color: #808080;
}
.sites-block .site.community h3:first-child:before {
  background-image: url("../image/icon_community@2x.png");
}
.sites-block .site.announcement h3:first-child:before {
  background-image: url("../image/icon_announcement@2x.png");
}
.sites-block .site.bugzilla h3:first-child:before {
  background-image: url("../image/icon_bugzilla_jp@2x.png");
}
.download-block {
  font-size: 1.6rem;
  padding: 10px 0 30px;
  background-color: #F6F4EC;
}
@media (min-width: 768px) {
  .download-block h2 {
    line-height: 1.5;
  }
  .download-block h3 {
    margin: 35px 0 20px;
  }
}
.about-block {
  padding: 20px 0 30px;
  background-image: url("../image/image_bg_purple.png");
  background-repeat: repeat;
  color: #ffffff;
}
.about-block h2 {
  color: inherit;
}
@media (min-width: 768px) {
  .about-block h2 {
    line-height: 1.75;
  }
}
.about-block p {
  margin-bottom: 20px;
}
.about-block .wide-block-content {
  position: relative;
  overflow: hidden;
}
.about-block .wide-block-content:after {
  content: "";
  position: absolute;
  width: 350px;
  height: 470px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto 0 0 auto;
  background-image: url("../image/image_matoi.png");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media (min-width: 1140px) {
  .about-block .wide-block-content:after {
    margin-right: -80px;
  }
}
@media (min-width: 768px) {
  .about-block .wide-block-content {
    overflow: visible;
  }
}
.contact-block {
  padding: 30px 0 20px;
  font-size: 1.6rem;
  background-color: #F6F4EC;
}
.footer-block {
  box-sizing: border-box;
  min-height: 50px;
  padding: 0;
  font-size: 1.4rem;
  color: #ffffff;
  background-image: url("../image/image_bg_gray.png");
}
.footer-block .wide-block-content {
  padding: 15px 0 0;
}
.footer-block .wide-block-content:after {
  content: "";
  display: block;
  width: 130px;
  height: 50px;
  margin: 0 auto;
  background-image: url("../image/sitelogo_small@2x.png");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media (min-width: 768px) {
  .footer-block .wide-block-content {
    position: relative;
  }
  .footer-block .wide-block-content:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto 0 auto auto;
  }
}
