@charset "utf-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
}
.cf:after {
  content: "";
  clear: both;
  display: block;
}
.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mt20 {
  margin-top: 20px;
}

body {
  background: url(../images/bg.png);
  color: #5d5d5a;
  font-size: 13px;
  line-height: 2;
  font-family: Arial, Helvetica, "メイリオ", "HiraKakuPro-W3",
    "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Osaka";
}
pre {
  white-space: -moz-pre-wrap; /* Mozilla */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  white-space: pre-wrap; /* CSS3 */
  word-wrap: break-word; /* IE 5.5+ */
  display: inline-block;
}
a,
a:link,
a:active,
a:visited {
  color: #5d5d5a;
  transition: background-color 0.35s ease;
  -webkit-transition: background-color 0.35s ease;
  -moz-transition: background-color 0.35s ease;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: normal;
}
h2,
h3,
h4,
h5,
h6 {
  font-size: 130%;
  font-weight: normal;
  margin-bottom: 2%;
  padding: 8px 0;
}

/* top page */
/* header */
header {
  border-top: 3px solid #3c7dce;
}
.head-text {
  margin: 0 auto;
  padding: 2% 0;
  width: 90%;
}
.head-text .site-titl {
  display: inline-block;
  margin-right: 2%;
  width: 40%;
}
.head-text .site-titl a {
  color: #3c7dce;
  font-size: 20px;
  height: 100%;
  font-weight: bold;
  line-height: 1.3;
}
.head-text .site-titl a:hover {
  opacity: 0.7;
}
.head-text .copy-text {
  display: inline-block;
  font-size: 12px;
  width: 30%;
}

/* gro-nav */
#gro-nav {
  margin: 0 auto;
  width: 90%;
}
#gronav-menu {
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  width: 100%;
}
#gronav-menu li {
  text-align: center;
  width: 24%;
}
#gronav-menu li a {
  background: #fff;
  border: 3px solid #dddecc;
  display: block;
  font-weight: bold;
  padding: 20px;
}
#gronav-menu li a:hover {
  background: #f7f6f0;
}

/* main-img */
#main-img {
  margin: 3% auto;
  width: 90%;
}

/* slide */
.bx-wrapper {
  border: none;
  box-shadow: none;
  height: auto;
  margin: 0;
  width: 100%;
}
.bx-wrapper .bx-controls-direction a {
  background: #388186;
  border-radius: 50%;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  display: none;
}

/* contents */
#contents {
  width: 90%;
  margin: 3% auto 0;
}
#contents main {
  float: right;
  width: 67%;
}

/* link */
#link-contents {
  margin-bottom: 5%;
}
.link:last-child {
  border: none;
}
.link {
  margin-bottom: 5%;
}
.link img {
  float: left;
  margin: 0 2% 2% 0;
  width: 50%;
}

/* +下層用 */
.link h2, .under h1 {
  background: #fff;
  border: 3px solid #dddecc;
  font-size: 18px;
  font-weight: bold;
  padding: 2%;
}
.under h1 {
margin-bottom: 2%;}

.link p {
  margin-bottom: 2%;
}
.link-btn {
  float: right;
}
.link-btn a::before {
  border-right: 1px solid #5d5d5a;
  border-top: 1px solid #5d5d5a;
  content: "";
  display: block;
  height: 7px;
  left: 0;
  position: absolute;
  top: 3px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 7px;
}
.link-btn a {
  padding-left: 20px;
  position: relative;
}
.link-btn a:hover {
  color: #3c7dce;
}

/* browser-contents */
main .browser-contents {
  background: #fff;
  border: 3px solid #dddecc;
  margin-bottom: 5%;
}
main .browser-contents h2 {
  border-bottom: 1px dotted #ebe7dc;
  margin: 0;
  padding: 2%;
  position: relative;
}
#browsers h3 {
  margin: 3% auto;
  width: 95%;
}
#browsers h3 a::before {
  border-right: 2px solid #5d5d5a;
  border-top: 2px solid #5d5d5a;
  content: "";
  display: block;
  height: 12px;
  left: 0;
  position: absolute;
  top: 10px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 12px;
}
#browsers h3 a {
  color: #dddecc;
  display: block;
  font-size: 20px;
  margin: 0;
  padding-left: 30px;
  position: relative;
  text-decoration: underline;
}
#browsers h3 a:hover {
  color: #3c7dce;
}
#browsers p {
  padding: 2%;
}

