@charset "utf-8";


.contents {
  width: 95%;
  margin: 0 auto;
  padding: 40px 0 50px;
}

.picture { width: 100%; }

.contents-header { background-color: transparent; }

.contents-header .headline {
  margin: 25px auto 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
.contents-header .headline {
  margin: 0 auto 0;
  font-size: 28px;
  line-height: 1;
}
}

.contents-header .sentence {
  width: 100%;
  margin: 25px auto 0;
  font-size: 13px;
}
@media only screen and (min-width: 768px) {
.contents-header .sentence {
  width: 65%;
  margin: 50px auto 0;
  font-size: 16px;
}
}

.section {
  margin: 75px auto;
  width: 100%;
}
@media only screen and (min-width: 768px) {
.section { margin: 70px auto; }
}

.section .headline {
  font-size: 20px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
.section .headline {
  font-size: 46px;
}
}

.section .headline .span {
  margin: 0 0 0 1em;
  font-size: 0.5em;
}

.section_inner .picture { margin: 20px auto 0; }
@media only screen and (min-width: 768px) {
.section_inner .picture { margin: 40px auto 0; }
}

.section .sentence {
  width: 100%;
  margin: 20px auto 0;
  font-size: 13px;
}
@media only screen and (min-width: 768px) {
.section .sentence {
  width: 65%;
  margin: 40px auto 0;
  font-size: 16px;
}
}

.section .sentence.center { text-align: center; }

.btn {
  background-color: #5bbff6;
  border-radius: 10px;
  box-shadow: 3px 3px 3px #ccc;
  display: table;
  width: 90%;
  margin: 25px auto 0;
}
@media only screen and (min-width: 768px) {
.btn {
  width: 40%;
  margin: 50px auto 0;
  transition: .3s;
}
}

@media only screen and (min-width: 768px) {
.btn:hover { background-color: #333; }
}

.btn-body {
  display: table-cell;
  vertical-align: middle;
  height: 3em;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: bold;
  color: #fff !important;
}
@media only screen and (min-width: 768px) {
.btn-body { font-size: 20px; }
}

.section .middle-heading {
  text-align: center;
  font-size: 16px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
.section .middle-heading {
  font-size: 28px;
}
}

.trans-column {
  display: block;
  width: 95%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
.trans-column {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
}

.trans-column .trans-column_list {
  width: 100%;
  padding: 0;
}
@media only screen and (min-width: 768px) {
.trans-column .trans-column_list {
  width: 24%;
  padding: 0 0.5%;
  transition: .3s;
}
}

.trans-column .trans-column_list:nth-of-type(n+2) { margin: 30px 0 0; }
@media only screen and (min-width: 768px) {
.trans-column .trans-column_list:nth-of-type(n+2) { margin: 0; }
}

@media only screen and (min-width: 768px) {
.trans-column .trans-column_list:hover { opacity: 0.8; }
}

.trans-column_list .inner-link {
  text-decoration: none;
  color: #333;
}

.trans-column_list .commentary { padding: 10px 0 0; }

.trans-column_list .date {
  font-size: 12px;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
.trans-column_list .date { font-size: 14px; }
}

.trans-column_list .column-category {
  border-radius: 10px;
  display: inline-block;
  margin: 0.5em 0 0;
  padding: 0.5em 1em 0;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}

.column-category.color-ttj { background-color: #19385d; }
.column-category.color-ttgs { background-color: #e03438; }
.column-category.color-ttgr { background-color: #779241; }
.column-category.color-ttp { background-color: #36869a; }
.column-category.color-tpc { background-color: #b75ad4; }
.column-category.color-tb { background-color: #e06b21; }

.trans-column_list .headline {
  display: block;
  margin: 0.5em 0 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  color: #333;
}
@media only screen and (min-width: 768px) {
.trans-column_list .headline {
  min-height: 2em;
  font-size: 13px;
}
}

.trans-column_list .sentence {
  width: 100%;
  margin: 1em 0 0;
  font-size: 13px;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
.trans-column_list .sentence { height: 8em; }
}

.trans-column .more-button {
  background-color: #333;
  width: 70%;
  margin: 15px auto 0;
  padding: 0.5em 1em;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  color: #fff;
}
@media only screen and (min-width: 768px) {
.trans-column .more-button {
  width: 50%;
  margin: 0 auto;
  font-size: 15px;
}
}

@media only screen and (min-width: 768px) {
.sp-only { display: none; }
}
