@charset "UTF-8";
/******* setting.scss *******/
/******* mixin.scss *******/
.contents, .BlogList section, .BlogContent .social, .BlogContent .pageNav {
  *zoom: 1;
}
.contents:after, .BlogList section:after, .BlogContent .social:after, .BlogContent .pageNav:after {
  content: " ";
  clear: both;
  display: block;
}

.contents .side nav.sideProfile .link a,
.contents .side section.sideProfile .link a, .BlogList .pageList li a, .BlogContent .pageNav li a, .ProfileContent .link a {
  border: 1px solid #579C46;
  color: #579C46;
}
.contents .side nav.sideProfile .link a:hover,
.contents .side section.sideProfile .link a:hover, .BlogList .pageList li a:hover, .BlogContent .pageNav li a:hover, .ProfileContent .link a:hover {
  background-color: #579C46 !important;
  color: #fff;
  text-decoration: none;
}

/******* reset.scss *******/
html,
body {
  margin: 0;
  max-width: 100%;
  min-height: 100%;
  padding: 0;
  text-align: center;
  position: relative;
  -webkit-text-size-adjust: 100%;
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address, textarea, input {
  font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
  font-size: 14px;
  color: #333;
  font-style: normal;
  line-height: 160%;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

caption, th {
  text-align: left;
}

td, th {
  vertical-align: top;
}

fieldset, img, abbr {
  border: none;
}

li {
  list-style-type: none;
}

strong {
  font-weight: bold;
}

a {
  color: #579C46;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

img {
  vertical-align: bottom;
}

.wrapper {
  background: #F4F9F5;
  max-width: 1980px;
  margin: 0 auto;
  position: relative;
}

/******header******/
header {
  background: url(../img/common/mainBg.jpg) no-repeat 50% 0;
  border-bottom: 10px solid #313231;
  min-height: 480px;
  min-width: 1200px;
  margin: 0 auto 40px;
  text-align: center;
}
header p {
  background: rgba(51, 51, 51, 0.8);
  color: #fff;
  margin: 0 auto 80px;
  padding: 8px 0;
  text-align: center;
}
header h1 {
  padding: 0 400px 0 0;
  text-align: center;
}

/******footer******/
footer {
  background: #313231;
  min-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
  text-align: center;
}
footer ul {
  margin: 0 auto 20px;
}
footer ul li {
  display: inline-block;
  margin: 0 8px;
}
footer .copy {
  color: #fff;
  font-size: 120%;
}

/******contents******/
.contents {
  margin: 0 auto;
  padding: 0 0 80px;
  position: relative;
  text-align: left;
  width: 1200px;
}
.contents .main {
  background: #fff;
  float: right;
  width: 860px;
}
.contents .side {
  float: left;
  width: 300px;
}
.contents .side nav,
.contents .side section {
  background: #fff;
  margin-bottom: 40px;
  padding: 35px 40px;
}
.contents .side nav h2,
.contents .side section h2 {
  border-bottom: 1px dotted #ccc;
  color: #579C46;
  font-size: 180%;
  font-weight: normal;
  line-height: 100%;
  padding-bottom: 35px;
  text-align: center;
}
.contents .side nav.sideProfile .pict,
.contents .side section.sideProfile .pict {
  margin: 0 auto 15px;
  text-align: center;
}
.contents .side nav.sideProfile h2,
.contents .side section.sideProfile h2 {
  color: #333;
  font-size: 160%;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.contents .side nav.sideProfile h2 span,
.contents .side section.sideProfile h2 span {
  display: block;
  font-size: 65%;
  font-weight: normal;
  margin-bottom: 15px;
}
.contents .side nav.sideProfile p,
.contents .side section.sideProfile p {
  font-size: 90%;
  margin-bottom: 35px;
}
.contents .side nav.sideProfile .link,
.contents .side section.sideProfile .link {
  text-align: center;
}
.contents .side nav.sideProfile .link a,
.contents .side section.sideProfile .link a {
  display: block;
  padding: 20px 0;
  text-decoration: none;
}
.contents .side nav.contact,
.contents .side section.contact {
  margin: 0;
  text-align: center;
}
.contents .side nav.contact h2,
.contents .side section.contact h2 {
  margin-bottom: 30px;
}
.contents .side nav ul li {
  border-bottom: 1px dotted #ccc;
}
.contents .side nav ul li a {
  background: url(../img/common/navIcon.gif) no-repeat 0 50%;
  background-size: 14px;
  display: block;
  padding: 18px 0 18px 30px;
  text-decoration: none;
}
.contents .side nav ul li a:hover {
  text-decoration: underline;
}

.pageTop {
  position: fixed;
  right: 10px;
  bottom: 10px;
}
.pageTop img {
  cursor: pointer;
  width: 90px;
  transition: opacity 0.3s;
}
.pageTop img:hover {
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
  filter: alpha(opacity=80);
}
.pageTop.abs {
  position: absolute;
}

/******BlogList******/
.BlogList {
  padding: 40px 40px;
}
.BlogList section {
  border-bottom: 1px dotted #ccc;
  margin: 0 auto 40px;
  padding: 0 0 35px;
}
.BlogList section .pict {
  float: left;
  width: 240px;
}
.BlogList section .pict img {
  transition: opacity 0.3s;
  width: 100%;
}
.BlogList section .pict img:hover {
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
  filter: alpha(opacity=80);
}
.BlogList section .pict + .secCont {
  float: right;
  width: 520px;
}
.BlogList section .secCont h2 {
  font-size: 175%;
  font-weight: normal;
  margin-bottom: 10px;
}
.BlogList section .secCont p {
  font-size: 110%;
  margin-bottom: 10px;

  height: 45px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.BlogList section .secCont p.date {
  color: #FF7F00;
  font-size: 120%;
  margin: 0;
  text-align: right;
}
.BlogList .pageList {
  text-align: center;
}
.BlogList .pageList li {
  display: inline-block;
  margin: 0 2px;
  vertical-align: middle;
}
.BlogList .pageList li a {
  display: block;
  padding: 3px 10px;
  text-align: center;
}
.BlogList .pageList li.c a {
  background: #579C46;
  color: #fff;
}
.BlogList .pageList li.prev {
  margin: 0 8px 0 0;
}
.BlogList .pageList li.prev a {
  border: none;
  background-position: 0 0;
  background-repeat: no-repeat;
  display: block;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  height: 19px;
  width: 10px;
  content: "";
  padding: 0;
  background-image: url(../img/blog/pageNavIcon01.png);
}
.BlogList .pageList li.prev a:hover {
  background-color: #fff !important;
}
.BlogList .pageList li.next {
  margin: 0 0 0 8px;
}
.BlogList .pageList li.next a {
  border: none;
  background-position: 0 0;
  background-repeat: no-repeat;
  display: block;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  height: 19px;
  width: 10px;
  content: "";
  padding: 0;
  background-image: url(../img/blog/pageNavIcon02.png);
}
.BlogList .pageList li.next a:hover {
  background-color: #fff !important;
}

/******BlogContent******/
.blogDetail header {
  background-image: url(../img/common/mainBg2.jpg);
  min-height: 420px;
}
.blogDetail header h1 {
  padding: 0;
  text-align: center;
}
.blogDetail header h1 img {
  width: 375px;
}

.topicPath {
  background: #F4F9F5;
  padding-bottom: 40px;
}
.topicPath ol {
  background: #fff;
  display: table;
  padding: 15px 20px;
}
.topicPath ol li {
  display: table-cell;
  background: url(../img/blog/topicIcon.jpg) no-repeat 10px 50%;
  padding: 0 0 0 35px;
  white-space: nowrap;
  vertical-align: middle;
}
.topicPath ol li:first-child {
  background: none;
  padding: 0;
  vertical-align: middle;
}
.topicPath ol li:first-child img {
  vertical-align: middle;
}
.topicPath ol li:last-child {
  white-space: normal;
}

.BlogContent {
  padding: 40px;
}
.BlogContent p {
  font-size: 125%;
  line-height: 180%;
  margin-bottom: 30px;
}
.BlogContent p.date {
  color: #FF7F00;
  margin-bottom: 20px;
}
.BlogContent h2 {
  font-size: 260%;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 40px;
  padding-bottom: 25px;
}
.BlogContent h3 {
  background: url(../img/blog/hBg.gif) repeat;
  border: 1px solid #579C46;
  border-left-width: 10px;
  font-size: 180%;
  margin-bottom: 35px;
  padding: 15px 20px;
}
.BlogContent h4 {
  background: url(../img/blog/hBg.gif) repeat;
  border-left: 10px solid #579C46;
  font-size: 150%;
  margin-bottom: 35px;
  padding: 15px 20px;
}
.BlogContent h5 {
  border-left: 10px solid #579C46;
  font-size: 150%;
  margin-bottom: 35px;
  padding: 0 0 0 20px;
}
.BlogContent h6 {
  background: url(../img/blog/hBg.gif) repeat;
  font-size: 150%;
  margin-bottom: 35px;
  padding: 15px 20px 15px 30px;
}
.BlogContent .pict {
  margin: 0 auto 40px;
  text-align: center;
}
.BlogContent iframe,
.BlogContent .pict img,
.BlogContent img {
  max-width: 100%;
  height: auto;
}
.BlogContent iframe {
  height: 400px;
}
.BlogContent .pict span {
  display: block;
  font-size: 120%;
  margin: 20px auto 0;
  text-align: center;
}
.BlogContent .social {
  border-top: 1px dotted #ccc;
  margin: 0 auto 40px;
  padding: 40px 0 0;
}
.BlogContent .social li {
  float: left;
  margin: 0 0 0 3%;
  text-align: center;
  width: 31.2%;
  transition: opacity 0.3s;
}
.BlogContent .social li:hover {
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
  filter: alpha(opacity=80);
}
.BlogContent .social li img {
  width: auto;
}
.BlogContent .social li:first-child {
  margin: 0;
}
.BlogContent .social li a {
  display: block;
}
.BlogContent .social li.google {
  background-color: #DC4E41;
}
.BlogContent .social li.insta {
  background-color: #40729B;
}
.BlogContent .social li.twitter {
  background-color: #45B0E3;
}
.BlogContent .social li.facebook {
  background-color: #39599F;
}
.BlogContent .pageNav {
  border-top: 1px dotted #ccc;
  margin: 0 auto;
  padding: 40px 0 0;
  text-align: center;
  position: relative;
}
.BlogContent .pageNav li {
  border: 1px solid #579C46;
  font-size: 120%;
  padding-bottom: 15px;
  width: 31.2%;
}
.BlogContent .pageNav li a {
  border: none;
  display: block;
  padding: 10px 30px 30px;
  height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}
.BlogContent .pageNav li:hover {
  background-color: #579C46;
}
.BlogContent .pageNav li:hover a {
  color: #fff;
}
.BlogContent .pageNav li.prev {
  position: absolute;
  top: 40px;
  left: 0px;
  background-image: url(../img/blog/pageNavIcon01.png);
  background-position: 5% 50%;
  background-repeat: no-repeat;
}
.BlogContent .pageNav li.prev:hover {
  background-image: url(../img/blog/pageNavIcon01hover.png);
}
.BlogContent .pageNav li.next {
  position: absolute;
  top: 40px;
  right: 0px;
  background-image: url(../img/blog/pageNavIcon02.png);
  background-position: 95% 50%;
  background-repeat: no-repeat;
}
.BlogContent .pageNav li.next:hover {
  background-image: url(../img/blog/pageNavIcon02hover.png);
}
.BlogContent .pageNav li.all {
  margin: 0 auto;
  padding-bottom: 0;
  text-align: center;
}
.BlogContent .pageNav li.all a {
  padding-top: 26px;
}

/******ProfileContent******/
.prof header {
  background-image: url(../img/common/mainBg2.jpg);
  min-height: 420px;
/*
  background: url(../img/common/mainBg.jpg) no-repeat 50% 0;
  min-height: 480px;
*/
}
.prof header h1 {
  padding: 0;
  text-align: center;

/*
  padding: 0 400px 0 0;
*/
}
.prof header h1 img {
  width: 375px;
}
.prof .contents .side {
  display: none;
}
.prof .contents .main {
  width: 100%;
}

.ProfileContent {
  padding: 40px;
}
.ProfileContent .nameArea {
  position: relative;
  margin-bottom: 40px;
}
.ProfileContent .nameArea .pict {
  width: 780px;
}
.ProfileContent .nameArea .pict img {
  width: 100%;
}
.ProfileContent .nameArea section {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  width: 300px;
}
.ProfileContent .nameArea section h2 {
  color: #579C46;
  font-size: 260%;
  font-weight: normal;
  margin-bottom: 25px;
}
.ProfileContent .nameArea section dl dt {
  border-bottom: 1px dotted #ccc;
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.ProfileContent .nameArea section dl dd {
  font-size: 280%;
  font-weight: bold;
}
.ProfileContent .commentArea {
  margin-bottom: 40px;
  position: relative;
  overflow: hidden;
}
.ProfileContent .commentArea .pict {
  position: absolute;
  top: 0px;
  right: 0px;
}
.ProfileContent .commentArea dl {
  border-bottom: 1px dotted #ccc;
  display: table;
  padding: 35px 0;
  width: 690px;
}
.ProfileContent .commentArea dl:first-of-type {
  border-top: 1px dotted #ccc;
}
.ProfileContent .commentArea dl dt {
  display: table-cell;
  font-size: 140%;
  font-weight: bold;
  vertical-align: middle;
  width: 235px;
}
.ProfileContent .commentArea dl dd {
  font-size: 105%;
  display: table-cell;
  vertical-align: middle;
}
.ProfileContent .link {
  background: #F4F9F5;
  padding: 40px 0;
  text-align: center;
}
.ProfileContent .link a {
  font-size: 140%;
  display: inline-block;
  text-decoration: none;
  padding: 25px 0;
  width: 530px;
}