/* content-article */
.content-article {
  background: #fff;
  border: 3px solid #dddecc;
  margin-bottom: 5%;
  padding: 2%;
}
.content_article-img {
  width: 100%;
}
.content-article h2 {
  background: #fff;
  border-bottom: 3px solid #dddecc;
  font-size: 18px;
  font-weight: bold;
  padding: 2%;
}
.content-article h3 {
  background: #ecece0;
  font-size: 18px;
  font-weight: bold;
  padding: 2%;
}
.content-article h4 {
  background: #fff;
  border: 3px solid #70bc96;
  font-size: 18px;
  font-weight: bold;
  padding: 2%;
}
.content-article h5 {
  border-bottom: 1px solid #5d5d5a;
  font-size: 18px;
}
.content-article h6 {
  color: #3c7dce;
  font-size: 18px;
  font-weight: bold;
}
.content-article strong {
  background: #3c7dce;
  color: #fff;
  font-size: 16px;
  font-weight: normal;
}
.content-article ul li::before {
  border-right: 1px solid #5d5d5a;
  border-top: 1px solid #5d5d5a;
  content: "";
  display: block;
  height: 7px;
  left: 0;
  position: absolute;
  top: 9px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 7px;
}
.content-article ul li {
  padding-left: 20px;
  position: relative;
}
.content-article ol {
  counter-reset: number;
}
.content-article ol li {
  margin-bottom: 2%;
}
.content-article ol li::before {
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  margin-right: 10px;
}
.content-article blockquote {
  border: 1px solid #5d5d5a;
  padding: 1%;
}
.content-article address {
  background: #fff;
  border: 1px solid #5d5d5a;
  padding: 1% 2%;
}
.content-article a {
  color: #ed414c;
  text-decoration: underline;
}
.aligncenter {
  margin-bottom: 2%;
  text-align: center;
}
.alignright {
  margin-bottom: 2%;
  text-align: right;
}
.content-article pre {
  background: #4e4e4e;
  color: #fff;
  margin: 2% 0;
  padding: 2%;
}
table {
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: left;
}
table th {
  background: #dddecc;
  border: 1px solid #dddecc;
  color: #fff;
  font-weight: normal;
  padding: 10px;
  vertical-align: top;
  width: 150px;
}
table td {
  background: #fff;
  border: 1px solid #dddecc;
  padding: 10px;
  vertical-align: top;
  width: 350px;
}

/* aside */
.side-nav {
  width: 30%;
  position: sticky;
  top: 0;
}
.side-content > li h2,
.side-content > li h3 {
  background: #a09abe;
  color: #fff;
  padding: 4%;
  text-align: center;
}
.side-content a {
  background: #fff;
  border: 2px solid #dddecc;
  display: block;
  margin: 3% 0;
  padding: 4%;
  position: relative;
}
.side-content a:hover {
  background: #f7f6f0;
}
.side-content a img {
  margin-bottom: 3%;
}
.side-content img {
  width: 100%;
}
.side-content .menu li {
  position: relative;
}
.side-content .menu li a {
  padding-left: 30px;
}
.side-content .menu li::before {
  background: #eeeee2;
  content: "";
  display: block;
  height: 13px;
  left: 0;
  position: absolute;
  top: 19px;
  width: 25px;
  z-index: 1;
}
.slicknav_menu {
  display: none;
}

/* footer */
footer {
  margin-top: 10%;
  position: relative;
}
.sitemap-content {
  background: #fff;
  border: 3px solid #dddecc;
  display: flex;
  margin: 0 auto 2%;
  padding: 3% 0;
  width: 90%;
}
.sitemap-content > li {
  display: flex;
  justify-content: space-evenly;
  margin: 0 3%;
  vertical-align: top;
  width: 40%;
}
.sitemap-content > li:last-child {
  margin-right: 0;
}
.sitemap-content > li p {
  border-right: 1px solid #dddecc;
  width: 40%;
}
.sitemap-content > li li a {
  font-size: 12px;
  text-decoration: underline;
}
.sitemap-content > li li a:hover {
  color: #dddecc;
}
.copy-right {
  border-bottom: 2px solid #377ace;
  border-top: 3px solid #dddecc;
  padding: 2% 0;
  text-align: right;
}
small {
  display: block;
  margin: 0 auto;
  width: 80%;
}

/* top-btn */
#topbtn-box {
  bottom: 70px;
  height: auto;
  position: fixed;
  right: -10px;
  width: 60px;
}
.top-btn {
  display: block;
}
.top-btn:hover {
  opacity: 0.7;
}
.top-btn img {
  width: 100%;
}

/* under */
/* header */
.sub_header {
  margin-bottom: 3%;
}

/* sub-content */
#sub-content {
  margin: 0 auto;
  width: 90%;
}
#sub-content > h2 {
  background: #fff;
  border: 3px solid #dddecc;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 3%;
  padding: 2%;
}
#sub-content main {
  float: right;
  width: 67%;
}

/* pan-nav */
#pan-nav {
  color: #272727;
  font-size: 12px;
  margin: 1% 0;
}
#pan-nav a {
  color: #272727;
}
#pan-nav > span {
  margin: 0 1%;
}
#pan-nav > span:first-child {
  margin: 0 1% 0 0;
}

/* main */
.eyecatch {
  margin-bottom: 2%;
  width: 100%;
}

/* SNS */
.sns {
  background: #fff;
  border: 3px solid #dddecc;
  margin-bottom: 5%;
  padding: 2%;
}
.button_Area {
  width: 100%;
}
.button-titl {
  background: #3576c6;
  color: #fff;
  display: block;
  padding: 6px 15px;
  text-align: center;
}
.sns-content {
  display: flex;
  justify-content: space-between;
  margin: 3% auto;
}
.sns-btn {
  width: 23%;
  box-sizing: border-box;
  margin: 0 0.1%;
}
.sns-btn .fa {
  font-weight: bold;
}
.buttonLink {
  display: block;
  text-align: center;
  color: #fff !important;
  font-size: 14px !important;
  padding: 10px 0 !important;
  box-sizing: border-box;
  text-decoration: none;
}
.buttonLink:hover {
  text-decoration: none !important;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

/* SNSごとの背景色 */
#Twitter {
  background-color: #00acee;
}
#Hatena {
  background-color: #2d4c86;
}
#Facebook {
  background-color: #3b5998;
}
#Ggl-plus {
  background-color: #dd4b39;
}

/* no-page */
.no-page-entry {
  background: #fff;
  border: 3px solid #dddecc;
  margin-bottom: 10%;
  padding: 20% 10%;
}
